SETB TR0 ;启动T0 SJMP $ ;等待中断 DVT0:CPL P1.1 MOV TH0,# 0FEH MOV TL0,# 0CH SETB TR0 RETI END 10.试用定时/计数器T1对外部事件计数。要求每计数100,就将T1改成定时方式,控制P1.7输出一个脉宽为10ms的正脉冲,然后又转为计数方式,如此反复循环。设晶振频率为12MHz。 答: a、T1工作在计数方式2时,控制字TMOD配置: M1M0=10,GATE=0,C/T=1,可取方式控制字为60H; T1工作在定时方式1时,控制字TMOD配置: M1M0=01,GATE=0,C/T=0,可取方式控制字为10H; b、计算初值X: 定时10ms时: 晶振为12 MHz,所以机器周期Tcy为1μs。 N=t/ Tcy =10×10-3/1×10-6=10000 X=216-N=65536-10000=55536=D8F0H 即应将D8H送入TH1中,F0H送入TL1中。 计数100时: N=100 X=28-N=256-100=156=9CH c、实现程序如下: ORG 0000H AJMP MAIN ;跳转到主程序 ORG 001BH ;T1的中断入口地址 LJMP DVT1 - 31 -
ORG 0030H MAIN:MOV TMOD,#60H ;T1工作于计数方式2 MOV TH1,#9CH ;装入计数初值 MOV TL1,#9CH ; CLR P1.7 SETB ET1 ;T1 SETB EA ;CPU SETB TR1 ; SJMP $ ; DVT1:SETB P1.7 CLR ET1 CLR TR1 MOV TMOD,#10H ;T1 MOV TH1,#0D8H ; MOV TL1,#0F0H SETB TR1 JNB TF1,$ ; CLR TF1 CLR TR1 CLR P1.7 MOV TMOD,#60H ;T1开中断 开中断 启动T1 等待中断 工作于定时方式1 装初值 查询等待10ms 工作于计数方式2 - 32 -
MOV TH1,#9CH ;装初值 MOV TL1,#9CH ; SETB ET1 ;T1开中断 SETB TR1 ;启动T1 RETI END 11.利用定时/计数器T0产生定时时钟,由P1口控制8个指示灯。编一个程序,使8个指示灯依次闪动,闪动频率为1次/秒(即,亮1秒后熄灭并点亮下一个,-----)。 答:采用定时20ms,计数50次实现1秒定时。编制1秒延时子程序,由主程序调用。 a、T0工作在定时方式1时,控制字TMOD配置: M1M0=01,GATE=0,C/T=0,可取方式控制字为01H; b、计算计数初值X: 晶振为12 MHz,所以机器周期Tcy为1μs。 N=t/ Tcy =20×10-3/1×10-6=20000 X=216-N=65536-20000=45536=4E20H 即应将4EH送入TH1中,20H送入TL1中。 c、实现程序如下: ORG 0000H AJMP MAIN ;跳转到主程序 ORG 0030H MAIN:CLR CY MOV A,#01H - 33 -
LP0:MOV P1,A CALL D1SEC RL A AJMP LP0 D1SEC:MOV R7,#50 ;计数50次 MOV TMOD,#01H DL:MOV TH0,#4EH MOV TL0,#20H SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 DJNZ R7,DL RET END 章6 80C51的串行口 1.80C51单片机串行口有几种工作方式?如何选择?简述其特点? 答: 四种工作方式,由SCON中的SM0、SM1进行定义: 方式0:同步移位寄存器的输入输出方式,主要用于扩展并行输入或输出口,波特率固定。 - 34 -
方式1:10位数据的异步通信口,波特率可变。 方式2:11位数据的异步通信口,波特率固定。 方式3:11位数据的异步通信口,波特率可变。 2.串行通信的接口标准有那几种? 答: RS-232C接口、RS-422A接口、RS-485接口 3.在串行通信中通信速率与传输距离之间的关系如何? 答: 最大距离与传输速率及传输线的电气特性有关。当传输线使用每0.3m(约1 ft)有50PF电容的非平衡屏蔽双绞线时,传输距离随传输速率的增加而减小。当波特率超过1000 bps 时,最大传输距离将迅速下降。 4.在利用RS-422/RS-485通信的过程如果通信距离(波特率固定)过长,应如何处理? 答: 在波特率一定的情况下,带负载数的多少,与信号能传输的最大距离是直接相关的。在总线允许的范围内,带负载数越多,信号能传输的距离就越小;带负载数越少,信号能传输的距离就越远。故应减小通信距离或减少负载数量。 5.利用单片机串行口扩展并行输入接口电路如图所示。试编写程序完成将SW1~SW8的状态反应在P0口所接的LED上(如SW1闭合时L7应点亮)。 答:电路图如下: - 35 -