📄 main._c
字号:
#include <macros.h>
#include<iom8v.h>
extern const unsigned char seg_table[];
extern unsigned char led_buff[];
extern void delay_ms(unsigned int time);
extern void display(void);
extern unsigned char charInput;
extern void uart_init(void);
extern void timer0_init(void);
extern void led_init(void);
extern int puts(char *s);
extern void putchar(unsigned char c);
extern unsigned char getchar(void);
extern void rom_write(unsigned int Address,unsigned char Data);
extern unsigned rom_read(unsigned int Address);
void main(void)
{
unsigned int intPos=0;
unsigned int i;
uart_init();
timer0_init();
led_init();
puts( "欢迎进入由杨东阁编写的UART中断方式接收程序");
putchar(0x0d);
putchar(0x0a);
puts( "MAIL TO:dongle@sina.com");
putchar(0x0d);
putchar(0x0a);
SEI();
DDRC|=0b00011100;
PORTC&=0b11100011;
while(1)
{
/*
if (charInput!=0)//按PC键盘开始测试
{
if(intPos=512) intPos=0;
else intPos++;
rom_write(intPos,charInput);
puts("当前按键是:");
putchar(charInput);
putchar(0x0d);
putchar(0x0a);
puts("欢迎进入由杨东阁编写的UART中断方式接收程序");
putchar(0x0d);
putchar(0x0a);
puts("MAIL TO:dongle@sina.com");
putchar(0x0d);
putchar(0x0a);
for (i=3;i>0;i--)
{
led_buff[i]=led_buff[i-1];
}
if ((charInput>='0')&(charInput<='9'))
{
led_buff[0]=seg_table[charInput-48];
}
else led_buff[0]=0x7F;
}
else if(charInput=0xff)
{
for(;intPos!=0;intPos--)
{
putchar(rom_read(intPos));
}
putchar(0x0d);
putchar(0x0a);
}
charInput=0;*/
i=charInput;
if ((i!=0)&(i!=0xff))//按PC键盘开始测试
{
puts("当前按键是:");
putchar(i);
putchar(0x0d);
putchar(0x0a);
rom_write(intPos,i);
if(intPos==511) intPos=0;
else intPos++;
puts("欢迎进入由杨东阁编写的UART中断方式接收程序");
putchar(0x0d);
putchar(0x0a);
puts("MAIL TO:dongle@sina.com");
putchar(0x0d);
putchar(0x0a);
for (charInput=3;charInput>0;charInput--)//在此charInput已经初始化为0
{
led_buff[charInput]=led_buff[charInput-1];
}
if ((i>='0')&(i<='9'))
{
led_buff[0]=seg_table[i-48];
}
else led_buff[0]=0x7F;
}
else if (i==0xff)
{i=getchar();
for(;i!=0;i--)
putchar(rom_read(i));
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -