串行口扩展并行口
串行口的四种工作方式标准版文档

RB8 停止位
RI(中断标志)
接收时,数据从右边移入输入移位寄存器。当位检测逻辑 采样到RXD上的负跳变,便开始接收1帧数据。在接收完第九 位数据后,满足下列条件,才能真正接收到1个字符。
当RI=0,且SM2=0(或接收到的第9位数据为1)时,接收到 的数据装入接收缓冲器SBUF和RB8(接收数据的第9位), 置RI=1,向CPU请求中断。如果条件不满足,则数据丢失, 且不置位RI,继续搜索RXD引脚的负跳变。
❖解:设数据的发送不采用串行口,即用一段程序模拟 串口方式0的操作,选择用P2.1传数据,P2.0传时钟。
DOUT CLK
BIT P2.1 BIT P2.0
DP12: MOV R2, #8 MOV A, @R0
DP13: RLC A MOV DOUT, C CLR CLK SETB CLK DJNZ R2, DP13 RET
先输出低位吗?
能改变吗?
开始 循环次数设置 取显示数据 数据码左移一位 送一位数据至P2.1 输出一个移位脉冲
够8次了? Y
RET
读图练习--实验六的原理图
D
PY
1 a
2
a
b
3
c
f
b
4
g
d
5
ee
c
6 f
d dp
7 g d p
8
2
0
D
PY
1 a
2
a
b
3
c
f
b
4
g
d
5
ee
c
6 f
d dp
7 g d p
方式2和方式3
方式2或方式3时为11位数据的异步通信口。TXD为数据发
汇编51单片机考试常见试题

汇编51单⽚机考试常见试题汇编51单⽚机考试常见试题⼀、填空题1.单⽚机是把中央处理器、存储器、定时器/计数器以及I/O接⼝电路等主要计算机部件集成在⼀块集成电路芯⽚上的微型计算机。
2.除了单⽚机这⼀名称之外,单⽚机还可称为微控制器、嵌⼊式控制器。
3.计算机的系统总线有地址总线、控制总线和数据总线。
4.80C51单⽚机基本型内部RAM有 128 个字节单元,这些单元可以分为三个⽤途不同的区域,⼀是⼯作寄存器区、⼆是位寻址区、三是数据缓冲区。
5.8051单⽚机有2 个16位定时/计数器。
6.单⽚机存储器的主要功能是存储程序和数据。
80C51含4 KB掩膜ROM。
7.80C51在物理上有4个独⽴的存储器空间。
8.通常、单⽚机上电复位时PC= 0000H,SP=07H;⽽⼯作寄存器则缺省采⽤第00 组,这组寄存器的地址范围是从00H~ 07H。
9.8051的堆栈是向地址的⾼端⽣成的。
⼊栈时SP先加1,再压⼊数据。
10.使⽤8031芯⽚时,需将/EA引脚接低电平,因为其⽚内⽆程序存储器。
11.MCS-51特殊功能寄存器只能采⽤直接寻址⽅式。
12.汇编语⾔中可以使⽤伪指令,它们不是真正的指令,只是⽤来对汇编过程进⾏某种控制。
13.半导体存储器的最重要的两个指标是存储容量和存储速度。
14.当PSW4=1,PSW3=0时,⼯作寄存器Rn,⼯作在第2组。
15.在8051单⽚机中,由 2 个振荡(晶振)周期组成1个状态(时钟)周期,由 6个状态周期组成1个机器周期。
16.假定累加器A的内容30H,执⾏指令:1000H:MOVC A,@A+PC后,把程序存储器1031H单元的内容送累加器A中。
17.MCS-51单⽚机访问外部存储器时,利⽤ALE信号锁存来⾃P0⼝的低8位地址信号。
18.内部RAM中,位地址为30H的位,该位所在字节的字节地址为26H。
19.若A中的内容为63H,那么,P标志位的值为0。
20.在基址加变址寻址⽅式中,以累加器A作变址寄存器,以DPTR或PC作基址寄存器。
单片机原理及接口技术(C51编程)(第2版)-习题答案 - 第8章习题解答

第8章思考题及习题8参考答案一、填空1、AT89S51的串行异步通信口为(单工/半双工/全双工)。
答:全双工。
2. 串行通信波特率的单位是。
答:bit/s3. AT89S51的串行通信口若传送速率为每秒120帧,每帧10位,则波特率为答:12004.串行口的方式0的波特率为。
答:fosc/125.AT89S51单片机的通讯接口有和两种型式。
在串行通讯中,发送时要把数据转换成数据。
接收时又需把数据转换成数据。
答:并行,串行,并行,串行,串行,并行6.当用串行口进行串行通信时,为减小波特率误差,使用的时钟频率为MHz。
答:11.05927.AT89S51单片机串行口的4种工作方式中,和的波特率是可调的,与定时器/计数器T1的溢出率有关,另外两种方式的波特率是固定的。
答:方式1,方式38.帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式。
答:方式1。
9.在串行通信中,收发双方对波特率的设定应该是的。
答:相同的。
10.串行口工作方式1的波特率是。
答:方式1波特率=(2SMOD/32)×定时器T1的溢出率二、单选1.AT89S51的串行口扩展并行I/O口时,串行接口工作方式选择。
A. 方式0B.方式1C. 方式2D.方式3答:A2. 控制串行口工作方式的寄存器是。
A.TCON B.PCON C. TMOD D.SCON答:D三、判断对错1.串行口通信的第9数据位的功能可由用户定义。
对2.发送数据的第9数据位的内容是在SCON寄存器的TB8位中预先准备好的。
对3.串行通信方式2或方式3发送时,指令把TB8位的状态送入发送SBUF中。
错4.串行通信接收到的第9位数据送SCON寄存器的RB8中保存。
对5.串行口方式1的波特率是可变的,通过定时器/计数器T1的溢出率设定。
对6. 串行口工作方式1的波特率是固定的,为fosc/32。
错7. AT89S51单片机进行串行通信时,一定要占用一个定时器作为波特率发生器。
单片机原理习题与答案

