版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机硬件技术实践报告姓名〔电站方向〕班级学号上海电力学院自动化工程学院一、设计题目及目的本次课程设计的试验目的是:通过该试验把握较简洁程序的设计;能独立完成用程序对8086、8255A把握键盘和LED显示的把握,完成计算器加减法的应用;独立编写程序,明白和把握程序的原理和实现方式;学习和把握计算机中常用接口电路的应用和设计技术,充分生疏理论学问对应用技术的指导性作用;进一步加强理论学问与应用相结合的实践和锻炼,为以后的设计供给阅历。这次设计实践,加深了我对专业学问和理论学问学习的生疏和理解,使我的设计水平和对所学的学问的应用力气以及分析问题解决问题的力气得到全80860~92LED0-9,+,-,×,÷,=,NO/C16二、小组成员分工及成果在试验课程要求下,我们选择基于8086CPU的模拟计算器设计。要完成设计首先需要构建简洁的微型计算机应用系统,其次是确定组成各部件的芯片,然后画原理图,依据相应的原理以及实现过程,编写出相应的汇编代码。再依据原理图连接硬件电路,电路连接完成后进展调试。设计过程中我们用到了8086CPU、可编程并行输入/输出芯片8255A、74HC138、74HC373、矩阵式键盘、LED数码管。我们的模拟计算器能实现2位十进制数以内的加减乘除法运算。首先,本组的三个成员一起争论争论简易计算器设计的主要方案。粗略设计程序流程图以确定简易计算器设计的或许框架。明确目的后各自查询资料了解设计原理、逐步清楚设计思路。以下为大体分工:主要负责:1、设计主要程序,编写;2、查找资料验证修改;主要负责:1、选择需要用的各个芯片;2、设计硬件原理图;主要负责:1、各个芯片功能的资料查找;2、设计程序流程图三、设计方案思路80860~92LED0-9,+,-,×,÷,=,NO/C161、通过小键盘做加减乘除运算。2、数码管显示器作输入数据和结果数据的显示。30~9,“C、+、-、×、÷、=”做功能键4、运算挨次:a.首先输入一个原始数据〔0~9之间,否则无反响〕显示器跟随显示b.按“+、-、×、÷”显示器内容不变c.再次输入一个数据〔0~9之间,否则无反响〕显示器跟随显示d.按“=”显示器显示结果数据eC000,并重开头运算f.假设输入一个数据后直接按“=”则数据不变设计思路:将整个程序划分为键盘扫描局部,显示局部,运算程序局部。首先利用程序不断扫描键盘是不是有输入,假设没有就始终扫描,假设有就停顿扫描,完成输入,利用汇编的程序核对输入键的数值,通过调用子程序实现运算。运算完成后将运算的结果储存并显示到LED软件流程大致如下:开头,然后是系统的初始化,进展键盘扫描,对扫描的键值进展推断〔分为数字键和功能键〕,假设为数字键,则执行数字键处理程序,即显示数字并将数值存储;假设为功能键,则先推断是否为清屏,如是清屏,则执行清屏子程序,如是加减乘除运算键则调用相应程序运算,如是等号键,则先推断上个符号位,调用相对应的运算子程序进展运算,如此就可以得到需要的结果了。四、硬件原理图〔包括芯片的选型介绍〕硬件电路图:〔1〕1原理图1、键盘输入模块键盘是常用信息输入元件,其实键盘也是由一个个按钮组成,假设是独立按钮的话必必要对应一个I/OI/O口对它进展检测,或许对一个比较简洁的系统I/O口数一般不是问题,但对于一个大型、简洁的系统来说I/OI/O使用是格外利于降低本钱,另外一方面键盘比用独立按键要美观,同时硬件上的节约必定导致软件上编程的简洁。我们设计时使用4*422键盘44,4根行线与PC4根列线与PA点处〔数字或字符为其键号〕,行、列线分别连接到按键开关的两端。键盘中有无按键按下是由行线送入全扫描字、列线读入行线状态来推断。这就是:给行线全部I/O线均置成低电平,然后读入列线电平状态。假设有按键按下,总会有一根列线电平被拉至低电平,1。28255A38255A〔1〕并行输入/输出端口A,B,C8255A8位的输入输出端口,分别是端口A、端口B、端口C,相应信号线是PA7~PA0、PB7~PB0、PC7~PC0。端口都是8位,都可以作为输入或输出。通常将端A和端口B/输出的数据端口,而端口CAB〔2〕A组和BAC4〔PC7~PC4〕AABC4〔PC3~PC0〕BBAB组利用各自的把握单元来接收读写把握部件的命令和CPU通过数据总线〔D0~D7〕送来的把握字,并依据他们来定义各个端口的操作方式。〔3〕数据总线缓冲存储器88255A8086CPUI/O把握字和状态信息都是通过该缓冲器进展传送。(4)读/写把握部件8255A是能完成读/CPU的把握命令,并依据把握命令向各个功能部件发出操作指令。CS片选信号:由CPU8255ARD,WRCPURDCPU8255A,WRCPU8255ARESET复位信号:由CPU输入。RESET8255A中全部把握字存放器内容,并将各个端口置成输入方式。48255A定义工作方式把握字:0:8255A/输出方式。58255A3、显示模块6显示器显示原理:显示子程序把数据每一位独立显示,每次从最高位显示到最低位,在扫描键盘的时候不断调用显示子程序,形成了从高位到低位的不断循环显示,由于循环速度快,看起来就似乎一起显示的。4、74HC373774HC373AD0-AD7A0-A7当三态允许把握端OE为低电寻常,A0-A7为正常规律状态,可用来驱动负载或总线,当OE为高电寻常,A0-A7LEAADLEAD据电平。5、74HC138874HC13874HC138是一款高速CMOS74HC138TTL〔LSTTL〕系列。74HC1383〔A0,A1A2〕,并当使能时,供给8〔Y0Y7〕。74HC1383〔E1E2〕和一个高有效〔E3〕。除非E1E2E374HC13874HC1388个输出端中译出一个低电平输出。两个低电平有效的赋能输入端和一个高电平有效的赋能输入端削减了扩展所需要的外接门或倒相器。6、8086CPU98086CPU的40条引脚信号可按功能分可分为四类,它们是:地址总线,数据总线,把握总线,其它(时钟与电源)。最小模式下一些引脚功能(MN/MX5V):AD15~AD0,地址/数据总线A19/S6~A16/S3,地址/状态总线RD,读信号WR,写信号M/IO,存储器/输入输出把握信号ALE,地址锁存允许信号READY(Ready),预备就绪信号INTR,可屏蔽中断恳求信号INTA,中断响应信号NMI,非屏蔽中断恳求信号RESET,系统复位信号DEN,数据允许信号DT/R,数据发送/接收把握信号HOLD,总线保持恳求信号输入HLDA,总线保持响应信号TEST,测试信号CLK,时钟输入信号VCC(+5V),GND开头8255A开头8255A有无压键N连续扫描OPER0Y加号Y保存第一个数据OPER减号NN乘号YOPER放键除号NY等号OPER清零Y NYOPERN YOPERNN连续扫描键盘YNY清零显示器和数据N进展+、-、×、÷运算,并将结果进展显示,等待C被按下六、程序清单,要有适当的注释DATASEGMENTNUM1 DB03HDUP(0)NUM DB03HDUP(0)DATAENDSSTACKSEGMENTDW100DUP(0)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKPORTAEQU30H;A口地址PORTBEQU32HPORTCEQU34HPORT8255 EQU36H ;8255片选始地址MAINPROCFAR(8255START:MOVAX,DATA;数据段MOVDS,AXAX的内容传送给存放器DSMOV DX,PORT8255 8255DXMOV AL,81H ;A口输出,C
组方式0;AOUT DX,AL ;B0;B口输出,CLOPL: XOR AH,AH ;抑或指令,使AH清零CALL KEY KEY序CMP AH,00H AH00H较JZ LOPL ;ZF=10,则转到LOPL
,即结CMP AL,0FH AL0FH较JZ CCCL 0,则转到CCCLCMP AL,0AH AH0AHJZ LOPL ;ZF=10,则转到LOPL
,即结果JNC LOPL ;假设CF=0,表示第一个数大,转向LOPLOUT 32H,AL B口数据ALLOPL2: LEA SI,NUM NUM的偏移地址给SIMOV [SI],AL ;将AL的数据存SIPUSH AX ;AX出栈LOPL1: XOR AH,AH AHCALL KEY KEYCMP AH,00H AH00HJZ LOPL1 ;ZF=1,即结果0,则转到LOPL1CMP AL,0FH AL0FH较JZ CCCL 0,则转到CCCLCMP AL,0AH AL0AHJZ XX1 0,则转到XX1CMP AL,0BH AL0BH较JZ XX2 ;ZF=1,即结果为0,则转到XX2CMP AL,0CH AL0CH较JZ XX3D 0,则转到XX3DCMPAL,0DHAL0DHJZXX4D;ZF=10,则转到XX4DJMPLOPL1LOPL1CCCL: MOVAL,00HOUT 32H,AL B口数据ALJMP LOPL LOPLXX3D: CALL XX3 XX3XX4D: CALL XX4 XX4MAINENDPXX1PROCNOP LOPL3: XOR AH,AH AHCALL KEY KEYCMP AH,00H AH00HJZ LOPL3 ;ZF=10,则转到LOPL3
,即结果CMP AL,0FH AL0FHJZ CCCL ;ZF=1,即结果为0,则转到CCCLCMP AL,0AH AL0AHJZ LOPL3 ;ZF=10,则转到LOPL3
,即结果为JNC LOPL3 ;假设CF=0,表示第一个数大,转向LOPL3OUT 32H,AL BALPUSH AX ;AX出栈LEA SI,NUM NUMSI中MOV[SI+1],AL ;将AL的数据存放在SI+1LOPL4:XORAH,AH AHCALLKEYKEYCMPAH,00HAH00HJZLOPL4;ZF=1,即结果为0,则转到LOPL4CMP AL,0FH AL0FHJZ CCCL ;ZF=10,则转到CCCLCMP AL,0EH AL0EHJZ XXX1 ;ZF=10,则转到XXX1JMP LOPL4 LOPL4XXX1: LEA SI,NUMMOV AL,[SI]AND AL,0FHMOV DL,[SI+1]AND DL,0FH 保持不变,赋给DLADD AL,DL
相与,高四位置0,低四位DAA BCDOUT 32H,AL BALJMP LOPL XX1ENDPXX2PROCNOP LOPL5: XOR AH,AH AHCALL KEY CMP AH,00H AH00HJZ LOPL5 ;ZF=10,则LOPL5CMP AL,0FH AL0FHJZ CCCL ;ZF=1,即结果为0,则CCCLCMP AL,0AH AL0AHLOPL5JZJNCLOPL5LOPL5;ZF=1,即结果为0,则OUT32H,ALBALPUSHAX;AX出栈LEASI,NUMNUMSI中MOV[SI+1],ALALSI+1LOPL6:XORAH,AHAHCALLKEYKEYCMPAH,00HAH00HJZLOPL6;ZF=1,即结果为0,则转到LOPL6CMP AL,0FH AL0FHJZ CCCL7 ;ZF=1,即结果为0,则转到LOPL7CMPAL,0EHAL0EH则转到XXX2JZXXX2;ZF=1,即结果为0,JMPLOPL6XXX2:LEASI,NUMNUMSIMOVAL,[SI]ANDAL,0FHMOVDL,[SI+1]ANDDL,0FHSUBAL,DLADDAL,00HDAAOUT32H,ALBALJMPLOPLCCCL7:MOVAL,00HOUT32H,ALBALJMPLOPLXX2ENDPXX3PROCLOPL7:XORAH,AH;乘AHCALLKEYKEYCMPAH,00HAH00HJZLOPL7;ZF=10,则转到LOPL7CMP AL,0FH AL0FHJZ CCCL2 ;ZF=10,则转到CCCL2CMP AL,0AH AL0AHJZ LOPL7 ;ZF=1,即结果为0,则转到LOPL7JNC LOPL7 CF=0,表示第一个数大,转向LOPLOUT 32H,AL BALPUSH AX ;AX出栈LEA SI,NUM NUMSIMOV [SI+1],AL ALSI+1LOPL8: XOR AH,AH AHCALL KEY KEYCMP AH,00H AH00HJZ LOPL8 ;ZF=1,即结果为0,则转到LOPL8CMP AL,0FH AL0FHJZ CCCL3 ;ZF=10,则转到CCCL3CMP AL,0EH AL0EHJZ XXX3 ;ZF=10,则转到XXX3XXX3:LEASI,NUM XXX3:LEASI,NUM NUMSIMOVAL,[SI]ANDAL,0FHMOVDL,[SI+1]ANDDL,0FHMULAAMDL ;DL*ALAH,余ALMOVCL,4SALAH,CLAHORAL,AH11OUT32H,ALBALJMPLOPLLOPLCCCL2:MOVAL,00HOUT32H,ALBALJMPLOPLLOPLCCCL3:MOVAL,00HOUT32H,ALBAL数JMP LOPL LOPLXX3ENDPXX4PROC;除LOPL9:XORAH,AHAHCALLKEYKEYCMPAH,00HAH00HJZLOPL9;ZF=1,即结果为0,则转到LOPL9CMP AL,0FH AL0FHJZ CCCL5 ;ZF=1,即结果为0,则转到CCCL5CMP AL,0AH AL0AHJZ LOPL9 ;ZF=10,则转到LOPL9OUT32H,ALBALOUT32H,ALBALPUSHAX;AX出栈LEASI,NUMNUMSIMOV[SI+1],AL;将AL的数据存放在SI+1LOPL10:XORAH,AHAHCALLKEYKEYCMPAH,00HAH00HJZLOPL10;ZF=1,即结果为0,则LOPL10CMPAL,0FHAL0FHJZCCCL4;ZF=10,则转到CCCL4CMPAL,0EH AL0EHJZXXX4 ;ZF=10则转到XXX4JMPLOPL10 XXX4:LEASI,NUM NUMSIMOVAL,[SI]ANDAL,0FH ;与指令,高四位清零,低四位不变MOVBL,[SI+1]ANDBL,0FH,AND AX,000FHDIV BL ;ALBL,商放ALAHOUT 32H,AL B口数据ALJMP LOPL LOPLCCCL4: MOV AL,00HOUT 32H,AL BALJMP LOPL LOPLCCCL5: MOV AL,00HOUT 32H,AL B口数据ALJMP LOPL LOPLXX4ENDPKEY PROCNOPLEASI,NUM1MOVAL,0EHOUT30H,AL AALINAL,34HCMPAL,07H AL07HJZLL7 ;ZF=10,则转到LL7
,即结果为CMPAL,0BH AL0BHJZLL8 ;ZF=1,即结果为0,则转到LL8CMPAL,0DH AL0DHJZLL9 ;ZF=1,即结果为0,则转到LL9CMPAL,0EH AL0EHJZLDIV ;ZF=10,则转到LDIVSS1: MOVAL,0DHOUT30H,ALAALINAL,34HCMPAL,07HAL07HJZLL4;ZF=1,即结果0,则转到LL4CMPAL,0BH AL0BHJZLL5 ;ZF=1,即结果0,则转到LL5CMPAL,0DH AL0DHJZLL6 ;ZF=1,即结果0,则转到LL6CMPAL,0EH AL0EHJZLMUL ;ZF=1,即结果为0,则转到LMULSS2: MOVAL,0BHOUT30H,AL A口数据ALINAL,34HCMPAL,07H AL07HJZLL1 ;ZF=10,则转到LL1
,即结CMPAL,0BH AL0BHJZLL2 ;ZF=10,则转到LL2
,即结CMPAL,0DH AL0DHJZLL3 ;ZF=10,则转到LL3
,即结CMPAL,0EH AL0EHJZLSUB ;ZF=1为0,则转到LSUBSS3: MOVAL,07H
,即结果OUT30H,ALA口数据ALINAL,34HCMPAL,07HAL07HJZSCLC;ZF=10,则转到SCLCCMPAL,0BH AL0BHJZLL0 ;ZF=1,即结果为0,则转到LL0CMPAL,0DHAL0DHJZ则转到LEQUCMPLEQUAL,0EH;ZF=1AL0DH0,JZ则转到LADDLADD;ZF=1,即结果为0,JMPKCLC KC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中职护理护理职业伦理课件
- 巴彦县2025届三年级数学第二学期期中预测试题含解析
- 巢湖市和县2025年数学三下期末复习检测试题(含答案)
- 2026届吉林省辉南县第四中学中考物理全真模拟试卷含解析
- 乙肝患者抗病毒治疗护理
- 2026年渔网具装配工专题题库
- 2025-2026学年六年级语文下册 期末测评卷A卷 部编版
- 2026届江苏省盐城市郭猛实验学校中考联考物理试题含解析
- 中医骨科护理技术要点
- 医学护理查房中的问题发现与解决
- 学校德育工作制度汇编
- 乳品评鉴师技能竞赛理论考试题库500题(含答案)
- 幼儿园膳食营养总结
- 2024中煤航测遥感集团限公司招聘58人易考易错模拟试题(共500题)试卷后附参考答案
- 高等数学(同济)下册期末考试题及答案(共5套)
- 2024年郑州高新投资控股集团有限公司招聘笔试冲刺题(带答案解析)
- 可吸收缝合线医疗器械项目可行性分析报告
- 做改革创新的生力军
- 有机物同分异构体
- 正摇双脚并脚跳绳教学设计
- 假体周围感染诊疗策略
评论
0/150
提交评论