南邮单片机复习.docx
- 文档编号:25349920
- 上传时间:2023-06-07
- 格式:DOCX
- 页数:18
- 大小:116.64KB
南邮单片机复习.docx
《南邮单片机复习.docx》由会员分享,可在线阅读,更多相关《南邮单片机复习.docx(18页珍藏版)》请在冰豆网上搜索。
南邮单片机复习
南邮单片机复习
第一章
4.把下列十六进制数转换为二进制数和十进制数。
(3)0F1.CH11110001.11B241.75
(4)20FAH100000111110108442
13.什么是单片机?
单片机与微机相比有何特点?
单片机(Single-Chip-Microcomputer)又称单片微控制器,其基本结构是将微型计算机的基本功能部件:
中央处理机(CPU)、存储器、输入接口、输出接口、定时器/计数器、中断系统等全部集成在一个半导体芯片上。
1).单片机其体积小、功耗低、价格低廉;
2).单片机结构上的设计,在硬件、指令系统及I/O能力等方面都有独到之处,具有较强而有效的控制功能;
3).单片机是一个芯片,只有外加所需的输入、输出设备,才可以构成实用的单片机应用系统。
补充问:
当前主流的通用型单片机有哪些?
答:
现在流行的单片机;
a.C8051F系列;
寄存器区、位寻址区、堆栈及数据存储区。
存放程序运算的中间结果、状态标志位等。
高128B为特殊功能寄存器(SFR)区,地址空间为80H~FFH,其中仅有21个字节单元是有定义的。
6.MCS-51单片机的P0~P3四个I/O端口在结构上有何特点?
使用时应注意哪些事项?
答:
(1)4个并行I/O端口都是双向的。
P0口为漏极开路;
P1、P2、P3口均有内部上拉电路,称为准双向口。
(2)所有32条并行I/O线都能独立地用作输入或输出。
(3)当并行I/O线作为输入时,该口的锁存器必须写入‘1’。
(4)P0、P2口除了可用于数据的输入/输出外,通常是用来构建系统的数据总线和地址总线。
(5)P3口的口线具有的第二功能,为系统提供了一些控制信号。
9.指出8051可进行位寻址的存储空间。
答:
00~7FH(即20H.0~2FH.7)及SFR地址能被8整除的寄存器中的各位。
12.什么是时钟周期?
什么是机器周期?
什么是指令周期?
当振荡频率为12MHz时,一个机器周期为多少微秒?
答:
时钟周期:
也称振荡周期,即振荡器的振荡频率fosc的倒数,是时序中最小的时间单位。
机器周期:
执行一条指令的过程可分若干个阶段,每一阶段完成一规定的操作,完成一个规定操作所需要的时间称为一个机器周期,一个机器周期包含12个时钟周期。
当振荡频率为12MHz时,一个机器周期为12/(12×1000000)秒=1微秒
指令周期:
定义为执行一条指令所用的时间。
当振荡频率为12MHz时,一个指令周期为1、2、4
us。
补充问:
说说近年来出现的单片机片内存储器包含哪些种类。
答:
近年来出现的单片机片内存储器包含ROM和RAM,一般ROM都是FLASH,有些单片机片内还包含EEPROM。
单片机片内RAM都是SRAM.
第三章
8.查找20H~4FH单元中出现00H的次数,并将查找结果存入50H单元。
MOVR3,#30H
MOVR0,#20H
MOV50H,#00H
LOP:
MOVA,@R0
JZLOP1
LOP3:
INCR0
DJNZR3,LOP
AJMPLOP2
LOP1:
INC50H
AJMPLOP3
LOP2:
AJMPLOP2
9.已知A=83H,R0=17H,(17H)=34H,写出下列程序段执行完后的A中的内容。
ANLA,#17H
ORL17H,A
XRLA,@R0
CPLA
(A)=11001011B=0CBH
21.内部RAM的DATA1和DATA2单元开始存放着两个等长的数据块,数据块的长度在LEN单元中。
请编程检查这两个数据块是否相等,若相等,将0FFH写入RESULT单元,否则将0写入RESULT单元。
MOVR0,#DATA1
MOVR3,LEN
LOP:
MOVA,@R0
CJNZA,DATA2,LOP1
INCR0
INCDATA2
DJNZR3,LOP
MOVA,#0FFH
MOVRESULT,A
AJMPLOP2
LOP1:
MOVA,#0
MOVRESULT,A
LOP2:
AJMPLOP2
END
第4章习题答案
7.当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,问在什么情况下可响应新的中断请求?
在什么情况下不能响应新的中断请求?
答:
当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,当新中断源中断级别比正在执行中断源的中断级别高时可响应新的中断请求,否则不能响应新的中断请求。
9.8051单片机有5个中断源,但只能设置两个中断优先级,因此,在中断优先级安排上受到一定的限制。
问以下几种中断优先级顺序的安排(级别由高到低)是否可能?
如可能,则应如何设置中断源的中断级别?
否则,请叙述不可能的理由。
(1)定时器0,定时器1,外中断0,外中断1,串行口中断。
可能。
其中:
定时器0,定时器1为高优先级。
(2)串行口中断,外中断0,定时器0,外中断1,定时器1。
可能。
其中:
串行口中断为高优先级。
(3)外中断0,定时器1,外中断1,定时器0,串行口中断。
不可能。
外中断0,定时器1为高优先级,剩下的没有按自然优先级顺序。
(4)外中断0,外中断1,串行口中断,定时器0,定时器1。
可能。
其中:
外中断0,外中断1,串行口中断为高优先级。
(5)串行口中断,定时器0,外中断0,外中断1,定时器1。
不可能。
串行口中断为高优先级,剩下的没有按自然优先级顺序。
(6)外中断0,外中断1,定时器0,串行口中断,定时器1。
不可能。
外中断0,外中断1为高优先级,剩下的没有按自然优先级顺序。
(7)外中断0,定时器1,定时器0,外中断1,串行口中断。
可能。
其中:
外中断0,定时器1为高优先级。
第5章习题答案
4.定时器/计数器0已预置为156,且选定用于模式2的计数方式,现在T0引脚上输入周期为1ms的脉冲,问:
(1)此时定时器/计数器0的实际用途是什么?
(2)在什么情况下,定时器/计数器0溢出?
答:
(1)此时定时器/计数器0的实际用途是0.1S脉冲信号发生器。
(2)当T0每记数100次后定时器/计数器0溢出。
8.已知8051单片机的fosc=6MHz,试利用T0和P1.0输出矩形波。
矩形波高电平宽100μs,低电平宽300μs。
解:
先确定T0作为定时器工作于模式2时初值为:
高电平为50,低电平为150。
采用中断方式编程。
ORG0000H
AJMPMAIN
ORG001BH
AJMPTIM0
ORG0030H
MAIN:
MOVSP,#30H;设置栈底
MOVTMOD,#02H
MOVTL0,#206
MOVIE,#82H
SETBP1.0
SETBTR0
SJMP$
TIM0:
JNBP1.0,AA
CLRP1.0
MOVTL0,#106
RETI
AA:
SETBP1.0
MOVTL0,#206
RETI
END
第6章习题答案
补充1:
某异步串行接口其格式由一个起始位,七个数据位,一个奇校验位和一个停止位组成,设该接口每分钟传送1800个字符。
a)请计算传送的波特率;
b)画出传输一个字节32H的帧格式。
答:
a)1800×10=18000bits
18000bits÷60s=300bps
b)
补充2:
甲乙单片机均工作在方式1下,采用奇校验,波特率为1200bps(晶振为11.0592MHz),甲机发送两个字节51H和37H给乙机,试编写双机通信子程序。
答:
甲机发:
ORG2000H
START:
MOVTMOD,#20H;定时器1设为模式2
MOVTL1,#0E8H
MOVTH1,#0E8H;置定时器初值
SETBTR1;启动T1
MOVSCON,#50H;将串行口设置为方式1,REN=1
MOVPCON,#00H;SMOD=0
MOVA,#51H
MOVC,P
CPLC
MOVACC.7,C
MOVSBUF,A
JNBTI,$
CLRTI
MOVA,#37H
MOVC,P
CPLC
MOVACC.7,C
MOVSBUF,A
JNBTI,$
CLRTI
RET
乙机收:
ORG2000H
START:
MOVTMOD,#20H;定时器1设为模式2
MOVTL1,#0E8H
MOVTH1,#0E8H;置定时器初值
SETBTR1;启动T1
MOVSCON,#50H;将串行口设置为方式1,REN=1
MOVPCON,#00H;SMOD=0
MOVR1,#20H;接收数据区首地址→R1
MOVR2,#2;置发送数据个数→R2
WAIT:
JBCRI,PRI;等待接收到数据
SJMPWAIT
PRI:
MOVA,SBUF;读接收数据
MOVC,ACC.7
ANLA,#7FH
JNBC,PZEO;C=0则跳转
JBP,ERR;C=1,P=1转至出错
SJMPRIGHT;转至正确
PZEO:
JNBP,ERR;P=0,C=0转至出错
RIGHT:
MOV@R1,A;存放数据
INCR1;指向下一个存储单元
DJNZR2,WAIT;未接收完则继续接收
RET
ERR:
CLRREN
SETBF0;置F0=1
RET
END
第7章习题答案
9.设某一8051单片机系统,拟扩展2片2764EPROM芯片和2片6264SRAM芯片,试画出电路图,并说明存储器地址分配情况。
答案:
电路图如下:
存储器地址分配:
2764
(1):
C000H~DFFFH;
2764
(2):
A000H~BFFFH;
6264
(1):
C000H~DFFFH;
6264
(2):
A000H~BFFFH。
14.试设计一个8051应用系统,使该系统扩展1片27256、1片6264和1片8155。
请画出系统电路图,并分别写出各芯片的地址。
答:
电路图如下:
各芯片的地址如下:
27256:
0000H~7FFFH;
6264:
A000H~BFFFH;
8155:
RAM地址:
7E00H~7EFFH
命令/状态口:
7F00H
PA口:
7F01H
PB口:
7F02H
PC口:
7F03H
定时器低8位:
7F04H
定时器高8位:
7F05H
第8章习题答案
6.矩阵式键盘如何实现中断方式?
请在图8-4的基础上设计中断式键盘,并编写相应中断处理子程序。
答案:
电路图如下:
中断处理子程序:
KINT:
ACALLDELAY10;延时消抖
ACALLKS1;再次判断有无键按下
JNZLK2;确实有键按下,转列扫描
AJMPKEY_1;是键抖动,重新扫描
LK2:
MOVR2,#0FEH;首列扫描字
MOVR4,#00H;首列号
LK4:
MOVDPTR,#7F01H
MOVA,R2
MOVX@DPTR,A;列扫描字送PA口
INCDPTR
INCDPTR;指向PC口
MOVXA,@DPTR;读入行状态
JBACC.0,LONE;第0行有键按下?
MOVA,#00H;有键按下,行号送A
AJMPLKP;转键值处理
LONE:
JBACC.1,LTWO;第1行有键按下?
MOVA,#08H;有键按下,行号送A
AJMPLKP;转键值处理
LTWO:
JBACC.2,LTHR;第2行有键按下?
MOVA,#10H;有键按下,行号送A
AJMPLKP;转键值处理
LTHR:
JBACC.3,NEXT;第3行有键按下?
MOVA,#18H;有键按下,行号送A
LKP:
ADDA,R4;键值处理
PUSHACC
LK3:
ACALLKS1;判断按键是否释放
JNZLK3
POPACC
RET
NEXT:
INCR4;列号加1
MOVA,R2;判断是否8列扫描完毕
JNBACC.7,KND;扫描完,返回
RLA;转下列扫描
MOVR2,A
AJMPLK4
KND:
AJMPKEY_1
KS1:
MOVDPTR,#7F01H;判断有无键按下子程序
MOVA,#00H
MOVX@DPTR,A
INCDPTR
INCDPTR
MOVXA,@DPTR
CPLA
ANLA,#0FH
RET
DELAY12:
MOVR7,#18H;延时12ms子程序
TM:
MOVR6,#0FFH
TM6:
DJNZR6,TM6
DJNZR7,TM
RETI
7.状态或数码显示时,对LED的驱动可采用低电平驱动,也可以采用高电平驱动,二者各有什么特点?
答案:
高电平驱动要采用共阴极数码管,必须外接上拉电阻;低电平驱动要采用共阳极数码管,电源效率相对较高。
实验部分答案
题1:
已知(A)=7AH,(R0)=30H,(30H)=0A5H,(PSW)=80H,写出下列各条指令执行后A和PSW的内容。
(1)XCHA,R030H,80H
(2)XCHA,30H0A5H,80H
(3)XCHA,@R00A5H,80H
(4)XCHDA,@R075H,81H
(5)SWAPA0A7H,81H
(6)ADDA,R00AAH,04H
(7)ADDA,30H1FH,81H
(8)ADDA,#30H0AAH,04H
(9)ADDCA,30H20H,0C1H
(10)SUBBA,#30H49H,01H
题2:
已知单片机使用6MHz晶体,试编写一个延时1ms和1s的程序。
晶振频率为6MHz,一个机器周期为2µs,
延时1ms的子程序:
执行时间(机器周期)
DELAY1MS:
MOVR7,#0F9H1
LOOP:
DJNZR7,LOOP2
RET2
该程序段的总的执行时间为:
(1+2×249+2)*2μs=1002µs≈1ms
延时时间为1s的子程序:
DELAY1S:
MOVR6,#04H;对延时100ms的子程序循环1000次
DE1S2:
MOVR5,#0FAH。
DE1S3:
LCALLDELAY1MS
DJNZR5,DE1S3
DJNZR6,DE1S2
RET
题3:
编写程序完成将片外数据存储器地址为1000H~1030H的数据块,全部传送到片内RAM30H~60H中,并将原数据块区域全部清零。
MOVDPTR,#1000H
MOVR0,#30H
MOVR7,#31H
RYCL:
MOVXA,@DPTR
MOV@R0,A
CLRA
MOVX@DPTR,A
DJNZR7,RYCL
RET
题4:
请写出能实现下列功能的程序段。
(1)16位二进制数放在20H和21H单元中(高8位在20H),
请将该数除2。
(2)16位二进制数放在30H和31H单元中(高8位在30H),
将其内容加1。
(3)将DPTR内容减5。
(4)有三个位变量X、Y、Z,请编写程序实现Y=X+YZ的逻辑关系式。
答
(1)MOVA,20H
CLRC
RRCA
MOV20H,A
MOVA,21H
RRCA
MOV21H,A
(2)MOVA,31H
ADDA,#01H
MOV31H,A
MOVA,30H
ADDCA,#00H
MOV30H,A
(3)MOVA,DPL
CLRC
SUBBA,#05H
MOVDPL,A
MOVA,DPH
SUBBA,#00H
MOVDPH,A
(4)Xbit00H
Ybit01H
Zbit02H
MOVC,Y
ANLC,Z
ORLC,X
MOVY,C
题5:
将内部RAM30H为起始地址的数据块传送到外部RAM1000H开始的连续区域,直到发现”$”字符(24H)为止。
答:
ORG2000H
MOVR0,#30H
MOVDPTR,#1000H
NEXT:
MOVA,@R0
CJNEA,#24H,LOOP
SJMPDONE
LOOP:
MOVX@DPTR,A
INCR0
INCDPTR
SJMPNEXT
DONE:
SJMP$
END
题6:
设有a、b、c三个数(0~9),存于内部RAM的BUF1、BUF2、BUF3三个单元。
编程实现c=a*a+b*b。
答:
ORG2000H
STAR:
MOVA,BUF1
ACALLSQR
MOVR1,A
MOVA,BUF2
ACALLSQR
ADDA,R1
MOVBUF3,A
HEAR:
SJMPHEAR
END
SQR:
MOVB,A
MULAB
RET
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 复习