习题1. 何为“准双向I/O接口”?在MCS-51单片机的四个并口中,哪些是“准双向I/O接口”?答:准双向I/O接口是能实现输入输出功能,但在使用时只能从输入和输出中选择一个。
MCS-51单片机的四个并口中P1、P2、P3是准双向I/O接口。
2. 80C51单片机内部有几个定时/计数器?它们由哪些功能寄存器组成?怎样实现定时功能和计数功能?答:80C51单片机内部有两个16位的可编程定时/计数器,由TH0,TL0,TH1,TL1,TMOD和TCON功能寄存器组成。
通过TMOD中的C/T位选择对机器周期计数实现计数功能,选择对外部脉冲计数实现计数功能。
3. 定时/计数器T0有几种工作方式?各自的特点是什么?答:有四种工作方式,特点见下表:M1 M0 工作方式方式说明0 0 0 13位定时/计数器0 1 1 16位定时/计数器1 02 8位自动重置定时/计数器1 1 3 两个8位定时/计数器(只有T0有)4. 定时/计数器的四种工作方式各自的计数范围是多少?如果要计10个单位,不同的方式初值应为多少?答:有四种方式。
方式0计数范围:1~8192;方式1计数范围:1~65536;方式2计数范围:1~256;方式3计数范围:1~256。
如果计10个单位,方式0初值为:8192-10=8182;方式1初值为:65536-10=65526;方式2初值为:256-10=246;方式2初值为:256-10=246。
5. 设振荡频率为12MHz,如果用定时/计数器T0产生周期为100ms的方波,可以选择哪几种方式,其初值分别设为多少?答:只能选择方式1,初值为65536-50000=15536。
6. 何为同步通信?何为异步通信?各自的特点是什么?答:异步通信方式的特点是数据在线路上传送时是以一个字符(字节)为单位,未传送时线路处于空闲状态,空闲线路约定为高电平“1”。
特点是对发送时钟和接收时钟的要求相对不高,线路简单,但传送速度较慢。
单片机原理及应用考试试题及答案

