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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1623|回復: 0
收起左側

用MCU做一個簡易記分器,上拉電阻,數碼管顯示數字的段碼表

[復制鏈接]
ID:498559 發表于 2019-4-3 19:39 | 顯示全部樓層 |閱讀模式
proteus仿真圖
99.png

程序完整代碼:
  1. #include<reg52.h>
  2. #include <intrins.h>
  3. sbit KEY1=P3^0;  //各按鍵所連io口
  4. sbit KEY2=P3^1;
  5. sbit KEY3=P3^2;
  6. sbit KEY4=P3^3;
  7. sbit KEY5=P3^4;
  8. unsigned char code yyy[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//數碼管數字顯示段碼
  9. unsigned char xxx=0;
  10. unsigned char z=0;
  11. unsigned char y=0;
  12. unsigned char s=0;
  13.       
  14. void Delay100us()  //延遲函數  晶振值@11.0592MHz
  15. {
  16. unsigned char i;
  17. _nop_();
  18. i = 43;
  19. while (--i);
  20. }
  21. void Delay50us()  //[color=rgb(37, 37, 37)][backcolor=transparent][font=Tahoma,]延遲函數  [/font][/backcolor][/color][color=rgb(37, 37, 37)][backcolor=transparent][font=Tahoma,]晶振值[/font][/backcolor][/color]@11.0592MHz
  22. {
  23. unsigned char i;
  24. _nop_();
  25. i = 20;
  26. while (--i);
  27. }

  28. void key1()     //按鍵1控制1隊的分數“加1”及倆隊分數的清零
  29. {
  30.    if(KEY1==0)
  31.    {
  32.   Delay50us();
  33.    if(KEY1==0)
  34. {   
  35. while(!KEY1);
  36. if(xxx<10)
  37.      xxx++;
  38. if(xxx==10)
  39.   {xxx=0;z++;}
  40. }

  41.    }
  42.    if(KEY3==0)
  43.    {
  44.   if(KEY3==0)
  45.   Delay50us();
  46.   while(!KEY3)
  47. {
  48.    xxx=0;
  49.    z=0;
  50.    y=0;
  51.    s=0;
  52. }
  53.    }
  54. }
  55. void key2()     //[color=rgb(37, 37, 37)][backcolor=transparent][font=Tahoma,]按鍵2控制2隊的分數“加1”[/font][/backcolor][/color]
  56. {
  57.    if(KEY2==0)
  58.    {
  59.    Delay50us();
  60.    if(KEY2==0)
  61. {   
  62. while(!KEY2);
  63. if(y<10)
  64.      y++;
  65. if(y==10)
  66.   {y=0;s++;}
  67. }

  68.    }
  69. }
  70. void key4()    //控制一隊分數“減1”
  71. {
  72.    if(KEY4==0)
  73.    {
  74.    Delay50us();
  75.    if(KEY4==0)
  76. {   
  77. while(!KEY4) ;
  78.     if(xxx==0)
  79.   {xxx=9;z--;}
  80. else
  81.        xxx--;
  82. }

  83.    }
  84. }
  85. void key5()   //[color=rgb(37, 37, 37)][backcolor=transparent][font=Tahoma,]控制二隊分數“減1”[/font][/backcolor][/color]
  86. {
  87.    if(KEY5==0)
  88.    {
  89.    Delay50us();
  90.    if(KEY5==0)
  91. {   
  92. while(!KEY5) ;  
  93.     if(y==0)
  94.   {y=9;s--;}
  95. else
  96.        y--;
  97. }

  98.    }
  99. }
  100. void display()  // 使數碼管短時間交替顯示使人看到數碼管4個都是亮的
  101. {
  102.    P0=0xff;
  103.    Delay100us();
  104.    P2=0xfe;P0=yyy[xxx];
  105.    Delay100us();
  106.    P0=0xff;
  107.    Delay100us();
  108.    P2=0xfd;P0=yyy[z];
  109.    Delay100us();
  110.    P0=0xff;
  111.    Delay100us();
  112.    P2=0xfb;P0=yyy[y];
  113.    Delay100us();
  114.    P0=0xff;
  115.    Delay100us();
  116.    P2=0xf7;P0=yyy[s];
  117.    Delay100us();
  118. }
  119. main()
  120. {   
  121.    P3= 0xff;   //???????????io???????1
  122.    while(1)
  123.    {
  124.    display();  //??????????????????????
  125.    key1();
  126.    key2();
  127.    key4();
  128.    key5();  
  129.    }
  130. }
復制代碼

評分

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

查看全部評分

回復

使用道具 舉報

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

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲日本欧美 | 国产成人一区二区 | 久久久久99| 日本视频一区二区三区 | 国产精品久久久久无码av | 欧美一区二区三区 | 亚洲一区在线播放 | 91精品在线播放 | av国产精品 | 99久久精品国产一区二区三区 | 国产最新网址 | 国产小视频精品 | 午夜在线观看免费 | 中文字幕日韩一区 | 国产欧美一区二区久久性色99 | 国产wwwcom | 亚洲综合大片69999 | 香蕉一区 | 成人在线视| 久久免费大片 | 久久艹免费视频 | 亚洲一区在线观看视频 | 久久久这里都是精品 | 手机看片1 | 国产a视频 | 国产二区精品视频 | 国产精品无码专区在线观看 | 不卡的av电影 | 久久精品国产99国产精品 | 欧美伊人久久久久久久久影院 | 国产精品a久久久久 | 欧美精品在线播放 | 理论片免费在线观看 | 蜜臀久久| 中文字幕乱码一区二区三区 | 国产目拍亚洲精品99久久精品 | 视频第一区| 亚洲一区二区三区在线播放 | 婷婷丁香激情 | 免费在线观看av网址 | 成人天堂|