日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

课程设计题二:7人多数表决器

發布時間:2023/12/14 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 课程设计题二:7人多数表决器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

要求:

1、7人多數表決邏輯:多數通過。

2、在主持人控制下,10秒內表決有效。

3、采用數碼管顯示表決10秒倒計時。

4、表決結束后用發光二極管及數碼管顯示表決結果,數碼管顯示結果:通過、不通過,同意人數。

5、設主持人控制鍵、復位鍵。

?????????? 控制鍵:啟動表決

?????????? 復位鍵:系統復位

6、表決開始、結束采用聲音提示。

獲取該 程序+protues 的方式:

1、CSDN下載:

https://download.csdn.net/download/qq_38351824/11267698

2、關注微信公眾號下載:

? ? ?① 關注微信公眾號:Tech云 ?

? ? ?②

3、可以關注點贊并在下方評論,我給你郵箱發過去。

一、Protues仿真圖:

二、程序源碼:

因為注釋非常的全,這里就不再進行講解了。

/******************************************************************************* ================================================================================ 【平 臺】STC89C51_sumjess平臺 【編 寫】sumjess 【E-mail 】1371129880@qq.com 【軟件版本】V2.0 【最后更新】2019年06月10日 【相關信息參考下列地址】 【網 站】https://blog.csdn.net/qq_38351824http://www.51hei.com/bbs/mcu-2-1.html --------------------------------------------------------------------------------- 【dev.env.】MDK4.02及以上版本 【Target 】STC89C51 第一次修訂:2019/05/09 第二次修訂:2019/05/21 第三次修訂:2019/06/10 【problem 】(1)庫內補充的不全面;(2)庫內解釋部分不全面;(3)庫內還存在一定的bug; 【direction】下一步的目標就是把庫繼續集成! 【explain 】為了方便使用,我也自己寫了很多的庫,和優化了算法和表示方式! 【warning】目前程序中暫無錯誤 ! --------------------------------------------------------------------------------- 沒有完美的代碼,只有不斷的奉獻,大家一起努力; 贈人玫瑰手留余香,歡迎大家反饋bug! ================================================================================ ********************************************************************************/ #include<reg51.h> #include<intrins.h>sbit smg1=P2^4; //定義數碼管第一位 sbit smg2=P2^6; //定義數碼管第二位 sbit smg3=P2^7; //定義數碼管第三位 sbit smg4=P2^5; //定義數碼管第四位sbit keyks=P2^2; //定義開始按鍵 sbit keyqc=P2^0; //定義復位按鍵sbit key1=P1^4; //定義1號搶答選手 sbit key2=P1^5; //定義2號搶答選手 sbit key3=P1^6; //定義3號搶答選手 sbit key4=P1^7; //定義4號搶答選手 sbit key5=P3^4; //定義5號搶答選手 sbit key6=P3^5; //定義6號搶答選手 sbit key7=P3^6; //定義7號搶答選手sbit spk=P1^0; //定義蜂鳴器int djs,js=0; //djs和bt是初始倒計時時間 //flag1~7用來保證在未開始表決之前誤按 flagD用來控制是否顯示倒計時 bjs表決計數 int flag1=0,flag2=0,flag3=0,flag4=0,flag5=0,flag6=0,flag7=0,flagD=0,bjs=0; int table[]={0x5f,0x44,0x9d,0xd5,0xc6,0xd3,0xdb,0x45,0xdf,0xd7,0x80,0x9b};// 0 1 2 3 4 5 6 7 8 9 E void delayms(uint z) //毫秒 {uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--); }void Timer0_init() //定時器0初始化 {js=0;TMOD=0x01; //設置定時器0為工作方式1(M1M0為01)TH0=(65536-45872)/256; //裝初值11.0592M晶振定時50ms數為45872TL0=(65536-45872)%256; ET0=1; //開定時器0中斷EA=1; //開總中斷 }void timer0() interrupt 1 using 1 //定時器0中斷服務函數 {TH0=(65536-45872)/256; //裝初值11.0592M晶振定時50ms數為45872TL0=(65536-45872)%256; js++; //疊加20次if(js==20) { js=0; //清空djs--; //產生1s的倒計時} }void djsxs() //顯示倒計時函數 { int b1,b2;b1=djs/10;b2=djs%10; //將倒計時時間分成高低位P0=table[b1]; smg2=0;delayms(3);smg2=1; //顯示十位數字P0=table[b2];smg3=0;delayms(3); //顯示個位數字smg3=1; } void djsxs10() //第一位數碼管顯示 0 {P0=0x5f; //第一位數碼管顯示0smg1=0;delayms(3);smg1=1; } void djsxs11() //第一位數碼管顯示1 {P0=0x44; //第一位數碼管顯示1smg1=0;delayms(3);smg1=1; } void djsxs20() //第二位數碼管顯示 - {P0=0x80; //第二位數碼管顯示-smg4=0;delayms(3); smg4=1; } void djsxs30() //第三位數碼管顯示 - {P0=0x80; //第三位數碼管顯示-smg2=0;delayms(3); smg2=1; } void djsxs0() //第四位數碼管顯示0 {P0=table[0];smg3=0;delayms(3);smg3=1; //第四位數碼管顯示0} void djsxs1() //第四位數碼管顯示1 {P0=table[1]; //第四位數碼管顯示1smg3=0;delayms(3);smg3=1; } void djsxs2() //第四位數碼管顯示2 {P0=table[2];smg3=0;delayms(3);smg3=1; //第四位數碼管顯示2}----由于篇幅的問題,只顯示一部分,請下載后自行觀看,程序非常的全----- -----關注公眾號免費下載-----

?

?

總結

以上是生活随笔為你收集整理的课程设计题二:7人多数表决器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。