单片机C语言项目式教程综合题含答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AJMP INTIR
IR2: 中断服务子程序
AJMP INTIR
IR3: 中断服务子程序
AJMP INTIP
6.结合原理图,简述行列式扫描键盘的工作原理。
答: 扫描键盘工作原理
首先X0~X3,始终接高电平,Y0~Y3给低电平,扫描P1.0~P1.3若全为高电平,则没有键按下,若有低电平,则有键按下。
4.请回答:
(1).下图中外部扩展的程序存储器和数据存储器容量各是多少?
(2).两片存储器芯片的地址范围分别是多少?(地址线未用到的位填1)
(3).请编写程序,要求:
(A)将内部RAM 30H~3FH中的内容送入1# 6264的前16个单元中;
(B)将2# 6264的前4个单元的内容送入40H~43中;
解:原理电路如图所示
程序如下:
INT:PUSH PSW
PUSH A
JNB P1.0, IR0 ;扫描中断请求
JNB P1.1 , IR1
JNB P1.2, IR2
JNB P1.3, IR3
INTIR: POP A ;返回
POP PSW
IR0: 中断服务子程序 :中断服务
AJMP INTIR
IR1: 中断服务子程序
第一个6116的地址为A000H-A7FFH;
第二个6116的地址为6000H-67FFH;
事实上,由于采用的是线选法,导致了地址不连续,地址空间利用不充分。建议在实际工作中要具体情况具体分析。在两种地址分配中选一种较好的来应用。
2.使用89C51芯片外扩一片E2PROM2864,要求2864兼作程序存储器和数据存储器,且首地址为8000H。要求:
(1)确定2864芯片的末地址;
(2)画出2864片选端的地址译码电路;
(3)画出该应用系统的硬件连接图。
解:(1)2864为8KB的存储器,如果首地址为8000H,则其末地址为9FFFH,理由参考第12题;
(2)电路图如下所示:
(3)电路图如下所示:
3.画出MCS-51系列单片机利用串行口进行1台主机与4台从机多机串行通讯连线图,其中1台从机通讯地址号为02H,请叙述主机向02H从机发送一个字节数据的过程。
接着Y0输出低电平,Y1~Y3输出高平,扫描P1.0~P1.3,若全为高电平,则没有键按下,若有低电平,则找出相位,得到所按的键。
再Y1输出低电平,Y0,Y2,Y3输出高电平,重复第2 步骤作.
再Y2输出低电平,Y0,Fra Baidu bibliotek1,Y3输出高电平扫描
再Y3输出低电平,Y0,Y1,Y2输出高电平扫描
根据据以上扫描,确定以上各键是否按下。
答:主机发送数据过程如下:
将从机00~03H的REN置1,SM2=1,并使它们工作在串行口工作方式2或3。
由主机向4个从机发出一帧地址址信息02H,第9位为1。从机接到信息后均发生中断,执行中断服务程序,将02H与自身地址做比较。若相同,则清SM2=0,若不同则SM2不变仍为1。
主机发送一帧数据信息,第9位为0,从机接到信息后,只有SM2=0的从机发生中断,将数据信息收取,其余SM2=1的从机不放出中断,信息丢失,从而实现主机向02H从机发送一个字节数据的功能。
DJNZ R7,MAIN4
AJMPMAIN
1秒延时子程序:
ORG 2100H
DEY1S:MOV R1,#02H;
LOOP3:MOV R2,#C8H;
LOOP2:MOV R3,#FAH;
LOOP1:NOP
NOP
NOP
DJNZ R3,LOOP1
解:(1).外扩程序存储器的容量是8K,外扩数据存储器的容量是16K
(2).2764范围:C000H~DFFFH
1#范 围: A000H~BFFFH
2#范 围: 6000H~7FFFH
(3).请编写程序
(A)MOVR1 ,#10H
MOVDPTR,@0A000H
MOVR0,#30H
LOOP:MOVA,@Ro
六、综合题
1.现有8031单片机、74LS373锁存器、1片2764EPROM和2片6116RAM,请使用他们组成一个单片机系统,要求:
(1)画出硬件电路连线图,并标注主要引脚;
(2)指出该应用系统程序存储器空间和数据存储器空间各自的地址范围。
解:(1)电路图如下所示:
(2)2764的地址为C000H-DFFFH;
DJNZ R7,MAIN2
MOV P1,#21H;A线禁止、B线放行
MOV R7,#19H;延时秒数
MAIN3: LCALL DELAY;1秒延时子程序
DJNZ R7,MAIN3
MOV P1,#11H;A线放行、B线警告
MOV R7,#05H;延时秒数
MAIN4: LCALL DELAY;1秒延时子程序
ORG 2000H
MAIN: MOV P1,#0CH;A线放行、B线禁止
MOV R7,#19H;延时秒数
MAIN1: LCALL DELAY;1秒延时子程序
DJNZ R7,MAIN1
MOV P1,#0AH;A线警告、B线禁止
MOV R7,#05H;延时秒数
MAIN2: LCALL DELAY;1秒延时子程序
7.MCS-51单片机外扩展一片8255,画出系统电路原理图,写出地址分布。
8255A可以直接与MCS-51单片机进行接口,其连接图如图所示。8255A的A0、A1分别接地址总线的A0、A1,片选端 接P2.7口,因此8255APA口地址为7FFCH、PB口地址为7FFDH、PC口地址为7FFEH、控制口地址为7FFFH。
8.编写交通灯控制程序。在十字路口东西南北各设置红、黄、绿三种信号灯,东西方向(A线)通车时,东西方向绿灯亮、南北方向(B线)红灯亮;东西方向通车时间(30秒)到后,东西方向的绿灯亮,黄灯亮3秒,之后由东西方向切换到南北方向通车,此时东西方向黄灯灭,红灯亮,南北方向红灯灭、绿灯亮,南北方向开始通车。通车时间(60秒)到后,南北方向的绿灯亮,黄灯亮3秒,之后由南北方向切换到东西方向通车,如此循环。(20分)
MOVX@DPTR,A
INC DPTR
INC R0
DINE R1,LOOP
RET
(B)MOVR1,#04H
MOVDPTR,#6000H
MOVR0,#40H
LOOP:MOVXA ,@DPTR
MOV@R0,A
INC DPTR
INC R0
DTNZ R1 ,LOOP
RET
5.简述一种多外部中断源系统的设计方法。(给出图和程序)
IR2: 中断服务子程序
AJMP INTIR
IR3: 中断服务子程序
AJMP INTIP
6.结合原理图,简述行列式扫描键盘的工作原理。
答: 扫描键盘工作原理
首先X0~X3,始终接高电平,Y0~Y3给低电平,扫描P1.0~P1.3若全为高电平,则没有键按下,若有低电平,则有键按下。
4.请回答:
(1).下图中外部扩展的程序存储器和数据存储器容量各是多少?
(2).两片存储器芯片的地址范围分别是多少?(地址线未用到的位填1)
(3).请编写程序,要求:
(A)将内部RAM 30H~3FH中的内容送入1# 6264的前16个单元中;
(B)将2# 6264的前4个单元的内容送入40H~43中;
解:原理电路如图所示
程序如下:
INT:PUSH PSW
PUSH A
JNB P1.0, IR0 ;扫描中断请求
JNB P1.1 , IR1
JNB P1.2, IR2
JNB P1.3, IR3
INTIR: POP A ;返回
POP PSW
IR0: 中断服务子程序 :中断服务
AJMP INTIR
IR1: 中断服务子程序
第一个6116的地址为A000H-A7FFH;
第二个6116的地址为6000H-67FFH;
事实上,由于采用的是线选法,导致了地址不连续,地址空间利用不充分。建议在实际工作中要具体情况具体分析。在两种地址分配中选一种较好的来应用。
2.使用89C51芯片外扩一片E2PROM2864,要求2864兼作程序存储器和数据存储器,且首地址为8000H。要求:
(1)确定2864芯片的末地址;
(2)画出2864片选端的地址译码电路;
(3)画出该应用系统的硬件连接图。
解:(1)2864为8KB的存储器,如果首地址为8000H,则其末地址为9FFFH,理由参考第12题;
(2)电路图如下所示:
(3)电路图如下所示:
3.画出MCS-51系列单片机利用串行口进行1台主机与4台从机多机串行通讯连线图,其中1台从机通讯地址号为02H,请叙述主机向02H从机发送一个字节数据的过程。
接着Y0输出低电平,Y1~Y3输出高平,扫描P1.0~P1.3,若全为高电平,则没有键按下,若有低电平,则找出相位,得到所按的键。
再Y1输出低电平,Y0,Y2,Y3输出高电平,重复第2 步骤作.
再Y2输出低电平,Y0,Fra Baidu bibliotek1,Y3输出高电平扫描
再Y3输出低电平,Y0,Y1,Y2输出高电平扫描
根据据以上扫描,确定以上各键是否按下。
答:主机发送数据过程如下:
将从机00~03H的REN置1,SM2=1,并使它们工作在串行口工作方式2或3。
由主机向4个从机发出一帧地址址信息02H,第9位为1。从机接到信息后均发生中断,执行中断服务程序,将02H与自身地址做比较。若相同,则清SM2=0,若不同则SM2不变仍为1。
主机发送一帧数据信息,第9位为0,从机接到信息后,只有SM2=0的从机发生中断,将数据信息收取,其余SM2=1的从机不放出中断,信息丢失,从而实现主机向02H从机发送一个字节数据的功能。
DJNZ R7,MAIN4
AJMPMAIN
1秒延时子程序:
ORG 2100H
DEY1S:MOV R1,#02H;
LOOP3:MOV R2,#C8H;
LOOP2:MOV R3,#FAH;
LOOP1:NOP
NOP
NOP
DJNZ R3,LOOP1
解:(1).外扩程序存储器的容量是8K,外扩数据存储器的容量是16K
(2).2764范围:C000H~DFFFH
1#范 围: A000H~BFFFH
2#范 围: 6000H~7FFFH
(3).请编写程序
(A)MOVR1 ,#10H
MOVDPTR,@0A000H
MOVR0,#30H
LOOP:MOVA,@Ro
六、综合题
1.现有8031单片机、74LS373锁存器、1片2764EPROM和2片6116RAM,请使用他们组成一个单片机系统,要求:
(1)画出硬件电路连线图,并标注主要引脚;
(2)指出该应用系统程序存储器空间和数据存储器空间各自的地址范围。
解:(1)电路图如下所示:
(2)2764的地址为C000H-DFFFH;
DJNZ R7,MAIN2
MOV P1,#21H;A线禁止、B线放行
MOV R7,#19H;延时秒数
MAIN3: LCALL DELAY;1秒延时子程序
DJNZ R7,MAIN3
MOV P1,#11H;A线放行、B线警告
MOV R7,#05H;延时秒数
MAIN4: LCALL DELAY;1秒延时子程序
ORG 2000H
MAIN: MOV P1,#0CH;A线放行、B线禁止
MOV R7,#19H;延时秒数
MAIN1: LCALL DELAY;1秒延时子程序
DJNZ R7,MAIN1
MOV P1,#0AH;A线警告、B线禁止
MOV R7,#05H;延时秒数
MAIN2: LCALL DELAY;1秒延时子程序
7.MCS-51单片机外扩展一片8255,画出系统电路原理图,写出地址分布。
8255A可以直接与MCS-51单片机进行接口,其连接图如图所示。8255A的A0、A1分别接地址总线的A0、A1,片选端 接P2.7口,因此8255APA口地址为7FFCH、PB口地址为7FFDH、PC口地址为7FFEH、控制口地址为7FFFH。
8.编写交通灯控制程序。在十字路口东西南北各设置红、黄、绿三种信号灯,东西方向(A线)通车时,东西方向绿灯亮、南北方向(B线)红灯亮;东西方向通车时间(30秒)到后,东西方向的绿灯亮,黄灯亮3秒,之后由东西方向切换到南北方向通车,此时东西方向黄灯灭,红灯亮,南北方向红灯灭、绿灯亮,南北方向开始通车。通车时间(60秒)到后,南北方向的绿灯亮,黄灯亮3秒,之后由南北方向切换到东西方向通车,如此循环。(20分)
MOVX@DPTR,A
INC DPTR
INC R0
DINE R1,LOOP
RET
(B)MOVR1,#04H
MOVDPTR,#6000H
MOVR0,#40H
LOOP:MOVXA ,@DPTR
MOV@R0,A
INC DPTR
INC R0
DTNZ R1 ,LOOP
RET
5.简述一种多外部中断源系统的设计方法。(给出图和程序)