《单片微型计算机与接口技术》思考题与习题解答01

内容发布更新时间 : 2025/7/18 19:04:05星期一 下面是文章的全部内容请认真阅读。

b=tab[j]; EX0=1;}

void delay(void){ int x;

for(x=0;x<1000;x++); }

第7章 定时计数器

7.1 8XX51单片机内部设有几个定时/计数器?它们是南哪些专用寄存器组成的? 7.2 8XX51单片机的定时/计数器有哪几种工作方式?各有什么特点?

7.3 定时/计数器用做定时时,其定时时间与哪些因素有关?用做计数时,对外界计数频率有何限制? 7.1~7.3参7.1节

7.4 设单片机的fosc=6MHz,定时器处于不同工作方式时,最大定时范围分别是多少? 7.4 方式0:16.38ms,方式1:131ms,方式2:512us

7.5 利用8XX51的T0计数,每计10个脉冲,P1.0变反一次,用查询和中断两种方式编程。

7.5 使用方式2,计数初值c=100H—OAH=F6H 查询方式: 0RG 0000H MOV TMOD,#06H MOV THO,#0F6H MOV TL0,#0F6H SETB TR0

ABC:JNB TF0,$ CLR TF0 CPL P1.0 SJMP ABC 中断方式: ORG 0000H AJMP MAIN ORG OOOOBH CPL P1.0 RETI

MAIN:MOV TMOD,#06H MOV TH0,#OF6H SETB EA SETB ET0 SETB TR0

SJMP $ ;等待中断 C语言程序查询方式: #include sbit p10=P1^O; main(){

25

TMOD=Ox06;THO=-10;TLO=-10; TRO=1:{ while(1)

dO{}while(TF0==0) TF0=0;p10=~p10; }}

中断方式:#include sbit p1_O=P1^O; tov()interrrupt 1 {p1_O=~p1_O; } maln(){

EA=1;ET0=1;TMOD=0x06; TH0=0xf6;TL0=0xf6;TR0=1; while(1);}/*等待中断*/

7.6 在P1.0引脚接一驱动放大电路驱动扬声器,利用T1产生lOOOHz的音频信号从扬声器输出。 7.6 1000Hz的周期为1ms,即要求每500us P1.0变反一次,使用T1方式1,MC=12/fosc=1us,C=216-500us/1us=FE0CH,除TMOD=10H,TH0=FEH,Tl0=0CH外,程序与7.5题相同,注意每次要重置TH0和TL0。

7.7 已知8XX51单片机系统时钟频率为6MHz,利用定时器T0使P1.2每隔350us,输出一个50us脉宽的正脉冲。

7.7 fosc=6MHz,MC=2us,方式2的最大定时为512us,合乎题目的要求。50us时,计数初值为C1=256-25=E7H,350us时,计数初值为C2=256-175=51H 汇编语言程序 ORG 0000H MOV TMOD,#02H

NEXT:MOV TH0,#51H MOV TL0,#51H CLR P1.2 SETB TR0

AB1:JBC TF0,EXT

SJMP AB1 EXT:SETB P1.2 MOV TH0,#0E7H

MOV T

>>展开全文<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4 ceshi