学校的科技竞赛,要求做一个基于单片机的信号发生器,最高频率为一兆赫兹,单片机是12的,谁知道还需要

如题所述

第1个回答  2017-11-21
#include<reg51.h>
#define uchar unsigned char
uchar fre=6;
sbit pluse=P1^0;
sbit ku=P1^4;
sbit kd=P1^5;
void t0isr() interrupt 1
{
TH0=thf;
TL0=tlf;
pluse=~pluse;
}
main()
{
TMOD=0x01;
AUXR |= 0x40; //定时器1时钟为Fosc,即1T
TH0=(65536-fre)/256;
TL0=(65536-fre)%256;
TR0=1;
ET0=1;
EA=1;
while(1)
{
thf=(65536-fre)/256;
tlf=(65536-fre)%256;
if(ku==0)
{
while(ku==0);
fre++;
fre%=65530;
}
if(kd==0)
{
while(kd==0);
fre--;
if(fre<6)fre=65530;
}
}
}本回答被网友采纳