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

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

QQ登錄

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

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

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

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
  教材上面的程序好像不能實(shí)現(xiàn)數(shù)碼管59s計(jì)數(shù)的功能,經(jīng)過(guò)一些資料查詢(xún),修改了教材上的程序,比較好的實(shí)現(xiàn)數(shù)碼管的計(jì)數(shù)。(消影!!!)
  程序自己寫(xiě)的。因?yàn)榉抡嫫脚_(tái)不是我自己搭的,所以不能分享出來(lái)哈(不能侵權(quán)嘻嘻!)
  希望幫助到有需要的人哈!!


單片機(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; // 開(kāi)啟定時(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--); // 通過(guò)斷點(diǎn)測(cè)試,該語(yǔ)句執(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)分

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 91中文在线观看 | 少妇无套高潮一二三区 | 久久久久久国产免费视网址 | 日韩中文字幕视频 | 91偷拍精品一区二区三区 | 玖玖玖在线 | 色综合99| 五月婷婷色 | 欧美 日韩 中文 | 成人精品久久 | 久久久影院 | av大片| 在线观看欧美日韩视频 | 黄视频网站免费观看 | 亚洲一区二区三区视频免费观看 | 成人激情视频网 | 欧美一区二区三区视频 | 一区二区国产精品 | 九九综合 | 亚洲免费精品 | 久操亚洲 | av永久 | 国产精品久久久久久影视 | 国产亚洲黄色片 | 波多野结衣一二三区 | 四色永久 | 在线观看av网站永久 | 黄色片大全在线观看 | 欧美日韩大片 | 久久精品综合 | 91婷婷韩国欧美一区二区 | 人人艹人人 | 久久精品一级 | 国产在线视频一区二区董小宛性色 | 黄色在线| 国产欧美日韩精品在线观看 | 久久久久国产一区二区三区四区 | 亚洲精品第一 | 欧美性精品| 少妇久久久 | japan21xxxxhd美女 日本欧美国产在线 |