yejing.c

来自「1602液晶驱动程序」· C语言 代码 · 共 69 行

C
69
字号
#include<iom16v.h>
#include<macros.h>
#define uchar unsigned char
#define uint unsigned int
#pragma data:code 
const uchar table1[]="   Welcom to"; //双引号将字符转换位ANSIC码
const uchar table2[]="www.qust.edu.cn";
void delay(uint ms)//毫秒级延时程序
{
  uint i,j;
  for(i=0;i<ms;i++)
    for(j=0;j<1141;j++);
}

void write_com(uchar com)//写指令
{
 PORTA&=~BIT(5);
 PORTA&=~BIT(6);
 PORTB=com;
 PORTA|=BIT(7);
 delay(1);
 PORTA&=~BIT(7); 
}

void write_dat(uchar dat)//写数据
{
 PORTA|=BIT(5);
 PORTA&=~BIT(6);
 PORTB=dat;
 PORTA|=BIT(7);
 delay(1);
 PORTA&=~BIT(7);
}

void main()
{
 uchar i;
 DDRB=0XFF;
 DDRA|=BIT(5)|BIT(6)|BIT(7);
 PORTA&=~BIT(7);
 write_com(0x38);//显示模式设置
 delay(5);
 write_com(0x01);//清屏,很重要!
 delay(5);
 //write_com(0x0f);//显示光标并闪烁
 write_com(0x0c);//不显示光标
 delay(5);
 write_com(0x06);//显示光标移动设置
 delay(5);
 write_com(0x80+0x10);
 delay(5);
 for(i=0;i<12;i++)//第一行显示
 {
  write_dat(table1[i]);
  delay(5);
 }
  write_com(0x80+0x50);//第二行显示
  delay(5);
   for(i=0;i<15;i++)
 {
  write_dat(table2[i]);
  delay(5);
 }
 for(i=0;i<16;i++)
 {
  write_com(0x1c);//从左到右移动显示屏
  delay(230);
 }
}

⌨️ 快捷键说明

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