1课程设计课程名称_微机原理及应用_______题目名称_微机原理及应用课程设计_学生学院_自动化学院______专业班级电气工程及其自动化2班__学号__3107001059____________学生姓名__何亚庄________________指导教师_廉迎战_______________2010年03月12日2目录1.设计目的………………………………….32.设计要求………………………………….33.系统整体设计…………………………….34.硬件电路设计…………………………….55.程序框图设计…………………………….166.课程设计体会…………………………….207.附录……………………………………….228.参考文献………………………………….2231设计目的(1)巩固和加深对《微机原理及应用》课程内容的认识和理解,提高应用水平。(2)掌握汇编语言程序的编程方法。(3)熟悉键盘控制和七段数码管的使用。2设计要求本课程设计内容包含两个方面:系统硬件设计和软件编程系统硬件设计设计8088计算机系统,系统包含CPU、EPROM、RAM、PIO、中断控制器和定时器等芯片。要求8088工作于最小模式;EPROM为16KB、RAM为16KB,其地址从00000H开始;8259的地址为20H和21H;8255的地址为60H、61H、62H、63H、64H;8253定时器的地址为30H、31H、32H、33H。显示器采用六个8段数码显示器;键盘采用4*4矩阵形式,它们由8255控制。用35*35cm方格纸制图。软件编程内容显示器工作于查询方式,键盘工作于中断方式。16个按键定义的键值为:0~F,按任意键在显示器上显示对应键值。从键盘输入6个数字使其能够在显示器上从右到左逐位显示。实现计算功能:定义键盘按键:10个数字键(0~9);六个功能键:+、-、*、÷、=、CLEAR。实现五位十进制数以内的连加、连减运算。实现被除数(2位)、除数(1位)的十进制连除运算。43系统整体设计微型计算机由微处理器,存储器,接口电路以及连接在这些部件上的总线组成。微处理器,存储器和所有I\O设备之间的信息交换都通过总线进行。总线包括地址总线,数据总线和控制总线,他们始于CPU或终于CPU,现代微机大部分都是这种以总线为中心的结构。8088CPU的地址\数据总线AD15-AD0和地址\状态总线A16/S3-A19/S6是复用的,必须通过地址锁存器把地址总线和数据总线分离。控制总线直接和8088CPU相连,这样8088CPU就工作在最小工作方式。微型计算机及外围设备组成微型计算机系统的硬件,外围设备必须通过接口电路才能与系统总线相连,因此构建一个基于8088CPU的简单微型计算机系统就是工作于最小工作方式的8088CPU系统总线上挂上一定规模的存储器和接口电路,然后在把合适的外围设备连接到接口电路上。一个基于8088CPU的简单微型计算机系统框图如图所示。图中键盘与显示器作为外围设备通过接口芯片与系统总线相连。AD0….AD19CPUWRRDM/IO锁存器ROMRAM接口芯片键盘显示器译码器译码器54硬件电路设计4.1Cpu与时钟8284时钟信号发生器时钟发生器8284除了提供频率恒定的单相时钟脉冲CLK给CPU外还具有系统复位信号RESET产生电路和准备好信号READY控制电路。如果F/C接+5V,则由FEI输入外加脉冲,如果F/C接地,由X1和X2连接的石英晶体震荡器提供脉冲源,图中有石英晶体振荡器提供输入脉冲给8284.8088-简介8088是一个Intel以8086为基础的微处理器,拥有16位元暂存器和8位元外部资料总线。8088使用8位元的设计,所针对的是较为经济之系统。当把8088的MN/M—X—引脚接到+5V时,8088CPU工作于最小工作方式。所谓最小工作方6式,就是系统中只有一个微处理器8088。在这种系统中所有的总线控制信号都直接由8088产生,系统中总线控制逻辑电路被减小到最小,这种方式适合于较小规模的应用。最小方式下,24-31引脚功能:(1)I—N—T—A—中断响应信号(输出,低电平有效)I—N—T—A—是CPU对外设的中断请求的回答信号。对于8088来说,I—N—T—A—信号实际是位于连续周期中的两个负脉冲,在每个中断响应周期的T2、T3和TW状态,I—N—T—A—为低电平。第一个负脉冲通知外围设备的接口,它发出的中断请求已经得到允许;外设接口收到第二个负脉冲后,将中断类型码送往数据总线。(2)ALE地址锁存允许信号(输出,高电平有效)ALE是CPU在每个总线周期的T1状态发出的,其有效电平表示当前在地址/数据复用线上输出的是地址信息,利用它的下降沿把地址信号和B—H—E—信号锁存在74LS373地址锁存器中。ALE不能被浮置。(3)D—E—N—数据允许信号(输出,低电平有效,三态)D—E—N—有效表示CPU准备好接受和发送数据,是CPU提供双向数据收发器74LS245的选通信号,在每个访问存储器或访问I/O周期,或中断相应周期均有效。在DMA下,被浮置为高阻态。(4)DT/R—数据收发信号(输出,三态)在系统使用双向收发器74LS245时,用其控制数据的传送方向。如果DT/R—为高电平,则进行数据发送,如果DT/R—为低电平,则进行数据接收.在DMA下,被浮置为高阻态。(5)M—/IO存储器/IO控制信号(输出,三态)用于区分是访问存储器(低电平),还是访问I/O(高电平),通常M—/IO被接至存储器或接口芯片的片选C—S—端。当DMA时,被浮置为高阻态。(6)WR写信号(输出,低电平有效,三态)WR有效时,表示CPU正在执行存储器或访问存储器。在任何写周期,WR只在T2、T3、TW有效,在DMA时,WR被浮置为高阻态。(7)HOLD总线保持请求信号(输入,高电平有效)它是系统中的其他总线主控部件向CPU发出的请求占用总线的申请信号。(8)HLDA总线保持响应信号(输出,高电平有效)它是CPU对系统中其他总线主控部件向其请求总线使用权的响应信号。74.2电源与复位系统复位信号图中,由R(560K)、C1(10UF)和二极管D1同8284A组成了系统复位电路,当系统上电工作时,系统电源通过R、C1是RES端电位由低变高,该信号经8284A内部电路处理后,输出的RESET信号作为8088CPU的复位信号。根据CPU对RESET信号的要求,系统上电后8284A输出RESET由低电平变为高电平的复位时间要大于4个时钟周期,因此合理选择R、C1数值是确保8088CPU上电可靠复位的重要条件。复位电路二极管D1是用于当系统电源瞬间掉电时,将C1中存储的电荷快速放掉,这样当系统再次上电时,即保证R和C1的充电时间使8284A输出的RESET时间大于4个时钟周期,确保CPU可靠复位,K为手动复位开关。系统电源8系统电源接220V交流电源,经二极管整流桥,电容,稳压管后输出5V直流电。4.3存储器设计4.3.1ROM设计(2764*2)ROM使用的是两片2764芯片,组成8K*2的容量,由于写入过程很慢,所以EPROM芯片在使用中是作为只读存储器。94.3.2RAM设计(6264*2)图中ROM用于系统存储常驻程序,RAM用于存放用户非常驻程序,数据或作为系统堆栈区使用。根据题目要求的容量选用两片EPROM2764和两片RAM6264,八位数据总线和CPU的低八位数据总线相连,CPU地址总线的A12-A0用于芯片的字选和存储器的地址线相连,A19-A13译码后用做片选,和I\O引脚经过译码器译码后用作片选。104.4接口设计4.4.1接口译码设计4.4.28259设计8259A是专门为了对8085A和8086/8088进行中断控制而设计的芯片,它是可以用程序控制的中断控制器。单个的8259A能管理8级向量优先级中断。在不增加其他电路的情况下,最多可以级联成64级的向量优先级中断系统。8259A有多种工作方式,能用于各种系统。各种工作方式的设定是在初始化时通过软件进行的。在总线控制器的控制下,8259A芯片可以处于编程状态和操作状态.编程状态是CPU使用IN或OUT指令对8259A芯片进行初始化编程的状态。在有多个中断源的系统中,接受外部的中断请求,并进行判断,选中当前优先级最高的中断请求,再将此请求送到cpu的INTR端;当cpu响应中断并进入中断子程序的处理过程后,中断控制器仍负责对外部中断请求的管理。114.4.38255设计接口电路是CPU和外围设备进行数据交换的缓冲区域,图中的8255A是一个有3个数据口、1个控制/状态口的8位并行输入输出接口可编程芯片,能接通键盘、打印机、显示器等外围设备等。8255A的数据线接系统总线的低八位,控制端口和系统的相应控制端口相连。图中,PA口连接LED8段显示器,PC口连接显示器的位选信号,PB口接4*4KEY的行线。A0,A1接8088的A0,A1地址线,8088的高位地址经译码后与CS连接,由此,8055的地址是60H,61H,62H,63H。124.4.48253设计A0,A1接8088的A0,A1地址线,8088的高位地址经译码后与CS连接,8253的地址由30H开始并且连续。4.5外设电路设计4.5.16*LED设计一个LED数码管可用来显示一位0~9十进制数和一个小数点。小型数码管(0.5寸和0.36寸)每段发光二极管的正向压降,随显示光(通常为红、绿、黄、橙色)的颜色不同略有差别,通常约为2~2.5V,每个发光二极管的点亮电流在5~10mA。LED显示器有静态和动态两种工作方式LED显示器工作在静态显示方式下,共阴极或共阳极连接在一起,然后接地或+5V;每位的段选线(A,B,…,G,H)与一个8位并行口PA口相连。这样,只要在每一位的段选线上13保持段选码电平,该位就能保持相应的显示字符。在多位LED显示时,将所有位的段选线并联在一起,由一个8位的I/O口控制,即控制段选码而共阴极或共阳极点分别由相应的I/O线控制即控制位选码,这就是动态显示。6位LED动态显示电路只需一个8位I/O口及一个6位I/O口,其中8个I/O控制段选码,6位I/O控制位选。进行6位字符显示时,采用扫描显示方式,即在每一瞬间只使某一位显示相应字符,在此瞬间,段选控制I/O口输出相应字符段选码,位选控制I/O口在该显示位送入选通电平(共阴极送低电平,共阳极送高电平),以保证该位显示相应字符。如此轮流,使每位显示该位应显示字符,并保持延迟一段时间(1~5ms),以造成视觉暂留效果。不断循环送出相应的段选码、位选码,就可以获得视觉稳定的显示状态。为节省成本,这里用的是软件译码。4.5.24*4KEY设计图中有4行4列,4根线于PB口相连,2根列线与PB口的PB2,PB3相连。按键设置在行、列交点处(数字或字符为其键号),行、列线分别连接到按键开关的两端。当列线通过上拉电阻接+5V时,就被钳位在高电平状态。键盘中有无键按下是由行线送入全扫描字、列线读入行线状态来判断的。这就是:给行线所有I/O线均置成低电平,然后读入列线电平状态。如果有键按下,总会有一根列线电平被拉至低电平,从而使列线输入不全为1。键盘中哪一个键按下是由行线逐行置低电平后,检查列线输入状态予以确定的。其方法是:依次给每根行线送低电平,然后查所有列线状态,如果全为1,则所按下之键不在次行。14如果不全为1,则所按下之键必在此行。而且是在与0电平行线相交点上的那个键。键盘的工作方式采用编程扫描工作方式,即通过调用键盘子程序来响应键输入的要求,在键盘扫描子程序中完成下述功能:1)判断键盘上有无键按下。其方法是先使PA0~PA3=0,然后读PB2、PB3的状态,若全为1,则键盘中无键按下;若不全为1,则说明键盘中有键按下。2)去除按键的抖动影响。对于由机械触点构成的按键,由于机械触点的弹性作用,触点在闭合及断开瞬间有一个抖动过程,一般为5~10ms时间。为了消除抖动影响可作这样处理:当判断有键按下后,软件延时一段时间在判断键盘状态,如果仍有键