




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
…i、'厂-
一早
2.80C51单片机的存储器的组织采用何种结构?存储器地址空间如何划分?各地
址空间的地址范围利容量如何?在使用上有何特点?
答:
采用哈佛结构,在物理上设计成程序存储器和数据存储器两个独立的空间;80C51
基本型单片机片内程序存储器为4KB,地址范围是000011-OFFFH,用于存放程序或常数;
片内数据存储器为128字节RAM,地址范围是00H-7FH,用于存放运算的中间结果、暂
存数据和数据缓冲;另外在80H-FFH还配有21个SFR»
4.如果80c51单片机晶振频率分别为6MHz、11.0592MHz、12MHz时,机器周
期分别为多少?
答:
机器周期分别为2us,1.085us,1PS»
6.80c51单片机的片内、片外存储器如何选择?
答:
80C51的女引脚为访问片内、片外程序存储器的选择端。访问片内、片外数据存
储器需要采用不同的指令加以区分。
8.80C51单片机的当前工作寄存器组如何选择?
答:
当前工作寄存器组的选择由特殊功能寄存器中的程序状态字寄存器PSW的RS1、
RS0来决定。
—
二早
10.完成某种操作可以采用几条指令构成的指令序列实现,试写出完成以下每种操
作的指令序列。
(1)将R0的内容传送到R1;
(2)内部RAM单元60H的内容传送到寄存器R2;
(3)外部RAM单元1000H的内容传送到内部RAM单元60H;
(4)外部RAM单元1000H的内容传送到寄存器R2;
(5)外部RAM单元1000H的内容传送到外部RAM单元2000H。
答:
(1)MOVA,R0
MOVRI,A
(2)MOVR2,60H
(3)MOVDPTR,#1000H
MOVXA,@DPTR
MOV60H,A
(4)MOVDPTR,#1000H
MOVXA,@DPTR
MOVR2,A
(5)MOVDPTR,#1000H
MOVXA,@DPTR
MOVDPTR,#2000H
MOVX@DPTR,A
11.若(RI)=30H,(A)=40H,(30H)=60H,(40H)=08H。试分析执行下列
程序段后上述各单元内容的变化。
MOVA,@R1
MOV@R1,40H
MOV40H,A
MOVRI,#7FH
答:
(RI)=7FH
(A)=60H
(30H)4)8H
(40H)=60H
12.若(A)=E8H,(RO)=40H,(RI)=20H,(R4)=3AH,(40H)=2CH,
⑵H)=0FH,试写出下列各指令独立执行后有关寄存器和存储单元的内容?若该指令
影响标志位,试指出CY、AC>和OV的值。
(1)MOVA,@R0
(2)ANL40H,#0FH
(3)ADDA,R4
(4)SWAPA
(5)DEC@R1
(6)XCHDA,@R1
答:
(1)(A)=2CH
(2)(40H)=OCH
(3)(A)=22H,(CY)=1,(AC)=1,(OV)=0
(4)(A)=8EH
(5)(20H)=0EH,P=1
(6)(A)=EFH,(20)=08H
13.若(50H)=40H,试写出执行以下程序段后累加器A、寄存器R0及内部RAM
的40H、41H、42H单元中的内容各为多少?
MOVA,50H
MOVRO,A
MOVA,#00H
MOV@R0,A
MOVA,#3BH
MOV41H,A
MOV42H,41H
答:
(A)=3BH,(RO)=40H,(40H)=00H,(41H)=3BH,(42H)=3BH。
15.试编写程序,将内部RAM的20H、21H、22H三个连续单元的内容依次存入
2FH、2EH和2DH单元。
答:
MOV2FH,20H
MOV2EH,21H
MOV2DH,22H
16.试编写程序,完成两个16位数的减法:7F4DH—2B4EH,结果存入内部RAM
的30H和31H单元,30H单元存差的高8位,31H单元存差的低8位。
答,
CLRCY
MOV30H,#7FH
MOV31H,#4DH
MOVRO,#31H
MOVA,@R0
SUBBA,#4E
MOV@R0,A;保存低字节相减结果
DECRO
MOVA,@R0
SUBBA,#2BH
MOV@R0,A;保存高字节相减结果
17.试编写程序,将R1中的低4位数与R2中的高4位数合并成一个8位数,并将
其存放在R1中。
答:
MOVA,R1;
ANLA,#0FH;
MOVRI,A
MOVA,R2
ANLA,#0F0H
ORLA,RI
MOVRI,A
18.试编写程序,将内部RAM的20H、21H单元的两个无符号数相乘,结果存放
在R2、R3中,R2中存放高8位,R3中存放低8位。
答:
MOVA,20H
MOVB,21H
MULAB
MOVR3,A
MOVR2,B
四章
7.编写程序,把外部RAM中1000H〜101FH的内容传送到内部RAM的30H〜4FH
中。
答:
ORG0000H
MOVDPTR,#1000H
MOVRO,#30H
MOVR7,#32
LOOP:MOVXA,@DPTR
MOV@R0,A
INCRO
INCDPTR
DJNZR7,LOOP
RET
8.编写程序,实现双字节无符号数加法运算,要求(R0R1)+(R6R7)T(60H61H)。
答:
ORG0000H
MOVA,R1
ADDA,R7
MOV61H,A
MOVA,RO
ADDCA,R6
MOV60H,A
SJMP$
END
9.若80c51的晶振频率为6MHz,试计算延时子程序的延时时间。
DELAY:M0VR7,#0F6H
LP:M0VR6,#OFAH
DJNZR6,$
DJNZR7,LP
RET
答:延时时间:2|is*{[l+((1+2*250+2)*246)+2]+2}=0.247486秒(含调用指令2
个机器周期)
10.在内部RAM的30H~37H单元存有一组单字节无符号数。要求找出最大数存
入BIG单元。试编写程序实现。
答:
ORG0000H
BIGDATA2FH
ONEDATA2AH
TWODATA2BH
START:MOVR7,#7;比较次数
MOVRO,#30H
LOOP:MOVA,@R0
MOVONE,A
INCRO
MOVTWO,@R0
CLRC
SUBBA,0R0
JCNEXT;ONE小,TWO大继续比下一对数
MOV@R0,ONE;ONE大放后面(交换)
DECRO
MOV@R0,TWO;TWO小放前面
INCRO*
NEXT:DJNZR7,LOOP
MOVBIG,37H
SJMP$
END
11.编写程序,把累加器A中的二进制数变换成3位BCD码,并将百、十、个位
数分别存放在内部RAM的50H、5IH、52H中。
答:单字节二进制数转换为压缩的BCD码仅需要2个字节;在将压缩的BCD码拆
分存于3个单元。
org0
MOV52H,#0
MOV51H,#0
MOV50H,#0
MOVA,#OFDh
LCALLDCDTH
SJMP$
DCDTH:MOVR7,#8
MOVRO,A;暂存于RO
LOOP:CLRC
MOVA,RO
RLCA
MOVRO,A
MOV
MOVA,@R1
ADDCA,@R1;
DAA
MOV@R1,A
DECRI
MOVA,@R1
ADDCA,0R1
DAA
MOV@R1,A
DJNZR7,LOOP
INCRI;50H已是结果,RI指向51H,51H单元需拆分
MOVA,#00H
XCHDA,@R1
MOV52H,A
MOVA,@R1
SWAPA
MOV@R1,A
RET
END
12.编写子程序,WRI中的2个十六进制数转换为ASCII码后存放在R3和R4中。
答:
ORG0
MOVR1,#5BH
MOVA,RI
ANLA,#OFOH
SWAPA
ACALLASCII
MOVR3,A
MOVA,RI
ANLA,#OFH
ACALLASCII
MOVR4,A
SJMP$
ASCII:PUSHACC
CLRC
SUBBA,#OAH
POPACC
JC1LOOP
ADDA,#0711
LOOP:ADDA,#30H
RET
END
13.编写程序,求内部RAM中50H〜59H十个单元内容的平均值,并存放在5AH
单元。
答:
ORG0000H
MOVR7,#10
MOVRO,#50H
MOVB,#10
CLRC
CLRA
LOOP:ADDCA,@RO
INCRO
DJNZR7,LOOP
DIVAB
MOV5AH,A
SJMP$
END
14.如图4.10所示,编制程序实现:上电后显示“P”,有键按下时显示相应的键
号“0”〜“7”。
答:
实现程序如下:
TEMPEQU3011
ORG0000H
JMPSTART
ORG0100H
START:MOVSP,#5FH
MOVPO,#8CH;正序显示"P"
MOVP3,#OFFH;输入方式
CLRCY
NOKEY:MOVA,P3
CPLA
JZNOKEY;无键按下
MOVTEMP,P3;有键按下
CALLDlOms
MOVA,P3
CJNEA,TEMP,NOKEY;去抖动
MOVR2,#0;键号计数器复位
MOVA,TEMP
LP:RRCA
JNCDONE
INCR2
SJMPLP
DONE:MOVA,R2
MOVDPTR,#CODE_PO
MOVCA,©A+DPTR
MOVPO,A
JMPNOKEY
D10ms:M0VR5,#10;10MS
Dlms:M0VR4,#249
DL:NOP
NOP
DJNZR4,DL
DJNZR5,Dims
RET
CODEPO:
DBOCOH,0F9H,0A4H,OBOH,99H,92H,82H,0F8H
DB80H,90H,88H,83H,0C6H,OA1H,86H,8EH
END
五章
1.80C51有儿个中断源?各中断标志是如何产生的?又是如何复位的?CPU响应
各中断时,其中断入口地址是多少?
答:5个中断源,分别为外中断而5和而1、TO和T1溢出中断、串口中断。
电平方式触发的外中断标志与引脚信号一致;边沿方式触发的外中断响应中断后
由硬件自动复位。
TO和Tl,CPU响应中断时,由硬件自动复位。
RI和TL由硬件置位。必须由软件复位。
另外,所有能产生中断的标志位均可由软件置位或复位。
各中断入口地址:INT0-0003H,TO—000BH,INTI—0013H,Tl—001BH,RI
和TI—0023H,
3.外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中
断过程有何不同?怎样设定?
答:
当IT0=0时,而为电平触发方式。电平触发方式时,CPU在每个机器周期的S5P2
采样而所引脚电平,当采样到低电平时,置正0=1向CPU请求中断;采样到高电平
时,将IE0清0。在电平触发方式下,CPU响应中断时,不能自动清除IE0标志。
电平触发方式时,外部中断源的有效低电平必须保持到请求获得响应时为止,不然
就会漏掉;在中断服务结束之前,中断源的有效的低电平必须撤除,否则中断返回之后
将再次产生中断。该方式适合于外部中断输入为低电平,且在中断服务程序中能清除外
部中断请求源的情况。
当rro=i时,而5为边沿触发方式。边沿触发方式时,CPU在每个机器周期的s5P2
采样而5引脚电平,如果在连续的两个机器周期检测到而引脚由高电平变为低电平,
即第一个周期采样到而^=1,第二个周期采样到布而=0,则置正0=1,产生中断请求。
在边沿触发方式下,CPU响应中断时,能由硬件自动清除IE0标志。
边沿触发方式时,在相继两次采样中,先采样到外部中断输入为高电平,下一个
周期采样到为低电平,则在IE0或IEI中将锁存一个逻辑1。若CPU暂时不能响应,中
断申请标志也不会丢失,直到CPU响应此中断时才清0。另外,为了保证下降沿能够被
可靠地采样到,而和茴引脚上的负脉冲宽度至少要保持一个机器周期(若晶振频
率为12MHz,为1微秒)。边沿触发方式适合于以负脉冲形式输入的外部中断请求。
8.利用定时/计数器T0从P1.0输出周期为1s,脉宽为20ms的正脉冲信号,晶振
频率为12MHzo试设计程序。
答:
采用定时20ms,然后再计数1、49次的方法实现。
a、TO工作在定时方式1时,控制字TMOD配置:
M1MO=O1,GATE=O,C/f=O,可取方式控制字为01H;
b、计算计数初值X:
晶振为12MHz,所以机器周期Tcy为1睽。
N=t/Tcy=20x10-3/1x10-6=20000
X=2I6-N=65536-200()0=45536=4E20H
即应将4EH送入TH1中,20H送入TL1中。
c、实现程序如下:
ORG0000H
AJMPMAIN;跳转到主程序
ORG0030H
MAIN:MOVTMOD,#01H;设口工作于方式2
MOVTHO,#4EH;装入循环计数初值
MOVTLO,#2011;首次计数值
LPO:SETBP1.0
ACALLNTO
CLRP1.0
MOVR7,#49;计数49次
LP1:ACALLNTO
DJNZR7,LP1
AJMPLPO
NTO:MOVTHO,#4EH
MOVTLO,#20H
SETBTRO
JNBTFO,$
CLRTRO
CLRTFO
RET
END
9.要求从P1.1引脚输出1000Hz方波,晶振频率为12MHz。试设计程序。
答:采用T0实现
a、TO工作在定时方式1时,控制字TMOD配置:
M1MO=O1,GATE=O,C/f=O,可取方式控制字为01H;
b、计算计数初值X:
晶振为12MHz,所以机器周期Tcy为1即。1/1000=1x10^
N=t/Tcy=0.5X107/1X10~6=500
X=216-N=65536-500=65036=FE0CH
即应将FEH送入THO中,OCH送入TLO中。
c、实现程序如下:
ORG0000H
AJMPMAIN;跳转到主程序
ORGOOOBH;TO的中断入口地址
LJMPDVTO
ORG0030H
MAIN:MOVTMOD,#01H;设丁0工作于方式2
MOVTHO,#OFEH;装入循环计数初值
MOVTLO,#OCH;首次计数值
SETBETO;TO开中断
SETBEA;CPU开中断
SETBTRO;启动TO
SJMP$;等待中断
DVTO:CPLPl.1
MOVT1I0,ttOFEll
MOVTLO,#OCH
SETBTRO
RETI
END
10.试用定时/计数器T1对外部事件计数。要求每计数100,就将T1改成定时方
式,控制P1.7输出一个脉宽为10ms的正脉冲,然后又转为计数方式,如此反复循环。
设晶振频率为12MHz。
答:
a、T1工作在计数方式2时,控制字TMOD配置:
M1MO=1O,GATE=O,C/T=1.可取方式控制字为60H;
T1工作在定时方式1时,控制字TMOD配置:
M1MO=O1,GATE=O,C/〒=0,可取方式控制字为10H;
b、计算初值X:
定时10ms时:
晶振为12MHz,所以机器周期Tcy为1即。
N=t/Tcy=10xl0-71xl0-6=10000
X=2I6-N=65536-10000=55536=D8F0H
即应将D81I送入TH1中,F0I1送入TL1中。
计数100时:
N=100
X=28-N=256-100=156=9CH
C、实现程序如下:
ORG0000H
AJMPMAIN;跳转到主程序
ORG001BH;T1的中断入口地址
LJMPDVT1
ORG0030H
MAIN:MOVTMOD,#6011;T1工作于计数方式2
MOVTH1,#9CH;装入计数初值
MOVTL1,#9CH»
CLRPl.7
SETBET1;T1开中断
SETBEA;CPU开中断
SETBTRI;启动T1
SJMP$;等待中断
DVT1:SETBPl.7
CLRET1
CLRTRI
MOVTMOD,#10H;T1工作于定时方式1
MOVTH1,#OD8H;装初值
MOVTL1,#OFOH
SETBTRI
JNBTF1,$;查询等待10ms
CLRTF1
CLRTRI
CLRPl.7
MOVTMOD,#60H;T1工作于计数方式2
MOVTH1,#9CH;装初值
MOVTL1,#9CH
SETBET1;T1开中断
SETBTRI;启动T1
RETI
END
11.利用定时/计数器TO产生定时时钟,由P1口控制8个指示灯。编一个程序,使8
个指示灯依次闪动,闪动频率为1次/秒(即,亮1秒后熄灭并点亮下一个,-一)。
答:采用定时20ms,计数50次实现1秒定时。编制I秒延时子程序,由主程序
调用。
a、TO工作在定时方式1时,控制字TMOD配置:
M1MO=O1,GATE=O,C/〒=0,可取方式控制字为01H;
b、计算计数初值X:
晶振为12MHz,所以机器周期Tcy为1即。
N=t/Tcy=20X10-3/1X10-6=20000
X=2'6-N=65536-20000=45536=4E20H
即应将4EH送入TH1中,20H送入TL1中。
c、实现程序如下:
ORG000011
AJMPMAIN;跳转到主程序
ORG0030H
MAIN:CLRCY
MOVA,#01H
LPO:MOVPl,A
CALLDISEC
RLA
AJMPLPO
DISEC:MOVR7,#50;计数50次
MOVTMOD,#0111
DL:MOVTHO,#4EH
MOVTLO,#20H
SETBTRO
JNBTFO,$
CLRTRO
CLRTFO
DJNZR7,DL
RET
END
八早
5.利用单片机串行口扩展并行输入接口电路如图所示。试编写程序完成将
SW1-SW8的状态反应在P0口所接的LED上(如SW1闭合时L7应点亮)。
答:电路图如下:
+5V9
10Kx8
PO.
PO.
PO.
PO.
PO.
HPO,
G9PO,
F9PO.
ESI
DWL71Kx8
CZ
B
ARXD
TXD
I5
L89S51
12345678
2()
SW1-SW8
ORG0000H
MOVSCON,#1OH
LOOP:CLRPl.7
NOP
NOP
NOP
SETBPl.7
CLRRI
JNBRI,$
MOVA,SUBF
SJMPLOOP
END
6.利用单片机串行口扩展并行输出接口电路如图所示。试编写程序完成将
SW1~SW8的状态反应在移位寄存器74LS164所接的LED上(如SW1闭合时L0应点
亮。
答:电路图如下:
+5V
0
pl1
pl2
pl
pl3
pl4
pl5
pl6
pl7
QA
QB
QC
-QD
RXD9
IQE
TXDSQF
1G(
W6KI—=i-
QH+0~~(=^—
89S51——W——(=J-------
20
SWI~SW8
ORGOOOOH
MOVSCON,#OOH
MOVPl,#OFFH
LOOP:MOVA,Pl
MOVSUBF,A
JNBTI,$
CLRTI
SJMPLOOP
END
七章
1.以80c31为主机,用2片27c256扩展64KEPROM,试画出接口电路。
答:
P2.7------------
P2.0-P2.6
G
ALEOE
pQ7
D7:g:
P0
:3:
80C31M
DOQOA0-A7A8-A14A0-A7A8-AI4
EAD<>-D7QECED0-D7QECE
PSEN
27C25627c256
2.以80c31为主机,用1片27c512扩展64KEPROM,试画出接口电路。
答:
P2.0-P2.7A8-A15
G
ALE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年全科医生考试知识复习策略试题及答案
- 2025年企业人力资源管理师考试记忆技巧试题及答案
- 乡村全科医师考试思维导图与试题
- 传染病监测与响应策略试题及答案2025年
- 企业招聘渠道的选择与管理试题及答案
- 2025年公共营养师案例分析技巧试题及答案
- 2025年健康管理师考试试题及答案全面解析
- 2025-2030中国口腔医院期间行业发展分析及竞争格局与发展战略研究报告
- 2025-2030中国发电机控制单元(GCU)行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030中国及全球搅拌设备行业竞争力深度研究及市场竞争态势预测研究报告
- GIS软件工程第章 GIS软件工程的方法
- 猜猜我有多爱你(绘本)
- 2019年辽宁省普通高考志愿填报表(一)
- x-y数控工作台机电系统设计
- 《地基基础-基桩静荷载试验》考试复习题库(含答案)
- 工程交付使用表
- 电子物证专业考试复习题库(含答案)
- 质量检验控制流程图
- 人教版音乐三年级下册知识总结
- 2022年江苏对口单招市场营销试卷剖析
- 【课件】第7课 西方古典美术的传统与成就 课件高中美术鲁美版美术鉴赏
评论
0/150
提交评论