📄 display.txt
字号:
#include<reg51.h>
#include<absacc.h>
#include<intrins.h>
#define uchar unsigned char
#define LCD P0
sbit bflag=ACC^7;
sbit RS=P1^0; //三个控制位//
sbit R_W=P1^1;
sbit E=P1^2;
/*sbit led0=P2^0;
sbit led1=P2^1;
sbit led2=P2^2;
sbit led3=P2^3;*/
uchar idata s_GOOD1[]="Voltage ch 0-8";
uchar idata s_GOOD2[]="Frequecy";
uchar idata s_GOOD11[12]={0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x00};
uchar idata s_GOOD22[12]={0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x00};
uchar LCDCOM;
uchar LCDDATA;
void delay(unsigned int x) //延时时间为(x*1)ms//
{
unsigned char i;
while(x--){
for(i=0;i<125;i++);
}
}
//命令寄存器有效,做写操作//
void W_C()
{
do{E=1;
_nop_();
_nop_();
R_W=0;
_nop_();
_nop_();
RS=0;
_nop_();
_nop_();
LCD=LCDCOM;
E=0;
_nop_();
_nop_();
}while(bflag==1);
}
//写数据//
void W_D()
{
do{E=1;
_nop_();
_nop_();
R_W=0;
_nop_();
_nop_();
RS=1;
_nop_();
_nop_();
LCD=LCDDATA;
E=0;
_nop_();
_nop_();
}while(bflag==1);
}
void init_lcd(void)
{
LCDCOM=0x38; //功能设置:DL=1,数据8位 ,N=1,双行显示 ,F=0, 5X7点阵//
W_C();
LCDCOM=0x06; //I/D=1, AC自动增1。S=0 ,整体显示不移动//
W_C();
LCDCOM=0x0f; //D=1,开显示,C=0,开光标,B=0 字符闪烁//
W_C();
LCDCOM=0x01; // 清除DDRAM,置AC = 0 //
W_C();
}
/*
void d_char(char a)
{
LCDDATA=a;
wait2();
} */
//显示//
void display(uchar x,uchar idata *s)
{
uchar i=0;
LCDCOM=x;
W_C();
while(s[i]!=0x00)
{
LCDDATA=s[i];
delay(200) ;
W_D();
i++;
}
LCDCOM=0x01; //I/D=1, AC自动增1。S=0 ,整体显示不移动//
W_C();
}
void main(void)
{ uchar i;
init_lcd();
for (i=0;i<9;i++)
{ display(2,s_GOOD1);
delay(300);
LCDCOM=0x01; //I/D=1, AC自动增1。S=0 ,整体显示不移动//
W_C();
display(2,s_GOOD11);
delay(500);
LCDCOM=0x01; //I/D=1, AC自动增1。S=0 ,整体显示不移动//
W_C();
display(8,s_GOOD2);
delay(300);
LCDCOM=0x01; //I/D=1, AC自动增1。S=0 ,整体显示不移动//
W_C();
display(8,s_GOOD22);
delay(300);
LCDCOM=0x01; //I/D=1, AC自动增1。S=0 ,整体显示不移动//
W_C();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -