《微机原理与接口技术课程设计报告-加减计数器模板.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术课程设计报告-加减计数器模板.docx(27页珍藏版)》请在第一文库网上搜索。
1、1 .课程设计题目12 .课程设计任务和规定13 .总体方案与设计阐明14 .硬件电路设计和描述35 .软件设计流程和描述66 .源程序代码87 .系统调试128 .结论与阐明139 .课程设计体会1310 .参照文献13一.课程设计题目加减计数器设计二.课程设计任务和规定通过健盘输入。到9之间的数字,可以在1ED灯上显示出来;通过键盘进行简朴的9之内的加减运算;运算过程和成果在1ED灯上显示出来。三.总体方案与设计阐明1.1 通过小键盘做加减运算。七段数码管显示屏作输入数据和成果数据的显示。1.2 数字用小键盘09,R,P,M,G作功能键R开始运算(包括撤销运算),显示0P+m-g=E退出返
2、回dos3. 3运算次序:a.输入一原始数据显示屏跟随显示b.按+或-显示屏内容不变c.再输入一数据,显示屏跟随显示。d.按=显示屏显示成果数据,当超过能显示I1勺最大值,显示F(溢出)e.按R重新开始运算f.按E,结束退出设计思绪:首先运用程序不停扫描键盘是不是有输入,假如没有就一直扫描,假如有就停止扫描,完毕输入,运用汇编的程序查对输入键的数值,通过调用子程序实现2位十进制数以内的和减法运算。运算完毕后将运算的成果储存并显示到1ED显示屏上。四.硬件电路设计和描述(含所需器件、硬件原理图)4. 1硬件电路键盘输入和1ED数码管通过8255A接口与系统总线连接,键盘的16个按键构成8*2矩阵
3、,其中8根矩阵线作为8255的输出线与PB7PB0连接,2根矩阵线作为8255A口勺输入线与PC7、PC6连接。键盘采用逐次扫描原理,16个按键中09座位数字健,+、-、=作为加、减和等号功能键,C为清零键。5. 2键盘输入模块键盘是常用信息输入元件,其实键盘也是由一种个按钮构成,假如是独立按钮的话必须要需要一种1/0口对它进行检测,而健盘往往这需要键盘按钮数二分之一的I/O口数对它进行检测,也许对一种比较简朴的系统I/O口数一般不是问题,但对于一种大型、豆杂H勺系统来说I/O资源就显得非常宝贵了,尽量减少I/O使用是非常利于减少成本,此外首先键盘比用独立按键要美观。我们设i1时使用的是8*2
4、行列式键盘,如图2-1所示。图中有8行2歹J,8根行线与PA口相连,2根列线与PC口的PC6、PC7相连。PA、PB口要么所有输入或输出。PC口可以进行输入和输出。按键设置在行、类交点处(数字或字符为其键号),行、列线分别连接到按键开关的两端。当列线通过上拉电阻接+5V时,就被钳位在高电平状态。键盘中有无按键按下是由行线送入全扫描字、列线读入行线状态来判断。这就是:给航线所有i/o线均置成低电平,然后读入列线电平状态。如国有按键盘卜.,总会有一根列线电平被拉至低电平,从而使列线输入不全为Io图4-1键盘电路图4-2数码管电路4.3可编程并行通信接口芯片8255A(1)并行输入/输出端口A,B,
5、C8255A内部包括三个8位的输入输出端口,分别是端口A、端口B、端口C,对应信号线是PA7PAO、PB7PBO、PC7PCOo端口都是8位,都可以作为输入或输出。一股将端口A和端口B定义为输入/输出的数据端口,而端口C则既可以作数据端口,又可以作为端口A和端口B的状态和控制信息的传送端口。(2)A组和B组控制部件端口A和端口C的高4位(PC7-PC4)构成A组:由A组控制部件实现控制功能。端口B和端口C的低4位(PC3-PC0)构成B组;由B组控制部件实现控制功能。A组和B组运用各自的控制单元来接受读写控制部件的命令和CPU通过数据总线(DOD7)送来的控制字,并根据他们来定义各个端口的操作
6、方式。(3)数据总线缓冲存储器三态双向8位缓冲器,是8255A与8086CPU之间的数据接口。与I/O操作有关的数据、控制字和状态信息都是通过该缓冲器进行传送。(4)读/写控制部件WPA2一PA1_PAO_d豆吧A1ZPC7PC6收一PC4两巴PC2_PC3_PBO-PB1一PB2_1U40239338437536635-EA4PA5PA6PA7RESET亘-D1D2D3D4D5D6D7VCCPB7-PB6PB5PB4PB38255A完毕读/写控制功能的部件。能接受CPU的控制命令,并根据控制命令向各个功能部件发出操作指令。图4-3CS片选信号:由CPU输入,有效时表达该8255A被选中。RD
7、fWR读、写控制信号:由CPU输入。RD有效表达CPU读8255A,WR有效表达CPU写8255ARESET复位信号:由CPU输入。RESET信号有效,清除8255A中所有控制字寄存器内容,并将各个端口置成输入方式。图2-4.8255A内部构造定义工作方式控制字:工作方式0:8255A中各端口的基本输入/输出方式。D7DgD5D4D3D2DD01OOXOXXIIPC3PC0为输入O1PC3PCo为输出1端口B输入01端口B输出定义端口B为方式0_P1(PC7PG)为输入1KPC7PG)为输出1,端口A输入(h端口A输出它由8位双向三态缓冲寄存器构成,是CPU与8253之间互换信息的必经之路。2
8、.读/写控制读/写控制分别连接系统的IOR和IOW,由CPU控制着访问8253I内内部通道。接受CPU送入的读/写控制信号,并完毕对芯片内部各功能部件的控制功能,因此,它实际上姑8253芯片内部的控制器。A1AO:端口选择信号,由CPU输入。8253内部有3个独立的通道和一种控制字寄存器,它们构成8253芯片的4个端口,CPU可对3个通道进行读/写操作3对控制字寄存器进行写操作。这4个端口地址由最低2位地址码A1、AO来选择。图4-5D7D6D5D4D3-D2DDOC1KO-OUTOGETOGND一2345678911 Ol 1 2五.软件设计流程(模块流程图)和描述如图5-1所示:通道作1次
9、J的数据接口,1 51 4 3+5v-RD工A1AOCK12GTE2-0UT2FK1GATE1OUT1242 28 7 6191 1图5T六.源程序代码(要有注释)STACKSEGMENTSTCAKDB64DUP(?)STACKENDSDATASEGMENTORG3000HVAR1DB00H,O1H102H,03H,04HVAR2DB3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FHVAR3DBOOH,OOH,OOH,OOH,OOH,OOH,OOH,OOH,OOH,OOHVAR4DBOOH,OOHtOOH,OOH,OOH,OoH,OOH,OOH,OOH,OOHTAB
10、1EDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS1AXMOVA1,88HOUT63H,1:82255A初始化MOVBX,OOOOH;BX清零STT:MOVA1,OOHOUT6111.A1NEXT:INA1,62HANDA1fOCOHJNZKEYABCCA11DISPJMPSTTKEYABC:CA11TIME:调用显示程序:延时,去抖动INA1,62HANDA1,OCOHC
11、MP1,OCOHJNZKEYJMPSTTKEY:MOVA1,OFEHOUT61H,A1INA1,62HTESTA1,80HJNZKEY-OCA11KEY8JMPSTTK;键盘扫描识别KEYO:TESTA1,40HJNZKEY_9CA11KEYOJMPSTTKKEY_9:MOV1,OFDHOUT61H,A1IN1,62HTESTA1,80HJNZKEY_1CA11KEY9JMPSTTKKEY_1:TESTA1,40HJNZKEY_ACA11KEY1JMPSTTKKEYA:MOVA11OFBHOUT61H,A1IN1,62HTESTA1,80HJNZKEY_2CA11KEYAJMPSTTKKEY2
12、:TESTA1,40HJNZKEY_BCA11KEY2JMPSTTKKEY_B:MOV1,0F7HOUT61H,A1INA1,62HTESTA1,80HJNZKEY_3CA11KEYBJMPSTTKKEY_3:TEST1,40HJNZKEY_CCA11KEY3JMPSTTKKEY_C:MOVA1,OEFHOUT61H,A1IN1,62HTESTA1,80HJNZKEY_4CA11KEYCJMPSTTKKEY_4:TEST1,40HJNZKEY_DCA11KEY4JMPSTTKKEY_D:MOVA1,ODFHOUT6111,A1INA1,62HTEST1,80HJNZKEY_5CA11KEYDJ
13、MPSTTKKEY_5:TESTA1,40HJNZKEYDCA11KEY5JMPSTTKKEY_E:MOVA1,OBFHOUT61H,A1INA1,62HTESTA1,80HJNZKEY_6JMPSTTKKEY_6:TEST1,40HJNZKEY_FCA11KEY6JMPSTTKKEY_F:MOVA1,O7FHOUT61H,A1INA1,62HTEST1,80HJNZKEY_7CA11KEYFJMPSTTKKEY_7:TESTA1,40HJNZKEY_71CA11KEY7JMPSTTKKEY71:JMPSTTKKEY9:CMPBH,OOH:按键9处理子程序JZKEY91:未按过符号键,不清零CA11C1EAR:已按过符号键,清零KEY9_1:CA111P1:低4位字节前移MOVA1,6FH;最低字节输入一种数据MOVSI+4,1MOVA1,09HMOVD1+4,A1CA11DISP:显示RET;按键8处理子程序KEY8:CMPBH,