定时器T0中断 外部中断1(INT1) 定时器T1中断 串行口中断 解:
000BH 0013H 001BH 0023H 36.使用一个定时器,如何通过软硬结合方法实现较长时间的定时? 设定好定时器的定时时间,采用中断方式用软件设置计数次数,进行溢出次数累计,从而得到较长的时间。
37.利用定时器输出周期为2 ms的方波, 设单片机晶振频率为 6 MHz。试编程实现之。 解:
选用定时器/计数器T0 作定时器, 工作在方式1,输出为P1.0 引脚, 2 ms 的方波可由 1 ms的高低电平相间隔而成, 因而只要每隔1 ms对 P1.0 取反一次即可得到这个方波。
-6
初值的计算如下:ST0=12/(6×10)= 2×106S
--
TC=M-T/T0=216-1×103/2×106=65536-500=65036=FE0CH 当定时器/计数器采用方式0时,初值为:
TC=M-T/T0=213-1×103/2×106=8192-500=7692=1E0CH,
-
-
则真正的16位计数初值为:F00CH(高8位,低5位)
程序如下:
ORG 0000H ? LJMP START ? ORG 000BH? LJMP T0INT ; T0中断入口? ORG 0030H?
START: MOV SP, #60H ; 初始化程序? MOV TL0, #0CH ; T0赋初值 MOV TH0, #0FEH? MOV TMOD, #01H ; 定时器/计数器0工作于方式1 SETB TR0 ; 启动T0 SETB ET0 ; 开T0中断 SETB EA ; 开总允许中断 SJMP $ ? T0INT: PUSH ACC PUSH PSW
CPL P1.0?
MOV TL0, #0CH? MOV TH0, #0FEH ? SETB TR0 ; 启动T0 POP PSW POP ACC RETI
END 当采用查询方式时:
兰色字部分应该为:
LP1: JBC TF0, LP2
SJMP LP1
LP2: CPL P1.0
MOV TL0, #0CH MOV TH0, #0FEH?
SETB TR0 SJMP LP1 END
48.某异步通信接口按方式3传送,已知其每分钟传送3600个字符,计算其传送波特率。 解:11(位)×3600(字符/分钟)=39600b/分钟=660b/s (方式3为每个字符11位)。 49.利用8051串行口控制8位发光二极管工作,要求发光二极管每1s交替地亮、灭,画出电路图并编写程序。 解:
主程序框图如下:
开始串口初始化,FFH送SBUF设置标志调延时子程序标志位取反N标志为零?YFFH送SBUF00H送SBUF
程序如下:
ORG 0040H
MOV SCON,#00H MOV SBUF,#0FFH SETB C
MOV 00H,C AA: ACALL DELAY
CPL 00H MOV C,00H JC BB
MOV SBUF,#00H SJMP CC
BB:MOV SBUF,#0FFH CC:AJMP AA DELAY: MOV R7,#8
D1:MOV R6,#250
D2:MOV R5,#250 D3:DJNZ R5,D3
DJNZ R6,D2 DJNZ R7,D1
RET END
第四章作业答案
16. MCS-51单片机系统中,片外程序存储器和片外数据存储器共用16位地址线和8位数据线,为何不会产生冲突? 解:
程序存储器和数据存储器虽然共用16位地址线和8位数据线,但由于数据存储器的读和写由RD和WR信号控制,而程序存储器由读选通信号PSEN控制,这些信号在逻辑上时序上不会产生冲突,因此,两者虽然共处于同一地址空间,但由于控制信号不同,所以不会发生总线冲突。
18.某单片机应用系统,需扩展2片8KB的EPROM和2片8KB的RAM,采用地址译码法,画出硬件连接图,并指出各芯片的地址范围。
解:
硬件连接电路图如图4.18所示。各芯片的地址范围为: 2764(1#):0000H~1FFFH 2764(2#):2000H~3FFFH
6264(1#):4000H~5FFFH 6264(2#):6000H~7FFFH
图4.18 4.18题硬件连接电路图
21.8255A的端口地址为7F00H~7F03H,试编程对8255A初始化,使A口按方式0输入,B口按方式1输出。 解:
程序如下:
MOV DPTR,#7F03H MOV A,#10010100B MOV @DPTR,A
25.使用8255A或者8155的B端口驱动红色和绿色发光二极管各4只,且红、绿发光二极
管轮流发光各1s,不断循环,试画出包括地址译码器、8255A或8155与发光管部分的接口电路图,并编写控制程序。 解:
电路连接图如图4.25所示。
图4.25 4.25题硬件连接电路图
其中,PB0~PB3接红色发光二极管,PB4~PB7接绿色发光二极管。设MCS-51单片机主频为12MHz。
程序如下:
ORG 0000H LJMP START ORG 0030H
START:MOV SP, #60H
MOV DPTR, #7FFFH ; 数据指针指向8255A控制口 MOV A, #80H MOVX @DPTR, A ; 工作方式字送8255A控制口 MOV DPTR, #7FFDH ; 数据指针指向8255A 的B口
MOV A, #0FH ; 置红色发光二极管亮 LP1: MOVX @DPTR, A ; 置红色发光二极管亮 LCALL DELAY ; 调用1S延时子程序 CPL A ; 置发光二极管亮反色 LJMP LP1 ; 循环执行
DELAY: MOV R7,#8 ; 1S延时子程序
D1:MOV R6,#250 D2:MOV R5,#250 D3:DJNZ R5,D3
DJNZ R6,D2 DJNZ R7,D1
RET END
采用定时器T0方式1中断实现1S定时。 1S=50mS×20次。
T0方式1实现50mS定时,初值=216-50mS/1μS=15536=3CB0H
(1S=20mS×50次,初值=216-20mS/1μS=45536=B1E0H)
ORG 0000H
LJMP START ORG 000BH LJMP TT0 ORG 1000 H
START:MOV SP, #60H
MOV DPTR, #7FFFH ; 数据指针指向8255A控制口 MOV A, #80H MOVX @DPTR, A ; 工作方式字送8255A控制口 MOV DPTR, #7FFDH ; 数据指针指向8255A 的B口
MOV A, #0FH ; 置红色发光二极管亮 MOV R2, A
MOVX @DPTR, A ; 置红色发光二极管亮 MOV 30H, #00H ; 次数计数单元初值
MOV TL0, #0B0H ; T0赋初值 MOV TH0, #3CH? MOV TMOD, #01H ; 定时器/计数器0工作于方式1 SETB TR0 ; 启动T0 SETB ET0 ; 开T0中断 SETB EA ; 开总允许中断
LP1:SJMP LP1 ; 等待定时器中断 TT0:PUSH ACC PUSH PSW INC 30H MOV A, 30H
CJNE A, #20, LP2 MOV A, R2 CPL A
MOV R2, A
MOVX @DPTR, A MOV 30H, #00H
LP2: MOV TL0, #0B0H ; T0赋初值
MOV TH0, #3CH POP PSW POP ACC SETB TR0
RETI END
26.简述RS-232C, RS-422A及RS-485串行通信接口的特点,画出在双机通信情况下,3个串行通信接口的接口电路。 解:
RS-232C采取不平衡传输方式,是为点对点(即只用一对收、发设备)通信而设计的,采用负逻辑,其驱动器负载为3k?~7k?。由于RS-232C发送电平与接收电平的差仅为2~3V,所以其共模抑制能力差,再加上双绞线上的分布电容,因此,RS-232C适用于传送距离不大于15m,速度不高于20kb/s的本地设备之间通信的场合。
RS-422由RS-232发展而来,RS-422定义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到1220m(速率低于100kb/s时),并允许在一条平衡总线上最多连接10个接收器。RS-422是一种单机发送、多机接收的单向、平衡的通信总线标准。
RS-485是在RS-422的基础上制定的标准,增加了多点、双向通信能力,通常在要求通信距离为几十米至上千米时,广泛采用RS-485总线标准。它采用平衡发送和差分接收,即在发送端,驱动器将TTL电平信号转换成差分信号输出;在接收端,接收器将差分信号变成TTL电平。具有较高的灵敏度,能检测低至200mV的电压,具有抑制共模干扰的能力,数据传输可达千米以上。
RS-232的双机通信接口电路如图4.26-1所示。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库单片机原理及应用作业答案(2)在线全文阅读。
相关推荐: