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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

7219驅(qū)動(dòng)數(shù)碼管顯示時(shí)間和距離的單片機(jī)程序源碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:353495 發(fā)表于 2018-7-17 11:25 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. typedef unsigned int u16;
  4. typedef unsigned char u8;      
  5. sbit pinDIN=P0^0;                        //?????????????
  6. sbit pinLOAD=P0^1;                        //?????????
  7. sbit pinCLK=P0^2;                        //????????
  8. #define uchar unsigned char
  9. uchar code LEDcode[]=
  10. {0x7e,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b,0x00     /*0,1,2,3,4,5,6,7,8,9,???*/
  11. /* 0x77,0x1f,0x4e,0x3d,0x4f,0x47,0x67,0x3e,0xff, */  };    /*A,B,C,D,E,F,P,U,???*/
  12. unsigned int motor1=0;
  13. unsigned int a=0;
  14. unsigned int b=0;
  15. u8 ssec,sec,min;
  16. void Timer0Init()
  17. {
  18. TMOD|=0X01;//?????????0???????????1??????TR0???????
  19. TH0=0Xd8; //?????????????????10ms
  20. TL0=0Xf0;
  21. ET0=1;//???????0?ж?????
  22. EA=1;//?????ж?
  23. TR0=1;//???????   
  24. }
  25. void Int0Init()
  26. {
  27. //????INT0
  28. IT0=1;//????????????????????
  29. EX0=1;//??INT0???ж??????
  30. EA=1;//?????ж?
  31. }
  32. /**************************************************
  33. *         ??MAX7219д??????8λ??????                      *
  34. ***************************************************/
  35. void sendbyte (uchar dat)
  36. {
  37.         uchar i,temp;
  38.         _nop_();
  39.         for (i=0;i<8;i++)
  40.    {
  41.        temp=dat&0x80;
  42.        dat=dat<<1;
  43.        if(temp)
  44.            pinDIN=1;
  45.        else
  46.            pinDIN=0;
  47.        pinCLK=0;
  48.        _nop_();
  49.        pinCLK=1;         
  50.    }
  51. }
  52. /**************************************************
  53. *        ??MAX7219д????????????16λ??                  *
  54. ***************************************************/
  55. void sendword (uchar addr,uchar dat)
  56. {
  57.         pinLOAD=0;
  58.         _nop_();
  59.         sendbyte (addr);
  60.         _nop_();
  61.         sendbyte (dat);
  62.         _nop_();
  63.         pinLOAD=1; //??16?????????????17???????????????pinCLK??????????????
  64. }
  65. /**************************************************
  66. *                MAX7219?????                                          *
  67. ***************************************************/
  68. void init7219 (void)
  69.    {
  70.             sendword (0x0c,0x01);     /*  ????????????      */   
  71.             sendword (0x0a,0x09);     /*   ????????  19/32      */  
  72.             sendword (0x0b,0x07);     /*  ??????????          */
  73.             sendword (0x09,0x00);     /*   ??????????         */
  74.                 sendword (0x0f,0x00);     /*??????? 00???????????*/
  75.    }
  76. /**************************************************
  77. *                MAX7219??????                                  *
  78. ***************************************************/
  79. void clear7219(void)
  80. {
  81.         uchar i;
  82.         for(i=8;i>0;i--)
  83.         {
  84.                 sendword(i,0x00);
  85.         }
  86. }
  87.    
  88. //??????
  89. void main(void)
  90. {

  91.    Timer0Init();
  92.    Int0Init();
  93.    init7219 ();
  94.    //clear7219();
  95.    while(1)     
  96.                 {
  97.             
  98.                         clear7219();  
  99.                         sendword(0x01,LEDcode[sec%10]);  
  100.                         sendword(0x02,LEDcode[sec/10]|0x80);  
  101.                         sendword(0x03,LEDcode[0]);  
  102.                         sendword(0x04,LEDcode[min%10]);  
  103.                         sendword(0x05,LEDcode[b%10]);  
  104.                         sendword(0x06,LEDcode[b/10]);  
  105.                         sendword(0x07,LEDcode[0]);  
  106.                         sendword(0x08,LEDcode[0]);
  107.                 }  


  108. }
  109. void Timer0() interrupt 1
  110. {
  111. TH0=0Xd8; //?????????????????10ms
  112. TL0=0Xf0;
  113. ssec++;
  114. if(ssec>=100)  //1s
  115. {
  116.   ssec=0;
  117.   sec++;
  118.   if(sec>=60)
  119.   {
  120.    sec=0;
  121.    min++;
  122.    if(min>=60)
  123.    {
  124.     min=0;
  125.    }
  126.   }
  127. }
  128. }
  129. void Int0() interrupt 0
  130. {
  131. motor1++;
  132. if(motor1==20)
  133. {
  134.   motor1=0;
  135.   a++;
  136.   b=a*6;
  137. }
  138.     if(b>=99)
  139. b=0;
  140. }
復(fù)制代碼


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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 色吧综合| 欧美日韩亚洲系列 | 亚洲精彩视频 | 日本超碰 | 在线亚洲免费 | 久久久国产精品 | 亚洲精品一区av在线播放 | 日本啊v在线 | 国产精品一区在线观看 | 精品亚洲一区二区 | 精品一二三 | 二区在线视频 | 日韩三级免费网站 | 日韩免费在线观看视频 | 亚洲一区二区不卡在线观看 | 久久精品亚洲成在人线av网址 | 日韩精品无码一区二区三区 | 91观看| 久久99这里只有精品 | 日日夜夜草| 五月激情综合 | 国产xxxx岁13xxxxhd | 亚洲免费人成在线视频观看 | 六月成人网 | 日韩一级一区 | 日本黄视频在线观看 | 国产精品久久久久一区二区 | 亚洲最新在线视频 | 欧美一区二区在线免费观看 | 日本不卡在线视频 | av中文字幕在线 | 亚洲高清在线播放 | 福利片在线看 | 做a视频在线观看 | 久久亚洲国产精品 | av一级在线观看 | 欧美精品网站 | 国产精品毛片在线 | 日本黄色高清视频 | 久久久久国产一区二区三区 | 国产一区二区三区网站 |