1楼:做而论道
用一个定时器定时50us,也可以达到题目要求。
在我的空间里面有类似的问题和解答。
------------------------org 0000h
sjmp start
org 001bh ;t1中断入口.
sjmp t1_int
start:
mov tmod, #20h ;设置t1定时方式2mov th1, #206 ;自动重新装入方式.
mov tl1, #206 ;定时时间50us@12mhz
mov ie, #10001000b ;开放总中断和t1中断.
setb tr1 ;启动t1mov r2, #3 ;周期是3×50ussjmp $ ;等着吧.
t1_int:
setb p1.0 ;输出高.
djnz r2, t1_end ;r2-1clr p1.0 ;减到0,就输出低电平.
mov r2, #3
t1_end:
reti ;中断返回.
end ;完.
2楼:心想杏杏
人家要完全的、完整的、详细的编写此程序的过程!
估计回答这个问题至少要个把小时。
其实一楼说的挺详细了。
单片机时钟为12mhz 利用定时器t1 使p1.0引脚输出2ms 的矩形波,要求占空比例1:2 试编写程序
3楼:匿名用户
#include //12mhz
sbit pause = p1^0;
void main(void)
void timeint(void) interrupt 3 //占空比例bai1:2
else if(i == 3)
} 不懂得还可以问我zhi……
在中dao断中的变量专i需是静态变量static,在中断结束属时不释放,所以楼上的程序是不可以的!
4楼:匿名用户
^#include //12mhz
sbit p10 = p1^0;
unsigned char i=0;
void main(void)
void t0_int() interrupt 3 //占空du比zhi例1:2
if(i==3)}
5楼:安子熙丷啦
我想说你写的tmod=ox10是什么鬼。应该是0x01吧
时钟频率12mhz利用定时器t0中断实现从p2.1输出高电平宽度为10ms低电平为20ms的矩形波
6楼:匿名用户
这个应该主要是编程来实现。
7楼:专注51单片机
#include
#define uchar unsigned charsbit pluse=p2^1;
uchar cnt;
void t0isr() interrupt 1main()
mcs-51单片机时钟为12mhz,利用定时器t0编程令p1.0引脚输出2ms的矩形波程序,要求占空比系数为1:2。 5
8楼:匿名用户
2ms周期方
bai波du,1:2占空比
zhi的话得不dao
到精回确值答
。org 0000h
ljmp main
org 000bh
ljmp t0isr
org 0030h
main:
mov tmod,#02h
mov th0,#246
mov tl0,#246
setb tr0
setb et0
setb ea
setb p1.0
clr a
sjmp $
t0isr:
inc a
cjne a,#67,t01
t01:
jc t02
clr p1.0
cjne a,#200,t03
t03:
jc t0e
clr a
t0e:
reti
t02:
setb p1.0
retiend
9楼:匿名用户
2ms是高电平时间还是低电平时间的