单片机复习材料(11)

时间:2025-03-09

例7-4 利用T0门控位测试 INT0引脚上出现的正脉冲宽度,已知晶振频率为12MHz,将所测得值最高位存入片内71H单元,低位存入70H单元。

解:设外部脉冲 由(P3.2)输入,T0工作于定时方式 1(16位计数),GATE设为1。测试时,应在INT0 低电平时,设置TR0为1(16位计数);当INT0 变为高电平时,就启动计数; 再次变低时,停止计数。此计数值与机器周期的乘积即为被测正脉冲的宽度。因fosc=12MHZ,机器周期为1us,测试过程如下。 源程序如下:

SETB TR0 INC R0 MOV TMOD,#09H

JNB P3.2, $ MOV @R0,TH0 MOV TL0,#00H

JB P3.2,$ SJMP $ MOV TH0,#00H

CLR TR0 MOV R0,#70H

JB P3.2, $ MOV @R0,TL0

7.5利用定时/计算器T2作为时钟发生器,从P1.0输出频率为1KHZ的脉冲,设fosc=12MHZ MOV T2MOD, #02H MOV RCAP2L, #48H MOV T2CN, #00H SETB TR2 MOV RCAP2H, #0F4H RET 7.6测量脉冲信号的周期,并存放于R6R5中 ORG 0000H SETB ET2 MS:JBC EXF2, NEXT AJMP MAIN SETB TR2 CLR TF2 ORG 002BH RET1 WAIT:CJNEE R0, #02H, WAIT AJMP MS CLR ET2 NEXT:MOV @R1, RCAP2L ORG 0040H CLR EA INC R1

CLR C MOV @R1, RCAP2H MAIN:MOV T2MOD, #00H

MOV T2CON, #09H MOV A, 72H INC R1 MOV TL2, #00H SUBB A,70H INC R0

MOV TH2, #00H MOV R5, A RET1 MOV R1, #70H MOV A, 73H END MOV R0, #00H SUBB A, 71H SETB EA MOV R6, A

8.1 在内部数据存储器20H~3FH单元中共有32个数据,要求采用方式串行发送出去,传送速率为1200波特,设fosc=12MHZ.

解:T1工作于方式 2 作波特率发生器,取SMOD=0,T1的时间常数计算如下: 波特率=2smod/32×fosc/12×(256-X)

1200=(1/32)×12×10 /12(256-x)

x=230=E6H (1)查询方式编程 发送程序:

ORG 0000H  MOV R0, #20H INC R0 MOV TMOD, #20H  MOV R7, #32 DJNZ R7, LO MOV TH1, #0E6H  LO0P: MOV SBUF,@R0  MOV TL1, #0E6H JNB TI, SJMP $ SETB TR1 $  MOV SCON, #40H  CLR TI

单片机复习材料(11).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219