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

📄 qq.txt

📁 单片机课程设计的LCD显示
💻 TXT
字号:
程序功能:液晶5位显示,每个按键对应一位。按一下按键,相应位加1,可进位。超出量程,则清0

程序源码:

#include "reg52.h"

#define uchar unsigned char

typedef bit bool ; 
sbit key1= p3^2;
sbit key2= p3^3;
sbit key3= p3^4;
sbit key4= p3^5;
sbit key5= p3^7;
sbit rs = p2^6 ; 
sbit rw = p3^6 ;
sbit ep = p2^7 ;
//各位计数变量
uchar dis[5]={0x30,0x30,0x30,0x30,0x30};

void delay(uchar ms)
{ // 延时子程序
uchar i ;
while(ms--)
{
for(i = 0 ; i<250;i ) ;
}
}

bool lcd_bz()
{ // 测试lcd忙碌状态
bool result ;
rs = 0 ;
rw = 1 ;
ep = 1 ;
result = (bool)(p0 & 0x80) ;
ep = 0 ;
return result ; 
}
void lcd_wcmd(uchar cmd)
{ // 写入指令数据到lcd
while(lcd_bz()) ;
rs = 0 ;
rw = 0 ;
ep = 0 ;
p0 = cmd ;
ep = 1 ;
ep = 0 ; 
}

void lcd_pos(uchar pos)
{ //设定显示位置
lcd_wcmd(pos 0x80) ;
}

void lcd_wdat(uchar dat) 
{ //写入字符显示数据到lcd
while(lcd_bz()) ;
rs = 1 ;
rw = 0 ;
ep = 0 ;
p0 = dat ;
ep = 1 ;
ep = 0 ; 
}

void lcd_init()
{ //lcd初始化设定
lcd_wcmd(0x38) ; //function set
delay(1) ;
lcd_wcmd(0x38) ; //function set
delay(1) ;
lcd_wcmd(0x08) ; //display on/off
delay(1) ;
lcd_wcmd(0x01) ; //清除lcd的显示内容
delay(1) ;
lcd_wcmd(0x06) ; //entry mode set
delay(1) ;
lcd_wcmd(0x0c) ; //entry mode set
delay(1) ;
}

/*---------------
函数名称:display()
功能 :在lcd上显示数组的数据
说明 :先写显示地址,后写显示数据
调用 :lcd_wcmd(), lcd_pos()
入口参数:pos 写入的位置,q指向要写入的数据所在的数组
返回值 :无
----------------*/
void display(uchar pos, uchar *q)
{ 
uchar i ;
//lcd_wcmd(0x01) ; //clear 
delay(10) ;
lcd_pos(pos) ;
for(i=0;i<5;i )
{
lcd_wdat(*q) ;
q ;
delay(10) ;
} 
}

void main()
{
key1=1;
key2=1;
key3=1;
key4=1;
lcd_init() ; // 初始化lcd 
while(1) //循环执行
{
if(!key1)//如果键1按下,下同
{ 
while(!key1);
dis[0];
}
if(!key2)
{
while(!key2);
dis[1];
}
if(!key3)
{ 
while(!key3);
dis[2];
}
if(!key4)
{
while(!key4);
dis[3];
}
if(!key5)
{
while(!key5);
dis[4];
}
if((dis[0]-0x30)>9)//个位进位,下同
{
dis[0]=0x30;
dis[1];
}
if((dis[1]-0x30)>9)
{
dis[1]=0x30;
dis[2];
}
if((dis[2]-0x30)>9)
{
dis[2]=0x30;
dis[3];
}
if((dis[3]-0x30)>9)
{
dis[3]=0x30;
dis[4];
}
if((dis[4]-0x30)>9)
{
dis[0]=0x30;
dis[1]=0x30;
dis[2]=0x30;
dis[3]=0x30;
dis[4]=0x30;
}
display(0x00,dis); //只须调用显示函数
}
}


⌨️ 快捷键说明

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