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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5843|回復: 6
打印 上一主題 下一主題
收起左側

基于51單片機六路搶答器Proteus仿真設計包含源程序仿真文件

  [復制鏈接]
跳轉到指定樓層
樓主
ID:331717 發表于 2021-12-4 21:36 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
原創作品,禁止轉載售賣,僅供學習參考!!!
功能描述:1、采用4位數碼管設計。2、下排按鍵一一對應六位選手。
3、上排三個按鍵,從左到右依次為:開始、暫停、復位。
4、操作流程:上電后數碼管顯示“----”當主持人按下“開始”鍵后,倒計時60秒,開始計時,此時,六位選手就可以搶答,如有緊急情況需要停止的話,主持人按“暫停”鍵就可以,如果有選手搶答成功,數碼管顯示“1  03”,1表示是1號選手,03表示總得分3,此時按查看計分鍵加一分,按設置時間鍵減一分,當倒計時為0秒時,此題結束,表示超時沒有任何選手搶答成功,蜂鳴器報警,主持人按“復位”鍵后重新開始。若選手超前搶答,則犯規并報警。
5、可以設定倒計時時間,在上電后,數碼管顯示“----”,此時按下設置時間對應的按鍵,進入倒計時時間設定狀態,1號選手對應的按鍵為時間加,2號選手對應的按鍵為時間減,設定完成后再按設置時間鍵退出。
6、可以查看各選手計分情況,在初始界面下數碼管顯示“----”,按下查看計分對應的按鍵,進入計分查看狀態,此時分別按下選手對應的按鍵可查看各選手的計分,按復位鍵可清空計分。

制作實物圖:


仿真圖:


必備的單片機開發軟件和教程視頻我已上傳到群里,有需要的可以自行進去下載


仿真代碼下載:
仿真代碼.7z (97.38 KB, 下載次數: 128)





評分

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

查看全部評分

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

使用道具 舉報

沙發
ID:990304 發表于 2021-12-10 10:04 | 只看該作者
代碼看不到?為什么呀?
回復

使用道具 舉報

板凳
ID:262 發表于 2021-12-10 16:55 | 只看該作者
1531487593 發表于 2021-12-10 10:04
代碼看不到?為什么呀?

