⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main._c

📁 详细介绍M8两版间通讯
💻 _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 + -