📄 08-10-31频率检测.c
字号:
//#include<reg52.h>
#include<STC89C51RC.H>
#define uint unsigned int
#define uchar unsigned char
//#include<intrins.h> //右移函数需要此头文件INTRINS.H 大小写不限
uint i=0,meimiao=0;
uint tt=0,x=0,y=0,h=0,m=0,s=0,a=0,b=0,c=0,d=0,e=0,f=0;
sbit rs=P2^3;
sbit rw=P2^2;
sbit lcden=P2^4;
sbit led=P1^0;
sbit send=P1^2;
uchar code table[]=" ";//" 2007-7-30 MON";
uchar code table1[]=" ";//" 00:00:00";
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void comd(uchar com)
{
rs=0;
lcden=0;
rw=0;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void date(uchar date)
{
rs=1;
lcden=0;
rw=0;
P0=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void init(void)
{
uint num;
comd(0x38);//设置16*2显示,8位数据口
comd(0x0c);//不显示光标
comd(0x06);//写一个字地址加1,且光标位置加1
comd(0x01);//清零
comd(0x80);
for(num=0;num<15;num++)
{
date(table[num]);
delay(5);
}
comd(0x80+0x40);
for(num=0;num<12;num++)
{
date(table1[num]);
delay(5);
}
}
void sfm(uchar add,uchar dat)
{
comd(0x80+add);//+0x40+8
date(0x30+dat);
}
void see(void)
{
uchar ge,shi,bai,qian,wan,shiwan,baiwan,qianwan,yi;
ge=i%10;
shi=i/10%10;
bai=i/100%10;
qian=i/1000%10;
wan=i/10000%10;
shiwan=i/100000%10;
baiwan=i/1000000%10;
qianwan=i/10000000%10;
yi=i/100000000%10;
sfm(0,yi);
sfm(1,qianwan);
sfm(2,baiwan);
sfm(3,shiwan);
sfm(4,wan);
sfm(5,qian);
sfm(6,bai);
sfm(7,shi);
sfm(8,ge);
sfm(9,'H'-48);
sfm(10,'z'-48);
}
void play(void)
{
EA=1;//开总中断
ET1=1;//开定时器中断
TMOD=0X01;//定时器工作方式为T0
TH0=(65536-50000)/256;//定时器高八位初值
TL0=(65536-50000)%256;//定时器低八位初值
ET0=1; //开定时器0
TR0=1; //启用定时器0
EX0=1;//外部中断0开
IT0=1;//下降沿触发外部中断
}
void Timer2init(void)
{
T2MOD=0x02;
T2CON=0x14;
//EA=1; /* interupt enable */
//ET2=1; /* enable timer1 interrupt */
TR2=1;
RCAP2L=200;
RCAP2H=255;
}
main()
{
Timer2init();
play();
init();
while(1)
{
see();
delay(400);
}
}
void ISR_Key(void) interrupt 0
{
led=~led;//外部中断触发一次,P1取反一次
meimiao++;
}
void time0() interrupt 1//定时器工作方式是1
{
TH0=(65536-50000)/256;//定时器高八位初值
TL0=(65536-50000)%256;//低八位初值
tt++;
if(tt==20)
{
tt=0;
i=meimiao;
meimiao=0;
}
}
/*
void Timer2(void) interrupt 5
{
TH2=255; Init value
TL2=200;
send=~send;
P1=~P1;
//LED=~LED;
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -