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

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

QQ登錄

只需一步,快速開始

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

TX-1C開發(fā)板--Proteus平臺(tái)下單片機(jī)動(dòng)態(tài)數(shù)碼管掃描之計(jì)數(shù)器程序

[復(fù)制鏈接]
ID:496489 發(fā)表于 2020-3-5 17:03 | 顯示全部樓層 |閱讀模式
  教材上面的程序好像不能實(shí)現(xiàn)數(shù)碼管59s計(jì)數(shù)的功能,經(jīng)過一些資料查詢,修改了教材上的程序,比較好的實(shí)現(xiàn)數(shù)碼管的計(jì)數(shù)。(消影。。。
  程序自己寫的。因?yàn)榉抡嫫脚_(tái)不是我自己搭的,所以不能分享出來哈(不能侵權(quán)嘻嘻!)
  希望幫助到有需要的人哈!!
1583398897(1).jpg

單片機(jī)源程序如下:
  1. #include<reg51.h>
  2. #include<intrins.h>

  3. #define uint unsigned int
  4. #define uchar unsigned char

  5. sbit DULA = P2^6;
  6. sbit WELA = P2^7;
  7. sbit Led1 = P1^0;

  8. /*字符編碼0-F共16個(gè)*/
  9. uchar code table[]={
  10. 0x3f,0x06,0x5b,0x4f,
  11. 0x66,0x6d,0x7d,0x07,
  12. 0x7f,0x6f,0x77,0x7c,
  13. 0x39,0x5e,0x79,0x71
  14. };
  15. /*數(shù)碼管位編碼*/
  16. uchar code tablewe[]={
  17. 0xfe,0xfd,0xfb,0xf7,0xef,0xdf
  18. };

  19. /*變量聲明和初始化*/
  20. uint shi,ge,num0,num1,num;

  21. /*延時(shí)函數(shù)聲明*/
  22. void delay_ms(uint xms); // 實(shí)現(xiàn)延時(shí)xms毫秒
  23. /*數(shù)碼管顯示函數(shù)*/
  24. void display(uint shi,uint ge);

  25. void main(void)   
  26. {        
  27.   /*寄存器初始化*/
  28.         TMOD = 0x11; // 設(shè)置定時(shí)器0/1的工作方式
  29.         TH0 = (65536-45872)/256; // 計(jì)數(shù)器的初值
  30.         TL0 = (65536-45872)%256;
  31.         TH1 = (65536-45872)/256;
  32.         TL1 = (65536-45872)%256;
  33.         EA = 1; // 使能總中斷
  34.         ET0 = 1; // 開啟定時(shí)器中斷
  35.         ET1 = 1;
  36.         TR0 = 1; // 啟動(dòng)定時(shí)器
  37.         TR1 = 1;
  38. //        WELA=1;
  39. //        P0=0xfc;
  40. //        WELA=0;
  41. //        DULA=1;
  42. //        P0=0x3f;
  43. //        DULA=0;
  44.         
  45.         
  46.   while(1)
  47.         {               
  48. //                        WELA=1;
  49. //                        P0=0xfe;
  50. //                        WELA=0;
  51. //                                
  52. //                        P0=0xff;                        
  53. //               
  54. //                        DULA=1;
  55. //                        P0=0x3f;
  56. //                        DULA=0;
  57. //                        
  58. //                        P0=0xff;                        
  59. //                        
  60. //                        delay_ms(1);
  61. //                        
  62. //                        WELA=1;
  63. //                        P0=0xfd;
  64. //                        WELA=0;
  65. //               
  66. //                        P0=0xff;                                
  67. //               
  68. //                        DULA=1;
  69. //                        P0=table[ge];
  70. //                        DULA=0;
  71. //                        
  72. //                        P0=0xff;                                

  73. //                        delay_ms(1);
  74.                         display(shi,ge);        

  75.         }        
  76. }

  77. void delay_ms(uint xms)
  78. {
  79.         uint i,j;
  80.         for(i=xms;i>0;i--)
  81.          for(j=110;j>0;j--); // 通過斷點(diǎn)測(cè)試,該語句執(zhí)行完約1ms
  82. }

  83. void display(uint shi,uint ge)
  84. {
  85.         /*第一個(gè)數(shù)碼管顯示十位*/
  86.         WELA = 1;
  87.         P0 = tablewe[0];
  88.         WELA = 0;               
  89.         
  90.         P0 = 0xff; // “消影”
  91.         
  92.         DULA = 1;
  93.         P0 = table[shi];
  94.         DULA = 0;
  95.         
  96.         P0 = 0xff; // “消影”
  97.         
  98.         delay_ms(5);
  99.         
  100.         /*第一個(gè)數(shù)碼管顯示個(gè)位*/
  101.         WELA = 1;
  102.         P0 = tablewe[1];
  103.         WELA = 0;        
  104.         
  105.         P0 = 0xff; // “消影”
  106.         
  107.         DULA = 1;
  108.         P0 = table[ge];
  109.         DULA = 0;
  110.         
  111.         P0 = 0xff; // “消影”

  112.         delay_ms(5);        
  113. }

  114. void Tim0() interrupt 1
  115. {
  116.         TH0 = (65536-45872)/256; // 重裝初值
  117.         TL0 = (65536-45872)%256;  
  118.         
  119.         num0++;
  120.         if(num0 == 4)
  121.         {
  122.           num0 = 0;
  123.                 Led1 = ~Led1;
  124.         }
  125. }

  126. void Tim1() interrupt 3
  127. {
  128.   TH1 = (65536-45872)/256; // 重裝初值
  129.         TL1 = (65536-45872)%256;
  130.         
  131.         num1++;
  132.         if(num1 == 20)
  133.         {
  134.           num1 = 0;
  135.                 num++;
  136.                 if(num == 60)
  137.                         num = 0;
  138.                
  139.                 shi = num/10;
  140.                 ge = num%10;
  141.         }
  142. }
復(fù)制代碼

所有資料51hei提供下載:
text_TimerAndInterrupt.rar (28.02 KB, 下載次數(shù): 5)


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品www久久久久久广东 | 久久国产成人精品国产成人亚洲 | 91热在线| 97av视频| 亚洲 中文 欧美 日韩 在线观看 | 五月天婷婷狠狠 | 伦理午夜电影免费观看 | 免费亚洲视频 | 久久久不卡网国产精品一区 | 亚洲一二三在线观看 | 91精品国产91久久久久久 | 99热精品国产 | 欧美激情a∨在线视频播放 成人免费共享视频 | 黄色免费在线观看网站 | 草久久 | 久久亚洲国产 | 成人小视频在线免费观看 | 日韩黄色小视频 | 亚洲精品欧美 | 亚洲免费在线视频 | 亚洲免费网| 久久久妇女国产精品影视 | 请别相信他免费喜剧电影在线观看 | 午夜在线小视频 | 国产黄色在线观看 | 欧美一区二区三区四区视频 | 狠狠草视频 | 亚洲精品自在在线观看 | 国产区精品在线观看 | 国产精品三级 | 欧美日韩亚洲一区 | 国产99久久精品一区二区永久免费 | 午夜视频一区二区三区 | 91麻豆精品国产91久久久更新资源速度超快 | 精品久久久久久 | a黄视频| 欧美性成人 | 免费成人高清在线视频 | 欧美一区不卡 | 日本精品视频一区二区三区四区 | 玖玖久久 |