📄 8515控制液晶显示.txt
字号:
#include <iom8515v.h>
unsigned char a[] = {"WALTRON"};
void nop();
void delay(int ms );
unsigned char lcd_bz();
void lcd_wcmd(unsigned char cmd);
lcd_wdate(unsigned char date) ;
lcd_rdate(unsigned char date);
void lcd_init();
void main()
{
unsigned char i;
lcd_init();
delay(10);
i = 0;
while(a[i] != '\0') //写显示字符串
{
lcd_wdate(a[i]);
i++;
}
i = 0;
while(a[i] != '\0') //读显示字符串
{
lcd_rdate(a[i]);
i++;
}
while(1);
}
unsigned char lcd_bz() //检测BUSY信号,'1'为忙
{
unsigned char result;
DDRC = 0XFF;
DDRA = 0XFF;
PORTC = 0X7c;
nop();
nop();
result = PORTA & 0x80;
return(result);
}
void lcd_wcmd(unsigned char cmd) //写一个控制指令指令
{
while(lcd_bz());
DDRC = 0XFF;
DDRA = 0XFF;
PORTC = 0X3c;
nop();
nop();
PORTA = cmd;
nop();
nop();
nop();
nop();
PORTC = 0X1c;
nop();
nop();
nop();
nop();
}
lcd_wdate(unsigned char date) //写显示数据子程序
{
while(lcd_bz());
DDRC = 0XFF;
DDRA = 0XFF;
PORTC = 0Xbc;
nop();
nop();
PORTA = date;
nop();
nop();
nop();
nop();
PORTC = 0x9c;
nop();
nop();
nop();
nop();
}
lcd_rdate(unsigned char date) //读显示数据子程序
{
while(lcd_bz());
DDRC =0XFF;
DDRA = 0XFF;
PORTC = 0Xfc;
nop();
nop();
PORTA = date;
nop();
nop();
nop();
nop();
}
void lcd_init() //初始化
{
lcd_wcmd(0x3f); //开屏设置
delay(1);
lcd_wcmd(0xc0); //设置起始行
delay(1);
lcd_wcmd(0xb8); //页面设置
delay(1);
lcd_wcmd(0x40); //列地址设置
delay(1);
}
void nop() //延时一个机器周期
{
int i;
for (i = 0 ; i < 1; i ++ );
}
void delay(int ms ) //延时子程序
{
int i;
while(ms--)
{
for(i = 0 ; i < 120 ; i ++ ) ;
{
nop();
nop();
nop();
nop();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -