微机原理与接口技术课程设计模拟计算器设计_第1页
微机原理与接口技术课程设计模拟计算器设计_第2页
微机原理与接口技术课程设计模拟计算器设计_第3页
微机原理与接口技术课程设计模拟计算器设计_第4页
微机原理与接口技术课程设计模拟计算器设计_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微机原理与接口技术课程设计题目:模拟计算器设计学院:电气工程学院专业:测控技术及仪器班级:09表21 -成绩评定表答辩成绩: (占总成绩70%)平时成绩: (占总成绩30%)一、背景4二、硬件电路42. 1、CPU控制模块42.2、键盘输入模块72.3、可编程并行通信接口芯片8255A 72.4、可编程计数器/定时器102.5、总原理图11三、软件设计框图12四、源程序13五、调试过程28六、课程设计体会 28七、参考文献 29摘要:学了微型计算机原理与应用课程之后,为了巩固和检测所学知识,我 选择基于8088CPU的模拟计算器设计。要完成设计首先需要构建简单的微型计 算机应用系统,其次是确定

2、组成各部件的芯片,然后画原理图并且用仿真软件 仿真。仿真正确后再连接硬件电路,电路连接完成后进行调试。设计过程中我 们用到了 8088CPU、可编程计时器8253、可编程并行输入/输出芯片 8255A、74LS138. 2*8矩阵式键盘、六位七段LED数码管。原理图设计完成之 后用PROTUES仿真软件对原理图进行了仿真得到了预期的结果。我们的模拟计 算器能实现5位十进制数以内的及减法运算和2位十进制数以内的乘除法运算。关键词: 模拟计算器,8088CPU, PROTUES, 8255A, 74LS138, 8253一、背景:随着电子技术的发展,微型计算机的应用的日益广泛和深入,接口技术有 了

3、迅速的发展,已成为直接影响微机系统功能和推广应用的关键。微机接口技 术是采用硬件与软件相结合的方法,研究微处理器如何与“外部世界”进行垠 佳连接,以实现CPU与“外部世界”进行高效可靠的信息交换的一门技术。而 如今接口技术正在逐渐改善着人们的学习、生活、工作,因此开发本系统希望 能够给人们多带来一点生活上的乐趣,接口技术与计算的结合不断加深。二、硬件电路:硬件电路键盘输入及LED数码管通过8255A接口与系统总线连接,键盘的16个按键组成8*2矩阵,其中8根矩阵线作为8255A的输出线与PB7PB0 连接,2根矩阵线作为8255A的输入线与PC7、PC6连接。键盘采用逐次扫描原 理,16个按键

4、中09座位数字健,+、-、*、/、=作为加、减、乘、除和等号 功能键,C为淸零键。1、CPU控制模块16位微处理器,内含29000个晶体管,时钟频率为4. 77MHz,地址总线 为20位,可使用1HB内存。8088内部数据总线都是16位,外部数据总 线是8位。接地READY RESET D FpoJEFIF/C8284AROY READYRESRESETCLKCLK RESET8088/8086READY图IT. 8284时钟发生器1435555 Vw3933SAo. s/S 鼻437A工t/S xxS36Ai.eXS -r&3S4卩V34Q33TvTW/TvTKO3NRJD1 o3 18 0

5、8 8 soA o1 1丄 x395ftOiO-X=JCic)-Au1 3N&rvi/ics*401 4NVX-J 1 yzxs 工11 BN6JL-i-IM,CSo)4i=y1&2S-$U-JE WR-c读/百A.控制Ao郁件RESETBffl控制部件Ata 端口 A1/0 PA?PAI/OPB?PB。I/OPC 7 PC 4A组瑞口 C上半部B组竣口 C下半部Bffl端口 B定义工作方式控制字:图2-4.8255A内部结构工作方式0: 8255A中各端口的基本输入/输出方式。1 |00XX 1 0XXD? D&D4 D3 D2 D】Do定义端口 A为方式标志位1XPC3-PCO* 输入0,

6、PC 3PC o为输出1,端口 B输入0:端口 B输出定义端口 B为方式0_ 1(PC7PG)为输入L o(pc7 pgm 输出图2-5 . 8255A工作方式控制9D7D6-D5D4_D3_D2 D DOCLKO OUTO GETO GND1242233224215206 _197 825318817916101511141213D+5vRDesAlAOCKL2GATE2OUT2CLKIGATE I0UT14、可编程计数器/定时器8253具有3个独立的计数通道,采用减1计数方式。在门控信号有效 时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周 期的时钟信号时,计数就成为左时。(

7、1)、8253内部结构8253芯片有24条引脚,封装在双列直插式陶瓷管壳内。1.数据总线缓冲器数据总线缓冲器与系统总线连接,8位双 向,与CPU交换信息的通 道。这是8253与CPU之间的数据接口,它由8位双向三态缓冲寄存器构成,是CPU与8253之间交换信息的必经之路。2.读/写控制读/写控制分别连接系统的IOR和IOW, 由CPU控制着访问8253的内部通道。接收 CPU送入的读/写控制信号,并完成对芯片内部各功能部件的控制功能,因此,它实际 上是8253芯片内部的控制器。A1A0:端口选 择信号,由CPU输入。8253内部有3个独立 的通道和一个控制字寄存器,它们构成8253 芯片的4个

8、端口,CPU可对3个通道进行读/ 写操作3对控制字寄存器进行写操作。 这4 个端口地址由最低2位地址码Al、A0来选择。图26、8253芯片图-5、总原理图-11 -LI6J5RB8ET 1.3 T-xREMY - nrrQs5回円a-S53J-iwW3- uiiiirCLKsoyTTrs- dHH.7535?ds.d3.FT9HM6巫 27 PROTUESaiEE去JfoJ涪幅巫三、软件设计框图:13四、源程序:一、源程序STACK SEGMENT STCAKDB 64 DUP(?)STACK ENDSDATA SEGMENTORG 3000HVARI DB OOH,01H, 02H, 03

9、H, 04HVAR2 DB 3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FHVAR3 DB 00H,00H,00H,00H,OOH,OOH,OOH,OOH,OOH,OOHVAR4 DB 00H,00H,00H,00H,OOH,OOH,OOH,OOH,OOH,OOHTABLE DB 3FH, 06H, 5BH, 4FH, 66H, 6D1I, 7DH, 07H, 7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H,71HDATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, SS:STACKSTART:MOV AX

10、, DATAMOV DS, AXMOV AL, 88HOUT 63H, ALMOV BX, 0000HSTT: MOV AL, OOH:82255A初始化:BX清零;键盘测试OUT 61H. ALNEXT: IN AL,62HAND AL, OCOHCMP AL, OCOHJNZ KEYABCCALL DISP:调用显示程序-15;延时,去抖动:键盘扫描识别JMP STTCALLTIMEINAL, 62HANDAL,OCOHCMPAL,OCOHJNZKEYJMPSTTMOVAL,OFEHOUT61H, ALINAL, 62HTESTAL, 80HJNZKEY_OCALLKEY8JMPSTTKT

11、ESTAL, 40HJNZKEY_9CALLKEYOJMPSTTKMOVAL,OFDHOUT61H, ALINAL, 62HTESTAL, 80HJNZKEY_1CALLKEY9JMPSTTKTESTAL, 4OHJNZKEY_ACALLKEY1JMPSTTKKEYABCKEY:KEY_O:KEY 9:KEY 1:KEY_A:MOV AL,OFBHOUT 61H,ALIN AL, 62HTEST AL, 80HJNZ KEY_2CALL KEYAJMP STTKKEY_2:TEST AL,40HJNZ KEY_BCALL KEY2JMP STTKKEY_B:MOV AL,OF7HOUT 61H

12、, ALIN AL, 62HTEST AL, 80HJNZ KEY_3CALL KEYBJMP STTKKEY_3:TEST AL,40HJNZ KEY_CCALL KEY3JMP STTKKEY_C:MOV AL,OEFHOUT 61H,ALIN AL, 62HTEST AL, 80HJNZ KEY_4CALL KEYCJMP STTK17KEY.4:TESTAL, 40HJNZKEY_DCALLKEY4JMPSTTKKEY._D:MOVAL,ODFHOUT61H,ALINAL, 62HTESTAL, 80HJNZKEY_5CALLKEYDJMPSTTKKEY.5:TESTAL, 4OHJN

13、ZKEY_DCALLKEY5JMPSTTKKEY._E:MOVAL,OBFHOUT61H, ALINAL, 62HTESTAL, 80HJNZKEY_6CALLKEYEJMPSTTKKEY._6:TESTAL, 4OHJNZKEY_FCALLKEY6JMPSTTKKEY_F: MOVAL,07FHOUT61H,ALINAL, 62HTESTAL, 80HJNZKEY_7CALLKEYFJMPSTTKKEY_7: TEST AL, 40HJNZKEY_71CALLKEY7JMPSTTKKEY_71:JMPSTTKKEY9: CMPBH, OOH:按键9处理子程序JZKEY9_1:未按过符号键,不

14、淸零CALL CLEAR;已按过符号键,淸零KEY9_1:CALL LP1:低4位字节前移MOV AL,6FH;最低字节输入一个数据MOV SI+4,ALMOV AL, 09HMOV DI+4,ALCALL DISP;显示RET;返回KEY8: CMP BH, OOH:按键8处理子程序JZ KEY8.1CALL CLEARKEY8_1:CALL LP1MOV AL, 7FHMOV SIM, ALMOV AL, 08HMOV DI+4,ALCALL DISPRET21KEY7: CMPBH, OOHJZKEY7_1CALL CLEARKEY7_1:CALLLP1MOVAL, 07HMOVSI+4

15、,ALMOVAL, 07HMOVDI+4,ALCALLDISPRETKEY6: CMPBH, OOHJZKEY6_1CALLCLEARKEY6_1:CALLLP1MOVAL, 7DHMOVSI+4,ALMOVAL, 06HMOVDI+4,ALCALLDISPRETKEY5: CMPBH, OOHJZKEY5.1CALL CLEARKEY5_1:CALLLP1MOVAL, 6DHMOVSIM, ALMOVAL, 05HMOVDI+4,ALCALL DISP:按键7处理子程序:按键6处理子程序:按键5处理子程序KEY4: CMP BH,00HJZKEY4_1CALLCLEARKEY4_1:CALL

16、LP1MOVAL, 66HMOVSI+4,ALMOVAL, 04HMOVDI+4,ALCALLDISPRETKEY3: CMPBH, OOHJZKEY3_1CALL CLEARKEY3_1:CALLLP1MOVAL, 4FHMOVSI+4,ALMOVAL, 03HMOVDI+4,ALCALLDISPRETKEY2: CMPBH, OOHJZKEY2_1CALLCLEARKEY2_1:CALLLP1MOVAL, 5BHMOVSI+4,ALMOVAL, 02HMOVDI+4,ALRET:按键4处理子程序;按键3处理子程序:按键2处理子程序CALL DISPRETKEY1: CMP BH, OOH:

17、按键1处理子程序JZKEY1_1CALL CLEARKEY 1:CALLLP1MOVAL, 06HMOVSI+4,ALMOVAL,O1HMOVDI+4,ALCALLDISPRETKEYO: CMPBH, OOH:按键0处理子程序JZKEYO.lCALLCLEARKEYO_1:CALLLP1MOVAL, 3FHMOVSI+4,ALMOVAL, OOHMOVDI+4,ALCALLDISPRETKEY+: CMPBH, OOH:按键+号处理子程序JNZKEYA-lCALLLP3;保存输入的数据KEYA_1:MOVBX,O1O1H:设置符号标志RET:返回KEY-: CMPBH, OOH:按键-号处理

18、子程序JNZKEYB-l-23 -CALL LP3:保存输入的数据KEYB_1:MOV BX,0102H:设置符号标志RET;返回KEY*: CMP BH, OOH:按键*号处理子程序JNZ KEYC-lCALL LP3:保存输入的数据KEYC_1:MOV BX,0103H:设置符号标志RET:返回KEY/: CMP BH, OOH;按键/号处理子程序JNZ KEYD.lCALL LP3:保存输入的数据KEYD.l:MOV BX,0104H:设置符号标志RET:返回KEY=: MOV BH, O1H:按键=号处理子程序CMP BL,O1H:是+号?JZ KI:进行加法运算CMP BL,02H:

19、是-号?JZ K2:进行减法运算CMP BL,03H:时*号?JZ K3:进行乘法运算CMP BL,04H:是/号?JZ K4:进行除法运算STTE: RETKI:CALL ADD1JMP STTEK2:CALL SUB1JMP STTEK3:CALL MUL1JMP STTEK4:CALL DIV1JMP SHEKEYON/C: CALL CLEARCLEAR:MOVSI, OFFSETVAR2MOVDI, OFFSETVAR3MOVCX,OOOAHCLEAR1:MOVAL, 3FHMOVSI, ALMOVAL, OOHMOVDI, ALINCSIINCDILOOP CLEAR1MOVBH,

20、 OOHRETADD1:MOVSI, OFFSETVAR3MOVDI, OFFSETVAR4CLCMOVCX,0005HADD_1:MOVAL, DIADCAL, SIAAAMOVDI, ALINCSIINCDIRETLOOP ADD_1:按键C (淸零)处理子序:数据清零子程序:加法子程序CALL CHANGECALL DISPSUB1:MOVSI, OFFSET VAR3MOVDI, OFFSETVAR4CLCMOVCX, 0005HSUB.1:MOVAL, DIMOVCL, SIAASMOVDI, ALINCSIINCDILOOPSUB_1CALLCHANGECALLDISPRETMUL

21、1:MOVSI, OFFSETVAR3MOVDI, OFFSETVAR4MOVAL, DIMOVCL, SIMULCLAAMMOVDI+5,AXMOVAL, DI+1MULCLAAMADDAL, DI+6AAAMOVDI+6,AXMOVAL, DIRET:减法子程序:乘法子程序25MOV CL,SI+1MUL CLAAMMOV SI+5,AXMOV AL, DI+1MUL CLAAMADD AL,SI+6AAAMOV SI+6, AXMOV AL, DI+5MOV DI, ALMOV AL, DI+6ADD AL, SI+5AAAMOV DI+1, ALMOV AL, DI+7ADC AL,

22、SI+6AAAMOV DI+2,ALMOV AL.OOHADC AL, SI+7AAAMOV DI+3,ALCALL CHANGECALL DISPRET:除法子程序DIV1: MOV SI, OFFSET VAR3MOV DI, OFFSET VAR429MOVAH, OOHMOVAL, DI+1MOVCK, SIDIVCLMOVDI+1, ALMOVAL, DIAADDIVCLMOVDI, ALCALL CHANGECALLDISPRETLP1:MOVCX,0004H位)MOVSI,OFFSETVAR2MOVDI,OFFSETVAR3LP2:MOVAL, SI+3MOVSI+4,ALMOV

