内容发布更新时间 : 2024/12/23 6:15:13星期一 下面是文章的全部内容请认真阅读。
SETB TR0 SETB F0 SETB P1.2 MOV R7,#06H SETB F0 SJMP LOOP2 SJMP $ LOOP:CLR P1.2 T0INT:JBC F0,LOOP LOOP2: RETI DJNZ R7,LOOP2 END SETB P1.2
6-8 已知8051单片机的fosc=12MHz,用T1定时,试编程由P1.2和P1.3分别输出周期为2ms和500us的方波
解:2ms和500us的方波,以最小值500us为基本单位,将计时长度设为250us,可使用8位加法计数器,即T1的工作方式为方式2。2ms方波为4个计数溢出长度翻转一次。采用中断方式处理溢出。
6-6
(1)定时初值确定:X=256-12×10×250×10/12=256-250=6
(2)确定TMOD的参数:T0设为方式0定时器。TMOD=0010 0000=20H (3)编写源程序: ORG 0000H SETB EA AJMP MAIN SETB TR1 ORG 001BH SJMP $ AJMP T1INT T1INT:CPL P1.3 ORG 0030H DJNZ R7,LOOP MAIN:MOV R7,#04 CPL P1.2 MOV TH1,#06 MOV R7,#04 MOV TL1,#06 LOOP:RETI MOV TMOD,#20H END SETB ET1