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

標題: 單片機數字秒表代碼與Proteus仿真 [打印本頁]

作者: happy33    時間: 2020-12-7 03:29
標題: 單片機數字秒表代碼與Proteus仿真
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. #define LED P0
  5. sbit  num0=P2^0;
  6. sbit  num1=P2^1;
  7. sbit  num2=P2^2;
  8. unsigned char key1_times;
  9. unsigned int zt,doc,n;
  10. sbit K1=P1^0;//用P1^0模擬串口數據
  11. uchar code dis_code[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, //段碼表0,1,2,3,4,5,6,7
  12. 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00,0x40};//段碼表8,9,a,b,c,d,e,f,滅(16),-(17)
  13. unsigned char SegBuf[3]={0};
  14. //*********************************
  15. //延時程序
  16. //*********************************
  17. void delayled(uchar N)
  18. {
  19.         uchar i,j;
  20.         for(i=0;i<N;i++)
  21.         for(j=0;j<125;j++);
  22. }
  23. //**********************************
  24. //顯示轉換
  25. //**********************************
  26. void convert(uint n)         
  27. {
  28.         SegBuf[0] =n%10;
  29.         SegBuf[1] =n/10%10;
  30.         SegBuf[2] =n/100%10;
  31. }
  32. //**********************************
  33. //顯示程序
  34. //**********************************
  35. void display(void)
  36. {
  37.         LED=dis_code[SegBuf[0]];                 
  38.         num0=0;
  39.         delayled(3);
  40.         num0=1;
  41.        
  42.         LED=dis_code[SegBuf[1]]|0x80;                  
  43.         num1=0;
  44.         delayled(3);
  45.         num1=1;
  46.        
  47.         LED=dis_code[SegBuf[2]];          
  48.         num2=0;
  49.         delayled(3);
  50.         num2=1;
  51. }

  52. void Disp(uint n)
  53. {
  54.         convert(n);
  55.         display() ;
  56. }
  57. /*****延時程序**********/
  58. void delay(uchar ms)
  59. {
  60.         uchar i;
  61.         while(ms--)
  62.         {
  63.                 for (i=0;i<125;i++);
  64.         }
  65. }
  66. /***********************************/
  67. void main()
  68. {
  69.         TMOD = 0x01;  
  70.         TH0 = (65536-1000)/256;//定時器T0的初值
  71.         TL0 = (65536-1000)%256;
  72.         key1_times =2;//記錄K1按鍵的次數。
  73.         IE = 0x8a;   
  74.         TR0 = 1;//先開T0,T1是關閉的
  75.         while(1)
  76.         {
  77.                 if(K1==0)
  78.                 {
  79.                         delay(5);
  80.                         if(K1==0)
  81.                         {
  82.                                 while(!K1);
  83.                                 key1_times++;
  84.                                 if(key1_times==3)key1_times=0;
  85.                         }
  86.                 }
  87.         }
  88. }

  89. void timer0() interrupt 1//顯示程序,每隔定時的時間顯示一位數值。
  90. {
  91.         TR0=0;
  92.         TH0 = (65536-1000)/256;
  93.         TL0 = (65536-1000)%256;   
  94.         Disp(doc);
  95.         if(key1_times==0)
  96.         {
  97.                 n++;
  98.                 if(n==20)//T1每兩次中斷計數值加1
  99.                 {
  100.                         doc++; n=0;                                       
  101.                 }
  102.         }
  103.         if(key1_times==1)        ;
  104.         if(key1_times==2)doc=0;
  105.         TR0=1;
  106. }
復制代碼

所有資料51hei提供下載:
數字秒表.7z (19.41 KB, 下載次數: 22)






歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲精品一区二区二区 | 亚洲一区二区国产 | 北条麻妃av一区二区三区 | 午夜视频一区二区三区 | 亚洲精品久久久蜜桃 | 四色永久 | 黄色一级大片在线免费看产 | 精品国产免费一区二区三区五区 | 国产97色| 久久精品国产久精国产 | 精品一区二区三区在线观看国产 | 日日干夜夜操 | 精品欧美乱码久久久久久1区2区 | 欧美成视频在线观看 | 91视频在线网站 | 久久久久久久91 | 欧美一级视频免费看 | 天天狠狠 | 精品久久久久久红码专区 | 欧美日韩精品久久久免费观看 | www.亚洲免费 | 亚洲一区中文字幕在线观看 | 亚洲一区二区三区视频免费观看 | 欧美精品一二三区 | 亚洲综合无码一区二区 | 精品国模一区二区三区欧美 | av第一页| 一级做a爰片性色毛片16美国 | 中文久久 | 亚洲成人精选 | 久久久久国产视频 | 国产成人一区在线 | 中文字幕在线一区二区三区 | 国产日韩欧美在线 | 91免费看片 | 久久久精彩视频 | 欧美亚洲国产一区 | 国产精品久久国产愉拍 | 91精品一区二区三区久久久久 | 欧美精品影院 | 精品国产欧美一区二区三区成人 |