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

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

QQ登錄

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

搜索
查看: 1422|回復(fù): 0
收起左側(cè)

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

[復(fù)制鏈接]
ID:353495 發(fā)表于 2018-7-17 11:25 | 顯示全部樓層 |閱讀模式
  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ù)制代碼


回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美精品一区二区三区在线播放 | 日韩精品一区在线观看 | av中文字幕在线观看 | 成人网址在线观看 | 一区二区免费 | 亚洲天堂久久 | 亚洲一区二区视频 | 亚洲精品一区二区三区丝袜 | 中文字幕一区二区三区在线乱码 | 日韩精品激情 | 亚洲午夜电影 | 欧美日韩免费在线 | 亚洲一区二区三区在线 | 黄色免费三级 | 国产精品久久久久久52avav | 超级碰在线 | 另类视频区 | 亚洲中午字幕 | 99热在线免费| 午夜小电影 | 午夜精品久久久久99蜜 | 天天干天天插 | 久久精品在线免费视频 | av网站在线看 | 久久成人国产 | 国产三级一区二区三区 | 国产精品成人在线观看 | 久久久久久久国产精品视频 | 狠狠干美女 | 久久蜜桃精品 | 影视一区| 99久久婷婷国产综合精品电影 | 成人性生交大免费 | 久久久一区二区三区 | 日韩视频专区 | 久久精品视频在线观看 | 亚洲第一中文字幕 | 亚洲综合在线一区 | 亚洲综合一区二区三区 | 殴美成人在线视频 | 精一区二区 |