单片机原理及应用试题一一、填空题每空1分,共20分1、计算机的系统总线有地址总线、控制总线和数据总线;2、通常、单片机上电复位时PC= 0000H,SP=07H;而工作寄存器则缺省采用第00组,这组寄存器的地址范围是从00H~ 07H;3、JZ e 的操作码地址为1000H,e=20H,它转移的目标地址为1022H;4、汇编语言中可以使用伪指令,它们不是真正的指令,只是用来对汇编过程进行某种控制;5、假定累加器A的内容30H,执行指令:1000H:MOVC A,A+PC后,把程序存储器1031H单元的内容送累加器A中;6、MCS-51单片机访问外部存储器时,利用ALE信号锁存来自P0口的低8位地址信号;7、MCS-51单片机8031中有 2 个 16位的定时/计数器,可以被设定的工作方式有四种;8、MCS-51单片机有5个中断源,可分为2个中断优先级;上电复位时外部中断0中断源的最高;9、用串行口扩展并行口时,串行接口的工作方式应选为方式0;10、半导体存储器的最重要的两个指标是存储容量和存储速度 ;11、若某8位D/A转换器的输出满刻度电压为+5V,则D/A转换器的分辨率为5/255=;12、写8255A控制字时,需将A1、A0置为11;二、选择题从备选答案中选择一个正确答案,并将代号写在括号内;每题1分,共10分1、在CPU内部,反映程序运行状态或反映运算结果的一些特征寄存器是 B APC BPSW CA DSP2、要用传送指令访问MCS-51片外RAM,它的指令操作码助记符应是 BAMOV BMOVX CMOVC D以上都是3、指令ALMP的跳转范围是CA256B B1KB C2KB D64KB4、要使MCS-51能够响应定时器T1中断,串行接口中断,它的中断允许寄存器IE 的内容应是 AA98H B84H C42H D22H5、各中断源发出的中断请求信号,都会记在MCS-51系统中的 BAIE BIP CTCON DSCON6、CPU寻址外设端口地址的方法有两种,一种是统一编址,还有一种是 CA混合编址 B动态编址 C独立编址 D变址编址7、下列四条叙述中,有错误的一条是 AA16根地址线的寻址空间可达1MBB内存储器的存储单元是按字节编址的CCPU中用于存放地址的寄存器称为地址寄存器D地址总线上传送的只能是地址信息8、MCS-51外扩一个8255时,需占用D 个端口地址A1个 B2个 C3个 D4个9、用MCS-51串行口扩展并行I/O口时,串行口工作方式应选择AA方式0 B方式1 C方式2 D方式310、某种存储器芯片是8KB4/片,那么它的地址线根数是 CA 11根 B12根 C13根 D14根三、问答题每题5分,共20分1、MCS-51单片机的时钟周期与振荡周期之间有什么关系一个机器周期的时序如何划分答:时钟周期是单片机最基本的时间单位;机器周期则是完成某一个规定操作所需的时间;一个机器周期为6个时钟周期,共12个振荡周期性,依次表示为S1P1、S1P2、……S6P1、S6P2;2、MCS-51内部四个并行I/O口各有什么异同作用是什么答:MCS-51单片机共有四个8位双向并行的I/O端口,每个端口都包括一个锁存器、一个输出驱动器和一个输入缓冲器;但这四个端口的功能不全相同,P0口既可作一般I/O端口使用,又可作地址/数据总线使用;P1口是一个准双向并行口,作通用并行I/O口使用;P2口除了可作为通用I/O使用外,还可在CPU访问外部存储器时作高八位地址线使用;P3口是一个多功能口除具有准双向I/O功能外,还具有第二功能;3、简述MCS-51单片机的中断响应过程;答:CPU在每个机器周期的S5P2期间顺序采样每个中断源,在下一个机器周期S6区间按优先级顺序查询中断标志,如查询到某个中断定标志为1,将在接下来的机器周期S1期间按优先级进行中断处理,中断系统通过硬件自动将相应的中断矢量地址装入PC,以便进入相应的中断服务程序;一旦响应中断,CPU首先置位相应的中断“优先级触发器”,然后由硬件执行一条长调用指令,把当前的PC值压入堆栈,以保护断点,再将相应的中断服务的入口地址送入PC,于是CPU接着从中断服务程序的入口处开始执行;对于有些中断源,CPU在响应中断后会自动清除中断标志;4、A/D转换接口中采样保持电路的作用是什么省略采样保持电路的前提条件是什么答:A/D转换接口中采样保持电路的作用是:能把一个时间边续的信号变换为时间离散的信号,并将采样信号保持一段时间;当外接模拟信号的变化速度相对于A/D转换速度来说足够慢,在转换期间可视为直流信号的情况下,可以省略采样保持电路;四、阅读或编写程序1、阅读下列程序段并回答问题;1、该程序执行何种操作2、已知初值60H=23H,61H=61H,运行程序后62H= 7分CLR CMOV A,9AHSUBB A,60HADD A,61HDA AMOV 62H,A答: 1、该程序是单字节BCD码运算,是将61H—60H→62H2、62H=38H2、编写一程序将片外数据存储器中7000H~70FFH单元全部清零; 8分ORG 1000HMOV DPTR,7000HCLR AMOV R0,ALOOP:MOVX DPTR,ADJNZ R0,LOOPJMP $S五、MCS-51单片机外扩展一片8255,画出系统电路原理图,写出地址分布;15分8255A可以直接与MCS-51单片机进行接口,其连接图如图所示;8255A的A0、A1分别接地址总线的A0、A1,片选端接口,因此8255A PA口地址为7FFCH、PB口地址为7FFDH、PC口地址为7FFEH、控制口地址为7FFFH;六、编写交通灯控制程序;在十字路口东西南北各设置红、黄、绿三种信号灯,东西方向A线通车时,东西方向绿灯亮、南北方向B线红灯亮;东西方向通车时间30秒到后,东西方向的绿灯亮,黄灯亮3秒,之后由东西方向切换到南北方向通车,此时东西方向黄灯灭,红灯亮,南北方向红灯灭、绿灯亮,南北方向开始通车;通车时间60秒到后,南北方向的绿灯亮,黄灯亮3秒,之后由南北方向切换到东西方向通车,如此循环;20分ORG 2000HMAIN: MOV P1,0CH;A线放行、B线禁止MOV R7,19H;延时秒数MAIN1: LCALL DELAY;1秒延时子程序DJNZ R7,MAIN1MOV P1,0AH;A线警告、B线禁止MOV R7,05H;延时秒数MAIN2: LCALL DELAY;1秒延时子程序DJNZ R7,MAIN2MOV P1,21H;A线禁止、B线放行MOV R7,19H;延时秒数MAIN3: LCALL DELAY;1秒延时子程序DJNZ R7,MAIN3MOV P1,11H;A线放行、B线警告MOV R7,05H;延时秒数MAIN4: LCALL DELAY;1秒延时子程序DJNZ R7,MAIN4AJMP MAIN1秒延时子程序:ORG 2100HDEY1S:MOV R1,02H;LOOP3:MOV R2,C8H;LOOP2:MOV R3,FAH;LOOP1:NOPNOPNOPDJNZ R3,LOOP1DJNZ R2,LOOP2DJNZ R1,LOOP3RET试题二一、填空每空 2 分,共 40 分1、MCS-8051系列单片机字长是 8位,有 40根引脚,96系列字长是 16 位;单片机的特点有体积小、价格低、功能全 ;2、8051单片机的存储器的最大特点是指令存储器与数据存储器分开编址 ,Px并行口的地址是与数据存储器统一编址的,或者说属于该存储器;3、8051最多可以有 4 个并行输入输出口,最少也可以有1个并行口,即 P1 ;P3常需复用作串行通信、外部中断、外部计数脉冲和读写控制信号;4、ALE信号的作用是低8位地址锁存 ;5、8051复位后,PC= 07 H;若希望从片内存储器开始执行,EA脚应接高电平,PC 值超过 0FFF H时,8051会自动转向片外存储器继续取指令执行;6、8051的C/T是加加或减计数的;7、8051的中断向量表在 3 H、 0B H和13H、1BH、23H;8、MOV A,40H 指令对于源超作数的寻址方式是直接寻址;9、指令JB 0A7H,ABC的作用是若P2口的第7位为1则跳转到ABC ;0A7H是的地址10、将CY与A的第0位的非求或的指令是 ORL C,/ ,若原A=0,执行后A= 0 ;2、已知A = 0F8H,当执行ADD A,0A9H指令后,PSW中的OV、CY、AC、P各为多少若是有符号数,A中的结果用十进制表示是多少共 5 分解答 OV:0、CY:1、AC:1、P:1 A:-953、在两个8051间用模式2进行串行通信,A机并行采集外部开关的输入,然后串行传输给B机;B机接收后并行输出控制LED发光;画出连接示意图,写出完整的程序;共 15 分A机程序 ORG 0000HAJMP STARTORG 4100HSTART:MOV P1,0FFHMOV SCON,80HAGAIN1:MOV SBUF,P1JNB TI,$CLR TISJMP AGAIN1ENDB机程序 ORG 0000HAJMP STARTORG 4100HSTART:MOV SCON,90HAGAIN1:JNB RI,$MOV P1,SBUFCLR RISJMP AGAIN1END4、将8051外部扩展2K EPROM,同时扩展16K RAM作数据存储器,采用的2716是2K的EPROM芯片,6264是8K的RAM芯片,74LS373是8位锁存器;请画出连接示意图;要求画出8051的数据、地址、ALE、PSEN、RD、WR信号;锁存器的数据入D、数据出Q、锁存控制G、OE;2716的A、数据O、片选CE、输出使能OE;6264的A、D、CE、OE、WE;最后写出各片的地址范围;共 12 分数据线8根从P1直接到2716的O、两片6264的D;地址线低8位从P0经锁存器后到各片内地址口,高8位从P2出0-2三位直接到2716的地址口,0-4五位直接到两片6264内接一片6264的CE,经非门后接另一片6264;ALE接锁存器的G,锁存器OE接地,PSEN接2716的OE,WR接6264的WE,RD接OE; 2716:0-7FFH,6264:0-1FFFH,2000H-3FFFH5、编写一段子程序,将二位压缩的BCD码转换为二进制数,入口、出口均是A;若是非法的BCD码,则A返回值为255;共10分6、用8051输出控制8个LED从LED1到LED8、再到LED1…,每次一个LED发光,并不断循环;一个开关控制引起中断,电平触发,中断后8个LED一起闪5下,然后恢复前面的循环;画出连接示意图,写出完整的程序;软件延时用循环5126200次控制共10分五、SUBP:MOV R1,AANL A, 0F0HSWAP ACJNE A, 10, NEXT1NEXT1:JNC ERRORMOV B, 10MUL AB<DIV六、 ORG 0000H LJMP STARTORG 3HLJMP INT00 START:SETB EA SETB EX0CLR IT0MOV A, 1 AGAIN:MOV P1,A ACALL DELAYRL ASJMP AGAIN DELAY:MOV R1,5 LOOP1:MOV R2,200 LOOP2:MOV R3,126 DJNZ R3,$DJNZ R2,LOOP2 DJNZ R1,LOOP1 RETINT00:PUSH ACCPUSH 1PUSH 2PUSH 3MOV R4,5AGAIN:MOV P1,0FFHACALL DELAYMOV P1,0ACALL DELAYDJNZ R4,AGAINPOP 3POP 2POP 1POP ACCRETIEND7、简单叙述8051的C/T0的四种工作模式和串行通信的四种工作模式;共 8 分试题三1、填空每空 2 分,共 40 分1、MCS-8051系列单片机字长是 8位,有40根引脚,96系列字长是 16位;单片机的特点有体积小、价格低、功能全 ;2、8051单片机的存储器的最大特点是指令存储器与数据存储器分开编址 ,Px并行口的地址是与数据存储器统一编址的,或者说属于该存储器;3、8051最多可以有 4 个并行输入输出口,最少也可以有1个并行口,即 P1 ;P3常需复用作串行通信、外部中断、外部计数脉冲和读写控制信号;4、ALE信号的作用是低8位地址锁存 ;5、8051复位后,PC= 0 H;若希望从片内存储器开始执行,EA脚应接高电平,PC 值超过 0FFF H时,8051会自动转向片外存储器继续取指令执行;6、8051的C/T是加加或减计数的;7、8051的中断向量表在 3 H、 0B H和13H、1BH、23H;8、MOV A,40H 指令对于源超作数的寻址方式是直接寻址;9、指令JB 0A7H,ABC的作用是若P2口的第7位为1则跳转到ABC ;0A7H是的地址10、将CY与A的第0位的非求或的指令是 ORL C,/ ,若原A=0,执行后A= 0 ;2、已知A = 0F8H,当执行ADD A,0A9H指令后,PSW中的OV、CY、AC、P各为多少若是有符号数,A中的结果用十进制表示是多少共 5 分解答 OV:0、CY:1、AC:1、P:1 A:-953、在两个8051间用模式2进行串行通信,A机并行采集外部开关的输入,然后串行传输给B机;B机接收后并行输出控制LED发光;画出连接示意图,写出完整的程序;共 15 分4、将8051外部扩展2K EPROM,同时扩展16K RAM作数据存储器,采用的2716是2K的EPROM芯片,6264是8K的RAM芯片,74LS373是8位锁存器;请画出连接示意图;要求画出8051的数据、地址、ALE、PSEN、RD、WR信号;锁存器的数据入D、数据出Q、锁存控制G、OE;2716的A、数据O、片选CE、输出使能OE;6264的A、D、CE、OE、WE;最后写出各片的地址范围;共 12 分数据线8根从P1直接到2716的O、两片6264的D;地址线低8位从P0经锁存器后到各片内地址口,高8位从P2出0-2三位直接到2716的地址口,0-4五位直接到两片6264内接一片6264的CE,经非门后接另一片6264;ALE接锁存器的G,锁存器OE接地,PSEN接2716的OE,WR接6264的WE,RD接OE; 2716:0-7FFH,6264:0-1FFFH,2000H-3FFFH5、编写一段子程序,将二位压缩的BCD码转换为二进制数,入口、出口均是A;若是非法的BCD码,则A返回值为255;共10分6、用8051输出控制8个LED从LED1到LED8、再到LED1…,每次一个LED发光,并不断循环;一个开关控制引起中断,电平触发,中断后8个LED一起闪5下,然后恢复前面的循环;画出连接示意图,写出完整的程序;软件延时用循环5126200次控制共10分五、SUBP:MOV R1,AANL A, 0F0HSWAP ACJNE A, 10, NEXT1NEXT1:JNC ERRORMOV B, 10MUL ABXCH A, R1ANL A, 0FHCJNE A, 10,NEXT2NEXT2:JNC ERRORADD A, R1RETERROR:MOV A,255RET六、 ORG 0000H LJMP STARTORG 3HLJMP INT00 START:SETB EA SETB EX0CLR IT0MOV A, 1 AGAIN:MOV P1,A ACALL DELAYRL ASJMP AGAIN DELAY:MOV R1,5 LOOP1:MOV R2,200 LOOP2:MOV R3,126 DJNZ R3,$DJNZ R2,LOOP2 DJNZ R1,LOOP1 RETINT00:PUSH ACC PUSH 1PUSH 3MOV R4,5AGAIN:MOV P1,0FFHACALL DELAYMOV P1,0ACALL DELAYDJNZ R4,AGAINPOP 3POP 2POP 1POP ACCRETIEND一、填空与说明题1、8051单片机的内部硬件结构包括了:、、、以及片内数据储存器、片内程序储存器、并行I/O 位出力器等部件,这些部件通过相连接;2、MCS-51单片机的PO-P4口,其中的PO口和P2口除了可以进行数据的输入、输出外,通常还用来构件系统的和在PO~P4口中, 位真正的双向口, 为准双向口;3、请说明MCS-51单片机程序状态字PSW中的各位的含义;CY AC FO RS1 RS0 OV / PAC:FO:用户标志位RS1、RS0:工作积存器区选择位OV:P:4、单片机系统中经常采用的地址择码技术包括方法和方法;5、INTEL8279是一种专用于和芯片;当8279的引脚AO为“1”时,CPU对8279写入的数据为 ,读出的数据为;;二、简答题12分1、 MCS-51系列单片机具有几个中断源分别是如何定义的其中哪些中断源可以被定义为高优先级中断如何定义2、各中断源对应的中断服务程序的入口地址是否能任意设定3、如果想将中断程序设置在程序储存区的任意区域,在程序中应该作何种设置请举例加以说明;三、参数计算题12分已知亿MCS-51单片机系统是拥10MHZ的外部晶体振荡器,请问:1、该片机系统的状态周期与机器周期各为多少2、该单片机的定时器OTO工作在方式2时,TO的最大定时时间为多少3、当单片机的定时器OTO工作在方式2时,要求每记满250us便生产一次定时器溢出,请问,TO中需要预置的初始值应为多少四、改错题10分请判断MCS-51单片机的下列各条指令的书写格式是否有错误,如有请说明错误原因;1、CLR A2、MUL R0,R13、MOV DPTR,1050H4、 MOV A,R75、 ADD 30H,20H6、 MOV R1,C7、 JMP RO+DPTR8、 MOV A,3000H9、 MOVC A+DPTR,A10、 MOVX A,A+DPTR五、程序分析题8分设在MCS-51单片机片内RAM中,20H=40H,40H=22H,22H=10H,P1=0CFH,当下列程序执行完毕后,各单元的内容分别为多少请填入给定的各个寄存器及片内单元中; MOV RO,20HMOV A,ROMOV R1,AMOV B,R1MOV R1,R1MOV P3,P1A= B= R0= R1=P1= P3= 20H= 22H=六、编程题20分,其中编程14分,表中每一空1分,共6分已知一MCS-51单片机系统的片外 RAM的30H、31H单元分别存放了8单元无符号数AFH和61H,是编程完成以上两个单元中的五符号数相加,并将和值送住片外RAM 的8000H单元中,同时将所编写程序运行完毕后的数据填入表中的PRW的有关为以及寄存器A、DPTR和片外RAM单位中;CY A DPTR 片外31H 片外30H 片外8000H程序:七、判读电路题12分下图为MCS-51单片机系统中扩展程序储存器2764、以及外部扩展接口的部分连接电路图;试分析电路图并会下列问题:1、请给出2764所占用的单片机程序存储空间的地址范围;2、在这种电路连接下,74LS2445是作为输入接口使用还是作为输出接口使用,为什么它所占用的单片机数据存储空间的地址范围是多少3、在这种电路连接下,74LS373U6是作为输入接口使用还是作为输出接口使用,为什么它所占用的单片机数据存储空间的地址范围是多少单片机试题一、填空题每空1分,共10分1.当使用8031单片机时,需要扩展外部程序存储器,此时EA应为_低电平________;通常用作__单片机系统的地址/数据总线_______;3.若由程序设定RS1、RS0=10,则工作寄存器R0~R7的直接地址为____10H~17H_____;4.返回地址或断点是_在程序中断或子程序调用时________的程序计数器的内容;5.中央处理器CPU是单片机的核心,它完成运算和控制功能_________;6.单片机的工作过程,实际上就是周而复始的取指令和执行指令的过程_________;7.所谓中断源即是______引起中断的原因__;8.端口或称口是___接口电路中已编址并能进行读或写操作的寄存器______;9.异步串行近程通信时的传送信号是TTL电平信号_________;10.若累加器A中的数据为01110010B,则PSW中的P=_____0____;二、单项选择题在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内;每小题1分,共10分—51单片机的复位信号是有效;A.高电平B.低电平C.脉冲D.下降沿2.若MCS-51单片机使用晶振频率为6MHz时,其复位持续时间应该超过 ;μs μs μs3.若=0,=1,要想把寄存器R0的内容入栈,应使用指令;R0 R000H 08H4.能够用紫外光擦除ROM中程序的只读存储器称为 ;A.掩膜ROM5.在片外扩展一片2764程序存储器芯片要地址线;根根根根6.定时器/计数器工作方式1是 ;位计数器结构个8位计数器结构位计数结构位计数结构7.设MCS-51单片机晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率应为8.已知1只共阴极LED显示器,其中a笔段为字形代码的最低位,若需显示数字1,它的字形代码应为 ;9.下列数据字定义的数表中, 是错误的;“AA” “A”“OABC”10.串行口的控制寄存器SCON中,REN的作用是 ;A.接收中断请求标志位B.发送中断请求标志位C.串行口允许接收位D.地址/数据位三、简答题每小题4分,共20分1.简述堆栈;2.简述变址寻址方式并举例说明;3.简述中断响应的主要内容;4.简述汇编语言中的标号有什么规定D转换器转换数据的传送有几种方式四、读程序每小题4分,共20分1.执行下列程序段中第一条指令后,1=____ =_____, =_________;执行第二条指令后,2=_________,=_________,=_________;ANL P1,73HORL P1,38H2.下列程序段执行后,A=_________,B=_________;MOV A,0FBHMOV B,12HDIV AB3.下列程序段执行后,R0=_________,7EH=_________,7FH=_________;MOV R0,7FHMOV 7EH,0MOV 7FH,40HDEC R0DEC R0DEC R04.已知SP=09H,DPTR=4567H,在执行下列指令后,SP=_________,内部RAM0AH=_________,0BH=_________PUSH DPLPUSH DPH5.下列程序中注释的数字为执行该指令所需的机器周期数,若单片机的晶振频率为6MHz,问执行下列程序需要多少时间MOV R3,100;1LOOP:NOP ;1NOPNOPDJNZ R3,LOOP ;2RET ; 2五、编程题每小题4分,共20分1.请使用位操作指令,实现下列逻辑操作:=∧∨∧2.在外部RAM首地址为TABLE的数据表中有10个字节数据,请编程将每个字节的最高位无条件地置1;3.已知内部RAM 30H单元开始存放20H个数据,将其传送到外部RAM的0000H单元开始的存储区,请编程实现;4.已知8个无符号数之和存于R3R4,求其平均值,结果仍存于R3R4中,请编程实现R3为高字节;5.两个字符串分别存放在首地址为42H和52H的内部RAM中,字符串长度放在41H 单元,请编程比较两个字符串;若相等,则把数字00H送40H单元,否则把0FFH送40H单元;六、综合应用题每小题10分,共20分1.用8031单片机,并采用一片27162KB和一片61162KB组成一个既有程序存储器又有数据存储器的扩展系统,请:1画出逻辑电路图2说明其存储空间2.已知D/A转换器DAC 0832如图所示,口地址为7FFFH,运放电源为+5V,Vref=+5V,请1画出单缓冲接口方式电路2编程产生正向锯齿波单片机试题1参考答案一、填空题每空1分,共10分1.低电平2.单片机系统的地址/数据总线~17H4.在程序中断或子程序调用时5.运算和控制功能6.周而复始地取指令和执行指令的过程7.引起中断的原因或能发出中断请求的来源8.接口电路中已编址并能进行读或写操作的寄存器电平信号二、单项选择题每题1分,共10分三、简答题每题4分,共20分1.1在程序中断或子程序调用时,为了保护返回地址断点和保护现场而设立的RAM 区;2用MOV SP,STK指令建立堆栈;3存放数据按“后进先出”原则进行;4利用PUSH、POP指令即可进行进栈、出栈操作;2.1变址寻址是以DPTR或PC作基址寄存器,累加器A作变址寄存器以两者内容相加形式的16位地址作为操作数地址;2变址寻址只能对移定存储器寻址,其指令只有三条:MOVC A,A+DPTRMOVC A,A+PCJMP A+DPTR前二条为查表指令,后一条为无条件转移指令3.由硬件自动生成一条调用指令LCALL转去中断服务,具体操作为:1将程序计数器PC的内容断点压栈2将中断入口地址装入PC,转去执行中断服务程序4.1标号由1—8字符组成,头一个字符必须是字母;2不能使用汇编语言已定义的符号;3标号后必须跟冒号:4同一标号在一个程序中只能定义一次;5.1定时传送方式:A/D启动后,调用延时时间大于转换时间的延时程序后即可读取;2查询方式:A/D启动后,查询EOC转换结束信号,转换一完成即可读取转换数据; 3中断方式:将EOC作为外中断请求信号,转换一结束,即引起中断,读取转换数据;四、读程序每题4分,共20分1.1P1,7=0,,=0,=02=1,=1,=12.A=0DH或13B=11H或173.R0=7EH,7EH=FFH,7FH=3FH4.SP=0BH0AH=67H0BH=45H5.一个机器周期为2μs执行程序所需时间T=2μs5×100+3=1006μs≈1ms五、编程题每题4分,共20分1.先进行与操作,再进行或操作程序如下:MOV C,ANL C,P2,0MOV 12H,CMOV,C,AANL C,ORL C,12HRET2. MOV R2,10MOV DPRT,TABLELOOP: MOV X A,DPRT;取一数ORL A,80H;最高位置1MOV X DPTR,A;写回原地址1NC DPTR;处理下一单元DJNZ R2,LOOPRET3. MOV R0,30HMOV R1,00HMOV R2,20HLOOP: MOV A,R0;取数MOV X R1,A;存数1NC R01NC R1DJNZ R2,LOOPRET4.利用移位指令作除8操作,程序如下: MOV R2,3LOOP:CLR CRRC A ;高字节除以2,末位移入C,高位补0MOV R3,A ;暂存高字节MOV A,R4RRC A ;低字节除以2,高字节末位移入低字节高位MOV R3,ADJNZ R2,LOOPRET5.有一个字节不等,整个字符串不相等,所有字节相等,两字串才相等 MOV R0,42HMOV R1,52HLOOP:MOV A,R0CLR C ;不相等,FFH→40HSUBB A,R1JNZ LOOP1 ;相等时,比较下一字节INC R0INC R1DJNZ 41H,LOOPMOV 40H,0 ;所有字符均相等,则两字串相等;RETLOOP1:MOV 40H,0FFHRET六、综合应用题每题10分,共20分1.1逻辑图2地址:…2.12程序DASAW:MOV DPTR,7FFFHMOV,A,0LOOP:MOVX DPRT,A1NC ANOPAJMP LOOP。
单片机考试试题与答案

