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

標題: 超級簡單程序 單片機三條線 控制八位數碼管,帶仿真!74HC595數碼管 [打印本頁]

作者: Yin89c52    時間: 2020-3-9 21:13
標題: 超級簡單程序 單片機三條線 控制八位數碼管,帶仿真!74HC595數碼管


單片機源程序如下:
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. typedef unsigned char uchar;
  4. typedef unsigned int uint;

  5. #define date P0
  6. #define count 50000
  7. #define TH_0 (65536-count)/256
  8. #define TL_0 (65536-count)%256

  9. sbit ds=P0^1;
  10. sbit sh_cp=P0^0;
  11. sbit st_cp=P0^2;

  12. uchar diss[8];
  13. uchar code distab[17] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
  14.                                                                                                                                 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40};
  15. uint sec=0,min=0,hour=0;

  16. void delay(uint iii)
  17. {
  18.         while(iii--);
  19. }
  20. void hc595(uchar dat)
  21. {
  22.         uchar i;
  23.         for(i=0;i<8;i++)
  24.         {
  25.                 sh_cp=0;
  26.                 _nop_();
  27.                 _nop_();
  28.                
  29.                 ds=dat>>7;
  30.                 dat=dat<<1;
  31.                
  32.                 sh_cp=1;
  33.                 _nop_();
  34.                 _nop_();
  35.         }
  36. }

  37. void ds_dat_txd()//鎖存發送
  38. {
  39.         st_cp=0;
  40.         _nop_();
  41.         _nop_();
  42.         st_cp=1;
  43.         _nop_();
  44.         _nop_();
  45. }

  46. void display()
  47. {
  48.         uchar i=0,dat=0;
  49.         for(dat=0xfe;dat!=0xff;dat=dat<<1|0x01)
  50.         {
  51.                 hc595(dat);//先發送位碼
  52.                 hc595(distab[diss[i++]]);//段碼,
  53.                 ds_dat_txd();  //發送
  54.                 if(i==8)i=0;
  55.                 delay(100);
  56.                 hc595(0x00);  //消隱
  57.                 ds_dat_txd();
  58.         }
  59. }
  60. void disss()
  61. {
  62.         diss[0]=hour/10;
  63.         diss[1]=hour%10;
  64.         diss[2]=16;
  65.         diss[3]=min/10;
  66.         diss[4]=min%10;
  67.         diss[5]=16;
  68.         diss[6]=sec/10;
  69.         diss[7]=sec%10;
  70. }
  71. void timer0_init()
  72. {
  73.         TMOD=0x01;
  74.         EA=1;ET0=1;TR0=1;
  75.         TH0=TH_0;TL0=TL_0;
  76. }
  77. void main()
  78. {
  79.         timer0_init();
  80.         while(1)
  81.         {       
  82.                 display();
  83.                 disss();
  84.         }
  85. }
  86. void timer0() interrupt 1
  87. {
  88.         static uchar j;
  89.         TH0=TH_0;TL0=TL_0;
  90.         if(++j==20)
  91.         {
  92.                 j=0;
  93.                 sec++;
  94.                 if(sec==60)
  95.                 {
  96.                         sec=0;
  97.                         min++;
  98.                         if(min==60)
  99.                         {
  100.                                 min=0;
  101.                                 hour++;
  102.                                 if(hour==24)
  103.                                 {
  104.                                         hour=0;
  105.                                 }
  106.                         }
  107.                 }
  108.         }
  109. }
復制代碼

所有資料51hei提供下載:
三個IO控制八位數碼管.zip (127.8 KB, 下載次數: 68)



作者: sun5304    時間: 2020-3-29 09:08
新手正在學習,感謝樓主提供!謝謝!
作者: 3wjkdhus    時間: 2024-11-8 19:37
如若需要顯示帶小數點該怎么弄
作者: cy009    時間: 2025-5-30 19:18
3wjkdhus 發表于 2024-11-8 19:37
如若需要顯示帶小數點該怎么弄

想要顯示小數點,對于共陰數碼管,需要向其dp端輸送高電平,即置1。一般可有兩種方法:
1.在程序讀出代碼表數據后,將數據跟0x80或運算,即可使dp端置1,點亮小數點。
2.在代碼表中增加0-9帶小數點的代碼,排序為10-19,取數位后將數字+10即可顯示小數點。
推薦第1種方法。
作者: 風158    時間: 2025-5-31 10:10
謝謝分享,論壇有你更精彩。
作者: 單片機重購    時間: 2025-6-3 17:24
這也是單片機的數碼管位選和段選操作噢。我想必你中間肯定是有一個杠的符號對吧,然后分別對數碼管的第一位第二位進行分和秒的操作,最后兩位進行小時的操作。




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 午夜性色a√在线视频观看9 | 成人深夜福利在线观看 | 精品久久精品 | 成人亚洲精品久久久久软件 | 一级毛片在线播放 | 91精品久久久久久久久中文字幕 | 三级在线视频 | 不卡的av在线 | 综合色影院| 国产午夜精品一区二区三区四区 | 久久一区视频 | 免费精品视频一区 | 国产精品夜色一区二区三区 | 久久精品一级 | 久草.com | 欧美一级黄带 | 在线一区视频 | 麻豆毛片 | 香蕉久久av| a视频在线观看 | 国产乱码久久久久久一区二区 | 成人美女免费网站视频 | 欧美黄色免费网站 | 日韩免费一级 | 天堂一区二区三区四区 | 91精品国产91久久久 | 日韩小视频在线 | 在线播放国产视频 | 精品国产精品国产偷麻豆 | 欧美日韩高清一区 | 日本视频中文字幕 | 日韩精品一区二区三区在线观看 | 久久青草av | 九九综合九九 | 情侣黄网站免费看 | 精品免费国产一区二区三区 | 久久久性色精品国产免费观看 | 成人精品国产免费网站 | 色爱综合 | 日本三级网站在线观看 | 丝袜毛片|