fangbo400.txt
来自「使用的是新华龙单片机 100脚 的 在一个口输出任意频率的方波」· 文本 代码 · 共 111 行
TXT
111 行
#include<c8051f020.h>
#define uchar unsigned char
#define uint unsigned int
#define SYSCLK 22118400
#define f 100
#define AUX1 (22118400/288)/f
#define AUX2 -AUX1
#define AUX3 AUX2&0x00FF
#define AUX4 ((AUX2&0xFF00)>>8)
sbit shuc= P1^6;
sbit shuc1=P1^7;
sbit rs=P2^5;
sbit en=P2^7;
uchar temp,num,keynum,n,n1,n2,n3;
void delay(uchar z)
{
uchar i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
void SYSCLK_init()
{
OSCXCN=0x67;
delay(5);
OSCICN=0x04;
CKCON=0X00;
}
void Port_Init ()
{
XBR2 = 0x40;
P1MDOUT = 0x40;
}
void write_com(uchar com)
{
rs=0;
P7=com;
en=1;
delay(3);
en=0;
}
void write_data(uchar date)
{
rs=1;
P7=date;
en=1;
delay(4);
en=0;
}
void write_anjian(uchar x,uchar y)
{
uchar g,s;
s=y/10;
g=y%10;
write_com(0x80+x);
write_data(0x30+s);
write_data(0x30+g);
}
//主函数
void main()
{
WDTCN = 0xDE;
WDTCN = 0xAD;
SYSCLK_init();
Port_Init ();
shuc=1;
shuc1=0;
//初始化计时器
TMOD=0x11;
TL0=AUX3;
TH0=AUX4;
TL1=AUX3;
TH1=AUX4;
//打开计时器
TR0=1;
TR1=1;
//开中断
ET0=1;
ET1=1;
EA=1;
while(1);
}
void timer0() interrupt 1 using 0
{
TL0=AUX3;
TH0=AUX4;
shuc= ~shuc;
}
void timer1() interrupt 3
{
TL1=AUX3;
TH1=AUX4;
shuc1= ~shuc1;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?