单片机的晶振频率是12MHZ,试编写程序完成P1口输出一个1HZ和10HZ的变频...
发布网友
发布时间:2024-10-01 16:12
我来回答
共2个回答
热心网友
时间:2024-10-22 11:16
程序如下:
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:
MOV TMOD, #01H
MOV TL0, #0B0H
MOV TH0, #3CH
SETB TR0
LOOP:
JNB TF0, LOOP ;2个周期.
MOV TL0, #0B3H ;一个周期.
MOV TH0, #3CH
CPL P2.0
CLR TF0
SJMP LOOP
END
热心网友
时间:2024-10-22 11:10
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit led1=P1^0;
uchar time=0;
uchar flag=0;
uchar CNT;
void main()
{
TMOD=0x01;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
EA=1;
ET0=1;
TR0=1;
led1=1;
while(1);
}
void T0_time()interrupt 3
{
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
time++;
if(flag==0)
{
if(time=50)
{
CNT++;
if(CNT==20) { CNT=0;flag=1; }
led1=~led1;
}
}
else
{
if(time=5)
{
CNT++;
if(CNT==200) { CNT=0;flag=0; }
led1=~led1;
}
}
}