📄 90showtime.c
字号:
#include<io8515.h>
#pragma interrupt_handler uart_rec:10
#define clrcs PORTC&=~0x10;
#define setcs PORTC|=0x10;
#define clrclk PORTC&=~0x08;
#define setclk PORTC|=0x08;
void delay(unsigned char mst) //延时子程序
{ unsigned char i;
for (i = 1; i<mst; i++)
;
}
void send(unsigned char temp) //发送子程序
{
unsigned char i;
clrcs
delay(150);
clrclk
for(i=8;i>0;i--)
{
PORTC=(temp&0x80)?PORTC|0x04:PORTC&0xfb;
setclk
delay(10);
clrclk
delay(10);
temp=temp<<1;
}
PORTC&=~0x04;
}
void write279(unsigned char cmd1, unsigned char cmd2)
{
send(cmd1);
send(cmd2);
setcs;
}
void distime(unsigned char temp[],unsigned n)
{
write279(0xcf,temp[0]/10);
write279(0xce,temp[0]%10);
write279(0xcc,temp[1]/10);
write279(0xcb,temp[1]%10);
write279(0xc9,temp[2]/10);
write279(0xc8,temp[2]%10);
}
void main()
{
unsigned char i,j;
DDRC=0xfd;
PORTC=0xf7;
send(0xa4);
setcs
write279(0x92,1);
write279(0x95,1);
UBRR=25;
UCR=0x90;
SREG|=0x80;
while(1);
}
void uart_rec()
{
unsigned char rec,time[3],*timepoint;
timepoint=time;
next:
USR&=~0x80;
if((USR&0x10)==1) return;
rec=UDR;
if(rec==13) goto dis;
*timepoint=rec;
++timepoint;
while(!(USR&0x80));
goto next;
dis:
distime(time,3);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -