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

📄 lesson6.c

📁 AVR8位单片机
💻 C
字号:
#include <iom16v.h>
#include <macros.h>
#define  uchar unsigned char
#define  uint  unsigned int
#pragma data:code 
/*code存储器类型说明*/
const uchar table[]="I LOVE YOU !";//const类型说明,表示在程序执行过程中不可更改的常量值
const uchar table1[]="Li huang sheng";

void delay(uint ms)
{
        uint i,j;
	for(i=0;i<ms;i++)
	   {
	   for(j=0;j<1141;j++);
       }
}
void write_com(uchar com)
{
       PORTD&=~BIT(4);
	   PORTD&=~BIT(5);
	   PORTB=com;
	   PORTD|=BIT(6);
	   delay(1);
	   PORTD&=~BIT(6);
}

void write_dat(uchar dat)
{     
       PORTD|=BIT(4);
	   PORTD&=~BIT(5);
	   PORTB=dat;
	   PORTD|=BIT(6);
	   delay(1);
	   PORTD&=~BIT(6);

}
void  main()
{
while(1)
{
     uchar i;
	  DDRB=0XFF;
	  DDRD|=BIT(4)|BIT(5)|BIT(6);
	  PORTD&=~BIT(6);
	  
	  write_com(0X38);//设置显示模式
	  delay(5);
	  write_com(0X01);//清屏
	  delay(5);
	  write_com(0X0C);//设置显示开关和光标
	  delay(5);
	  write_com(0X06);//设置字符显示移动模式
	  delay(5);
	  write_com(0X80+0X10);//设置第1行数据地址指针
	  delay(5);
	  for(i=0;i<12;i++)//显示第1行的字符
	  {
	     write_dat(table[i]);
		 delay(5);
	  }
	  write_com(0X80+0X50);//设置第2行的数据地址指针
	  delay(5);
	    for(i=0;i<14;i++)//显示第2行的字符
	  {
	     write_dat(table1[i]);
		 delay(5);
	  }
	  for(i=0;i<16;i++)//设置字符从右到左显示
	  {
	     write_com(0X18);//从右到左显示指令
		 delay(500);
	  }
	  
}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -