




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录1.课程设计任务书22.系统设计说明52.1建立简单微机系统的思路 52.2确定组成各部件的芯片 62.3存储器芯片,接口芯片与系统总线连接63.系统详细原理63.1系统简介 63.2 8088工作方式的简介 73.3 系统时钟信号 83.4系统复位信号 83.5地址和数据总路线的分离 93.6 系统存储器空间分配 93.7 i/o接口电路 93.8接口芯片和键盘的连接93.9 led显示器的工作方式 104硬件连接原理图 115.软件原理框图及程序 115.1定义键值和左移显示数据流程图12 5.2计算器功能 125.3源程序部分145.3.1对应键值的显示145.3.2 计算器176.主要参考文献 22任务书题目名称计时器(timer)学生学院专业班级姓 名学 号1、课程设计的内容一. 设计要求本课程设计内容包含两个方面:系统硬件设计和软件编程1 系统硬件设计 设计8088计算机系统,系统包含cpu、eprom、ram、pio、中断控制器和定时器等芯片。 要求8088工作于最小模式;eprom为16kb、ram为16kb,其地址分别从0f0000h以及00000h开始;8259的地址为30h和31h;8255的地址为60h、61h、62h、63h、64h;8253定时器的地址为40h、41h、42h、43h。 显示器采用六个8段数码显示器;键盘采用4 * 4矩阵形式,它们由8255控制。 用35*35cm方格纸制图。2 软件编程内容 显示器工作于查询方式,键盘工作于中断方式。 16个按键定义的键值为:0 f ,按任意键在显示器上显示对应键值。 从键盘输入6个数字使其能够在显示器上从右到左逐位显示。 实现计算功能:l 定义键盘按键:10个数字键(09);六个功能键:+、-、*、=、clear。l 实现五位十进制数以内的连加、连减运算。l 实现被除数(2位)、除数(1位)的十进制连除运算。二、课程设计的要求与数据(1)巩固和加深对微机原理及应用课程内容的认识和理解,提高应用水平。(2)掌握汇编语言程序的编程方法。(3)熟悉键盘控制和七段数码管的使用。三、课程设计应完成的工作3 完成课程设计提交设计报告一份。4 提交的设计报告内容包括: 设计依据、系统详细原理说明(11.5万字)、系统原理图 系统软件框图、设计的软件等四、课程设计进程安排序号设计各阶段内容地点起止日期1布置任务2熟悉各芯片的工作原理和引脚特性3构建简单微机系统的思路,芯片的布局和排版4各芯片的连线五、应收集的资料及主要参考文献1 许立锌等编.微型计算机原理及应用.北京:机械工业出版社,20032.许立梓等编微型计算机原理及应用 -习题解答、实验指导及课程设计.北京:机械工业出版社,2003发出任务书日期: 年 月 日 指导教师签名:计划完成日期: 年 月 日 基层教学单位责任人签章:主管院长签章: 2、系统设计说明2.1 构建简单微机系统的思路 微型计算机由微处理器,存储器,接口电路以及连接在这些部件上的总线组成。微处理器,存储器和所有io设备之间的信息交换都通过总线进行。总线包括地址总线,数据总线和控制总线,他们始于cpu或终于cpu,现代微机大部分都是这种以总线为中心的结构。8088cpu的地址数据总线ad15-ad0和地址状态总线a16/s3-a19/s6是复用的,必须通过地址锁存器把地址总线和数据总线分离。控制总线直接和8088cpu相连,这样8088cpu就工作在最小工作方式。 微型计算机及外围设备组成微型计算机系统的硬件,外围设备必须通过接口电路才能与系统总线相连,因此构建一个基于8088cpu的简单微型计算机系统就是工作于最小工作方式的8088cpu系统总线上挂上一定规模的存储器和接口电路,然后在把合适的外围设备连接到接口电路上。一个基于8088cpu的简单微型计算机系统框图如图所示。图中键盘与显示器作为外围设备通过接口芯片与系统总线相连。 ad0 . ad19 cpu wr rdm/io 锁存器 romram接口芯片键盘显示器译码器译码器2.2确定组成各部件的芯片选择芯片的原则是:要求芯片性能/性价比较高,市场可以买到。对于小型的微型计算机系统,程序存储器一般用eprom,随机存储器一般采用sram。接口有简单接口(例如74ls244,74ls273)和可编程接口(例如8255a),根据需要选择。2.3.存储器芯片,接口芯片与系统总线的连接存储器芯片,接口芯片与系统总线的连接就是如何把存储器芯片和接口芯片挂到系统的三类总线上。存储器芯片和接口芯片与数据总线的连接比较简单,因为是简单系统,对数据总线的负载能力没有特别的要求,所以只要把存储器芯片和接口芯片的数据引脚与数据总线相应各位作并联就可以。连接到芯片上的控制总线不多,常用的有io/.reset等信号,这些信号线也都是与各芯片的有关引脚做并联连接。存储器芯片,接口芯片与地址总线的连接原则上是一样的:低地址线与存储器芯片或接口芯片的地址引脚直接并联连接,用来作为芯片内部单元的选择,高位地址线经译码器译码后一般连接到芯片的片选端,作为芯片的选择。一般高位地址线的低位部分作为译码器的译码输入,高位部分则作为译码器译码的许可条件。由于8088cpu的端口地址采用独立编址方式,为了区分是存储器芯片地址还是接口芯片地址,一定要把io/信号参与到芯片的片选端控制。3:系统详细原理说明:3.1 系统简介用8088cpu构成最小模式系统所需要的控制信号由cpu提供,如电路原理图所示,该系统是由8088cpu,时钟信号发生器8284a,地址锁存器74ls373,数据缓冲器74ls245,存储和i/o译码器74ls138以及存储器和i/o接口等电路组成。系统所需要的控制信号等均由8088cpu直接产生。其时钟由8284a时钟信号发生器提供,系统各部件间的信号均通过系统数据总线,地址总线和控制总线进行传输。3.2 8088工作方式简介当把8088的mn/引脚接到+5v时,8088cpu工作于最小工作方式。所谓最小工作方式,就是系统中只有一个微处理器8088。在这种系统中所有的总线控制信号都直接由8088产生,系统中总线控制逻辑电路被减小到最小,这种方式适合于较小规模的应用。最小方式下,24-31引脚功能:(1)中断响应信号(输出,低电平有效)是cpu对外设的中断请求的回答信号。对于8088来说,信号实际是位于连续周期中的两个负脉冲,在每个中断响应周期的t2、t3和tw状态,为低电平。第一个负脉冲通知外围设备的接口,它发出的中断请求已经得到允许;外设接口收到第二个负脉冲后,将中断类型码送往数据总线。(2)ale地址锁存允许信号(输出,高电平有效)ale是cpu在每个总线周期的t1状态发出的,其有效电平表示当前在地址/数据复用线上输出的是地址信息,利用它的下降沿把地址信号和信号锁存在74ls373地址锁存器中。ale不能被浮置。(3)数据允许信号(输出,低电平有效,三态)有效表示cpu准备好接受和发送数据,是cpu提供双向数据收发器74ls245的选通信号,在每个访问存储器或访问i/o周期,或中断相应周期均有效。在dma下,被浮置为高阻态。(4)dt/数据收发信号(输出,三态)在系统使用双向收发器74ls245时,用其控制数据的传送方向。如果dt/为高电平,则进行数据发送,如果dt/为低电平,则进行数据接收.在dma下,被浮置为高阻态。(5)/io存储器/io控制信号(输出,三态)用于区分是访问存储器(低电平),还是访问i/o(高电平),通常/io被接至存储器或接口芯片的片选端。当dma时,被浮置为高阻态。(6)wr写信号(输出,低电平有效,三态)wr有效时,表示cpu正在执行存储器或访问存储器。在任何写周期,wr只在t2、t3、tw有效,在dma时,wr被浮置为高阻态。(7)hold总线保持请求信号(输入,高电平有效)它是系统中的其他总线主控部件向cpu发出的请求占用总线的申请信号。(8)hlda总线保持响应信号(输出,高电平有效)它是cpu对系统中其他总线主控部件向其请求总线使用权的响应信号。3.3 8284时钟信号发生器时钟发生器8284除了提供频率恒定的单相时钟脉冲clk给cpu外还具有系统复位信号reset产生电路和准备好信号ready控制电路。如果f/c接+5v,则由fei输入外加脉冲,如果f/c接地,由x1和x2连接的石英晶体震荡器提供脉冲源,图中有石英晶体振荡器提供输入脉冲给8284.3.4.系统复位信号 图中,由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为手动复位开关。3.5.地址和数据总线的分离 根据8088读写周期,cpu在t1时钟周期输出的地址锁存信号ale将ad15-ad0和a19s6-a16s3输出的地址信息锁存在图中的地址锁存器74ls373,地址锁存器输出的地址信号通过系统地址总线同存储器和io接口地址输入端连接,并在t2t4时钟周期内保持由t1时钟周期输出的地址信息不变,直到下个总线周期的t1时钟周期才发生变化。在t2-t4总线周期,cpu通过系统数据总线同存储器或io接口交换数据。若数据总线负载较重时,cpu通过输出den和dt/r信号,对数据收/发驱动器74ls245的输出输入数据进行控制。即den有效,dt/r为低电平时,cpu通过74ls245读取系统存储器或i/o接口中的数据。当den有效,dt/r为高电平时,cpu通过74ls245对系统存储器或i/o接口写入数据。3.6、系统存储器空间分配图中rom用于系统存储常驻程序,ram用于存放用户非常驻程序,数据或作为系统堆栈区使用。根据题目要求的容量选用一片eprom27128和两片ram6264,八位数据总线和cpu的低八位数据总线相连,cpu地址总线的a13-a0用于芯片的字选和存储器的地址线相连,a19-a14译码后用做片选,和io引脚经过译码器译码后用作片选。3.7.i/o接口电路接口电路是cpu和外围设备进行数据交换的缓冲区域,图中的8255a是一个有3个数据口、1个控制/状态口的8位并行输入输出接口可编程芯片,能接通键盘、打印机、显示器等外围设备等。8255a的数据线接系统总线的低八位,控制端口和系统的相应控制端口相连3.8接口芯片和键盘的连接图中有2行4列,4根线于pa口相连,2根列线与pb口的pb2,pb3相连。按键设置在行、列交点处(数字或字符为其键号),行、列线分别连接到按键开关的两端。当列线通过上拉电阻接+5v时,就被钳位在高电平状态。键盘中有无键按下是由行线送入全扫描字、列线读入行线状态来判断的。这就是:给行线所有i/o线均置成低电平,然后读入列线电平状态。如果有键按下,总会有一根列线电平被拉至低电平,从而使列线输入不全为1。键盘中哪一个键按下是由行线逐行置低电平后,检查列线输入状态予以确定的。其方法是:依次给行线送低电平,然后查所有列线状态,如果全为1,则所按下之键不在次行。如果不全为1,则所按下之键必在次行。而且是在与0电平行线相交点上的那个键。键盘的工作方式采用编程扫描工作方式,即通过调用键盘子程序来响应键输入的要求,在键盘扫描子程序中完成下述功能:1) 判断键盘上有无键按下。其方法是先使pa3pa60,然后读pb2、pb3的状态,若全为1,则键盘中无键按下;若不全为1,则说明键盘中有键按下。2) 去除按键的抖动影响。对于由机械触点构成的按键,由于机械触点的弹性作用,触点在闭合及断开瞬间有一个抖动过程,一般为510ms时间。为了消除抖动影响可作这样处理:当判断有键按下后,软件延时一段时间在判断键盘状态,如果仍有键按下状态,则认为有一个确定的键按下,否则按键抖动处理。3) 求按下键的键值及键号。键盘上的每个键都对应一个键值。键值的组成:低8位为扫描该键时的行线输出值,高8位为该键按下时的列线输入值(有效位为0,其余位令其为1)。由于键盘中键号排列无规律,不能通过对键值直接运算得到键号。因此必须先判断按下键是使pb2=0还是pb3=0,然后再查为零的列线上键按下时其8位键值中是否有一位为零,若为零则可得到键值。求按下键的键值及键号的目的是使程序转到相应的地址去完成该键的操作。一般,对数字键就是直接将该号送到显示缓冲区进行显示,对功能键则必须先找到该功能键处理程序入口地址,并转去执行该键的命令。因此当键号求到后,还必须找到功能处理入口。4) 为保证键闭合依次cpu仅进行依次键功能操作。程序中需要等待键释放以后再将键号送累加器ah。3.9 led显示器的工作方式led数码管是目前最常用的数字显示器,图a、b为共阴管和共阳管的电路,图c为两种不同出线形式的引出脚功能图。一个led数码管可用来显示一位09十进制数和一个小数点。小型数码管(0.5寸和0.36寸)每段发光二极管的正向压降,随显示光(通常为红、绿、黄、橙色)的颜色不同略有差别,通常约为22.5v,每个发光二极管的点亮电流在510ma。led数码管要显示bcd码所表示的十进制数字就需要有一个专门的译码器,该译码器不但要完成译码功能,还要有相当的驱动能力。图a 共阴连接(“1”电平驱动) 图b 共阳连接(“0”电平驱动)图c led数码管符号及引脚功能图led显示器有静态和动态两种工作方式led显示器工作在静态显示方式下,共阴极或共阳极连接在一起,然后接地或+5v;每位的段选线(a,b,g,h)与一个8位并行口相连。这样,只要在每一位的段选线上保持段选码电平,该位就能保持相应的显示字符。在多位led显示时,为了化简电路,降低成本,将所有位的断选线并联在一起,由一个8位的i/o口控制,即控制段选码而共阴极或共阳极点分别由相应的i/o线控制即控制位选码,这就是动态显示。4位led动态显示电路只需一个8位i/o口及一个4位i/o口,其中8个i/o控制段选码,4位i/o控制位选。进行4位字符显示时,采用扫描显示方式,即在每一瞬间只使某一位显示相应字符,在此瞬间,段选控制i/o口输出相应字符段选码,位选控制i/o口在该显示位送入选通电平(共阴极送低电平,共阳极送高电平),以保证该位显示相应字符。如此轮流,使每位显示该位应显示字符,并保持延迟一段时间(15ms),以造成视觉暂留效果。不断循环送出相应的段选码、位选码,就可以获得视觉稳定的显示状态。4.硬件连接原理图(见附页)5.软件原理框图和程序5.1定义键值和左移显示数据流程图开始8255/8259初始化有无中断显示对应键盘值ny 5.2计算器功能开始8255/8259初始化有无中断显示扫描是数字键?有标志?加号?减号?设加标志设减标志清零显示器,清标志位保存数据放键?显示扫描清零显示器除号?yyyyyyynnnnnn设除标志等号?n进行加、减、除运算,保存结果先于运算符清零十六进制转换yynn关中断开中断5.3 源程序部分说明:显示键盘单个对应数值是显示六个数,因而合并成一个程序来写,而那个十进制与十六进制的转换与十六进制的加减除运算可以合并成一个,用那个等号来区分即可,从流程图可以看出他们的大概实现过程。至于那个十进制转化为十六进制的原理是像实验课程设计那样,在实验课程设置我们也是同样用一个键定义两种功能,具体的方法见实验课程设计的有关部分。5.3.1对应键值的显示stack segment stack dw 64 dup(?)stack endsdata segmenttable db 3fh,06h,5bh,4fh,66h,6dh,7dh,07hdb 7fh,6fh,77h,7ch,39h,5eh,79h,71hvar1 db 0a0h,80h,60h,40h,20h,00h;存放片选代码,从右边到左边的led数码管var2 db 3fh,3fh,3fh,3fh,3fh,3fh ;将要显示的数据的存放段data endscode segment assume cs:code,ds:data,ss:stackstart: mov ax,data mov ds,ax cli mov al,80h out 63h,al mov al,0f0h out al,62h push ds mov ax,0000h mov ds,ax mov ax,offset irq0 mov si,003ch mov si,ax mov ax,cs pop ds ;8255初始化和中断向量表的设置 in al,31h and al,0feh out 31h,al ;写ocw1a1: sti call disp ;调用显示功能 hlt jump a1irq0:mov al,01h out 62h,al in al,61h cmp al,0e0h jnz key_2 ;测试第二个键 call key1 ;对第一个键定义数值和显示 ;同样地对其他键进行定义和显示 disp:mov si,offset var1 ;显示子程序,si为选通的 mov di,offset var2 mov dl,di+5 cmp dl,3fh jnz dir6mov dl,di+4 cmp dl, 3fh jnz dir5mov dl,di+3 cmp dl,3fh jnz dir4 mov dl,di+2 cmp dl, 3fh jnz dir3mov dl,di+1 cmp dl,3fh jnz dir2jmp dir1dir6:mov cx,0006h jmp dirdir5:mov cx,0005h jmp dirdir4:mov cx,0004h jmp dirdir3:mov cx,0003h jmp dirdir2:mov cx,0002h jmp dirdir1:mov cx,0001h jmp dirdir: mov al,siout 62h,al;mov al,diout 60h,alcall timeinc siinc diloop dirret;-time: push ax ;延时子程序 push cx mov cx,0002htime1: mov ax,0020htime2: dec axjnz time2loop time1pop cxpop axret;-sttk: call disp ;放键测试程序 mov al,00hout 61h,alin al,60hand al,0chcmp al,0chjnz sttkjmp a1code ends end start5.3.2 计算器键盘的键值+-*=c9876543210stack segment stack dw 64 dup(?)stack endsdata segmenttable db 3fh,06h,5bh,4fh,66h,6dh,7dh,07hdb 7fh,6fh,77h,7ch,39h,5eh,79h,71hvar1 db 0a0h,80h,60h,40h,20h,00h;存放片选代码,从右边到左边的led数码管var2 db 3fh,3fh,3fh,3fh,3fh,3fh ;将要显示的数据的存放段var3 db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h ;存放新数var4 db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h ;存放旧数data endscode segment assume cs:code,ds:data,ss:stackstart: mov ax,data mov ds,ax ;中断测试 ;键盘定义(顺序如上图所示) tr: leasi,var3;10进制转16进制子程序,var3存放着将要被转换的数,var2是用来做显示用的段,数字高位对应段的高位,底位对应段低位leadi,var2clc mov ax,0 mov bx,0mov al,si+5 mov ah,si+4 shl ah,4 add al,ah and ax,000fh mov cx,4 tr1:cwd div 16 mov di+4,al mov al,dl mul 10 mov bl,si+3 add ax,bx dec si dec di loop tr1 mov di,al call disp ;调用显示子程序 retad: mov dh,01h ;加法标志位lea si,var3 ;加法子程序 lea di,var4 ;var3用于存放新输入将要被加的数,var4用于存放上次的加出的结果,由于要进位,为了保证运算的正确,此程序采用的是两个不超过5位的数字相加(或连加)! clc mov ax,0 mov bx,0 mov cx,3ad1: mov al,si shl al,4 add al,si+1 mov bl,di add bl,di+1 adc al,bl mov ah,al and al,0fh shr ah,4 mov di,al mov di+1,ah inc si inc di loop ad1 mov cx,6 cld lea si,var3 lea di,var2 rep movs ;将其转到显示段 call disp ;调用功能程序 ret su: mov dh,02h;设减法标志 lea si,var3 ;减法子程序 lea di,var4 ;var3用于存放新输入的减数,var4用于存放上次的减出的结果,由于要借位,为了保证运算的正确,此程序不要采用两个6位的数字相减(或连减)! clc mov ax,0 mov bx,0 mov cx,3su1: mov bl,si shl bl,4 add bl,si+1 mov al,di add al,di+1 sbb al,bl mov ah,al and al,0fh shr ah,4 mov di,al mov di+1,ah inc si inc di loop su1 mov cx,6 cld lea si,var3 lea di,var2 rep movs ;将其转到显示段 call disp ;调用功能程序 retmu: mov dh,03h;乘法标志 lea si,var3 ;乘法子程序 lea di,var4 push dx mov dx,0 mov cx,2mu1:mov al,d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 留守儿童家庭委托抚养责任协议书
- 继子女抚养费支付及关系解除法律协议
- 儿童抚养权变更与探视时间约定合同
- 赛事直播版权分销与赛事赛事周边产品销售合同
- 新能源汽车产业私募股权投资基金有限合伙人全面合作协议
- 工业模具恒温仓储租赁与品牌合作合同
- 智能建筑雨水资源回收租赁服务协议书
- 信用证保兑金融服务代理合同
- 抖音平台AI选品与品牌合作合同
- 电动汽车充电站建设与能源优化配置合作协议
- 2025年广东省深圳市31校中考一模历史试题及答案
- 餐饮厨房燃气设备安全操作与维护
- 2025年上海劳动合同范本
- 氧化碳气瓶搬运、存放及使用管理制度
- 老年人安全用药与护理
- 动态葡萄糖图谱报告护理应用专家共识解读(2025年)解读课件
- PowerPoint基础教程课件教学课件
- 2025年浙江湖州市城市投资发展集团招聘笔试参考题库含答案解析
- 学习任务群在初中语文教学中的应用研究
- 贵州苗绣模板
- 驾驶员心理健康教育培训课件
评论
0/150
提交评论