第一篇:微机原理及应用试卷
《微机原理及应用》试卷及其答案
《微机原理及应用》试卷A
一、填空题(每空1分,共15分)
1、在计算机中,对带符号数的运算均采用补码。带符号负数1100 0011的补码为__________。
2、单片机通常采用“三总线”的应用模式,芯片内部设有单独的
、
_____ 和控制总线。
3、当使用80C51单片机时,需要扩展外部程序存储器,此时EA应为__________。
4、若(A)=B3H,(R0)=A8H,执行指令XRL A,R0之后,(A)=_______。
5、在80C51单片机中,带借位减法SUBB指令中,差的D7需借位时,______=1,差的D3需借位时,______=1。
6、80C51单片机中,在调用子程序前,用_________指令将子程序中所需数据压入堆栈,进入执行子程序时,再用___________指令从堆栈中弹出数据。
7、在十六进制数与ASCII码值的转换过程中,当十六进制数在0~9之间时,其对应的ASCII码值为该十六进制数加_________。
8、外部中断和有两种触发方式:__________________和________________。
9、在单片机串行通信中,依发送与接收设备时钟的配置情况,串行通信可以分为 _________________和_________________。
10、若累加器A中的数据为0111 0010B,则PSW中的P=____________。
二、选择题(每题1分,共15分)
1、单片机是在一片集成电路芯片上集成了以下部分,除了( ) A、微处理器
B、存储器
C、I/O接口电路
D、串口通信接口
2、一个机器周期包含多少个晶振周期()
A、2
B、6
C、8
D、12
3、80C51单片机有21个特殊功能寄存器,其中与串行口相关的有以下几个,除了() A、SBUF
B、TCON
C、SCON
D、PCON
4、80C51系列单片机具有4个8位的并行I/O口,其中哪个口工作时需要外接上拉电阻() A、P0
B、P1
C、P2
D、P3
5、寄存器中的内容为地址,从该地址去取操作数的寻址方式称为()
A、寄存器寻址
B、直接寻址
C、寄存器间接寻址
D、变址寻址
6、源地址为1005H。目的地址为0F87H。当执行指令“JC rel”时,rel为()。 A、7EH
B、80H
C、82H
D、84H
7、若(R0)=30H,(30H)=75H,(75H)=90H,执行指令MOV A,@R0后,(A)=______。 A、30H
B、75H
C、90H
D、00H
8、下列哪个语句是起始地址设置伪指令()。
A、ORG
B、END
C、DW
D、EQU
9、在80C51单片机中,各中断优先级最低的是()。
A、外部中断0
B、外部中断1
C、定时器0
D、计数器1
10、80C51单片机的中断响应时间至少需要()个完整的机器周期。 A、1
B、2
C、3
D、5
11、在80C51单片机中,在不带进位加法ADD指令中,当_________时,溢出标志位OV=1。 A、D
7、D6都向前进位
B、只有D7向前进位 C、D
7、D6都没有向前进位
D、只有D3向前进位
12、当累加器A中的低4位(高4位),出现了非BCD码时,需要用十进制调整指令DA A,即在相应的低4位(高4位)加______,以产生正确的BCD结果。 A、2
B、4
C、6
D、8
13、若(P0)=1011 1100B。执行指令SETB P0.1后,(P0)=_______。
A、1011 1101
B、1011 1110
C、1111 1100
D、0011 1100
14、80C51复位后,PC与SP的值分别为()。
A、0000H ,00H
B、0000H ,07H C、0030H ,07H
D、0030H ,00H
15、下列哪条指令是正确的()。
A、 PUSH R2
B、
ADD R0,A C、 MOVX A,@DPTR
D、
MOV @R0,A
三、问答题(每题10分,共20分)
1、简述什么是堆栈?堆栈中入栈、出栈的过程?(10分)
2、列举出80C51单片机的5种寻址方式,写出每一种方式相应的一条指令?(10分)
四、程序阅读题(15分)
设(A)=38H,R0=28H,(28H)=18H,执行下列程序后,((A))=________。(5分) ORL
A,#27H ANL
A,28H XCHD A,@R0 CPL
A
2、阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能?(10分)
MOV R1,#30H; (R1)=________,
MOV A,#64H; ((A))=_______,
ADD A,#47H; ((A))=_______,(CY)=________,(AC) =________,
DA
A ; ((A))=_______,(CY)=________,(AC) =________,
MOV @R1,A; (R1)=_______,(30H)=________。
五、计算题(10分)
若要求定时器T0工作方式1,定时时间为1ms,当晶振为6MHz时,求送入TH0和TL0的计数器初值各为多少?
六、编程题(25分)
1、若单片机的晶振频率为12MHz,试用循环转移指令编写延时100ms的延时子程序。(10分)
有一变量存放在片内RAM的30H单元,其取值范围为00H~04H。要求编制一段程序,根据变量值求其平方值,并存入片内RAM的31H单元。(15分) 《单片机原理及应用》试卷A 答案
一、填空题(每空1分,共15分)
1、1011 1101
2、地址总线数据总线
3、低电平(或者0)
4、1BH
5、CY AC
6、PUSH
POP
7、30H
8、电平触发方式边沿触发方式
9、异步通信同步通信
10、0
二、选择题(每题1分,共15分) 1-5题
D D B A C
6-10题
B B A
D
C 11-15题 B C B B
D
三、问答题(20分)
1、简述什么是堆栈?堆栈中入栈、出栈的过程?(10分)
堆栈是在内部RAM中按“后进先出”的规则组织的一片存储区。 入栈操作时,先将SP的内容加1,然后将指令指定的直接地址单元的内容存入SP指向的单元;出栈操作时,先将SP指向的单元内容传送到指令指定的直接地址单元,然后SP的内容减1
2、列举出80C51单片机的5种寻址方式,写出每一种方式相应的一条指令?(10分) 第
一、寄存器寻址,MOV A,R0 第
二、直接寻址,MOV
A,50H 第
三、寄存器间接寻址,MOV A,@R0 第
四、立即寻址,MOV A,#50H 第
五、变址寻址,MOV A,@A+DPTR 第
六、相对寻址,JC 50H 第
七、位寻址,CLR ACC.0
四、程序阅读题(15分)
设(A)=38H,R0=28H,(28H)=18H,执行下列程序后,((A))=__E7H______。(5分) ORL
A,#27H ANL
A,28H XCHD A,@R0 CPL
A
2、阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能?(10分)
MOV R1,#30H; (R1)=___30H_____,
MOV A,#64H; ((A))=___64H____,
ADD A,#47H; ((A))=___ABH____,(CY)=____0____,(AC) =____0____,
DA
A ; ((A))=___11H____,(CY)=_____1___,(AC) =___1_____,
MOV @R1,A; (R1)=____30H___,(30H)=___11H_____。
五、计算题(10分)
若要求定时器T0工作方式1,定时时间为1ms,当晶振为6MHz时,求送入TH0和TL0的计数器初值各为多少?
解:由于晶振为6MHz,所以机器周期Tcy==2。 N=t/Tcy=110-3/210-6=500 X=216-N=65536-500=65036=FE0CH 即应将FEH送入TH0中,0CH送入TL0中。
所以,TH0和TL0的计数器初值各为FEH和0CH。
六、编程题(25分)
1、若单片机的晶振频率为12MHz,试用循环转移指令编写延时100ms的延时子程序。(10分)
答:分析:一个机器周期=12个晶振周期=1,执行一条DJNZ指令需要2个机器周期,即2。采用循环计数法实现延时,循环次数可以通过计算获得,并选择先执行后判断的循环程序。 汇编程序如下:
DEL:
MOV R7,#400
;1
DEL1: MOV R6,#123
;1
NOP
;1
DEL2: DJNZ R6,DEL2
;2,共(2*123)
DJNZ R7,DEL1
;2,共((2*123+2+2)*400+1),即100.01ms
2、有一变量存放在片内RAM的30H单元,其取值范围为00H~04H。要求编制一段程序,根据变量值求其平方值,并存入片内RAM的31H单元。(15分) 程序如下: ORG
1000H START: MOV
DPTR,#2000H
MOV
A,30H
MOVC A,@A+DPTR
MOV
31H,A
SJMP
$
ORG
2000H TABLE: DB
00,01,04,09,16
END
第二篇:微机原理及应用教案
电力工程学院
苏幸烺编
第一讲
第1章 微型计算机基础知识
1-1.微处理器、微型机的概念 ,及相关基础知识。 1-2.微型机模型的组成|
重点:掌握微机系统概念
学习目的:
1.掌握微处理器、微型机的基本概念
2.了解微机系统的组成
教学重点:
1.掌握CPU运算器、控制器、其中的主要寄存器和堆栈的概念。
第二讲
第1章 微型计算机基础知识 1-2.微型机模型的组成| 1-3.微机系统
本章重点:掌握微机系统概念 学习目的
1.了解微机的分类和发展趋势
2.了解微机的应用
教学重点:
1.掌握I/O接口的概念。 2.掌握微机系统的组成。
3.了解微机内部结构 第三讲:
第2章 微机硬件结构(6学时) 2-1. 微机主要功能特点
掌握内部存储器结构特点,特殊功能寄存器使用,构,内部 I/O 特点。
2-2. 微机内部结构分析
2-3. 微机的引脚功能
2-4. 微机的存贮器组织
2-5. CPU时序
2-6. 低功耗运行方式
本章重点:掌握微机结构特点。 学习目的:
1.了解 微机主要功能特点
2.掌握 微机内部结构分析
3.掌握 微机的引脚功能
4.掌握 的存储器组织
5.掌握
CPU时序
CPU 结内部 教学重点:
1.掌握 微机内部的五大组成部件及其作用。
2.掌握PC、PSW和SP的作用。
3.掌握 微机引脚功能。
4.了解 的工作方式。
5.深刻理解 访问片外存储器的时序。 第3章
指令系统(8学时) 3-1.指令系统概述
3-2. 指令的寻址方式
3-3. 指令系统介绍
本章重点:掌握微机指令特点。
学习目的:
1.掌握指令与指令系统
2.掌握 指令的寻址方式
教学重点:
1.了解 指令的格式和指令的3种表示形式。
2.掌握 汇编语言的语句格式和各字段的语法规则。
3.掌握8条伪指令的语句格式和指令功能。
4.掌握指令字节数、指令分类和指令中所用符号的含义。
5.学会判别 指令的寻址方式。 6.掌握相对寻址指令的真实含义。
7.掌握每条数据传送指令的功能,学会灵活使用它们的方法。
9.重点掌握堆栈操作指令执行时堆栈指针SP和堆栈的变化规律。
第14讲
第4章 汇编语言程序设计(8学时) 4-1.概述
4-2.简单程序
重点:掌握微机编程特点及程序设计基本要求 。 学习目的:
1.掌握汇编语言程序设计步骤
教学重点:
1.了解程序设计步骤。
2.了解简单程序设计问题,重点掌握分支程序设计的方法和技巧。
第15讲
第4章 汇编语言程序设计 4-3.分支程序
4-4.循环程序
重点:掌握微机编程特点及程序设计基本要求 。 学习目的
2.掌握汇编语言简单程序设计方法
3.掌握汇编语言分支程序设计方法
教学重点:
1.了解程序设计步骤。
2.了解简单程序设计问题,重点掌握分支程序设计的方法和技巧。
第16讲
第4章 汇编语言程序设计 4-4.循环程序
本章重点:掌握微机编程特点及程序设计基本要求 。 学习目的:
4.掌握汇编语言循环程序设计方法
教学重点: 3.重点掌握循环程序的设计方法。
第17讲
第4章 汇编语言程序设计 4-5.查表程序
4-6.子程序
本章重点:掌握微机编程特点及程序设计基本要求 。 学习目的:
1.掌握汇编语言查表程序设计方法
6.掌握汇编语言子程序的设计及其调用方法
教学重点:
1.重点掌握正确编写查表程序的方法。
2.深刻理解子程序特点、使用场合和编程方法。
第18讲
第4章 汇编语言程序设计 4-6.功能调用及程序举例
本章重点:掌握单片机编程特点及程序设计基本要求 。
学习目的:
1.掌握汇编系统功能调用的设计
教学重点:
1.深刻理解汇编系统功能调用的设计。
2.重点掌握运算程序算法和编程技巧
。
第19讲
第5章 8088总线操作和时序 5-1. 概述
5-2. 两种模式
5-3. 最小模式时序分析
本章重点:最小模式 学习目的: 1.了解两种模式 2.掌握最小模式时序分析 教学重点:
1.重点掌握两种模式的基本结构。
2.掌握两种模式不同应用范围功能。
4.掌握最小模式的结构和功能。
第20讲
第5章 8088总线操作和时序 5-3. 最小模式时序分析
5-3. 最大模式时序分析
本章重点:最小模式 学习目的:
1.掌握最小模式时序分析 2.了解最大模式时序分析 教学重点:
1.掌握最小模式的结构和功能。
2.最小模式的读写周期和中断响应周期时序。 3.了解最大模式的结构和功能。
第5章 存贮器系统设计(6学时) 5-1. 微机存贮器系统配置
5-2.程序存贮器扩展设计
5-3.数据存贮器扩展设计
本章重点:学习如何根据CPU时序来扩展外存贮器。
学习目的:
1.了解 存储器系统的配置
2.掌握程序存储器扩展设计方法
3.掌握数据存储器扩展设计方法
教学重点:
1.重点掌握半导体存储器的两种基本结构。
2.掌握2764存储器内部结构和引脚功能。
3.了解静态和动态RAM存储信息的原理。
4.掌握6264的内部结构和引脚功能。
5.掌握基本地址和重叠地址范围的确定方法。
6.掌握 对存储器的连接方法。 第6章
串行口及中断系统(8学时) 6-1. 串行口
6-3. 微机中断系统
五个中断源,两极中断嵌套,中断标志,中断控制字设置,中断响应、中断撤除,中断初始化。
本章重点:主要介绍 微机定时/计数器、串行口及中断系统的硬件结构、编程方法及应用。
学习目的:
1.掌握 定时/计数器结构与工作原理
2.掌握 定时/计数器的寄存器功能及设计方法
3.掌握 串行口结构、功能及应用方法
4.掌握 微机的中断系统
教学重点:
1.弄清 对内部定时器的控制功能,学会用程序控制它们的方法。
2.掌握 内部定时器的4种工作方式的特点和设定方法。
3.掌握定时器时间常数的计算方法,学会 内部定时器的使用技巧。
4.弄清 串行口结构,熟悉发送和接收电路工作原理。
5.掌握 串行口四种工作方式。
6.学会 串行口通信波特率的设定。
7.弄清串行口在方式0下的发送和接收过程。
8.掌握串行口在方式
1、方式2和方式3下的应用方法。
9.掌握软件中断型主从式多机通信程序的编写方法。
10.熟悉分布式通信系统的硬件结构和通信过程。
11.了解中断的作用,建立正确的中断概念。重点掌握中断系统的功能。
12.牢记 各中断标志位及含义。
第7章 并行I/O接口电路扩展设计及应用(6学时) 7-1.概述
7-2.可编程并行I/O接口芯片8255A 7-3.编程RAM/I/O扩展器8155/8156 7-4.用TTL芯片扩展简单的I/O接口
7-5.显示器与键盘接口
7-6.并行打印机接口
本章重点:学习如何扩展常用的并行I/O接口的方法。
学习目的:
1.了解 I/O接口扩展的基本概念
2.掌握可编程并行I/O接口芯片8255A的结构及设计方法
3.掌握可编程RAM/IO扩展器8155/8156的结构及设计方法
4.掌握用TTL芯片扩展简单I/O接口的方法
5.掌握显示器与键盘接口设计方法
6.掌握并行打印机接口设计方法
教学重点:
1.掌握外部设备编址和I/O数据的4种传送方式。
2.掌握8255内部结构和引脚功能,学会使用方法。 3.掌握8155内部结构和引脚功能,学会使用方法。
4.掌握74LS377内部结构和引脚功能,学会使用使用其扩展简单I/O接口的方法。
5.掌握74LS373内部结构和引脚功能,学会使用使用其扩展简单I/O接口的方法。
6.掌握74LS244内部结构和引脚功能,学会使用使用其扩展简单I/O接口的方法。
7.掌握 对行列式非编码键盘的接口原理,学会编写按键扫描和识别程序方法。
8.掌握 对LED显示接口的设计方法。
9.掌握8279内部结构和引脚功能,学会使用方法。
第三篇:微机原理试卷8及答案
*密* 微机原理模拟题8
一、简答题(6×8分=48分)
1. 不使用立即数,也不用任何存储单元中的数据,写一段程序(限六条指令之内),完成如下操作:-1→AX,0→BX,1→CX。 答:XOR BX,BX XOR CX,CX INC CX XOR AX,AX DEC AX
2.试说明8086CPU工作在最大和最小模式下系统基本配置的差异。
解:8086CPU可以工作在两种工作模式,即最小工作模式和最大工作模式。最小工作模式用于单机系统,系统中所有总线控制信号全部由8086直接提供,因此系统中的总线控制电路可减到最少;最大工作模式用于多处理机系统,8086作为主处理器,其它的处理器为协处理器,协助主处理器工作。在最大工作模式下,系统所需要的控制信号均由总线控制器8288提供。
8086具体工作在最大模式还是最小模式,完全由硬件连接决定。当将CPU的第33号引脚MN/MX接+5V时,8086工作在最小模式,当MN/MX接地时,8086工作在最大模式。
3.8086可引入哪些中断,它们是如何引入的?
答:8086具有256种不同中断类型的能力。中断源可来自CPU内部或外部设备,可由硬件或软件产生。
非屏蔽中断:8086的两条外部中断线是非屏蔽中断NMI和可屏蔽中断INTR。NMI是边缘触发方式,要求高电平有效。一般用在如电源断电等紧急事件中,优先权较高,请求信号不受标志位IF的影响。NMI中断类型码规定为2。
INTR可屏蔽中断请求是高电平有效的另一外部硬件中断源,高电平保持时间应维持到当前指令结束。在8086中它不自中断控制器8259A,其外部电
第 1 页 共 7 页 *密* 路所产生的中断的优先级别由8259A管理产生。CPU只根据标志位IF的状态决定是否响应INTR。
内部中断:8086的内部中断产生的过程完全与硬件电路无关,是CPU根据软件中某条指令或软件对PSW中的标志设置而产生的。内部中断可分为两大类型:一类是内部已硬件设置好的类型0~类型4,它们依次为除法出错、单步中断、NMI、断点中断和溢出中断;另一类是8086的中断系统中有一条两字节的中断指令INT n。n 即为中断类型码,CPU根据中断类型码即可找到中断服务程序入口。
4.试说明8086/8088CPU中有哪些寄存器?各有哪些用途?
答:寄存器组有(1)数据寄存器,含AX、BX、CX、DX四个通用寄存器,用来暂时存放计算过程中所遇到的操作数,结果和其它信息。(2)指针及变址寄存器,含SP、BP、SI、DI四个十六位寄存器,它们可以像寄存器一样在运算过程中存放操作数只能以字为单位使用。还用来在段内寻址时提供偏移地址。(3)段寄存器,含CS、DS、SS、ES,用来专门存放段地址。(4)控制寄存器,包括IP和PSW两个16为寄存器。IP是指令指针寄存器,用来存放代码段中的偏移地址。
PSW为程序状态字寄存器,由条件码标志和控制标志构成。条件码标志用来纪录程序运行结果的状态信息。包括OF、SF、ZF、CF、AF、PF。控制标志位有三个寄存器DF、IF、TF组成。
5.下面两条指令执行后,标志寄存器中CF,AF,ZF,SF和OF分别是什么状态? MOV DL,86 ADD DL,0AAH 答: 0101,0110 + 1010,1010 = 1,0000,0000 CF=1 AF=1 ZF=1 SF=1 OF=1
第 2 页 共 7 页 *密* 6.下面哪些指令是非法的?(假设OPl,OP2是已经用DB定义的变量) (1)CMP l5,BX (2)CMP OPl,25 (3)CMP OPl,OP2 (4)CMP AX,OPl 答:(1) CMP 15,BX 非法,两个操作数不能一个为字,一个为字节
(2)CMP OP1,25 正确
(3)CMP OP1,OP2 正确
(4)CMP AX,OP1 非法,两操作数不能一个为字,一个为字节
二、程序题(2×11分=22分) 1.试按下列要求分别编制程序段: (1)把标志寄存器中符号位SF置‘1’。
第 3 页 共 7 页 *密* (2)寄存器AL中高低四位互换。
(3)由寄存器AX,BX组成一个32位带符号数(AX中存放高十六位),试求这个数的负数。
(4)现有三个字节存储单元A,B,C。在不使用ADD和ADC指令的情况下, 实现(A)+(B)=>C。
(5)用一条指令把CX中的整数转变为奇数(如原来已是奇数,则CX中数据不变,如原来是偶数,则(CX)+1形成奇数)。 答:(1)MOV AH, 80H SAHF (2 ) MOV BL, 0FH AND BL, AL SAL 4 SHR 4 XOR AL, BL (3) MOV DX, 7FH SUB AX, DX MOV DX, 0FFH SUB DX, BX MOV BX, DX (4) MOV AH, FFH MOV BL, [B] SUB AH, BL MOV BH, [A] SUB BH, AH MOV [C], BH (5) MOV AX, CX NOT AX
第 4 页 共 7 页 *密* TEST 01H JNZ NEXT HLT NEXT: INC CX HLT
2. DAC0832与微机接口电路已正常工作,为单缓冲方式,其口地址为380H,执行以下程序:
MOV DX,380H A2: MOV AL, -1 OUT DX, AL CALL MS100 ;延时 NOT AL A0: OUT DX,AL INC AL CMP AL,-1 JNE A0 A1: OUT DX,AL DEC AL CMP AL,0 JNE A1 JMP A2 (1) 画出输出端波形示意图;
(2) 若将最后一条指令改为JMP A0,画出输出端波形示意图; (3) 若将最后一条指令去掉,会出现什么情况?
三、设计题(2×15分=30分)
第 5 页 共 7 页 *密* 1. 32位存储器组织将内存分为4个存储体,地址总线32位,画出每个存储体的地址分配图。
解:在32位数据总线的微处理器中,直接输出A31~A032位地址,低2位A
1、A0由内部编码产生4个字节选择信号BE3~BE0,以选择不同的字节。由4个字节选择信号把主存储器分为4个存储体,依次存放32位数据中的4个字节,每个体的8位数据依次并行连接到外部数据线D31~D0上,由BE3~BE0选中每个存储体,每个体的地址范围如下图所示。
2. 设8255A接到系统中,端口A、B、C及控制口地址分别为220H、221H、222H及223H,工作在方式0,试编程将端口B的数据输入后,从端口C输出,同时,将其取反后从端口A输出。 解: MOV DX,223H MOV AL,82H OUT DX,AL MOV DX,AL MOV AL,221H IN AL,DX
第 6 页 共 7 页 *密* MOV DX,222H OUT DX,AL NOT AL MOV DX,220H OUT DX,AL
第 7 页 共 7 页
第四篇:微机原理及应用 电子琴课程设计
科技学院 微机原理及应用 课 程 设 计
设计名称: 设计模拟电子琴 模拟 指导老师: 指导老师: ----- 设计者姓名: ----- 专业班级:自动化 学 号:---------- 设计时间: 2012.6
摘 要:本文通过 8255 和 8253 来实现电子琴模拟,主要可以分成两部分,分别为输入部分和发音部分。输入部分:主要是由 8255 和 8 个常开型开关来完成。 发音部分:CUP 通过对定时器 8253 的通道 2 进行编程,使其 I/O 寄存器接收一 个控制声音频率的 16 位计数值,端口 61H 的最低位控制通道 2 门控的开断,以 产生特殊的音响。本文用到的是 8253 的方式 3——方波发生器。 关键词: 关键词:8253 定时器;8255;电子琴
1.引言
引言 :8253 芯片是常用的可编程计数器,在微机中有着极其重要的作用。常用于事件计数器,单稳态触发器,分频器,方波发生器,硬件触发的单脉冲发生器 等。计数器/定时器 8253 包括 3 个独立的 16 位计数器通道,而每个计数器都有 6 种工作方式,可以按二进制或十进制(BCD 码)进行计数。本文用到的是 8253 的方式 3——方波发生器来实现了简易电子琴的设计。
2.1 8253 简介
8253 为可编程定时/计数器,一片 8253 上有 3 个独立的 16 位计数器通道, 可以作为定时器或计数器使用, 每个计数器都可设定为按照二进制或 BCD 码进行 计数,计数速率可达 2MHZ,每个计数器有 6 种工作方式,可编程设置和改变。
如下图为 8253 的内部结构图。在图中可以清楚地看到,8253 主要是由数据总线 缓冲存储器,读写控制电路,控制字寄存器和 3 个通道 4 部分所组成。
8253 内部结构【1】(如图 1 所示)及外部引脚【1】(如图 2 所示)
图 1:8253 内部结构图
图 2:8253 引脚图
8253 的控制字和编程【1】 如图 3 所示
图 3:8253 控制字 2.
2 8253 的工作方式 3——方波发生器【1】
方式 3 的波形如图 4 所示,它的特点是:
(1) 输出为周期性的方波。若计数值为 N,则输出方波的周期是 N 个 CLK 脉冲 的宽度。
(2) 写入控制字后,输出将变为高电平,当写入计数初值后,就开始计数,输 出仍为高电平; 当计数到初值的一半时, 输出变为低电平, 直至计数到 0, 输出又变为高电平,重新开始计数。
(3)
若计数值为偶数,则输出对称方波;如果计数值为奇数,则前(N+1)/2 个 CLK 脉冲期间输出为高电平,后(N-1)/2 个 CLK 脉冲期间输出为低电 平。
(4)
GATE 信号能使计数过程重新开始,GATE=1 允许计数,GATE=0 禁止计数。 停止后 OUT 将立即变高电平,当 GATE 再次变高以后,计数器将自动装入 计数初值,重新开始计数。
图 4:8253 工作方式 3 波形
3.8255 的简介【2】
8255 是一个 40 引脚的双列直插式集成电路芯片。按功能可把 8255 分为三 个逻辑电路部分,即:口电路、总线接口电路和控制逻辑电路。8255 共有三个 8 位口,其中 A 口和 B 口是单纯的数据口,供数据 I/O 使用。而 C 口则既可以作数 据口,又可以作控制口使用,用于实现 A 口和 B 口的控制功能。总线接口电路用 于实现 8255 和单片微机的信号连接。其中包括:数据总线缓冲器,读/写控制逻 辑,控制逻辑电路。
内
部
的
结
构
如
图
所
示
图 5:8255 结构图
8255A 的方式控制字如图 6 所示
图 6:8255A 的方式控制字
4.
用 8235 和 8255 设计简易电子琴
设计任务与要求 以 K1-K8 接 8255 的 A 口做为电子琴的键盘分别输入静音、do、re、mi、 fa、sol、la、si 的音,以 8255 的 B 口作为输出。用 8253 定时器产生频率 控制扬声器发生。 1. 以 8255 接八个开关 K1-K8,做电子琴按键输入。 2. 以 8253 控制扬声器,发出相应的音阶。 要求: K1—静音 K2—发 si 的音 493Hz K3—发 la 的音 440Hz K4—发 sol 的音 392Hz K5—发 fa 的音 349Hz K6—发 mi 的音 329Hz K7—发 re 的音 293Hz K8—发 do 的音 261Hz
设计原理【3】:通过 8255 和 8253 来实现电子琴模拟,主要可以分成两部分, 分别为输入部分和发音部分。
输入部分:主要是由 8255 和 8 个常开型开关来完成。
发音部分:CUP 通过对定时器的通道 2 进行编程,使其 I/O 寄存器接收一个 控制声音频率的 16 位计数值,端口 61H 的最低位控制通道 2 门控的开断,以产 生特殊的音响。当定时器接收的计数值为 533H 时,能产生 896Hz 的声音,因此产生其他频率的计数值就可由下式计算
计数值=533H*896/f=1234DCH/f
当通道 2 用于发声时,采用的是模式 3,在模式 3 下,输出线为“1”和为“0” 的时间各占计数时间的一半,因而产生一系列间隔均匀的脉冲。 从定时器输出的方波信号,经功率放大和滤波后驱动扬声器。送到扬声器的信号 还受到了从并行接口芯片 8255(端口地址为 61H)来的双重控制,端口 61H 的最 低位控制通道 2 的门控开断,以产生特殊的音频信号,端口 61H 的 PB1 位和定时 器的输出信号同时作为与门的输入,PB0 和 PB1 位可由程序决定为 0 还是为 1。 显然只有 PB0 和 PB1 都是 1 时,才能使扬声器发出声音。控制音长的时间可以简 单地通过反复执行指令来得到。执行 2801 次 LOOP 指令约需要 10MS 的时间。因 此用 10MS 的倍数值来控制扬声器开关的时间间隔,就可控制发声的音长了。 (1)程序流程图 (2)程序流
程
图
如
图
所
示
:
图 7:流程图
(2)程序清单
发音部分程序源代码如下
把计数值送 8253 前,必须先把 8253 进行初始化,使其选用通道 2,工作在 方式 3 下。 MOV AL,0B6H
OUT 43H,AL
;43H 为 8253 的控制字端口
计算计数初值,计数值送到 8253,用以产生需要的发音频率利用定时器发 声。这里是通过硬件即 8253 定时器产生声音。 CUP 通过对定时器的通道 2 进行 编程,使其 I/O 寄存器接收一个控制声音频率的 16 位计数值,端口 61H 的最低 位控制通道 2 门控的开断,以产生特殊的音响。当定时器接收的计数值为 533H 时,能产生 896Hz 的声音,因此产生其他频率的计数值就可由下式计算: 计数值=533H*896/f=1234DCH/f MOV DX,12H MOV AX,348CH
DIV DI
;(DI)=频率
OUT 42H,AL
;42H为8253的通道2端口 MOV AL,AH OUT 42H,AL
送到扬声器的信号还受到了从并行接口芯片 8255(端口地址为 61H)来的双 重控制,端口 61H 的最低位控制通道 2 的门控开断,以产生特殊的音频信号,端 口 61H 的 PB1 位和定时器的输出信号同时作为与门的输入,PB0 和 PB1 位可由程 序决定为 0 还是为 1。显然只有 PB0 和 PB1 都是 1 时,才能使扬声器发出声音。
IN AL,61H MOV AH,AL OR AL,3
OUT 61H,AL ;开扬声器 ;
控制音长的时间可以简单地通过反复执行指令来得到。我们知道执行 2801 次
LOOP 指令约需要 10MS 的时间。因此用 10MS 的倍数值来控制扬声器开关的时间 间隔,就可控制发声的音长了。 LOOP1: MOV CX,2801
;发音时间 10ms JMP LOOP2 LOOP2: PUSH AX LOOP3: IN AL,61H AND AL,10H CMP AL,AH JE LOOP3 MOV AH,AL LOOP LOOP3 POP AX
DELAY: LOOP DELAY
;延时 DEC BX JNZ LOOP1 输出 61 端口的值
MOV AL,AH OUT 61H,AL
5.结论
结论:
达到题目要求内容,以 K1-K8 接 8255 的 A 口做为电子琴的键盘分别输入静 音、do、re、mi、fa、sol、la、si 的音,以 8255 的 B 口作为输出。用 8253 定 时器产生所需音阶频率控制扬声器发音。
第五篇:2007微机原理及应用模拟试题A及参考答案
一、填空题
1.已知X=68,Y=12,若用8位二进制数表示,则[X+Y]补= 01010000B(或50H) ,[Y-X]补=11001000B(或0C8H)。
2.逻辑运算11110101B和10101110B相“或”的结果是 11111111B 。 3.串操作指令规定源串在 数据 段中,用 DS:SI 来寻址源串;目的串在 附加 段中,用 ES:DI 来寻址目的串。
4.以CX寄存器内容为计数对象的指令有 循环控制指令、串操作重复指令 。 5.8086内存的前 1024(或1K) 个字节,即00000H~ 003FFH 建立了一个中断向量表,一共可以容纳 256 个中断向量。 6.输入/输出指令间接寻址必须通过 DX 寄存器。
7.8086直接可以访问的内存空间是 1M(或220) B,它的一个段最大空间是64K(或216) B,一页空间是 256(或28) B。
8.CPU与外设传送数据时,输入/输出方式有程序控制传送方式,中断控制传送方式,DMA方式。
9.硬件中断可分为 可屏蔽中断 和 不可屏蔽中断 两种。
10.某8086CPU应用系统需要扩展程序存储器128K字节,选用EPROM2764(8K×8),则需要的芯片数目为: 16 。
三、问答题
1.8086/8088微处理器内部有那些寄存器,它们的主要作用是什么? 答:8086/8088微处理器执行部件有8个16位寄存器,AX、BX、CX、DX、SP、BP、DI、SI。其中AX、BX、CX、DX一般作为通用数据寄存器。SP为堆栈指针寄存器,BP、DI、SI在间接寻址时作为地址寄存器或变址寄存器。总线接口部件设有段寄存器CS、DS、SS、ES和指令指针寄存器IP。段寄存器存放段地址,与偏移地址共同形成存储器的物理地址。IP的内容是下一条将要执行指令的偏移地址,与CS共同形成下一条指令的物理地址。 2.8086 基本总线周期是如何组成的? 各状态中完成什么基本操作? 答:8086基本总线周期由4 个时钟(CLK)周期组成,按时间顺序定义为T
1、T
2、T
3、T4。在T1期间8086发出访问目的地的地址信号和地址锁存选通信号ALE;T2期间发出读写命令信号RD#、WR#及其它相关信号;T3期间完成数据的访问;T4 结束该总线周期。
1 3.什么是接口? 接口具有哪些功能? 答:接口就是微处理器与外部设备之间的连接部件,是CPU 与外界进行信息交换的中转站。接口具有以下功能: (1) 数据缓冲功能; (2) 接收和执行CPU 命令的功能; (3) 信号转换功能; (4) 设备选择功能; (5) 中断管理功能; (6) 数据宽度变换功能; (7) 可编程功能。 4.简要说明中断返回指令IRET与RET指令的不同之处。
答:IRET为中断返回指令,可使压入堆栈的断点地址及程序状态字弹出至CS、IP和F寄存器,继续执行原来程序;RET为子程序返回指令,只恢复IP或CS、IP的内容。
四、阅读下列程序段,指出程序完成什么功能
1、程序段1 DATA SEGMENT BUF DB‘swjtu’ DATA ENDS CODE SEGMENT ┆ MOV SI,0 MOV CX,10 MOV AL,20H NEXT: SUB BUF[SI],AL INC SI LOOP NEXT ┆
答:该程序段功能是将小写字符串’swjtu’转换为大写字符串’SWJTU’。
2、程序段2 VARX
DW A1 VARY
DW A2 RESULT
DW ?
┇
MOV DX, VARX
2 ADD DX, VARY MOV CL, 3 SAL
DX, CL SUB
DX, 1000H SAR
DX, 1 MOV RESULT, DX
┇
结果为:RESULT=[(A1+A2)×3-1000H]∕2