久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8124|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

PIC單片機(jī)驅(qū)動TM1616源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:311518 發(fā)表于 2018-4-19 11:02 | 只看該作者 回帖獎勵(lì) |倒序?yàn)g覽 |閱讀模式
/*本程序適用于沒有SIP功能的單片機(jī)添加SIP發(fā)送功能*/
#include<pic.h>
__CONFIG(0x1832);        
//芯片配置字,看門狗關(guān),上電延時(shí)開,掉電檢測關(guān),低壓編程關(guān),加密,4M晶體HS振蕩 #define clk P10                                        //定義時(shí)鐘管腳
#define clk RC3         //定義時(shí)鐘管腳
#define dio RC5        //定義數(shù)據(jù)管腳
#define stb RC2        //定義片選管腳
//#define nop _nop_();
#define uchar unsigned char
#define uint  unsigned int
const char TABLE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,
                    0x77,0x7c,0x39,0x5e,0x79,0x71,0xE0,0x5C,0x3E,0x78,
                    0x37, 0x76, 0x38, 0x01, 0x41, 0x49,0x00};

unsigned char store_bank[4];  //建立數(shù)據(jù)列隊(duì)3
//初始化函數(shù)體
void init()
   {
     ADCON1=0X07;
     TRISA=0X30;
     TRISB=0X03;
     TRISC=0X10;
     TRISD=0X00;
     PORTD=0XFF;
//    SSPSTAT=0X80;
//    SSPCON=0X31;
     INTCON=0X00;
     PIR1=0X00;
     stb=0;
   }
//---------------------TM1616發(fā)送1字節(jié)數(shù)據(jù)子程序------------------------------------------
void tm1616write(uchar wr_date)
{
        uchar i;
        stb =0; //片選管腳
        NOP();
        NOP();
        for(i=0;i<8;i++)//循環(huán)運(yùn)行8次
        {
                clk=0;  //時(shí)鐘管腳
                NOP();
                NOP();
                if(wr_date&0x01!=0)//查看數(shù)據(jù)的最小位是否為0
                {
                        dio=1; //數(shù)據(jù)管腳
                }
                else
                {
                        dio=0;//數(shù)據(jù)管腳
                }
                NOP();
                NOP();
                clk=1;  //時(shí)鐘管腳
                NOP();
                wr_date=wr_date>>1;//數(shù)據(jù)左移1位
        }        
}
//-------------------------TM1616采用固定地址顯示數(shù)據(jù)子程序---------------------------------
void tm1616show(uchar data1,uchar data2,uchar data3,uchar data4)
{       uchar j;
        stb = 1;  //片選管腳
        clk = 1;  //時(shí)鐘管腳
        dio = 1;  //數(shù)據(jù)管腳
        tm1616write(0x00); //顯示模式設(shè)置,設(shè)置為4個(gè)GRID,7個(gè)SEG
        stb=1;      //片選管腳       //顯示模式設(shè)置完畢,STB置1
        tm1616write(0x44); //數(shù)據(jù)命令設(shè)置,設(shè)置普通模式、固定地址、寫數(shù)據(jù)到顯示寄存器
        stb=1;   // 片選管腳//數(shù)據(jù)命令設(shè)置完畢,STB置1
                tm1616write(0xC0); //設(shè)置顯示地址1
                tm1616write(data1);//傳輸顯示數(shù)據(jù)1
                stb=1;     //片選管腳        //顯示數(shù)據(jù)1發(fā)送完畢STB置1
                tm1616write(0xC2);//設(shè)置顯示地址1
                tm1616write(data2);//傳輸顯示數(shù)據(jù)1
                stb=1;     //片選管腳        //顯示數(shù)據(jù)1發(fā)送完畢STB置1
                tm1616write(0xC4); //設(shè)置顯示地址1
                tm1616write(data3);//傳輸顯示數(shù)據(jù)1
                stb=1;     //片選管腳        //顯示數(shù)據(jù)1發(fā)送完畢STB置1
                tm1616write(0xC6); //設(shè)置顯示地址2
                tm1616write(data4);//傳輸顯示數(shù)據(jù)1
                stb=1;      //片選管腳       //顯示數(shù)據(jù)1發(fā)送完畢STB置1
        tm1616write(0x8F);         //控制命令設(shè)置,設(shè)置顯示開、顯示最亮
        stb=1;              //片選管腳      //顯示數(shù)據(jù)發(fā)送完畢STB置1
}
//T毫秒延時(shí)程序'''''''''''''''''''''''''''''''''''''''''''
void  DELAY(unsigned int t )              //延時(shí)程序
    {unsigned int y;
     while(t)
     {
     for(y=98;y--;);     //延時(shí)
     t--;
    }}
//運(yùn)算------------------------------------
void count(uint y)
  {uchar ca;
   ca=y/0x64/0xa;    //求千位數(shù)/100=10數(shù)據(jù)/10等于一個(gè)千位數(shù)字 余數(shù)扔掉
   store_bank[3]=TABLE[ca];
   ca=(y/0x64)%0xa;    //千位數(shù)/100留下百位以下數(shù)據(jù)
   store_bank[2]=TABLE[ca];
   ca=(y%0x64)/0xa;     //求顯示的個(gè)位
   store_bank[1]=TABLE[ca];
   ca=(y%0x64)%0xa;     //求顯示的個(gè)位
   store_bank[0]=TABLE[ca];
  }           
//TM1616主函數(shù)體---------------------------------------------
void main(void)
{ uint k;
   init();
        while(1)
        { for(k=0;k<9999;k++)
              {count(k);
                tm1616show(store_bank[3],store_bank[2],store_bank[1],store_bank[0]);  //帶數(shù)據(jù)
                 DELAY(50);
              }   

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:68585 發(fā)表于 2018-6-22 09:13 | 只看該作者
很好啊。
回復(fù)

使用道具 舉報(bào)

板凳
ID:619604 發(fā)表于 2019-10-17 22:39 | 只看該作者
看看是否用的
回復(fù)

使用道具 舉報(bào)

地板
ID:619604 發(fā)表于 2019-10-17 22:39 | 只看該作者
看看是不是好東東
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩视频 | 日韩不卡一二区 | 国产精品综合网 | 爽爽免费视频 | 91九色porny首页最多播放 | www.99热.com| 久久久久成人精品亚洲国产 | 欧美一区二区二区 | 亚洲电影免费 | 亚洲第一中文字幕 | 久久久久一区二区三区 | 精品欧美一区二区在线观看视频 | 国产成人综合亚洲欧美94在线 | 国产精品成人一区二区三区 | 日韩不卡三区 | 亚洲欧美久久 | 亚洲精品电影网在线观看 | 性色的免费视频 | 二区高清 | 国产农村妇女毛片精品久久麻豆 | 福利视频网站 | 免费在线观看成人av | 国产一级在线 | 久久久不卡网国产精品一区 | 中文字幕综合 | 成人亚洲视频 | 99re视频在线 | 国产精品一区二区三区免费观看 | 国产91av视频在线观看 | 亚洲成av人片在线观看 | 中文字幕一区二区在线观看 | 国产精品久久久久久吹潮日韩动画 | 久热国产精品 | 国产精品久久久久永久免费观看 | 国产一区二区三区在线看 | 日韩精品一区二区三区在线播放 | 精品视频一区二区三区在线观看 | 蜜月va乱码一区二区三区 | 日本在线中文 | 久草综合在线视频 | 亚洲精久 |