单片机8051基础问题。

1. 8051单片机定时/计数器的方式0为 。
A. 13位定时/计数 B. 8位定时/计数 C.16位定时/计数
2. 8051内部定时器工作于方式1时,计数器最大计数值为 。
A. 256 B. 65535 C. 1024 D. 8192
3. 计数100个脉冲T0采用方式2,计数初值设定为 。
A. 36H B. 64H C. 9CH D. FF9CH
二、编程题
1. 单片机8051的晶振频率fosc为12MHZ ,,若要定时值为0.4ms,定时器工作在方式2,采用中断方式,TH0与TL0的值是多少(要求计算过程)?编写初始化程序。

标准51
只有128字节片内RAM,00H-1FH工作寄存器区,共4组,通过RS1.RS0选择工作寄存器组,20H-2FH共16字节(128个位)可位寻址区。30H-7FH通用寄存器区,用来存放程序执行过程中的临时参数和堆栈区。80H-0FFH特殊功能寄存器区,8051的特殊功能寄存器占用地址(未完全占用,只能写入已经定义的特殊功能寄存器,如ACC,B,PSW,P0口等),当然也可以全部用来做通用寄存器区,8052比51多了128字节的片内RAM,地址为80H-0FFH,和特殊功能寄存器区地址重叠,但其物理位置并不重叠,而且该部分只能用间接寻址,而特殊功能寄存器区只能用直接寻址(部分可用位寻址)。00H-7FH可以用直接寻址和间接寻址,部分可用位寻址。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-16
1.A 2.B.3.C
二、
机器周期 Tosc=1/fosc * 12=1μm
计数次数N=0.4ms/1μm=400
方式2 8位自动重装计数/定时方式 最大计数次数为256
分2次定时中断满计数400次,每中断1次计数200次
初值256-200=56D=38H
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP T0SERVE
ORG 0030H
MAIN:MOV TMOD,#02H;中断方式2,定时
MOV TH0,#38H
MOV TL0,#38H
SETB EA;CPU开中断
SETB ET0;T0开中断
MOV R7,#2;2次中断是400次
SETB TR0;启动T0定时
SIMP $;等中断
T0SERVE:DJNZ R7,OUT;每中断1次减1,减为0,表示计数满400次
MOV R7;#2;恢复中断2次为0
OUT:RETI本回答被提问者采纳
第2个回答  2010-06-16
哎呀这种题目很基本啊,建议你看下郭天祥编写的新概念单片机C语言,上面有详细的解释,你可以从网上下载PDF格式的,你问这种问题说明你还没有真正理解什么叫单片机的定时器吧
. 8051单片机定时/计数器的方式0为A. 13位定时/计数 。
A. 13位定时/计数 B. 8位定时/计数 C.16位定时/计数
2. 8051内部定时器工作于方式1时,计数器最大计数值为 B. 65535 。
A. 256 B. 65535 C. 1024 D. 8192
3. 计数100个脉冲T0采用方式2,计数初值设定为 C. 9CH 。
A. 36H B. 64H C. 9CH D. FF9CH
第3个回答  2010-06-16
1. 8051单片机定时/计数器的方式0为 。
A. 13位定时/计数
2. 8051内部定时器工作于方式1时,计数器最大计数值为 。
B. 65535
3. 计数100个脉冲T0采用方式2,计数初值设定为 。
B. 64H

二、编程题
1. 单片机8051的晶振频率fosc为12MHz,若要定时值为0.4ms,定时器工作在方式2,采用中断方式,TH0与TL0的值是多少(要求计算过程)?编写初始化程序。
----
题目要求使用方式2,但是方式2最大定时才0.256ms(fosc为12MHz),如果采用多次定时,TH0与TL0的初始值就不是唯一的,这就有点不像题目了。
第4个回答  2010-06-16

1、B 

2、B

3、C

用一个懒人c51就可以搞定

相似回答