您现在的位置是:主页 > news > 网站开发课/霸屏seo服务
网站开发课/霸屏seo服务
admin2025/5/25 3:06:03【news】
简介网站开发课,霸屏seo服务,软件开发包含网站开发吗,网站建设加排名要多少《基于单片机的抢答器设计.doc》由会员分享,可免费在线阅读全文,更多与《基于单片机的抢答器设计(最终版)》相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索。1、EPROGEAVPPPADPADPADPADPADPADPADPADVCCUATCvMhzCC图时钟晶振电路图抢答电路利…
《基于单片机的抢答器设计.doc》由会员分享,可免费在线阅读全文,更多与《基于单片机的抢答器设计(最终版)》相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索。
1、EPROGEAVPPPADPADPADPADPADPADPADPADVCCUATC+vMhzCC图时钟晶振电路图抢答电路利用按键输入作为抢答信号的输入,电路连接简单,通过程序可以实现很多功能。键盘输入分为独立联接式和行列式(矩阵式)两类。在按键数目比较多时可以采用行列式,以减少与单片机接口时所用的输入输出线的数目,本设计模拟路抢答,加上开始键,加分键、时间设置按键、分数设置按键、查分键和两个进入下一轮抢答的按键一共是个按键,故采用独立联接式即可。各按键相互独立的接通一条输入数据线,该电路使用的是查询方式。个抢答按键与ATC单片机的P口连接,P、P、P口内部都有拉高电路是准双向口。使用P、P、P口做为输入口时,可以直接接按键,按键的另一端直接接地。当按键按下时,P、P、P口就可以读取低电平。达到通过按键对单片机进行控制的目的。P口是开漏输出的,内部没有拉高电路,是三态双向IO口,用P口作为输入口时,一般需要连接K的拉高电阻[]。PTPTEXPECIPCEXPCEXPCEXPCEXPCEXRSTPRxDPTxDPINTPINTPTPTPWRPRDXTALXTAL
2、elay_sclljmshijianshezhi_sj:;时间设置mova,daojishiadda,;按下调时键,加秒cjnea,,jiashi;比较是否为秒mova,;是秒,将时间重置为秒,并显示movdaojishi,amovdtr,tablemovca,@a+dtrsetbmov,alcalldelay_sljmshijianjiashi:;不是秒,加秒,并显示movdaojishi,amova,daojishimovdtr,tablemovca,@a+dtrsetbmov,alcalldelay_sljmshijian;**************************;延时程序delay_s:movr,del:movr,del:movr,nodel:djnzr,deldjnzr,deldjnzr,delretdelay_ms:movr,del:movr,nodel:djnzr,deldjnzr,delretdelay_ms:movr,del:movr,del:movr,nodel:djnzr,deldjnzr,deldjnzr,delretde
3、ay_ms:del:movr,del:movr,nodel:djnzr,deldjnzr,delrettable:dbh,h,h,h,h,h,h,h,h,hdbh,h,h,h,h,h,h,h,h,hdbh,h,h,h,h,h,h,h,h,hdbh,h,h,h,h,h,h,h,h,hdbh,h,h,h,h,h,h,h,h,hdbh,h,h,h,h,h,h,h,h,hdbh,h,h,h,h,h,h,h,h,hdbh,h,h,h,h,h,h,h,h,hdbh,h,h,h,h,h,h,h,h,hdbh,h,h,h,h,h,h,h,h,hend附录BPTPTEXPECIPCEXPCEXPCEXPCEXPCEXRSTPRxDPTxDPINTPINTPTPTPWRPRDXTALXTALVSSPAPAPAPAPAPAPAPAPSENALEPROGEAVPPPADPADPADPADPADPADPADPADVCCUPCRDHBPDINOUTGNDULMCTvuFCCvuFCC+SSWSPSTYMhzFCCaFCCaJPWRDSR+uFCCaKRKR+SSWPBABCDLEBIA
4、vdtr,tablemovca,@a+dtrmov,alcalldelay_slcalldelay_msmov,hljmshijianbujiafen:ljmbujiafen;******************ljmshijian;倒计时程序;号选手daojishi:movr,amovdtr,tablemovca,@a+dtrmov,amova,rlcallLTabcdefgVDDGNDUCDABCDLEBILTabcdefgVDDGNDUCDABCDLEBILTabcdefgVDDGNDUCD+KfgedKcDPbaDKfgedKcDPbaDKfgedKcDPbaD++SSSSSSSSDSSSSSSSSS+v+V+vdelay_sdecacjnea,,daojishiljmjiafen;号选手daojishi:movr,amovdtr,tablemovca,@a+dtrmov,amova,rlcalldelay_sdecacjnea,,daojishiljmjiafen;**************************;违例抢答erro:;号选手违例
5、由七个LED发光二极管排列成“”字,形状如图。我们在这里使用的是共阴极数码管,共阴极数码管的公共端接地,另外的任意一端接高电平,数码管的相应字段就会被点亮。根据需要选择段码信号,数码管就可以显示“~”十个数字。图八段数码管图共阴极八段数码管内部电路图CD是锁存译码驱动器,能够将BCD码直接译成共阴极数码管的段码,显示相应的数字。CD是特具有BCD转换、消隐和锁存控制、段译码及驱动功能的CMOS电路,能提供较大电流,可直接驱动LED数码管。CD的引脚见图,其中BI脚是消隐输入控制端,当BI=时,不管其它输入端状态如何数码管均处于熄灭状态,不显示数字。LT引脚是测试输入端,当BI为,LT为时,译码输出全为,不管输入DCBA状态如何,数码管lemovca,@a+dtrsetbmov,alcalldelay_sljmshijian开始初始化每个选手分数倒计时时间和每道题的分值显示分数分值和时间是否修改每道题分值是否调整计时时间是否有人违例是否按下开始键是否有人抢答显示选手编号并倒计时修改每道题的分值调整倒计时时间违例扣分发光二极管发光主持人控制跳至下一轮答题回答是否
6、************;存放选手分数fenshuequhfenshuequh;*******************************;存放计时时间daojishiequh;********************************;每题答对得分meitidefenequhorghajmchushi;********************************;每位选手初始给分chushi:movfenshu,movfenshu,;*********************************;倒计时,初始为秒movdaojishi,;********************************;初始每题答对得分为分movmeitidefen,ajmxianshifen;*********************************;显示分数初始分数xianshifen:mov,h;号选手mova,hmovdtr,tablemovca,@a+dtrmov,alcalldelay_s;显示秒lcalldelay_msmov,hlc
7、双向口,它们的每一位可以分别定义为输入线和输出线,并且内部都具有拉高电路,因此当使用他们作为输入口时,不需要加拉高电阻,直接连在按键上即可。P口至P口分别为开始控制键、加分按键、回答错误转至下一题抢答按键、无人抢答直接跳至下一轮抢答按键、答题时间调整按键和分数查询按键。P口和P口上连接的是自锁开关,开关闭合时,与开关相连接的那一位将检测到高电平,程序跳转到相应的调分子程序。当两个开关同时按下时,以先按下的为准,开关都没有按下时,每道题的分值为默认的两分。主持人控制台电路见图。PTPTEXPECIPCEXPCEXPCEXPCEXPCEXRSTPRxDPTxDPINTPINTPTPTPWRPRDXTALXTALVSSPAPAPAPAPAPAPAPAPSENALEPROGEAVPPPADPADPADPADPADPADPADPADVCCUATC+vSSSSSSSS+v图主持人控制台电路图显示电路为了能够显示选手的编号、得分情况和倒计时时间,我们就必须加入显示电路,这里的显示电路是使用CD来为共阴极数码管提供驱动译码实现的。LED数码管是由发光二极管显示字段的显示器件
8、tart;开始键按下,开始抢答ljmshijiantiaoshi:;跳转到时间设置ljmshezhi_sjerror:ljmerroerror:ljmerroxianshi:ljmxianshifen;******************************;开始键按下,选手开始抢答start:mov,h;数码管熄灭mov,ffhjnb,xuanshou;号选手抢答jnb,xuanshou;号选手抢答jnb,wuqiangda;没有选手抢答ljmstartxuanshou:ljmxsxuanshou:ljmxswuqiangda:ljmshijian;**************************;选手抢答,进行相应处理;选手xs:;号选手抢答mov,h;显示选手号码mova,daojishilcalldaojishi;开始倒计时ajmjiafen;对选手进行加分处理jiafen:mova,fenshu;显示选手原有分数movdtr,tablemovca,@a+dtrmov,ajnb,jiafen_;选手答对lcalldelay_msjnb,jia
9、ov,hmova,fenshudeca;减分movfenshu,amovdtr,tablemovca,@a+dtrmov,alcalldelay_slcalldelay_smov,hljmshijianerro:;号选手违例,减分mov,hmova,fenshudecamovfenshu,amovdtr,tablemovca,@a+dtrmov,alcalldelay_slcalldelay_smov,hljmshijianljmshijian;************************;************************;参数设置shezhi_fen:;设置分movmeitidefen,setbmova,meitidefenmovdtr,tablemovca,@a+dtrmov,alcalldelay_slcalldelay_sclljmshijianshezhi_fen:;设置分movmeitidefen,setbmova,meitidefenmovdtr,tablemovca,@a+dtrmov,alcalldelay_slcall
10、alldelay_ms;灭毫秒mov,h;号选手mova,hmovdtr,tablemovca,@a+dtrmov,alcalldelay_slcalldelay_msmov,hlcalldelay_msajmmainmain:;选择每题分数jb,meiti_;闭合开关,每题分jb,meiti_;闭合开关,每题分setb;允许显示mova,meitidefen;若开关没有闭合,默认每题分movdtr,tablemovca,@a+dtrmov,alcalldelay_s;显示秒lcalldelay_sclajmshijianmeiti_:;跳转到每题分设置ljmshezhi_fenmeiti_:;跳转到每题分设置ljmshezhi_fenshijian:;时间设定setb;允许显示mova,daojishimovdtr,tablemovca,@a+dtrmov,a;显示定时时间mov,ffhmov,ffhjnb,tiaoshi;调时键按下jnb,xianshi;查分按键按下nononojnb,error;号选手抢答违例jnb,error;号选手抢答违例jnb,
11、SSPAPAPAPAPAPAPAPAPSENALEPROGEAVPPPADPADPADPADPADPADPADPADVCCUATC+vSSSSSSSSRRRRRRRR+V图抢答电路图我们在此设计中使用P口的八位作为输入口,接收八组选手的抢答信号时必须连接K的拉高电阻。抢答电路见图。当打开竞赛抢答器的电源开关时,单片机ATC开始初始化,由程序将P口的每一位都置为高电平。当有按键按下时,P口中与按键相对应的那一位就会变为低电平,检测出P口的哪一位变成了低电平,系统就会得知是几号选手按下了抢答按键,如果主持人已经按下了开始抢答按键,程序则会跳转到与之相对应的选手抢答子程序,进行倒计时以及等待主持人对答案的正确与否判定,对选手加分还是不加分;若选手按下抢答按键时,主持人并没有按下抢答开始按键,则系统会跳转到选手违例惩罚的子程序,对违例犯规的选手扣分并将分数和选手号的信息传送到显示电路,显示出选手的编号和分数。主持人控制台电路在比赛开始前,主持人可以对答题时间和每道题的分值进行调整。将答题时间调整为秒、秒和秒;而每道题的分值可以设置在分、分、和分不等。由于P口和P口是
12、en_jnb,bujiafen;选手答错,返回进行下一轮抢答lcalldelay_msjnb,bujiafenajmjiafenjiafen_:;对选手加分movr,meitidefenmova,fenshuadda,rmovfenshu,a;显示选手加分后分数movdtr,tablemovca,@a+dtrmov,alcalldelay_slcalldelay_msmov,hljmshijianbujiafen:;加分结束返回,进行下一轮抢答ljmbujiafen;************************;选手xs:mov,hmova,daojishilcalldaojishiajmjiafenjiafen:mova,fenshumovdtr,tablemovca,@a+dtrmov,ajnb,jiafen_lcalldelay_msjnb,jiafen_jnb,bujiafenlcalldelay_msjnb,bujiafenajmjiafenjiafen_:movr,meitidefenmova,fenshuadda,rmovfenshu,am