编辑: 牛牛小龙人 | 2019-09-12 |
《微机原理及接口技术》课程设计指导书 2. 《80x86/Pentium微型计算机原理及应用》教材 3. 《80X86微机原理及其接口技术》实验指导书 课程设计应解决主要问题: 1-8号选手中先按下按键者,LED数码管显示其选手号码(后按下无效), 且60S倒计时开始,计时结束进行声光报警提示. 由裁判掌握,若回答正确,该选手对应绿灯亮,否则红灯亮. 回答正确时,计分牌加10分,不正确减10分(满分100分) 选手号码及选手分数用LED数码管显示. 课程设计相关附件(如:图纸、软件等): 总体原理图 任务发出日期:2007.7.9 课程设计完成日期: 2007.7.20 指导教师签字:系主任签字: 指导教师对课程设计的评语 指导教师签字: 年月日摘要 本次设计要求进行基于微机原理的智能抢答器的设计与实现.系统经键盘扫描模块将选手抢答信号经8255扩展口送至CPU中央处理器,将处理信号送至LED直接显示选手号.然后进入答题计时模块,若超时则启用声光报警系统,若在计时时间内回答完毕则由裁判决定对错,并由键盘扫描模块同时发出两路信号,通过CPU 一路送LED,一路送声光报警模块进行计分操作.在设计中主要利用8255A,8253及实验箱中的键盘显示区共同完成设计.实现功能:用LED数码管显示1-8号选手先按下键者的号码和相应的分数,且能够动态显示60秒倒记时,完成键盘中的十二个功能键的设计,其中包括:1-8号键、答题结束键、正确键、错误键、复位键.要在程序执行中完成使用这十二个功能键的使用.因此,本次设计要求对微机原理的理论知识,8255A,8253,键盘显示区的工作方式、工作原理熟练掌握. 关键词:LED动态显示,功能键,智能抢答器,定时倒记时,声光报警 目录1绪论
4 2方案论证
5 2.1方案一
5 2.1.1硬件选择及说明
5 2.1.2原理框图及原理
6 2.1.3 经济及应用论证
6 2.2方案二
6 2.2.1硬件选择及说明
6 2.2.2原理框图及原理
7 2.2.3经济及应用论证
8 3总体设计
9 3.1总体设计框图
9 3.2系统工作原理
9 3.3总体设计工作原理图(见附录)
10 4硬件设计
10 4.1键盘显示模块电路图
10 4.1.1键盘扫描模块功能
10 4.1.2键盘扫描模块的工作原理[1]
11 4.1.3数码管显示原理[2]
11 4.2 8088最小应用系统整体模块设计
12 4.2.1 8088最小应用系统整体模块功能
12 4.2.2 8088最小应用系统整体模块组成[4]
12 4.3答题计时、判分显示与声光报警模块设计
14 4.3.1答题计时、判分显示与声光报警模块功能:
14 4.3.2答题计时、判分显示与声光报警模块组成:
15 4.3.3答题计时、判分显示与声光报警模块工作原理:
15 5 软件设计
16 5.1软件设计思想
16 5.2程序流程图
17 6调试分析
26 6.1硬件调试
26 6.2软件调试
26 7.总结
27 参考资料
28 1绪论 微型机由于具有体积小、重量轻、耗电少、价格低廉、可靠性高、结构灵活等特点,近年来取得飞速的发展.他的应用已经深入到科学计算、信息处理、事务管理、过程控制、仪器仪表设计、民用产品和家用电器等各个方面. 智能抢答器的设计与功能实现要求在已学习的基础上,通过对硬件的连接设计和软件的程序编辑设计实现智能抢答的功能,这项涉及对检验我们的学习成绩、提高自己的动手能力、锻炼独立思考等方面有重要意义. 尤其对刚学习过这门课的同学来说,用来巩固自己的学习内容再好不过了,并且对日后的工作有重要指导意义,积累了大量的实践经验,有利于对今后其他专业科目的学习指导.更能加强创新意识;
树立团队精神,培养较高的现代信息的素养. 计算机技术的飞速发展,使的计算机知识和应用技能已成为人类知识经济的重要组成部分.《微型计算机原理及应用》正是掌握计算机结构和工作原理的入门课程,它偏重于实际应用的课程, 要求学生在学好理论知识的基础上,培养一定的实践动手操作能力,使学生将所学的理论知识和实践有机结合,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力.微机接口课程设计是对《微型计算机原理及应用》课程理论教学和实验教学的综合和总结.通过该课程设计,可使学生应对微型计算机系统的基本结构和硬/软件的工作原理有一个整体的认识.将所学的理论知识和实践有机结合,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力,锻炼和提高同学们的实践动手能力. 2方案论证 本设计以微机原理及接口技术为基础,以实验箱为工具,完成PC机键盘控制的智能抢答器设计.该智能抢答器包括8088最小应用系统整体设计模块、键盘处理模块(DOS调用)、答题计时与声光报警模块、LED数码管显示模块.选用8086作为微处理器、扩展可编程并行I/O接口8255A芯片、可编程定时计数芯片
8254、可编程中断控制器8259A(或不用)、LED数码管及键盘和发光二极管等元件,制定方案如下: 2.1方案一 2.1.1硬件选择及说明 选用8255A,8254,8259,实验箱键盘显示区 8254作为定时器使用. 8259利用IR0端作为定时到的中断引入端,IR2端作为开始键按下的中断引入端IR3端作为清零键按下的中断引入端IR4端作为暂停键按下的中断引入端IR5端作为退出键按下的中断引入端. 8255A作为并行输入输出,A口接键盘显示区,C口接灯光报警系统,B口输出位码 键盘显示区由四个LED数码管和12个按键组成. 2.1.2原理框图及原理 利用8255A,8259,8254,键盘显示区共同实现,其中8255A作为 并行输出输入,8259作为定时到的中断采集,8254作为定时.其中键盘显示区中KL1-KL4作为行,KH1-KH4作为列,当KL1-KL4为高电平时四个数码管选通,当给数据线送数据时将显示所要显示的数据.当KL1-KL4与KH1-KH4共同配合使用时可作为键盘扫描读入使用并在LED数码管上显示按下的键对应的数值. 如图2-1所示: 图2-1硬件原理框图 2.1.3 经济及应用论证 对于这种方案,8259中断的引入使程序更易读,更简单一些,操作相对简单一些,但硬件相应增多,费用也相应增多. 2.2方案二 2.2.1硬件选择及说明 选用8255A,8254,8259,实验箱键盘显示区 2.2.2原理框图及原理 利用8255A的A口,C口作为并行输入输出,其中C口定义为高四位输出,低四位输入,A口定义为输出,B口定义为输出.利用8254的通道0和1作为红灯亮3秒定时器,绿灯亮定时器,而8254的通道2用来接黄灯和蜂鸣器具体的功能实现:通过8255端口C来扫描键盘输入,并有一定的削抖功能.信号传输至CPU进行处理.通过软件进行倒记时,进行加减分,送LED显示.信号灯,蜂鸣器作相应的反应. 硬件原理框图如下图所示: 图2-2 原理框图 2.2.3经济及应用论证 对于这种方案可以看出,硬件设备较少设计,避免了8259的使用,节约了设计成本,软件编程也并不是很复杂,相对于方案一有一定优势.但在调试中由于软件相对复杂会使运行过程稍微复杂,但可以采用整块运行调试,但须对程序非常熟悉. 方案比较:方案二采用扫描,没有用到8259,程序编制简单,但是cpu耗费了更多的时间在扫描,效率相对来说较低.方案一采用中断,程序结构化更为清晰,且cpu少了循环扫描的时间,效率较高.但是多用了一个8259中断控制芯片,程序编制上涉及到中断服务子程序的编写,稍显复杂.可见两种方案各有优劣. 方案选择:经过小组讨论,先采用更实用、经济的方案二,完成基本和扩展功能.若有时间,再采用方案一完成实验. 3总体设计 3.1总体设计框图 总体设计框图如图2-2所示. 3.2系统工作原理 本设计主要是以8088为核心,通过加上必要的支持芯片,比如时钟电路、地址锁存器、译码器、总线驱动器以及存储器和I/O接口电路及基本外围设备,构成一台完整微机系统.通过8255A与外部键盘相连,工作方式为定时扫描,利用定时器产生中断、CPU响应中断后对键盘进行扫描,或软件定时扫描,并在有键按下时转入键功能处理程序.将8255A端口C的上(输入方式)、下(输出方式)半部分分别用作键盘的行线和列线,程序使某行为低电平,然后读入并查询列值;
如果列值中有某位为低电平,则说明行列交叉点处的键被按下;
否则扫描下一行,直到扫描全部行线.8255A的端口A用来输出显示字符;
设置TAB为LED段选码表的首地址,要显示的数字的地址正好为起始地址加数字值,其地址存放着对应于该数字值的显示代码.8255A的端口B用来控制LED的显示位,即位控端口,在软件的设计上通过逐个接通8位LED,把A口输出的代码送到相应的位上显示,以减少硬件开支.利用8254产生定时,通道0用于60S倒计时定,定时时间到蜂明器发出声响,黄灯闪烁,由裁判控制答案正确与否,这两个通道分别用来定时3S,答案正确绿灯亮3秒,LED显示的数据加10分,否则红灯亮3秒,数据减10分. 3.3总体设计工作电路图(见附录) 4硬件设计 4.1键盘显示模块电路图 图4-1键盘显示电路图 4.1.1键盘扫描模块功能 键盘扫描模块的功能是通过8255扩展口实现对选手抢答信号的确定. 8号选手中先按下按键者,LED数码管显示其选手号码(后按下无效). 2)选手按下答题结束键,停止倒记时. 3)若该选手回答正确,裁判按加分键;
错误按减分键. 4.1.2键盘扫描模块的工作原理[1] 为减少引线,键盘采用矩阵式.键盘的识别采用行扫描法,程序使某行为低电平,则说明行列交叉点处的键被按下,然后,再具体确定按下的是哪个键.为此先使所在行输出为0,再检查列线是否有0.如果有零的话,此时由于不能确定闭合键所在的行,于是再用行扫描法来具体定位.如果读得数据全部为1,则说明无键闭合.硬件上将8255端口C的上、下半部分分别用作键盘的行线和列线.用电平逻辑开关输出高低电平来代替键盘按键. 4.1.3数码管显示原理[2] 数码管的段位顺序如右图所示: 一般来说在一个字节中按照abcdefg dp的顺序放置字型码,比如在一个 共阴极 数码管上要显示
1 ,则b、c段需被点亮,因此在段选线中写入60H. 对应规则: a----->
D7 b----->
D6 c----->
D5 d----->
D4 e----->
D3 f----->
D2 g----->
D1 图4-2数码管显示 dp---->
D0 图4-3 4位8段LED动态显示器电原理图 LED显示器的显示方法有两种――静态显示法和动态扫描显示法.静态显示就是每一个显示器各笔画段都要独占具有所存功能的输出口线,CPU把要显示的字符代码送到输出口上,就可以是显示器显示所需的数字后符号.但由于它站用的I/O口线较多,硬件成本高.所以我们选用了动态扫描显示法.其显示接口电路如图2-3所示 4.2 8088最小应用系统整体模块设计 4.2.1 8088最小应用系统整体模块功能 该模块是整个系统的硬件控制指挥中心.由它控制整个系统运行. 4.2.2 8088最小应用系统整体模块组成[4] 该模块有微处理器8088,74LS373, 8284时钟发生器,74LS138译码电路等构成.微处理器(CPU)、外部设备 及互联设备在各部件之间提供通信. Intel 8088按功能可分为两大部分:执行部分EU(Execution Unit)和总线接口部分BIU(Bus Interface Unit).其指令队列只有4个字节,外部数据总线是8位,内部为16位数据线,AD0~AD7这8条数据、地址总线可以复用,内存容量是1MB,8种基本寻址方式,强大的指令系统功能,16位I/O端口地址可寻址64K个端口地址. 74LS138是3-8译码器,通过给ABC送入不同的值来控制Y0~Y7的线选. 8284时钟发生器是专门为8088系统设计配套的单片机时钟发生器.它为CPU提供时钟、准备就绪(READY)、复位(RESET)信号,还可以向外提供晶体振荡信号(OSC)、外围芯片所需时钟PCLK等其它信号. 由于AD0~AD7即可以作为8位地址线,又作为8位数据线,为提供8位地址信息,一般必须加三态锁存器,并由CPU产生的地址锁存允许信号ALE的下跳边将地址信息锁存入74................