第一篇:微型计算机原理与接口技术期末总结(全能版)
0~9的ASCⅡ码为30H ~ 39H A~F的ASCⅡ码为41H ~ 46H 回车符的ASCⅡ码为0DH 换行符的ASCⅡ码为0AH
①机器数比真值数多一个符号位。②正数的原、反、补码与真值数相同。
③负数原码的数值部分与真值相同;负数反码的数值部分为真值数按位取反;负数补码的数值部分为真值数按位取反末位加1。
④没有负零的补码,或者说负零的补码与正零的补码相同。
一个计量器的最大容量称为该计量器的“模”
计算机:硬件:中央处理器CPU、(运算器、控制器)、存储器系统、I/O接口、电源系统、I/O设备软件:系统软件、应用软件
总线是CPU与存储器、I/O接口交换信息的公共通道
地址总线:传输CPU访问存储器,访问I/O端口的地址信号。数据总线:传输CPU读/写内存,读写I/O端口时的数据。控制总线:CPU发出的控制命令,或外部向CPU提出的请求 地址总线通常是单向总线,数据总线通常是双向总线,大部分控制线是单向,少数是双向。
寻址能力:指CPU能直接存取数据的内存地址的范围,它由CPU的地址总线的数目决定。
在实模式下,486只能访问第一个1M内存(00000H~FFFFFH)存储管理部件对存储器只进行分段管理,没有分页功能,每一逻辑段的最大容量为64K。在实模式下,段寄存器中存放段基址。
486有32条地址线,内存最大容量4G。这4G字节称为物理存储器,每一单元的地址称为物理地址,其地址范围:0000,0000H~FFFF,FFFFH为物理存储空间。
486利用低16位地址线访问I/O端口,所以I/O端口最多有216=64K,I/O地址空间为0000H~FFFFH。(从PC/XT~Pentium,基于Intel微处理器的系统机,实际上只使用低10位地址线,寻址210=1024个I/O端口)
逻辑地址——程序中编排的地址,由段基址和段内偏移地址组成; 物理地址——信息、数据在存储器中实际存放的地址。
物理地址是唯一的,不同的逻辑地址可得到相同的物理地址。
CS、IP的初值:由操作系统赋值
DS/ES的初值:由程序员赋值。
SS、SP的初值:①由程序员赋值
②由操作系统自动赋值
存储器的拓展:64k×8 64k决定地址线 8决定数据线
间址寄存器和约定访问的逻辑段: BX,SI,DI 数据段 16位寻址方式 BP 堆栈段
EAX~EDX,ESI,EDI 数据段 32位寻址方式 EBP,ESP 堆栈段
基址寄存器和约定访问的逻辑段 BX 数据段 BP 堆栈段 16位寻址方式
EAX~EDX,ESI,EDI 数据段 EBP,ESP 堆栈段 32位寻址方式
变址寄存器与约定访问的逻辑段 SI,DI 数据段
无比例因子,16位寻址
EAX~EDX,ESI,EDI数据段 EBP 堆栈段
有比例因子,32位寻址
在实模式下,一个逻辑段的体积最大为64K,存储单元的有效地址为16位,不可能超过FFFFH,∴在实模式下运行的程序通常采用16位寻址
用EQU定义的符号常数,其值在后继语句中不能更改 用“=”定义的符号常数,其值在后继语句中可以重新定义
SEG运算符 格式: SEG 段名或变量名或标号名 功能: 计算某一逻辑段的段基址 OFFSET运算符 格式:OFFSET 变量名或标号名 功能:算出某个变量或标号名所在单元的偏移地址(有效地址)。
BUF DB ‘THE QUICK BROWN FOX’;字符串长度19 LLL EQU $-BUF 汇编后符号常数LLL的值即为19
1.立即数不能直接送段寄存器MOV DS, 3000H 2.目标操作数不允许用立即数方式MOV 2000H, AL 3.不允许在两个存储单元间传送数据MOV[2000H],[3000H] 4.不允许在两个段寄存器之间传送数据MOV DS, ES 5.源、目属性要一致
在程序控制传送方式中,中断传送可以提高系统的工作效率。
I/O设备与CPU之间交换信息,其状态信息是通过数据总线传送给CPU的。8086/8088微机系统中可访问的I/O端口地址范围为0000H~FFFFH。8086微处理器可访问的最大I/O空间为64K。CPU对外设的访问实质上是对I/O端口的访问。CPU与I/O设备交换信息,无需传送地址信息。
非屏蔽中断(包括软件中断)的中断类型码由硬件预先规定。
溢出、断点、单步都属于内部中断。INTR是可屏蔽中断,NMI是非屏蔽中断。中断优先级:INT n(软件中断)->INTO->NMI->INTR->单步
8254计数器的最大初值是0000H最小值是0001H.8254是基于减1计数的工作原理
8254方式2、3既可以软件启动也可以硬件启动。
方式2输出一个时钟周期的负脉冲 方式3输出的方波周期是N个时钟周期之和。8254有6种工作方式4个I/O地址。
8254有三个通道,每个通道都有三条引线跟外部联系,它们是:CLK,GATE,OUT。方式2减到1时输出一个负脉冲。
NTOUT+ TCLK三个计数器既可以作为计数器也可以作为定时器。先写控制字再写初值。方式2;
① GATE为高电平②自动重装③改变GATE恢复后从初值开始计数④改变初值,待原周期结束后开始新周期
方式3;① 1:1的方波(N为偶数)②先输出正半周期再输出负半周期③每半周期结束后都要重装④减2计数⑤N为偶数:N……0(正半周期),N……0(负半周期)⑥N为奇数:N-1……-2(正半周期),N-1…..0(负半周期)。
初始化:口地址8位可以直接寻址,超八位只能DX间址。初值8用AL,超8位用AX装初值,用AL依次写低高。(先低后高)。
单工方式:只允许数据按照一个固定的方向传送。半双工方式:双方均可发送和接收,但不能同时。全双工方式:可以同时发送和接收。
调制与解调:数字信号—>模拟信号—>数字信号 RS-232C标准采用负逻辑。程序:8250初始化(B98B9C),查询方式和中断方式接收和发送数据。
计算机与外界的串行通信实际是CPU与I/O接口并行,I/O接口与外设串行。
8255与CPU连接的引脚,与外设连接的引脚(见书)
无论A、B口工作在什么方式,C口中尚未用过的引脚线均可作为一般I/O使用。方式1下,用中断传送方式时,要用C口置1/置0命令将中断允许位INTE置1。C口置1/置0命令一次只能使一位置1或置0。1.接口电路的作用是什么?I/O接口应具备哪些功能? 答:接口是CPU和外设交换信息的中转站。
⑴数据缓冲功能 ⑵联络功能 ⑶寻址功能 ⑷数据转换功能 ⑸中断管理功能
2.什么是端口?端口有几类?
答:能与CPU交换信息的寄存器成为I/O寄存器,简称“端口”。
按端口的寄存器存放信息的物理意义来分,端口可分为3类:
1)数据端口 2)状态端口3)控制端口
3.I/O接口有哪两种编程方式? PC系列机中采用哪种编程方式? 答:⑴端口和存储单元统一编址 ⑵I/O端口独立编址
在PC系列机中,I/O端口采用独立编址方式。
4.说明定时/计数器8254的GATE信号在6种工作方式下的作用以及与时钟信号CLK的关系。答:(老师答复)这道题超出范围了,只要求掌握方式2和3,只要知道计数过程中GATE信号必须是高电平即可。
5.系统机定时/计数器的一个通道定时周期最长是多少?要实现长时间定时,应采取什么措施?如果采用外扩8253定时/计数器实现长时间定时,应采取哪些措施? 答:①Tmax65536TCLK65536155ms
1193182K ②软件计数
③⑴减小输入信号的频率 ⑵级联 1.叙述可屏蔽中断处理的全过程。
答:①首先由中断请求寄存器寄存加到引脚IR0~IR7 上的 ②在中断屏蔽寄存器的管理下,没有被屏蔽的中断请求被送到优先权电路判优。
③经过优先权电路的判别,选中当前级别最高的中断源,然后从引脚INT向CPU发出中断请求信号。
④CPU满足一定条件后,向8259A发出2个中断响应信号(负脉冲)。⑤8259A从引脚INTA收到第1个中断响应信号之后,立即使中断服务寄存器中与被选中的中断源对应的那一位置1,同时把中断请求寄存器中的相应位清零。⑥从引脚INTA收到第2个中断响应信号后,8259A把选中的中断源类型码n,通过数据线送往CPU。
⑦在实地址模式下,CPU从4n~4n3单元取出该中断源的中断向量→IP、CS,从而引导CPU执行该中断源的中断服务程序。
2.什么是中断向量和中断向量表?中断类型码和中断向量的关系是什么? 答:①实地址模式下,中断服务程序的入口地址就是中断向量。
中断类型码通过一个地址指针表与中断服务程序的入口地址相联系,实模式下,该表称为中断向量表。
②微机系统中,为了区别,给每一个中断分配一个中断号,又称中断类型码。对应每一个中断,都有一个中断向量。即一个中断类型码对应一个中断向量。
3.CPU响应可屏蔽中断的条件是什么?☆
答:①INTR引脚有中断请求,NMI引脚没有中断请求,系统没有DMA请求。
②CPU当前指令执行完毕。③CPU处于开中断状态,即标志寄存器的中断允许标志置1.4.CPU响应非屏蔽中断的条件是什么?☆
答:①NMI引脚有中断请求,系统没有DMA请求。②CPU当前指令执行完毕。5.键盘硬中断和键盘软中断的关系是什么? 答:键盘硬中断即9型中断(硬件可屏蔽中断)。
键盘软中断即INT 16H软中断。
硬中断和软中断利用键盘缓冲区传递信息。键盘缓冲区中的键代码由9型中断服务程序负责写入,用户程序调用INT 16H可以读取键盘缓冲区中的信息。1.异步通信一帧字符的格式是什么?
答:⑴起始位 ⑵数据位 ⑶奇偶校验位 ⑷停止位
考点:①起始位为一位逻辑0,题目一般不给出 ②数据位从最低位开始传送 ③奇偶校验看逻辑1的个数是奇是偶 ④停止位一定是逻辑1信号
2.设异步通信一帧字符有八个数据位,无校验,一个停止位,如果波特率为9600,则每秒能传输多少个字符?
答:一帧字符数 = 1位起始位 + 8位数据位 + 1位停止位 = 10位 则一秒传输的字符数N9600bit/s960/s
10bit(通信速率又称波特率,表示每秒钟传送0、1代码的位数)
3.单工、半双工、全双工通信方式的特点是什么?
答:①单工方式只允许数据按照一个固定的方向传送。②半双工方式要求收发双方均具备接收和发送数据的能力,由于只有一条信道,数据不能在两个方向上同时传送。③在全双工方式中,收发双发可以同时进行数据传送。
4.分别叙述TTL和RS-232C的电平标准,通常采用什么器件完成两者之间的电平转换? 答:①TTL采用正逻辑,规定逻辑“0”为0V左右,规定逻辑“1”为+3V~+5V.RS-232C采用负逻辑,规定逻辑“1”为―3V~-15V,规定逻辑“0”为+3V~+15V。
②通常采用MC1488和MC1489电平转换器。MC1488可接收TTL电平,输出RS-232C电平。MC1489可输入RS-232C电平,输出TTL电平。
5.用系统机串行口采用中断方式完成字符发送和接收,编程时应采取哪些措施? 答:⑴中断允许寄存器相应位置1 ⑵MODEM控制寄存器D31,即OUT20打通8250的中断请求通道。⑶8259相应中断屏蔽位置0(主8259IR3、IR4)— 8259 ⑷CPU处于开中断(STI)— CPU
2.当CPU用查询方式和8255A交换信息时,应查询哪些信号?当CPU用中断方式和8255A交换信息时,利用哪些端子提中断请求? 答:①CPU采用查询方式从8255A读取数据之前,应查询IBF;CPU采用查询方式向8255A输出数据之前,应先查询OBF。
②当CPU用中断方式和8255A交换信息时,利用INTR端子提中断请求。
3.8255A的方式选择控制字和C口置0/置1控制字都是写入控制端口的,8255A是怎样识别的?
答:两个控制字共用一个端口地址,用特征位D7位来区分。若D7位=1,该控制字为方式选择控制字;D7位=0,该控制字为C端口按位置0/置1控制字。
第二篇:微型计算机原理与接口技术复习重点
题型:
填空题30-35分左右
简答题30-35分左右
读程序题 12分左右
两个大题 23分左右
1、第三代16位微处理器的特点
2、补码的计算
3、微型计算机硬件系统的主要构成4、CPU的基本功能、特点及意义
5、总线的概念及分类,各种分类的基本特点
6、第三、四章指令系统及汇编,这是这门课的核心,如果时间允许应该全部掌握。
重点理解MOV, PUSH/POP, IN/OUT, ADC, ADD, INC, DEC, XOR, CMP, 及LOOP指令、JNC/JNZ等条件转移指令的含义及应用。
重点理解伪指令中的数据定义伪指令和段定义伪指令。
7、存储器系统的概念及分类
8、重点掌握用指定芯片构成指定地址范围的存储器系统,画出存储器连接图并指出各存储器芯片的地址范围。
9、Cache的概念、原理、作用及操作。
以上是前五章的主要内容,我在最后一次上课时都重点提到过的。
前五章约占50分。
后面三章主要由严老师答疑及划重点,约占50分
按照我的理解,大致可以如下归类:
第六、第八章主要是基本概念,即填空和简答为主。
第七章包括一些基本概念,重点掌握几种可编程接口芯片的应用,如8255芯片等,请结合严老师的课件进行复习。
第三篇:微型计算机接口技术 课程设计题目
计算机接口技术 课程设计题目
课程设计采用专用课程设计本(从教材科购买),手写,要求书写工整、画图规范。各班收齐于第14周周4下午2:30~3:10交科技楼501,过期恕不受理。
要有如下内容:
一、设计目的二、设计要求
三、完整的原理图
四、设计分析
五、程序流程框图
六、源程序
七、程序说明
八、心得体会
九、参考文献
学号为1~12做第1题;13~24做第2题;25及以上做第3题。
题目1:基于ADC0809的数据采集器
主要器件:ADC0805,8253,74LS138
设系统可以提供4MHz时钟,要求由8253构成定时电路,产生周期为1秒的定时脉冲,定时时间到,启动AD,对8个输入通道依次进行一次AD采样,将数据依次存入到10000H开始处,共进行1000次。要由74LS138构成完整的译码电路,定时采用中断方式,AD转换结束采用查询方式。
题目2:十字路口交通灯控制器
主要器件:8255,8253,74LS138,LED二极管(红黄绿各若干),LED数码管(若干)
设系统可以提供4MHz时钟,要求由8253构成定时电路,产生定时时间,每30秒钟修改一次灯的状态;采用8255控制个方向指示灯(不考虑驱动能力),用LED数码管显示剩余时间,要由74LS138构成完整的译码电路。
[题目3:智力竞赛抢答器
74LS38,8255,LED二极管7个,LED数码管1个,开关8个
7个选手,每人一抢答开关,主持人有一开关,若主持人开关未按下而选手按下,则选手违规,对应的灯闪烁,下一轮时该选手的抢答权被剥夺;若无人犯规,则用LED数码管显示最先按下的选手号;直到主持人按下开关,清除显示,进入下一轮抢答。。
要由74LS138构成完整的译码电路,有8255接开关、LED二极管、LED数码管
第四篇:单片微型计算机原理及接口技术第三版复习总结
单片机复习总结
O、计算机的基本原理
计算机数值表示(原码、反码、补码)中断
存储器(堆栈)
一、绪论
要求:熟悉,不作为考试内容
二、MCS-51单片机系统结构
1、硬件结构 了解
2、引脚功能 熟悉,掌握在外部功能扩展中的应用
3、中央处理器 熟悉各个寄存器的基本功能
掌握振荡周期、机器周期及指令周期的概念 时钟,复位的定义
三、存储器结构
1、四个物理空间:内、外程序存储器,内、外数据存储器
三个逻辑空间:程序存储器,内、外数据存储器
2、程序存储器地址空间
重点掌握:低地址段的保留单元
3、数据存储器地址空间
重点掌握:内部数据存储器,地址范围,特点,SFR 外部数据存储器,寻址范围及寻址方式
4、位处理器
熟悉位处理器组成及位存储器地址范围
四、指令系统
1、指令的寻址方式(掌握)
7种寻址方式,名称、格式、寻址范围
2、指令系统(五大类)
要求:指令的格式,寻址方式,执行操作,对标志位影响,程序段编写。
五、定时/ 计数器
要求:初始化程序,中断或非中断情况下的应用编程
定时计数器特点:16位加1计数器,计数初值为计数长度的补码;可程控为4种不同工作方式。
初始化程序:
1、计数常数的计算
2、置工作方式字
3、置THX,TLX
4、置TRX启动计数
5、置EA、ETX开中断
六、中断系统
1、中断的概念
2、与中断有关的寄存器
3、中断源:外部及内部中断源,中断触发方式,如何设置
4、MCS-51中断优先级的处理原则,同级中断申请的查询次序。
5、中断处理过程(了解),各个中断源对应中断矢量(掌握),中断响应条件(掌握)。
6、中断程序编写的步骤
七、串行通讯口
1、串行通讯概述(熟悉,了解)重点:异步串行通讯的帧格式
2、MCS-51的串行通讯口
SCON串行控制寄存器,PCON(SMOD位作用)
串行通讯工作方式(熟悉了解),掌握不同工作方式的特点及帧格式,如何启动发送及接收。
串行通讯波特率,常用波特率的获得(掌握)。
串行通讯编程,初始化程序、简单应用程序
八、功能扩展
1、A/D、D/A转换的原理,逐次比较式AD转换的原理
给出接口芯片,画接口电路图;
根据接口电路图,写转换程序
2、键盘(行扫描法、反转扫描法)以及LED显示(静态显示、动态显示)的工作原理 习题示例:
请将(1)~(5)的词汇和A~J的说明联系起来(1)CPU ——()(2)PC ——()(3)SP ——()(4)指令 ——()(5)堆栈 ——()
(A)总线接口单元,负责与存储器、I/O接口传送信息(B)存放下一条要执行的指令的地址
(C)保存各个逻辑段的起始地址的寄存器(D)保存当前栈顶即堆栈指针的寄存器
(E)微型计算机的核心,包括运算器、控制器和寄存器3个主要部分(F)以后进先出方式工作的存储空间
(G)告诉CPU要执行什么操作,在程序运行时执行(H)执行单元,功能是执行指令
(6)断电后存储的资料会丢失的存储器是()
A.RAM B.ROM C.CD-ROM D.(7)若内存容量为64KB,则访问内存所需地址线()A.16 B.20 C.18 D.19(8).不需要访问内存的寻址方式是()
A.立即寻址 B.直接寻址 C.间接寻址 D.变址寻址
读程序
ORG 2000H MOV SP, #50H MOV A, #50H LCALL 2500H ADD A, #10H MOV B, A L1: SJMP L1 ORG 2500H
MOV DPTR, #200AH PUSH DPL
PUSH DPH
RET
上述程序执行后,SP= _________ A= _________ B=_________
ORG 0000h MOV DPTR,#2100H MOVX A,@DPTR ANL A,#0FH
SWAP A MOV B,A
INC DPTRMOVX A,@DPTR ANL A,#0FH ORL A,B INC DPTR MOVX @DPTR,A LOOP: SJMP LOOP
END
已知2100H,2101H单元中的数均为0FH,则程序执行后2102H中的数为______________ A=_________ B=_________
MOV DPTR,#2314H ……__________ MOV R0,DPH … … … …__________ MOV 14H,#22H … … …__________ MOV R1,DPL … … … …__________ MOV 23H,#56H … … …__________ MOV A,@R0 … … … … __________ XCH A,DPH … … … … __________
执行以上指令后A=_______ DPTR= _______
请写出下图中Y6,Y7引脚所对应的地址
汇编语言程序编写:
双字节与单字节无符号数相乘,设被乘数存于41H,40H单元中,乘数存于R4单元中,乘积存于52H、51H、50H单元中(前者为高字节,后者为低字节)。请编写此乘法程序段 •MOV •MOV •MUL •MOV •MOV • MOV •MOV •MUL •MOV •MOV •MOV •CLR •ADD •MOV •MOV •ADDC •MOV •
B, 40H A R4 AB 50H, A 40H, B B, 41H A R4 AB 51H, A 52H, B A, 40H C A, 51H 51H,A A, 52H A, #0 52H,A 试计算片内RAM区40H~47H八个单元中数的算术平均值,结果存放在4AH中 •MOV R0, #40H •
MOV 4AH,#0 •
MOV 4BH,#0 •LOOP: CLR C •
MOV A, @R0 •
ADD A, 4AH •
MOV 4AH,A •
MOV A, 4BH •
ADDC A, #0H •
MOV 4BH,A •
INC R0 •
CJNZ R0, #48H,LOOP •
MOV R2,#3
;右移三次,相当于除8 •
ACALL RR_LOOP •
RET •;双字节(4BH,4AH)右移子程序
•;右移的次数在R2中 • • RR_LOOP: CLR C •
MOV A, 4BH •
RRC A •
MOV 4BH,A •
MOV A, 4AH •
RRC A •
MOV 4AH,A •
DJNZ R2, RR_LOOP •
RET
•试编写计算1234H+0FE7的程序,将和的高8位存入41H单元中,低8位存入40H单元中。•MOV A, #34H •ADD A, #0E7H •MOV 40H, A •MOV A, #12H •ADDC A, #0FH •MOV 41H, A
•试编写程序,将内部RAM的20H、21H、22H、23H、和24H连续5个单元的内容一次存入2FH、2EH、2DH、2CH、2BH单元 MOV R7, #05H
MOV R0, #20H
MOV R1, #2FH LOOP: MOV A, @R0
MOV @R1, A
INC R0
DEC R1
DJNZ R7, LOOP
第五篇:微机原理与接口技术实验总结
微机原理与接口技术实验总结
11107108
徐寒黎
一、实验内容以及设计思路
1、①试编写一程序,比较两个字符串STRING1、STRING2 所含字符是否相同,若相同输出“MATCH”,若不相同输出 “NO MATCH”。设计思路:定义一个数据段,在数据段中定义两个字符串作为STRING1、STRING2以及几个用于输入提示的和输出所需内容的字符串,定义一个堆栈段用于存放,定义代码段。关键步骤以及少量语句:第一步将STRING1和STRING2都实现用键盘输入,方法是
MOV DX,OFFSET STRING2 MOV AH,0AH INT 21H 并且显示在显示器上,显示方法将0AH改成09H,语句与上面类似。然后进行比较第一个单元,MOV AL,[STRING1+1] CMP AL,[STRING2+1] JNZ NOMATCH 若字符串长度不等,则直接跳转,输出输出 “NO MATCH”; 若长度相等再逐个比较 LEA SI,[STRING1+2] LEA DI,[STRING2+2] MOV CL,[STRING1+1] MOV CH,0 CLD REPE CMPSB JCXZ MATCH,意思是全部相同就跳转MATCH,输出“MATCH”;不然进入下面的NOMATCH。退出。
②试编写求级数1^3+2^3 +3^3 …..前几项和刚大于10000的程序。
设计思路:原先编写的程序,设定和为10000,结果是14。但要求高一点的话,可以自己设置,实现用键盘输入和的值。
一个难点是将输入的ASCII码字符串,转换成与之相同的十进制数的数值。关键的思路部分是:从1开始求级数,将和的值存在AX里,要加下一项级数前,比如这时已经加到4,PUSH一下AX,然后将5乘三遍,将乘积MOV到BX里,再POP AX,然后将BX的值加到AX里,然后将AX与N比较,如果比N小就继续上述步骤,知道刚比N大就输出数字。
③试编写一程序,完成字符串中各字符出现频度的统计,统计结果在屏幕上输出。
设计思路:因为这个程序需要统计所有的字符,所以首先要定义一个存储区,用来存放26个字符以及每个字符出现的个数。用键盘控制输入字符串以后,将字符串的第一个字符与这二十六个字符逐个比较,若有相同,在存放相应次数的存储单元的值上加1。然后比较第二个字符,依次类推,将字符串里的字符全部比较完。将个数大于1的字符以及字符的个数都输出到屏幕上。退出语句。缺点和不足:这样需要定义一个非常繁的存储区。可以根据输入的字符,然后进行比较和统计。
④设计一个动画程序。
设计思路:这个程序参考了网上的资料,没有什么新意,是小鸟的图形,可以用上下左右键进行移动,可以退出。
步骤:首先设置堆栈段,数据段,代码段,设置显示方式等一些属性,设置背景色,设置小鸟的初始位置以及写出小鸟图形的像素的点。功能性的语句是,用键盘接受一个输入,将其与1bh比较,用JZ语句跳转到退出。若不是便与48h比较,看是否为向上,是则跳转到相应语句,不是则继续与50h比较;,看是否向下,是则跳转到关于向下移动的相关语句,否则再与4bh比较,看是否向左,依次类推,根据键盘输入的上下左右跳转到不同的语句。再将小鸟的位置进行与上下左右键的输入相应的移动。
最后编写好退出语句。
2、硬件接口主要是了解8255与8253的功能,以及控制字。①I/O地址译码
只要对硬件概念清晰,很简单的。基本上没有什么创造性。收获:熟悉实验箱结构,了解每部分元件和标注的意义。掌握I/O地址译码电路的工作原理。②可编程定时器8253 1,对照实验电路图,将计数器0设置为方式0,即数初值设为N(N<0fh),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并用逻辑笔观察OUT0点平变化。
2,将计数器0、计数器1分别设置为方式3,计数初值设为1000用逻辑笔观察out1输出电平的变化。
收获:掌握8253的基本工作原理和编程方法
③并行接口8255 1,试验电路如图所示,8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。3,数码管静态显示:按下图接好电路,将8255A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1接5V(选中),S0和dp接地(关闭)。编程从键盘输入一位十进制数(0-9),在七段数码管上显示。
4,数码管动态显示:按下图接好电路,七段数码管的连接不变,位码驱动输入端S1、S0接8255 C口的PC1和PC0。编程在两个数码管上显示“56”。
动态显示时,先送“5”的段码送A口,再送02h到C口为位码;经一定延时后,送“6”的段码送A口,再送01h到C口为位码。循环完成,可以显示数码。5,数码管动态显示(选做):同图接好电路,编程在两个数码管上显示循环显示“00-99”。只要搞清楚各个口的地址,以及选择适当的控制字,其实很简单的。
收获:掌握8255的基本工作原理和编程方法,对方式0的认识加深了。
二、试验中遇到的问题 1在编写程序时,我深深体会到,画程序框图的重要性,每一步跳转的条件一定要搞清楚,Y和N不能搞反了,否则就错了。
2实验2,里面涉及的寄存器很多,很容易就会用乱了,还是很需要注意的。3比如那个小鸟动画的题目,当时在控制左右移动的时候,选择的起始位置的语句没写对位置,每次按一个移位的键以后,都从最初的初始位置向某个方向移动。
4硬件方面的,一开始没搞懂地址什么意思,所以连线时很懵懂,后来清楚了,发现就没什么了。
三、心得感受
微机原理与接口技术的课程实验历时大半个学期,通过自己编写、运行程序,不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。
前四个简单程序设计,加深了我们对初学的汇编语言指令的熟悉和理解,汇编语言直接描述机器指令,比机器指令容易记忆和理解。通过学习和使用汇编语言,向上为理解各种软件系统的原理,打下技术理论基础;向下为掌握硬件系统的原理,打下实践应用基础。不仅巩固了书本所学的知识,还具有一定的灵活性,发挥了我们的创造才能。
后面几个实验是并行输入输出接口8255和计数器8253的功能的操作,加深了我们对硬件的熟悉,锻炼了动手能力,发挥创造才能。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在自己的思考以及和同学的讨论中,终于迎刃而解。