单片机判断题1`当EA脚接高电平时,对ROM的读操作只访问片外程序存储器。
错2`80C51单片机包含4K的ROM,256字节的RAM,6个中断源。
错3`单片机内部RAM和外部RAM是统一编址的,它们的访问指令相同。
错4`MCS-51的程序存储器用于存放运算中间结果。
错5`单片机系统扩展时使用的锁存器,是用于锁存高8位地址。
错6`cpu的时钟周期为振荡器频率的倒数。
对7`外部中断0中断的入口地址是0004h。
错8`当EA脚接高电平时,对ROM的读操作只访问片外程序存储器。
错9`8155是一种8位单片机。
错10`低优先级不能中断高优先级,高优先级不能中断优先级。
错11`mcs-51的产品8051与8031的区别是:8031片内无rom。
对12`单片机的复位有上电自动复位和按钮手动复位两种,当单片机运行出错或进入死循环时,可按复位键重新启动。
对14`每个特殊功能寄存器都既有字节地址,又有位地址。
错我国的市电是220V,因此单片机直接使用220v交流电更方便。
错在计算机中,人们更多使用十进制数,因为十进制符合人的一般思维。
错()必须有中断源发出中断请求,并且CPU开中断,CPU才可能响应中断。
对单片机体积很小,所以只能用在小型仪器中,大型仪器不能使用。
错数码管动态显示能够同时显示多位数码管,但实际上仍然一次只点亮一位数码管。
对利用Proteus软件可以实现虚拟仿真,大大提高开发效率。
对()MCS-51的定时器/计数器对外部脉冲进行计数时,要求输入的计数脉冲的高电平或低电平的持续时间不小于1个机器周期。
错单片机P3口每个引脚都具备第二功能,有时候会引起混乱。
错()mcs-51单片机的特殊功能寄存器集中布置在片内数据存储器的一个区域中。
对因为片外数据存储区容量比较大,所以程序可以存放到该处。
错在AT89S51中,中断请求的撤销是可以自动实现的。
错()特殊功能寄存器SP内装的是栈顶首地址单元的内容。
错INTEL8051的PSW中CY为进位标志,OV为溢出标志,P为奇偶标志。
西单电子科技大学出版社单片机原理及应用第4章习题

西单电⼦科技⼤学出版社单⽚机原理及应⽤第4章习题第4章习题⼀、填空题1、AT89C51单⽚机(内部有4K字节Flash程序存储器)再加上外接的电路和电路即可构成最⼩系统。
2、8031单⽚机加上外接的时钟电路、电路和存储器才可构成最⼩系统。
3、8051单⽚机以总线的⽅式进⾏系统扩展时,⽤于⽚外程序存储器的取指控制信号;⽤于⽚外数据存储器的写控制信号。
4、8051以总线的⽅式扩展并⾏I/O⼝(16位地址)时,⽤于向扩展出的并⾏I/O ⼝写数据的指令是;⽤于从扩展出的I/O⼝读数据的指令是。
⼆、单项选择题1、2764是⼀种EPROM芯⽚,容量为8K个字,每个字8bit,则()A、该芯⽚有8根数据线B、该芯⽚有13根地址线C、该芯⽚有16根地址线D、该芯⽚有12根地址线2、某常⽤EPROM芯⽚,有11根地址线,有8根数据线,则其容量为()A、16K位B、2K位C、256*11位D、219位3、2114是⼀种1K×4位RAM芯⽚,如果⽤它扩展4K×8位RAM,则需要( )⽚2114芯⽚A、4B、8C、16D、324、2732是⼀种4K×8位EPROM芯⽚,如果⽤它扩展16K×8位ROM,则需要( )⽚2732芯⽚A、4B、8C、16D、25、2864是⼀种8K×8位E2PROM芯⽚,如果⽤它扩展32K×16位ROM,则需要( )⽚2864芯⽚A、4B、8C、16D、26、6116是⼀种2K×8位静态RAM芯⽚,如果⽤它扩展4K×32位ROM,则需要( )⽚6116芯⽚A、4B、8C、16D、27、2817A是⼀种2K×8位EEPROM芯⽚,如果⽤它扩展4K×16位EEPROM,则需要( )⽚2817A芯⽚A、4B、8C、16D、28、6264是⼀种8K×8位静态RAM芯⽚,则其地址线和数据线分别为()A、12根、8根B、13根、8根C、16根、4根D、8根、16根三、简答题1、51单⽚机扩展外部ROM如右图所⽰,则:2764(1)的基本地址范围为2764(2)的基本地址范围为2、8051单⽚机在系统扩展时,会涉及到存储器芯⽚地址线和8051地址总线连接问题,对多于地址线的处理有哪两种⽅式?如果只扩展了1⽚RAM芯⽚HY6264(8K×8位),要使其地址范围唯⼀,应该采⽤哪种处理⽅式?3、下图8051单⽚机扩展并⾏输⼊⼝电路,写出接⼝芯⽚的地址范围,⽤汇编语⾔实现:读取数据到寄存器R2中。
IO接口电路及其扩展

;写控制字
LD:
;最左边灯亮 ;指向B口 ;取显示数据
;查数据编码 ;写B口 ;延时
39
MB DB DB DB DB DB DB DB MOV MOV DJNZ DJNZ
A, R3
A R3, A LD 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH R7, #02H R6, #FFH R6, LOOP R7, DELAY
6
+5V
P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7
1Y1 1Y2 1Y3 1Y4 1Y5 1Y6 1Y7 1Y8 1G 2G 7 4 L S 2 4 4 1A1 1A2 1A3 1A4 1A5 1A6 1A7 1A8
MCS-51
P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 RD WR
MOV DPTR, #0FEFFH MOVX A,@DPTR ;确定扩展芯片地址 ;将扩展输入口内容读入累加器A
当与74LS244相连的按键都没有按下时,输入全为 8 1,若按下某键,则所在线输入为0。
典型芯片—74LS245
9
图13-3 74LS244构成的简单输入端口(b)
10
13.1.3 简单的并行口输出
CS:片选信号线,低电平有效。
RD:读信号,控制8255A将数据或状 态信息送给CPU。 WR:写信号,控制CPU将数据或控制 信息到8255A。
A1,A2:地址线,这两个引脚上的信 号组合绝对对8255A内部的哪一个口或 寄存器进行操作。
22
8255的操作表
表13-1 8255的操作
/CS 0 0 0 0 A1 A0 00 01 10 11 WR 0 0 0 0 RD 1 1 1 1 操作 总线=>端口A 总线=>端口B 总线=>端口C 总线=>命令控制字
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
即320us中要启动N次,启动周期为t=250us/N
查表就是查启动周期
*/
//调试:频率可改变,但频率不准,范围1~3KHZ,超过这范围又回到2KHZ
Addr_0832 XDATA 0FF00H
ORG 0000H
AJMP START
CJNE R0,#28H,GO0
MOV R0,#14H
GO0:
RETI
EXINT1:
DEC R0
DEC R0
CJNE R0,#0H,GO1
MOV R0,#14H
GO1:
RETI
TAB: ; 1HZ~3KHZ
DB 0FFH,0FAH,0FFH,0F9H,0FFH,0F9H,0FFH,0F8H,0FFH,0F7H
AJMP START1
T0INT:
MOV DPTR,#TAB;TH/TL重赋值
MOV A,R0
MOVC A,@A+DPTR
MOV TH0,A
INC R0
MOV A,R0
MOVC A,@A+DPTR
MOV TL0,A
DEC R0
MOV R6,#0FFH
CLR TR0
SETB TR1
RETI
T1INT:
}
}
3、通过DAC0832输出正弦波,初始频率为100HZ。
原理图:
流程图:
开始
0->R0
R0->A,TAB->DPTR
(A+DPTR)->A
0832->DPTR
A->(DPTR)
延时、R0+1->R0
汇编源程序:
Addr_0832 XDATA 0FF00H
ORG 0000H
AJMP START
ORG 0100H
START:
MOV SP,#60H
MOV R1,#00H ;取表格初值
LOOP:;在表格里取数送到指定地址
MOV A,R1
MOV DPTR,#SETTAB
MOVC A,@A+DPTR
MOV DPTR,#Addr_0832
MOVX @DPTR,A
ACALL DELAY
;
INC R1 ;表格加一
AJMP LOOP ;循环
ORG 000BH
AJMP T0INT
ORG 0003H
AJMP EXINT0
ORG 0013H
AJMP EXINT1
ORG 0100H
START:
MOV SP,#60H
MOV TMOD,#01H ;开定时器0
SETB ET0
MOV TH0,#0FFH
MOV TL0,#0EFH
SETB EA
SETB TR0;T0自启动
TH0=TAB[b];
b=b+1;
TL0=TAB[b];//时间1ms
b=b-1;
TR1=1;//开中断T1
}
void timer1(void) interrupt 3 using 1
{
TR1=0;//关自身中断
TH1=TAB[b];
b=b+1;
TL1=TAB[b];//时间1ms
b=b-1;
TR0=1;//开另一个中断
T0INT:;17.36
PUSH ACC;保护A值
MOV DPTR,#TAB;TH/TL重赋值
MOV A,R0
MOVC A,@A+DPTR
MOV TH0,A
INC R0
MOV A,R0
MOVC A,@A+DPTR
MOV TL0,A
DEC R0
POP ACC
RETI
EXINT0:
INC R0
INC R0
DELAY: ;7ms/256=27.34375US
MOV R5,#0CH
DJNZ R5,$
RET
SETTAB:
;正弦表格256个,一趟要3ms
DB 80H,83H,86H,89H,8DH,90H,93H,96H
DB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH
0xff,0x06,0xff,0x12,0xff,0x1d,0xff,0x27,0xff,0x30,
0xff,0x38,0xff,0x40,0xff,0x47,0xff,0x4d,0xff,0x54,
0xff,0x59};
void timer0(void) interrupt 1 using 1
{
TR0=0;//关中断T0
0xff,0xef,0xff,0xed,0xff,0xeb,0xff,0xe8,0xff,0xe6,
0xff,0xe3,0xff,0xe0,0xff,0xdc,0xff,0xd7,0xff,0xd2};
void timer0(void) interrupt 1 using 1
{
TR0=0;//关中断T0
DB 0FFH,06H,0FFH,12H,0FFH,1DH,0FFH,27H,0FFH,30H
DB 0FFH,38H,0FFH,40H,0FFH,47H,0FFH,4DH,0FFH,54H
DB 0FFH,59H
END
C语言源程序:
//只是实现能调节频率,其它的没有深究
#include<reg51.h>
TH0=0xff;
TL0=0xef;
TH1=0xff;
TL1=0xef;
ET0=1;
ET1=1;
EA=1;
TR1=0;
TR0=1;//T0自启动
IT0=1;
EX0=1;
IE0=0;
IE1=0;
IT1=1;
EX1=1;
EA=1;
while(1)
{
Addr_0832 = disnum;
disnum=disnum+8;
MOV DPTR,#TAB;TH/TL重赋值
MOV A,R0
MOVC A,@A+DPTR
MOV TH1,A
INC R0
MOV A,R0
MOVC A,@A+DPTR
DEC R0
MOV TL1,A
MOV R6,#0H
CLR TR1
SETB TR0
RETI
EXINT0:
INC R0
INC R0
CJNE R0,#2AH,GO0
//频率范围1KHZ~3KHZ
//实现效果可以调节,由小精灵计算出的频率存在误差
//当调到3KZ或者1KHZ时,又回到1KHZ
Addr_0832 XDATA 0FF00H
ORG 0000H
AJMP START
ORG 000BH
AJMP T0INT
ORG 001BH
AJMP T1INT
ORG 0003H
EA=1;
while(1)
{
Addr_0832 = a;
delay();
delay();
}
}
const unsigned char TAB[]={
0xfe,0x0c,0xfe,0x3a,0xfe,0x5f,0xfe,0x7f,0xfe,0x9b,
0xfe,0xb3,0xfe,0xc8,0xfe,0xda,0xfe,0xea,0xfe,0xf9,
原理图:
流程图:
开始定时0定时1
开定时T0,自启动保护A值R0-2->R0
赋选频初值用R0查表赋初值
恢复A值返回
开中断0、1
返回
14H->R0,0->A
中断0
A+8->A
0832->DPTR R0+2->R0
A->(DPTR)
返回
汇编源程序:
/*
采用查表调频率,查表思想是:自启动查表一次花费17.36us,而不用查表的时候要周期才0.25ms
MOV R0,#14H
GO0:
RETI
EXINT1:
DEC R0
DEC R0
CJNE R0,#0H,GO1
MOV R0,#14H
GO1:
RETI
TAB: ;1KHZ~3KHZ
DB 0FEH,0CH,0FEH,3AH,0FEH,5FH,0FEH,7FH,0FEH,9BH
DB 0FEH,0B3H,0FEH,0C8H,0FEH,0DAH,0FEH,0EAH,0FEH,0F9H
}
void exint0(void) interrupt 0 using 1
{
b=b+2;
if(b==40)
b=20;
}
void exint1(void) interrupt 2 using 1
{
b=b-2;
if(b==0)
b==20;
}
main()
{
int disnum=0;
TMOD=TIMEINT;//开启中断
实验十二并行8位D/A(电压输出)实验
一、实验目的:
1、了解DAC0832的基本原理和转换性能;
2、掌握DAC0832与8051单片机的接口方法及编程方法。
二、实验内容:
1、编写程序,通过DAC0832输出方波,初始频率为2KHZ,频率可以通过按键”0”和”1”进行步进调节,按一下”0”频率增加100HZ,按一下”1”频率降低100HZ。
delay()//延时
{
unsigned char i=40;
while(i--)
{ ; }
}
const unsigned char TAB[]={