微机课程设计报告抢答器(共18页).doc
《微机课程设计报告抢答器(共18页).doc》由会员分享,可在线阅读,更多相关《微机课程设计报告抢答器(共18页).doc(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上目 录一 课程设计目的与要求1二方案论证与原理设计2三详细(机理)设计3四方案实现与测试(或调试)4五分析与总结5一. 课程设计目的与要求(含设计指标)1课程设计目的 (1)检验和提高在微机原理和接口综合应用方面分析问题和解决问题的能力; (2)锻炼系统级别汇编语言编程和硬件调试能力; (3)培养团队分工合作能力。 2设计要求和指标 设计要求: 设计一个用于智力竞赛的抢答器计时器,同时能测试人的反应时间。按启动键,测试开始,2个八段码倒计时开始(如从10秒或20秒倒计时),在随机时间内点亮抢答允许灯,参赛双方分别按各自的抢答按钮参与抢答。一旦其中一方按下按钮,相应的L
2、ED显示灯亮,此时若其他按钮按下均无效。若一直计数到零,均无人按下按钮,则抢答结束(以后再按抢答钮无效)。按测试钮,在PC机上显示反应时间XX.XX秒。 指标要求: (1)编制一个随机数产生子程序,又随机数决定从按启动钮到点亮抢答允许灯的时间(如在3秒15秒之间任意变动),使被测试者对LED亮的时间无法预见,以保证测试结果的可信性; (2)必须在见到LED点亮后按测试钮才有效,即一直按着按钮或提前按下按钮无效; (3)反应时间显示XX.XX秒,准确到百分之一。 3.分工 (1)核心代码编写: (2)代码编译、修改: (3)搭建、调试:(4) 后期代码优化、修改:二.方案论证与原理设计(或基本原
3、理)首先分析系统输入输出量,输入为一系列开关量和时钟,输出为数码管的7段码和LED显示以及计算机屏幕信息。所以使用8255并行输入输出功能实现这些数字量的输入输出,又由于要求倒计时和计算选手反应时间,所以采用8253的计时功能。在实现基本功能下, 本系统的核心硬件为8255和8253.硬件框图为:方案设计:8255设置为A口输入,BC口输出工作方式,A口检测按键状态。倒计时采用8253三个计数器级联方式,计数器0接实验箱上1MHz脉冲,从计数器2的OUT端口输出1Hz时钟,设其初值为20,则从20开始倒计时,从而用硬件实现倒计时功能。程序流程图:三.详细(机理)设计(1)随机数产生 为确保从每
4、次按启动键到LED点亮的时间是不同的(真正随机变化的),一开始可随机读取某100个RAM单元值求和作为初始值,这可以通过设置一个random变量,在程序初始化部分调用随机数产生子程序rand给其赋值实现:rand procpush cxpush simov cx , 100mov si , 34haddr: xor al,almov al , siadd random , alinc siloop addrand random 07hpop sipop cxretrand endp专心-专注-专业(2)8253倒计时 8253的计数器0接实验箱上1MHz脉冲,设初值为1000,工作方式为2,O
5、UT0产生频率1kHz低脉冲;OUT0接计数器1时钟端,初值设为1000,工作方式为2,OUT1产生频率为1Hz的第脉冲,所以计数器1表示倒计时ms;OUT1接计数器2时钟端,初值设为20,工作方式设为2,实现20秒倒计时功能。 8253初始化 mov dx , P8253M mov al , B ;8253 CNT0=10000 方式2 B out dx , almovax , 1000;赋初值 mov dx , P8253A out dx , al moval , ah outdx , al mov dx , P8253M mov al , B ;8253 CNT1=100 方式2 D o
6、ut dx , almoval , 1000 mov dx , P8253B out dx , al mov dx , P8253M mov al , B ;8253 CNT2=20 方式2 D out dx , almoval , 20h ;20 如赋初值20,则数码管显示初值为14 mov dx , P8253C out dx , al(3)计算选手反应时间 在点亮抢答允许灯前提取当前时间。 ;按下启动钮取当前时间movdx , P8253Cinal ,dxmovah , almovc_time , al and al , 0fh movledl , al movcl , 4rorah ,
7、 clandah , 0fhmovledh , ah 四. 方案实现与测试(或调试)方案的实现,系统的硬件电路图如下:调试:(1) 按照电路图连接电路,8253主要是用于定时器的作用,给两位数码管输出20秒的倒计时,8255的PA口为输入,PA7和PA6是作为抢答器的输入端,抢答器的输入采取脉冲发生器产生的脉冲作为抢答信号。PA1是屏幕显示反应时间的按键输入,PA0是开始键的输入。PC7是PlayerA抢答灯按键输入,PC6是PlayerB抢答灯按键输入,PC4为抢答灯的输出,PC3 为开始灯输出,PC2连接8253的GATE0-GATE2,PC1为数码管S0,PC0为数码管S1。PB7-PB
8、0接a-h。(2) 在调试中,主要的调试还是代码的调试,通过TD和DEBUG两种调试方式,通过逐步调试,发现和找到错误之处,进行更改,最终得到正确的调试结果。五分析与总结通过此次的微机实验,通过编程了解到了汇编语言的编程,并且在编写程序的过程,进一步地熟悉了一个系统程序的编写和调试工作。编程中,最重要的是通过TD或者DEBUG两种调试手段来进行程序的调试,从而找到程序的运行中出错的地方,进行调试,最终能够运行出正确的代码。代码调试正确后,通过在实验板上连线,进行验证,最终得到正确的实验结果。在此次的微机实验过程中,由于时间的仓促,我们只完成了基础部分的功能,提高部分的功能基本没有来得及做。相信
9、在基础部分的前提下,在以后的时间里,可以进一步地提高,将功能再进一步的完善。参考书目:(五号,宋体加粗)1 东南大学微机系统与接口课程组,微机实验及课程设计教程(试用版3.0),2010年2 杨素行等,微型计算机原理与应用(第3版),北京,清华大学出版社,2009年源代码:;-抢答反应测试仪-DATA SEGMENTMESS1 db * made by administrator*,0dh,0ah,$;288接8255P8255A equ 0b808H;开关输入P8255B equ0b809HP8255Cequ 0b80AHP8255M equ0b80BH;c0-cs0;c1-cs1;c2-g
10、ate0,1,2;c3-L0主持人灯;c4-L2抢答提示灯;c5-;c6-L6playerA灯;c7-L7playerB灯;280H接8253P8253Aequ0b800HP8253B equ0b801HP8253C equ0b802HP8253M equ0b803Hled7equ0b809H ;接数码管七段输入LED DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;共阴七段码start_s db ?start_ms db ?end_sdb?end_msdb?react_s db 0react_ms db ?ledhdb?ledldb?randomdb0
11、 c_timedb?enableAdb?enableBdb?DATA ENDS;-STACKSSEGMENTDB100 DUP(?)STACKSENDS;-CODE SEGMENTASSUME CS:CODE , DS:DATASTART: MOV AX,DATA MOV DS,AX MOV ES,AX MOV AH,09H MOV DX,OFFSET MESS1 ;显示提示信息 INT 21H MOV AX , DATA MOV DS , AXmovax , stacks movss , ax ;8255初始化 MOV DX , P8255M MOV AL , 90H ;初始化8255控制字
12、 A口输入,B、C输出 OUT DX , AL ;8253初始化 mov dx , P8253M mov al , B ;8253 CNT0=10000 方式2 B out dx , almovax , 10000;赋初值 mov dx , P8253A out dx , al moval , ah outdx , al mov dx , P8253M mov al , B ;8253 CNT1=100 方式2 D out dx , almoval , 100 mov dx , P8253B out dx , al mov dx , P8253M mov al , B ;8253 CNT2=2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 课程设计 报告 抢答 18
限制150内