欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    八路数字抢答器 微机原理及接口技术课程设计.docx

    • 资源ID:560300       资源大小:417.07KB        全文页数:41页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    八路数字抢答器 微机原理及接口技术课程设计.docx

    1、八路数字抢答器 微机原理及接口技术课程设计八路数字抢答器 微机原理及接口技术课程设计1.微机原理及接口技术课程设计任务书P12.八路数字抢答器 P52.1 功能介绍 P52.2 抢答器总体设计 P52.3 抢答器硬件设计 P62.4 抢答器软件设计 P112.5 实验结果 P192.6 程序优缺点 P232.7 收获和体会 P242.8 创新部分 P252.9 参考文献 P252.10 附录一 P262.11 附录二 P27 八路数字抢答器一功能介绍 1、如果想调节抢答时间或答题时间,按抢答时间调节键或答题时间调节键进入调节状态,此时会显示现在设定的抢答时间或回答时间值,如想加一秒按一下加1s

    2、键,如果想减一秒按一下-1s键,时间LED上会显示改变后的时间,调整范围为0s99s, 0s时再减1s会跳到99,99s时再加1s会变到0s。 2、主持人按抢答开始键,会有提示音,并立刻进入抢答倒计时(预设30s抢答时间),如有选手抢答,会有提示音,并会显示其号数并立刻进入回答倒计时(预设60s抢答时间),不进行抢答查询,所以只有第一个按抢答的选手有效。倒数时间到小于5s会每秒响一下提示音。 3、如倒计时期间,主持人想停止倒计时可以随时按停止按键,系统会自动进入准备状态,等待主持人按抢答开始进入下次抢答计时。 4、如果主持人未按抢答开始键,而有人按了抢答按键,犯规抢答,LED上不断闪烁FF和犯

    3、规号数并响个不停,直到按下停止 键为止。 5、P3.0为开始抢答,P3.1为停止,p1.0-p1.7为八路抢答输入 数码管段选P0口,位选P2口低3位,蜂鸣器输出为P3.6口。P3.2抢答时间调整结,P3.3回答时间调整,P3.4为时间加1调整,P3.5为时间减1调整。二抢答器总体设计1.1 抢答器的工作原理抢答器的工作原理是利用单片机的定时器T0、T1中断完成,其余状态循环调用显示子程序,用4个共阴极LED数码管来显示,用P0口作为数码管的八个段选,用P2口中的P2.0、P2.1、P2.2、作为4个数码管其中3个位选,P1口接8个按键,提供选手抢答,P3.0-P3.5四个接四个按键,提供开始

    4、、结束、答题时间调整、枪答时间调整,加1、减1调整之用。1.2 抢答器的总体设计 倒计时方案方面利用MCS-51的内部的定时/计时器进行中断计时,配合软件延时实现倒计时。该方案节省硬件成本,并且能够在定时器/计数器的使用、中断及程序设计方案方面得到锻炼与提高,显示方面采用穿行传输实现动态显示,该方案的硬件连接简单,但动态扫描的显示方式需占用CPU较多的时间,适用于单片机没有太多实时测控的任务场合三抢答器硬件电路设计3.1芯片统计名称型号数量芯片89C511数码管7SEG-MPX4-CC1按钮BUTTON15电容CAP2电解电容CAP-ELEC1晶振CRYSTAL1电阻RES8喇叭SPEAKER

    5、(DEVICE)13.2硬件介绍3.2.1 芯片 89C51【1】【2】3.2.2 数码管其中DP为小数点 【3】 数码管分共阳极和共阴极,都需要上拉电阻,以增加负载驱动能力。共阳极则每位低电平有效,共阴极则每位高电平有效 单片机中共阳极段代码: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H 07 DB 80H,90H,88H,83H,0C6H,0A1H,86H,8EH 8F单片机中共阴极段代码: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H 07 DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H 8F3.3 电路设

    6、计XTAL1、XTAL2分别为反相放大器的输入端和输出端,外接定时反馈元件组成振荡器(内部时钟方式),产生时钟送至单片机内部各元件。RST连接复位电路P0口控制数码管段代码P2口的低三位,控制数码管位选P3口:P3.0接开始按钮 P3.1接停止按钮 P3.2接抢答时间调整 P3.3接回答时间调整 P3.4接加1 P3.5接减1 P3.6接喇叭3.3.1芯片电路 芯片电路如图3.1 图3.13.3.2 复位电路复位电路如图3.2图3.2该复位电路采用上电自动复位和手动复位两种复位方式,图中网络标号所指9连接到单片机的复位引脚。要实现复位只需在,51系列单片机的RESET引脚上加上5ms的高电平就

    7、可以了。上电复位是利用电容的充电来实现的,即上电瞬间RESET端的电位与Vcc相同,随着电容上储能增加,电容电压也逐渐增大,充电电流减小,RESET端的电位。这样就会建立一个脉冲电压,调节电容与电阻的大小可对脉冲的持续时间进行调节。通常若采用12MHz的晶振时,复位元件参数为22F的电解电容和10k的电阻。按钮复位电路是通过按下复位按钮时,电源对RESET端维持两个机器周期的高电平实现复位的。3.3.3 晶振电路晶振电路设计如图3.3图3.3MSC-51单片机的定时控制功能是用时钟电路和振荡器完成的,而根据硬件电路的不同,连接方式分为内部时钟方式和外部时钟方式。本设计中采用内部时钟方式。 单片

    8、机内部有一个反相放大器,XTAL1、XTAL2分别为反相放大器的输入端和输出端,外接定时反馈元件组成振荡器(内部时钟方式),产生时钟送至单片机内部各元件。时钟频率越高,单片机控制器的控制节拍就越快,运算速度也就越快。 一般来说单片机内部有一个带反馈的线性反相放大器,外界晶振(或接陶瓷振荡器)和电容就可组成振荡器,如图2-2所示。加电以后延时一段时间(约10ms)振荡器产生时钟,不受软件控制,图中Y1为晶振,震荡产生的时钟频率主要由Y1确定。电容C1,C2的作用有两个:一是帮助振荡器起振,二是对振荡器的频率起微调作用,典型值为30pF。3.3.4 数码管电路数码管电路如图3.4图3.4四抢答器软

    9、件设计4.1 主程序设计此程序的及时采用定时器T0和T1中断完成,其余状态循环调用显示子程序。程序:START:MOV R5,#0BH MOV R4,#0BH MOV R3,#0BH ACALL DISPLAY;未开始抢答时候显示FFF JB P3.0,NEXT ACALL DELAY JB P3.0,NEXT;去抖动,如果“开始”按下就向下执行,否则跳到非法抢答查询 ACALL BARK;按键发声 MOV A,R1 MOV R6,A;送R1-R6,因为R1中保存了抢答时间 SETB OK;抢答标志位,勇于COUNT程序中半段是否查询抢答 MOV R7,#01H;读抢答键数据信号标志,这里表示

    10、只读一次有用信号 MOV R3,#0AH;抢答只显示计时,灭号数 AJMP COUNT;进入倒计时程序,“查询有效抢答的程序”在COUNT里面4.2显示子程序的设计由于采用软件动态扫描实现数据显示,显示用十进制BCD码的数据对应段码存放在ROM表中。显示时,先取出70H75H某一地址中的数据,然后查得对应的显示段码从P0口输出。P2口将对应的数码管选中,就能显示该地址单元的数据值。程序:DISPLAY: MOV DPTR,#DAT1;查表显示程序,利用P0口做段选码输出/P2低三位做位选吗输出MOV A,R3MOVC A,A+DPTRMOV P2,#0FEHMOV P0,AACALL DELA

    11、Y2MOV DPTR,#DAT2MOV A,R5MOVC A,A+DPTRMOV P2,#0FDHMOV P0,AACALL DELAY2MOV A,R4MOVC A,A+DPTRMOV P2,#0FBHMOV P0,AACALL DELAY2RETDAT1:DB 00H,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H,71H;灭、1、2、3、4、5、6、7、8、9、灭、FDAT2:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H,71H;0、1、2、3、4、5、6、7、8、9、灭、F4.3 定时器T0、T1中断服务程

    12、序的设计定时器T0用于响铃程序,定时器T1用于计时程序。当答题剩余5秒种时P3.6口不断取反使喇叭发出一定频率的声音,提示选手如图4.2图4.2 程序T0INT:MOV TH0,#0ECH MOV TL0,#0FFH JNB RING,OUT CPL P3.6;RING标志位为1时P3.6口不短取反使喇叭发出一定频率的声音OUT:RETI;=T1溢出中断(计时程序)=T1INT:MOV TH1,#3CH MOV TL1,#0B0H INC R0RETIINT0SUB:MOV A,R1 MOV B,#0AH DIV AB MOV R5,A MOV R4,B MOV R3,#0AH ACALL D

    13、ISPLAY;现在两个时间LED上显示R1 JNB P3.4,INC0;P3.4为+1S键,如按下跳到INC0 JNB P3.5,DEC0;P3.5为-1s键,如按下跳到DEC0 JNB P3.1,BACK0;P3.1为确定键,如按下跳到BACK0 AJMP INT0SUBINC0:MOV A,R1 CJNE A,#63H,ADD0;如果不是99,R2加1,如果加到99,R1就置0,重新加起 MOV R1,#00H ACALL DELAY1 AJMP INT0SUBADD0:INC R1 ACALL DELAY1 AJMP INT0SUBDEC0:MOV A,R1 JZ SETR1;如果R1为

    14、0,R1就置99 DEC R1 ACALL DELAY1 AJMP INT0SUBSETR1:MOV R1,#63H ACALL DELAY1 AJMP INT0SUBBACK0:RETI;=INT1(回答时间R2调整程序)=INT1SUB:MOV A,R2 MOV B,#0AH DIV AB MOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLAY JNB P3.4,INC1 JNB P3.5,DEC1 JNB P3.1,BACK1 AJMP INT1SUB INC1:MOV A,R2 CJNE A,#63H,ADD1 MOV R2,#00H ACALL DEL

    15、AY1 AJMP INT1SUBADD1:INC R2 ACALL DELAY1 AJMP INT1SUBDEC1:MOV A,R2 JZ SETR2 DEC R2 ACALL DELAY1 AJMP INT1SUBSETR2:MOV R2,#63H ACALL DELAY1 AJMP INT1SUBBACK1:RETI4.4 抢答处理程序的设计当有选手第一个按下抢答器按扭时数码管显示选手号码,开始倒计时,并锁定抢答。当在此选手之后再有选手按下按扭时无效,数码管不变。REPEAT:MOV A,R2;使用锦囊时重新计时 MOV R6,A CLR RINGCOUNT:MOV R0,#00H;重置定

    16、时器中断次数 MOV TH1,#3CH MOV TL1,#0B0H;重置定时器RECOUNT:MOV A,R6;R6保存了倒计时间,之前应先将抢答或答题时间给R6 MOV B,#0AH DIV AB;除十分出个位/十位 MOV 30H,A;十位存于(30H) MOV 31H,B;个位存于(31H) MOV R5,30H;取十位 MOV R4,31H;取个位 MOV A,R6 SUBB A,#07H JNC LARGER;大于5s调到LARGER,小于等于5s会提醒 MOV A,R0 CJNE A,#0AH,FULL;1s中0.5s向下运行 CLR RING AJMP CHECKFULL:CJN

    17、E A,#14H,CHECK;下面是1s的情况,响并显示号数并请R0,重新计数 SETB RING MOV A,R6 JZ QUIT;计时完毕 MOV R0,#00H DEC R6;一秒标志减1 AJMP CHECKLARGER:MOV A,R0 CJNE A,#14H,CHECK;如果1s向下运行,否则跳到查“停/显示” DEC R6;计时一秒R6自动减1 MOV R0,#00HCHECK:JNB P3.1,QUIT;如按下停止键退出 JNB OK,CHECKK;只在回答倒计时才有效 AJMP NEXTTCHECKK:JNB P3.0,REPEAT;判断是否使用锦囊NEXTT:ACALL D

    18、ISPLAY JB OK,ACOUNT;如果是抢答倒计时,如是则查询抢答,否则跳过查询继续倒数(这里起到锁抢答作用) AJMP RECOUNTACOUNT:MOV A,36H JNB ACC.0,TRUE1 JNB ACC.1,TRUE2 JNB ACC.2,TRUE3 JNB ACC.3,TRUE4 JNB ACC.4,TRUE5 JNB ACC.5,TRUE6 JNB ACC.6,TZ1 JNB ACC.7,TZ2 AJMP RECOUNTTZ1:JMP TRUE7TZ2:JMP TRUE8QUIT:CLR OK;如果按下了“停止”执行的程序 CLR RING AJMP START;=正常

    19、抢答处理程序=TRUE1:ACALL BARK MOV A,R2 MOV R6,A;抢答时间R2送R6 MOV R3,#01H CLR OK;因为答题的计时不在查询抢答,所以就锁了抢答 AJMP COUNTTRUE2:ACALL BARK MOV A,R2 MOV R6,A MOV R3,#02H CLR OK AJMP COUNTTRUE3:ACALL BARK MOV A,R2 MOV R6,A MOV R3,#03H CLR OK AJMP COUNTTRUE4:ACALL BARK MOV A,R2 MOV R6,A MOV R3,#04H CLR OK AJMP COUNTTRUE5

    20、:ACALL BARK MOV A,R2 MOV R6,A MOV R3,#05H CLR OK AJMP COUNTTRUE6:ACALL BARK MOV A,R2 MOV R6,A MOV R3,#06H CLR OK AJMP COUNTTRUE7:ACALL BARK MOV A,R2 MOV R6,A MOV R3,#07H CLR OK AJMP COUNTTRUE8:ACALL BARK MOV A,R2 MOV R6,A MOV R3,#08H CLR OK AJMP COUNT;=犯规抢答程序=ERROR:MOV R0,#00H MOV TH1,#3CH MOV TL1,#

    21、0B0H MOV 34H,R3;犯规号数暂存与(34H)HERE:MOV A,R0 CJNE A,#06H,FLASH;0.3s向下运行-灭并停响 CLR RING MOV R3,#0AH MOV R4,#0AH MOV R5,#0AH;三灯全灭 AJMP CHECK1FLASH:CJNE A,#0CH,CHECK1;下面是0.8s的情况,响并显示号数并清R0,重新计 SETB RING MOV R0,#00H MOV R3,34H;取回号数 MOV R5,#0BH MOV R4,#0BH;显示FF和号数 AJMP CHECK1CHECK1:JNB P3.1,QUIT ACALL DISPLA

    22、Y AJMP HEREQUIT1:CLR RING CLR OK AJMP START五实验结果5.1 非法抢答图5.1如图5.1所示,1号非法抢答,被锁定,数码管显示1号号码,并且一亮一暗的跳动,并伴有警告声。5.2 抢答或回答时间时间修改 如下图5.2所示,程序运行后点击“抢答时间调整”或“回答时间调整”,数码管显示初始倒计时时间30s,然后点击“加1”或者“减1”按钮,可根据自己需求调整抢答或回答时间。图5.25.3 正常倒计时 图5.3 如图5.3所示,调整抢答时间为26s后,先按停止键,使数码管显示初始状态,接着按下“确定”键,这是会有蜂鸣声出现。抢答倒计时从26s开始,在26s内需

    23、要开始抢答,在最后5秒的时候,会发出警报声。若在26s内无人抢答,则如图5.4所示,回到初始状态。 图5.45.4 回答时间若有人抢答,在抢答键按下时,也会有蜂鸣声。则在数码管的第一位显示抢答者的号码,而且最后两位显示答题时间倒计时,如图5.5 图5.5此时,抢答区按键被锁,无人可以抢答。回答时间完结后,又出现如图5.4的现象。5.5 复位 按下复位键后,程序恢复初始状态。六程序的优缺点优点: 此程序,较为简单明了,电路连接也不复杂,元器件使用也少,在硬件方面节省了材料。缺点:此程序较过简洁,若有时间可以更加拓展一下,而且,动态扫描的显示方式需占用CPU较多的时间,适用于单片机没有太多实时测控

    24、的任务场合。七收获和体会通过此次课程设计,更加加深了对于单片机的了解,包括功能,芯片实现方式、结构,有哪些特殊规定。而且也明白了,虽然单片机的汇编语言虽然与微机很相似,但是也不尽相同,比如,微机中有比较代码CMP,而单片机中没有,又如寻址方式中,立即寻址方式,微机中如:MOV A,10H 而在单片机中为:MOV A,#10H。也知道了,复位电路,晶振电路的模样,且对CPU的89C51芯片有了更为深入的理解。也明白了,根据情况的不同,数码管可分为共阴极和共阳极,不同情况编写段代码也是不同的。还有一点就是,我知道了将C语言如何导入到单片机中,虽然此次实验,我并没有用到,但是在设计之初也有过尝试。步

    25、骤如下:1.下载KEIL软件,然后再下载VDM51.dll插件,使得keil C51文件夹中Bin文件夹中出现此文件,然后再粘贴到PROTEUS文件夹下的MODELS文件夹下。2.然后打开keil软件,project-new project,建立工程在PROTEUS所产生的DSN文件的同一个文件夹下,然后选择自己在PROTEUS中所选用的芯片3.新建-保存为.C格式。右击如图所示中的SOURCE GROUP,选ADD FILES TO GROUPsource group , ,然后打开所设立的C文件,编辑后,用PROJECT-BUILD进行调制。然后打开project-option,点击tar

    26、get,改变晶振大小,然后点击output,选中Create HEX file 4.然后点击中的第一第二个图标,生成.hex文件。5.然后双击proteus中的芯片,从中导入。八创新部分 在抢答还未开始的时候,若是抢答键按下,则锁定,并有蜂鸣声 还可以对抢答时间或者回答时间进行调整。 按下复位键后,所有的都恢复到初始状态九参考文献1. 89C51引脚图及功能 窝中【狼】 2. 89C51 广州周立功单片机发展有限公司(从CSDN上下载下来)3. led数码管介绍 4. 微机原理与接口技术 刘永华,王成端 ;清华大学出版社; 2006年出版 5. 微机原理及应用课程设计指导书 陈秋妹,黄静 ;浙

    27、江理工大学信息电子学院 2009年12月6. 单片机原理及应用 李全利,仲伟峰,许军;清华大学出版社;2006年2月第一版附录一附录二OK EQU 20HRING EQU 22HORG 0000HAJMP MAINORG 0003HAJMP INT0SUBORG 000BHAJMP T0INTORG 0013HAJMP INT1SUBORG 001BHAJMP T1INTORG 0040HMAIN:MOV R1,#30;初设抢答时间为30s MOV R2,#60;初设答题时间为60s MOV TMOD,#11H;设置定时器工作于方式1 MOV TH0,#0FH MOV TL0,#0B1H;越高

    28、发声频率越高,越尖 MOV TH1,#3CH MOV TL1,#0B0H;50ms为一次溢出中断 SETB EA SETB ET0 SETB ET1 SETB EX0 SETB EX1;允许4个中断,T0/T1/INT0/INT1 CLR OK CLR RING SETB TR1 SETB TR0;一开始就运行定时器,以开始显示FFF,若要重新计数,重置TH1/TL1就行;=查询程序=START:MOV R5,#0BH MOV R4,#0BH MOV R3,#0BH ACALL DISPLAY;未开始抢答时候显示FFF JB P3.0,NEXT ACALL DELAY JB P3.0,NEXT;去抖动,如果“开始”按下就向下执行,否则跳到非法抢答查询 ACALL BARK;按键发声 MOV A,R1 MOV R6,A;送


    注意事项

    本文(八路数字抢答器 微机原理及接口技术课程设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开