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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STC89C52單片機秒表程序分享

[復(fù)制鏈接]
ID:354012 發(fā)表于 2018-12-17 21:26 | 顯示全部樓層 |閱讀模式
利用STC89C52芯片,進(jìn)行秒表的設(shè)計。將四位共陽極數(shù)碼管的,段選依口次連接到89C52的P2口上來送段選數(shù)據(jù),位選連接在P3口的0,1,2,3上。獨立鍵盤1連接到P1.6上,控制秒表暫停啟動。鍵盤2連接到P1.7上,在秒表暫停狀態(tài)下可以進(jìn)行復(fù)位功能。晶振采用的是11.0592MHz,一個機器周期的時間為1.09us,兩邊電容的值為22pF,在電路中其穩(wěn)定振蕩頻率,達(dá)到快速起振的作用。將晶振兩端分別連接在XTAL1和XTAL2上,給單片機提供時鐘信號。

單片機源程序如下:
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint  unsigned int
  4. sbit key1= P1^6;
  5. sbit key2= P1^7;
  6. uint a,c,bai,shi,ge,hao,num,num1,state=0;
  7. uchar code table[]={
  8. 0xc0,0xf9,0xa4,0xb0,
  9. 0x99,0x92,0x82,0xf8,
  10. 0x80,0x90,0x88,0x83,
  11. 0xc6,0xa1,0x86,0x8e};
  12. void init();
  13. void display();
  14. void delay(uchar);
  15. void keyscan();

  16. void main()
  17. {
  18. init();
  19. while(1){
  20. keyscan();
  21. display();
  22. }
  23. }

  24. void display()
  25. {
  26. hao = num%10;
  27. ge = num/10%10;
  28. shi = num /100%10;
  29. bai = num/1000%10;

  30. P3=0x01;
  31. P2=table[bai];//送百秒上段選數(shù)據(jù)
  32. delay(1);

  33. P3=0x02;
  34. P2=table[shi];//送十秒上段選數(shù)據(jù)
  35. delay(1);

  36. P3=0x04;
  37. P2=table[ge];//送秒上段選數(shù)據(jù)
  38. delay(1);

  39. P3=0x08;
  40. P2=table[hao];//送零點秒上段選數(shù)據(jù)
  41. delay(1);
  42. }

  43. void init()//初始化函數(shù)
  44. {
  45. TMOD=0x01;//工作方式選擇定時器0的工作方式1
  46. TH0=(65536-45872)/256;
  47. TL0=(65536-45872)%256;
  48. EA=1;
  49. ET0=1;
  50. TR0=0;
  51. num = 0;
  52. }

  53. void time() interrupt 1
  54. {

  55. TH0=(65536-45872)/256;
  56. TL0=(65536-45872)%256;
  57. a++;
  58. if(a==2)//2次50ms為0.1s
  59. {
  60. a=0;
  61. num++;
  62. if(num == 10000)//計滿,歸零重新開始
  63. num = 0;
  64. }
  65. }

  66. void keyscan(){
  67. if(!key1)
  68. {
  69. delay(10);//消抖
  70. if(!key1)//如果key1按下
  71. {
  72. state=~state;//state取反
  73. while(!key1){};
  74. TR0 = ~TR0;//定時器0的運行控制位取反
  75. }
  76. }
  77. else if(!key2)
  78. {
  79. delay(10);
  80. if(!key2)//如果key2按下
  81. {
  82. if(state==1){}//在state為1即運行狀態(tài)時繼續(xù)計時
  83. else if(state==0)//在state為0即暫停狀態(tài)時,復(fù)位全部歸零
  84. {
  85. hao=0;
  86. ge=0;
  87. shi=0;
  88. bai=0;
  89. num=0;
  90. }
  91. }
  92. }
  93. }

  94. void delay(uchar z)
  95. {
  96. uchar x,y;
  97. for(x=z;x>0;x--)
  98. for(y=110;y>0;y--);
  99. }
復(fù)制代碼

所有資料51hei提供下載:
秒表.zip (13.45 KB, 下載次數(shù): 63)


評分

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

查看全部評分

回復(fù)

使用道具 舉報

ID:863362 發(fā)表于 2023-11-1 14:51 | 顯示全部樓層
加個小數(shù)點就更完美了!
P3=0x04;
P2=table[ge]+0x80;//送秒上段選數(shù)據(jù)
delay(1);
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人美女免费网站视频 | 国产精品视频一区二区三区四区国 | 国产一区二区 | 免费观看一级黄色录像 | 亚洲精品久久久久久宅男 | 91精品国产91久久久久久吃药 | 欧美精品一区二区三区在线 | 久久夜视频 | av色站 | 国产夜恋视频在线观看 | 99亚洲精品 | 欧美精品综合在线 | 欧美久久久 | 午夜影院在线观看版 | 久久亚洲经典 | 大陆一级毛片免费视频观看 | 国产视频1区 | 亚洲aⅴ| 欧美a免费 | 亚洲欧美日韩精品 | 91国内视频在线 | 青青草在线视频免费观看 | 99视频网站 | 一区视频在线 | 欧美一级欧美三级在线观看 | 一区2区 | 久久久噜噜噜www成人网 | 成人午夜网站 | 精品一区二区三区四区 | 日韩欧美在线播放 | a毛片 | 精品久久久久国产 | 免费九九视频 | 午夜伊人| 国产美女自拍视频 | 亚洲成人免费视频 | 亚洲一区二区电影网 | 欧美 日韩 国产 成人 在线 91 | 亚洲一区久久 | 亚洲电影一区 | 国产精品美女久久久 |