8951+1602显示字符——51单片机的Proteus实验
本文转载自小波电子工作室。
C语言源程序
//******** 小波电子工作室 All rights reserved******
//******** 个人主页:http://hi.baidu.com/niejinbo **
//******** 文 件 名: lcd_0712.c **************
//******** 功能概要: LCD液晶显示字符 ***********
//******** MCU: STC89C52 晶振:11.0592Mhz ***********
//******** 设 计 者: 聂金波 ************
//******** 完成日期: 2008-07-12 ************
//******** 当前版本: 0712_1 ************
//******** 改进说明: 暂无 ************
//**********头文件区************
#include<reg52.h>
#include<math.h>
#include<absacc.h>
#include<intrins.h>
//*********宏定义方便使用*******
#define uchar unsigned char
#define uint unsigned int
//*********定义变量区***********
sbit dula=P2^6; //数码管段选
sbit wela=P2^7; //数码管位选
sbit lcden=P3^4; //LCD使能信号
sbit lcdrs=P3^5; //LCD数据/命令选择信号
uchar code tab_nie[]="Nie Jinbo";
uchar code tab_index[]="www.niejinbo.cn";
//*********函数声明区***********
void lcd_dis(); //lcd显示函数
void lcd_init(); //LCD初始化函数
void write_com(uchar); //写命令函数
void write_data(uchar); //写数据函数
void delay(uint); //延时函数
//*********主函数开始***********
void main()
{
lcd_dis();
while(1);
}
//*********lcd显示函数开始******
void lcd_dis()
{
uchar n;
lcd_init();
write_com(1);
write_com(0x80+4); //设置光标位置
for(n=0;n<9;n++)
{
write_data(tab_nie[n]);
delay(2);
}
write_com(0x80+0x40); // 设置光标位置
for(n=0;n<15;n++)
{
write_data(tab_index[n]);
delay(2);
}
}
//*********LCD初始化函数开始****
void lcd_init()
{
dula=0;
wela=0; // 关闭数码管显示
lcden=0;
write_com(0x38); //设置显示模式:16X2,5X7,8位数据接口
write_com(0x0f); //开显示,显示光标,光标闪烁
write_com(0x06); //读写一个字符后,地址指针及光标加一,且光标加一整屏显示不移动
write_com(0x80); //设置光标指针
}
//*********写命令函数开始*******
void write_com(uchar com)
{
lcdrs=0; //低电平写命令
P0=com; //写入命令
delay(3); //延时约3ms
lcden=1; //LCD使能端置高电平
delay(5); //延时约5ms
lcden=0; //LCD使能端拉低电平
}
//*********写数据函数开始*******
void write_data(uchar dat)
{
lcdrs=1; //低电平写数据
P0=dat; //写入命令
delay(3); //延时约3ms
lcden=1; //LCD使能端置高电平
delay(5); //延时约5ms
lcden=0; //LCD使能端拉低电平
}
//*********延时函数开始*********
void delay(uint k)
{
uint i,j;
for(i=k;i>0;i--)
for(j=110;j>0;j--);
}
Proteus 仿真图
- 按钮控制LED——51单片机的Proteus实验
- 流水灯——51单片机的Proteus实验
- 数码显示管——51单片机的Proteus实验
- 蜂鸣器——51单片机的Proteus实验
- 蜂鸣器演奏祝你平安——51单片机的Proteus实验
- 蜂鸣器演奏兰花草——51单片机的Proteus实验
- 蜂鸣器演奏老鼠爱大米——51单片机的Proteus实验
- ADC0808模数转换——51单片机的Proteus实验
- 开关控制流水灯2——51单片机的Proteus实验
- 单片机数字钟C程序——51单片机的Proteus实验1 2
- 8951+1602显示字符——51单片机的Proteus实验
- LCD1602显示程序头文件——51单片机的Proteus实验
- 8951+1602数字钟——51单片机的Proteus实验
- 4X4矩阵键盘+1602——51单片机的Proteus实验
- 8952+1602测单片机内部时钟频率——51单片机的Proteus实验
