资源预览内容
第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
第9页 / 共16页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1 微型计算机原理 课程设计题目:竞赛抢答器设计 姓姓 名:名:赵浩淞赵浩淞 学学 号:号:40850020 班班 级:级:电电 081 指导教师:指导教师:董洁董洁 日日 期:期:2010.12 2 前前 言言 本次课程设计的内容是设计一个 6 路抢答器,并对抢答成功、抢答犯规、响铃提示等实际情况进行软硬件模拟。设计过程中,主要用到的芯片有可编程中断控制器 8259A、可编程并行接口芯片8255A、可编程定时器/计数器芯片 8253 等。硬件方面,原理图的设计是基于 Labcenter electronics 公司出版的 Proteus,它强大的仿真能力让我赞叹不已的同时,也受益匪浅。软件方面,程序的设计是基于 8086/8088 汇编语言在轻松汇编软件上进行编写和调试,它小巧方便且功能齐全。反复推敲的设计思路,充满艰辛而又饶有趣味的设计过程,成功的软、硬件结合,再加上日复一日的努力奋斗,才有了今日之设计成果。在要求的基础之上,我还加入了一些自主创新的东西。设计完成之时,本人激动的心情,溢于言表。虽然,我知道,我的设计成果之中一定还存在很多不足之处,很多可以优化的地方,甚至,有可能还会有一些漏洞。但是,整个过程我的的确确努力了,并全身心投入于其中了。我尽量做到了我所能做到的最好。 下面,我将对我的设计思路、设计过程、设计心得等逐一进行详细的阐释。烦请老师审阅。 特此感谢董洁老师一学期悉心的教导。 3 目录目录 第一章 课程设计任务书。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。4 第二章 设计。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。5 2.1 设计思路。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 5 2.2 硬件设计。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 6 2.3 软件设计。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 7 第三章 小结及参考文献。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 10 第四章 课程设计图纸。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 11 第五章 程序清单。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。12 4 第一章 设计要求 设计一个具有4(6)路抢答的抢答器,启动计算机,计算机自动为系统各芯片进行初始化,抢答器开始工作。 比赛开始,在主持人按下开始键,绿灯亮后,选手才可开始抢答,否则违规。利用并行接口和开关键。逻辑开关K0K3(5)代表抢答按钮,当某个逻辑开关闭合时,相当于抢答按钮按下。若选手抢答成功,黄灯亮,七段数码管显示选手号码,扬声器鸣叫。若选手抢答违规(主持人未按开始键),七段数码管显示违规选手号码,红灯亮,扬声器报警。 若系统提示某号选手抢答违规,主持人仍未按开始键,此时该号选手又按下抢答键,七段数码管显示该选手的号码。本系统开机后,若主持人既未按复位键又未按开始键,此时有选手按下抢答键,系统提示红灯亮,并报警。 注: 1)抢答成功,扬声器的鸣叫声音频率为1KHz(1.5KHz)。 2)抢答失败,扬声器的鸣叫声音频率为0.5KHz(1KHz)。 3)抢答计时时间到,扬声器的鸣叫声音频率为5 0.75KHz(1.25KHz)。 4)扬声器鸣叫或报警的时间为 12s(10s)。 第二章第二章 设计设计 2.1 设计思路设计思路 由于本次实验需要用到数码显示、中断控制、倒计时等功能,股初步分析,需要 8255、8259、8253 等芯片。 经过分析,实验要点在于判断最先抢答者并锁存,同时不理睬其他信号。因此,可将 6 个抢答按钮通过并行输入口接至微机。当主持人启动抢答过程后,微机对 6 个口循环采样。若有一组发出信号,则立刻停止,并记录组号。 为了对抢答后回答时间进行控制,可以用 8253 计时,先置初值再计时,时间到后亮灯并提示音。 本实验要设置一个启动键,如果在启动按钮未按下前抢答,则视为犯规,二极管发光并提示音。 6 2.2 硬件设计硬件设计 1所需器件:8088、8259A、8255、8253、74138、黄红绿二极管、扬声器、led 显示器、8 个按键 2内存编址:8259A:20H、21H 8255A:80H、81H、82H、83H 8253:40H、41H、42H、43H 下面具体说明各个芯片和主要元件的功能。下面具体说明各个芯片和主要元件的功能。 1.8088CPU 8088CPU 采用最小工作方式,它的地址/数据复用总线(A0A16)通过 3 片地址锁存器 8282 和 2 片数据收发器 8286 连到各个主控芯片上,以向其发出地址信号,从而确定其端口地址和中断类型号等。同时,负责接受芯片传送来的数据和向芯片发送数据。 2. 可编程定时器可编程定时器/计数器芯片计数器芯片 8253 芯片的端口地址为 0CH0FH。计数器 0 为工,方式 3,采用二进制计数;计数器 1,方式 2,只写入低 8 位,二进制计数;设置计数器二,方式 3,二进制计数。 (1)计数器 0 作定时器使用,具体定时时间(10s 或 30s)由计时子程序提供计数初值而决定。CLK0 接 5KHz 时钟源。GATE0 由 U3 的7 PC7 端口控制。OUT0 接到 U4 的 IR1 端口产生中断。 (2)计数器 1 作定时刷新装置,每 2ms 内刷新 DRAM 一次。CLK1接 1.19MHz 时钟源。GATE1 接高电平。OUT1 接 D 触发器的时钟端。 (3)计数器 2 用于控制扬声器的鸣叫频率。具体的鸣叫频率在响铃子程序中给计数器 2 赋初值决定。CLK2 接 15KHz 时钟源。GATE2 由 U3 的 PB6 端口控制。OUT2 输出和 PB7 通过与门控制扬声器发生,即当 PB6 和 PB7 均为高电平时,扬声器才能发生。扬声器由一个共射放大电路控制,进行信号放大。 3. 可编程并行接口芯片可编程并行接口芯片 8255A PA,PB,PC 口均工作于方式 0,输出方式。芯片的端口地址为 10H13H。PA0PA6 口控制显示抢搭成功选手号码的数码管。PB0PB5 口控制选手抢搭成功时,代表选手的黄灯亮起(1621 号灯分别对应 16 号选手)。PC0PC6 口控制显示抢答犯规选手号码的数码管。 4.4. 8259A8259A 中断控制器中断控制器 通过初始化编程向 8259A 写入相应的初始化命令 ICW,可以使芯片处于一个规定的基本工作方式,并在此方式下进行工作。8259A的初始化命令字共有 4 个 ICW1-ICW4,进行初始化时要求 ICW1-ICW4按一定的顺序写入。 5.译码器译码器 74LS138 用于对地址总线传来的地址进行译码,以唯一确定各芯片端口的8 地址。 2.3 软件设计软件设计 9 10 11 第三章第三章 小结小结 通过这次为期一周的微机原理和接口技术课程设计,扎实了我们的理论,培养了我们的实际动手能力。一周的设计,让我们更深入的理解了选用可编程并行接口芯片 8255A 和可编程计时/定时器8254 的工作原理和工作方式,知道了数码管的显示方法,了解了计算机主板构成、接口技术及其应用编程方法。这次设计也培养了我的做事认真细致有耐心的品质,锻炼了我的分析问题、解决问题的综合能力,为我们今后的学习和工作奠定了基础,让我们受益匪浅。我在设计中遇到很多苦难,大都是芯片和应用还不熟练,还需更加努力更加深入的了解微机系统及功能。 由于我能力有限,且未通过硬件实现,设计中难免有问题有待改进。 参考文献参考文献 1、王忠民微型计算机原理 【M】西安电子科技大学出版社 2、仁向民微机接口技术实用教程 【M】清华大学出版社 3、阎石数字电子技术基础 【M】高等教育出版社 12 第四章第四章 课程设计图纸课程设计图纸 13 第五章第五章 程序清单程序清单 DATA SEGMENT TAB DB 06H,5BH,4FH,66H,6DH,7CH,07H,7FH,67H ;19 字型码 BZ DB 00H DATA ENDS STACK SEGMENT PARA STACKstack DB 100H DUP(?) STCK ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE START: MOV AX,DATA MOV DS,AX ;8259 初始化 MOV AL,13H ;ICW1 OUT 20H,AL MOV AL,08H ;ICW2 OUT 21H,AL MOV AL,0DH ;ICW4 OUT 21H,AL MOV AL,98H ;8255 初始化 OUT 83H,AL MOV AL,00001101 ;PC6 置 1 OUT 80H,AL MOV AL,73H ;8253 计数器 1 OUT 43H,AL MOV AL,0B7H ;计数器 2 OUT 43H,AL MOV AH,25H ;建立抢答中断向量表 MOV AL,0AH MOV BX,SEG KEYINT MOV DS,BX MOV DX,OFFSET KEYINT INT 21H STI ;IF 置 1,开放中断 LOPM: IN AL,82H ;检测开始键 TEST AL,20H ;检测 PC5 JZ LOP2 ;开始键未按下 LOP1: IN AL,82H TEST AL,20H 14 JNZ LOP1 ;开始键没弹起重新检测 MOV AL,00H ;关 LED 显示 OUT 81H,AL ; 绿灯亮 MOV BZ,0FFH ;送 C 口 MOV AL,1000 ;响铃 1KHZ OUT 42H,AL STI LOP2: IN AL,82H ;检测复位键 TEST AL,10H ;检测 PC4 JZ LOPM ;未按下 LOP3: IN AL,82H TEST AL,10H JNZ LOP3 ;检测是否按下 MOV AL,00H ;关显示,灯 OUT 81H,AL OUT 82H,AL MOV BZ,00H STI JMP LOPM KEYINT PROC FAR PUSH AX PUSH BX PUSH DX PUSH D
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号