代碼在附件里面,用Keil5打開,代碼很大 網頁好像發不完
  1. #include<reg51.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char  //無符號字符型 宏定義        變量范圍0~255
  4. #define uint  unsigned int         //無符號整型 宏定義        變量范圍0~65535
  5. sbit smg1=P2^7;                //定義數碼管第一位
  6. sbit smg2=P2^6;                //定義數碼管第二位
  7. sbit smg3=P2^5;                //定義數碼管第三位
  8. sbit keyks=P3^4;        //定義開始按鍵
  9. sbit keytz=P3^5;        //定義停止按鍵
  10. sbit keyqc=P3^6;        //定義清除按鍵
  11. sbit key1=P1^0;                //定義1號搶答選手
  12. sbit key2=P1^1;                //定義2號搶答選手
  13. sbit key3=P1^2;                //定義3號搶答選手
  14. sbit key4=P1^3;                //定義4號搶答選手
  15. sbit key5=P1^4;                //定義5號搶答選手
  16. sbit key6=P1^5;                //定義6號搶答選手
  17. sbit key7=P1^6;                //定義修改時間按鍵
  18. sbit key8=P1^7;                //定義查看計分按鍵
  19. sbit beep=P2^1;                //定義蜂鳴器
  20. int djs=60,js=0;                   //djs和bt是初始倒計時時間,可修改
  21. int value;
  22. int jifen1,jifen2,jifen3,jifen4,jifen5,jifen6,jifen_flag=1;
  23. //int table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共陽
  24. int table[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x40};//共陰

  25. sbit scl = P2^3;        //24C02 IO口定義
  26. sbit sda = P2^2;        //24C02 IO口定義
  27. sbit LED = P2^0;        //led IO口定義

  28. void delayms(int x)           //延時函數
  29. {
  30. char i;
  31. while(x--)
  32. {
  33.   for(i=500;i>0;i--);
  34. }
  35. }

  36. /***********************1ms延時函數*****************************/
  37. void delay_1ms(uint q)
  38. {
  39.         uint i,j;
  40.         for(i=0;i<q;i++)
  41.                 for(j=0;j<120;j++);
  42. }


  43. //24C02程序
  44. /***************啟始信號 ***************************/
  45. void start()
  46. {
  47.         sda = 1;
  48.         scl = 1;
  49.         sda = 0;
  50.         scl = 0;
  51. }

  52. /****************結束信號 **************************/
  53. void stop()
  54. {
  55.         sda = 0;
  56.         scl = 1;
  57.         sda = 1;
  58.         scl = 0;
  59. }

  60. /*****************檢測應答*************************/
  61. void ack()
  62. {
  63.         uchar i;
  64.         sda = 1;   
  65.         scl = 1;        
  66.         while((i < 100) & (sda == 1))        i++;
  67.         scl =0;
  68. }


  69. //void ack_zhuji()
  70. //{
  71. //        sda = 0;
  72. //        scl = 1;
  73. //        scl = 0;
  74. //        sda = 1;
  75. //}

  76. /*****************非應答*************************/
  77. void no_ack()
  78. {
  79.         sda = 1;
  80.         scl = 1;
  81.         scl = 0;
  82. }

  83. /*****************寫一個字節*************************/
  84. void write_iic(uchar dat)
  85. {
  86.         uchar i;
  87.         for(i=0;i<8;i++)
  88.         {
  89.                 scl = 0;
  90.                 dat <<= 1 ;
  91.                 sda = CY;
  92.                 scl = 1;
  93.         }
  94.         scl = 0;
  95. }

  96. /*******************讀一個字節***********************/
  97. uchar read_iic()
  98. {
  99.         uchar i,value;
  100.         for(i=0;i<8;i++)
  101.         {
  102.                 scl = 1;
  103.                 value <<= 1;
  104.                 if(sda == 1)
  105.                         value |= 0x01;
  106.                 scl = 0;
  107.         }
  108.         return value;
  109. }
復制代碼

回復

使用道具 舉報

地板
ID:361812 發表于 2022-8-5 10:53 | 只看該作者
24C02的作用是什么?
回復

使用道具 舉報

5#
ID:137643 發表于 2022-8-18 16:02 | 只看該作者
yifeng5730 發表于 2022-8-5 10:53
24C02的作用是什么?

儲存設定的時間,掉電不丟失
回復

使用道具 舉報

6#
ID:1105312 發表于 2023-12-20 15:19 | 只看該作者
為什么一上電蜂鳴器就響,不明白
回復

使用道具 舉報

7#
ID:262 發表于 2023-12-20 15:52 | 只看該作者
77777770 發表于 2023-12-20 15:19
為什么一上電蜂鳴器就響,不明白

我用的Proteus8.13沒有這個情況呢
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久久久综合 | 五月综合激情网 | 中文字幕亚洲精品在线观看 | 男女爱爱网站 | 国产欧美日韩在线一区 | 国产福利网站 | 欧美一级久久久猛烈a大片 日韩av免费在线观看 | 99色综合| 日韩国产在线 | www.成人久久 | 成人一级片在线观看 | 亚洲激情综合 | 久久久久久亚洲精品 | 中文字幕免费 | 天堂精品视频 | 日韩在线视频观看 | 精品一级 | 国产欧美精品一区二区 | 国产乱码久久久 | 夜夜草| 久热伊人 | 国产精品美女在线观看 | 日韩一 | 精品www| 国产精品美女久久久久aⅴ国产馆 | 特级黄一级播放 | 激情欧美一区二区三区中文字幕 | 狠狠撸在线视频 | 久久在线 | 日韩欧美在线一区 | 欧美精品综合在线 | 男女视频在线免费观看 | 中文字幕av一区二区三区 | 中文字幕一区二区三区四区五区 | 久在线| 亚洲精品视频久久 | 国产91精品久久久久久久网曝门 | 在线看日韩 | 日韩久久久久 | 精品国产乱码久久久久久中文 | 国产成人精品午夜视频免费 |