23、AL, DI+3MOVDI+4,ALDECSIDECDILOOPLP2RETLP3:MOVCX,0005HMOVSI,OFFSETVAR3MOVDI,OFFSETVAR4LP4:MOVAL, SIMOVDI, AL:数据移位保存子程序(4:保存上一次数据子程序DEC SIDEC DILOOP LP4RETCHANGE:MOV SI, OFFSET VAR2MOV DI, OFFSET VAR3MOV BX, OFFSET TABLEMOV CX,0005HCOMPO: MOV AL, DIXLATMOV SI, ALINC SIINC DILOOP COMPORETDISP: MOVSI, O

24、FFSETVARIMOVDI, OFFSETVAR2MOVDL, DI+4CMP3FHJNZDIR4MOVDL, DI+3CMPDL, 3FHJNZDIR3MOVDL, DI+2CMPDL, 3EHJNZDIR2MOVDL, DI+1CMPDL, 3FHJNZDIR1JMPDIRODIR4:MOVCX,0005HJMPDIRDIR3:MOVCX,0004HJMPDIRDIR2:MOVCX,0003HJMPDIRDIR1:MOVCX,0002HJMPDIRDIRO:MOVCX,OOO1HDIR:MOVAL, SIOUT62H, ALMOVAL, DIOUT60H, ALCALLTIMEINCSI

25、INCDILOOPDIRRETTIME:PUSHAXPUSHexMOVCX,0040HTIME1:MOVAX,0300HTIME2:DECAXJNZTIME2LOOPTIME1POPexPOPAXRET-31:放键测试程序STTK: CALL DISPMOV AL,OOHOUT 61H,ALIN AL, 62HAND AL, OCOHCMP AL, OCOHJNZ STTKJMP STTCODE ENDSEND START五、调试过程:1. 对设计原理图进行电气检查。主要针对电路连接中的电气连接进行检查, 并生成对应电路的网表。特别是对电路节点的连接检查。2. 对设计的程序进行语法检査。检査程序中存在的语法错误。编译连接 并下载到芯片中。3. 对设计进行综合调试。对下载到芯片中的程序进行功能检査。直到完 成设计要求的功能。六、课程设计体会:这次微机原理课程设计历时两个星期,在整整两星期的日子里,可以说 得是苦多于甜,但是可以学到很多很多的的东西,同时不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论