?? jianpan.txt
字號:
#include<c8051f020.h>
#define uchar unsigned char
#define uint unsigned int
#define SYSCLK 22118400
sbit rs=P2^5;
sbit en=P2^7;
uchar table[]="00:00:00:00";
uchar temp,num,keynum,n,n1,n2,n3;
//void key_com();
void delay(uint t)
{
uint i,j;
for(i=t;i>0;i--)
for(j=110;j>0;j--);
}
void init()
{
WDTCN=0xde;//關看門狗
WDTCN=0xad;
XBR2=0x40;//設置交叉開關使能
P2MDOUT=0xf0;//P2^57推挽式輸出
P74OUT=0xf0;//P67推挽式輸出
}
void SYSCLK_init()
{
OSCXCN=0x67;
delay(5);
OSCICN=0x04;
CKCON=0X00;
}
void write_com(uchar com)
{
rs=0;
P7=com;
delay(5);
en=1;
delay(5);
en=0;
}
void write_data(uchar date)
{
rs=1;
P7=date;
delay(5);
en=1;
delay(5);
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 key_com()
{
char m;
while(1)
{
P5=0xf0;
temp=P5;
if(temp!=0xf0)
{
temp=temp&0xf0;
m=temp;
switch(m)
{
case 0xe0:{
n=n+1;
delay(500);
write_anjian(9,n);
delay(500);
write_com(0x80+0x40+9);
write_data('2');
delay(1000);
write_com(0x80+0x40+9);
write_data(' ');
}
break;
case 0xd0: {
n1=n1+1;
delay(500);
write_anjian(6,n1);
delay(500);
write_com(0x80+0x40+6);
write_data('3');
delay(1000);
write_com(0x80+0x40+6);
write_data(' ');
}
break;
case 0xb0: {
n2=n2+1;
delay(500);
write_anjian(3,n2);
delay(500);
write_com(0x80+0x40+3);
write_data('4');
delay(1000);
write_com(0x80+0x40+3);
write_data(' ');
}
break;
case 0x70: {
n3=n3+1;
delay(500);
write_anjian(0,n3);
delay(500);
write_com(0x80+0x40+0);
write_data('5');
delay(1000);
write_com(0x80+0x40+0);
write_data(' ');
}
break ;
}
}
}
}
void main()
{
init();
SYSCLK_init();
P2=0x0f;
P6=0x00;
en=0;
write_com(0x38);
write_com(0x0f);
write_com(0x06);
write_com(0x01);
for(num=0;num<11;num++)
{
write_data(table[num]);
delay(20);
}
while(1)
{
key_com();
delay(20);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -