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 仿真图

8951+1602显示字符Proteus仿真图
  1. 按钮控制LED——51单片机的Proteus实验
  2. 流水灯——51单片机的Proteus实验
  3. 数码显示管——51单片机的Proteus实验
  4. 蜂鸣器——51单片机的Proteus实验
  5. 蜂鸣器演奏祝你平安——51单片机的Proteus实验
  6. 蜂鸣器演奏兰花草——51单片机的Proteus实验
  7. 蜂鸣器演奏老鼠爱大米——51单片机的Proteus实验
  8. ADC0808模数转换——51单片机的Proteus实验
  9. 开关控制流水灯2——51单片机的Proteus实验
  10. 单片机数字钟C程序——51单片机的Proteus实验1 2
  11. 8951+1602显示字符——51单片机的Proteus实验
  12. LCD1602显示程序头文件——51单片机的Proteus实验
  13. 8951+1602数字钟——51单片机的Proteus实验
  14. 4X4矩阵键盘+1602——51单片机的Proteus实验
  15. 8952+1602测单片机内部时钟频率——51单片机的Proteus实验

返回单片机目录, ARM目录, 返回首页