/*
程序效果:单片机控制液晶显示器1602显示字母数字,用户自行更改io
程序版权:http://www.51hei.com
*/
#include //头文件
#define uchar unsigned char //宏定义
#define uint unsigned int
uchar code table[]="51HEI XING XING " ; //显示的字母
uchar code table1[]="51HEI MCU XUE YUAU" ;
sbit lcdrs=P1^0; //寄存器选择引脚
sbit lcdwr=P1^1; //读写引脚
sbit lcde=P1^2; //片选引脚
void delay(uchar x) //延时子函数
{
uchar i,j;
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
void write_com(uchar com) //写指令子函数
{ //根据1602液晶显示器协议编写
P2=com;
lcdrs=0;
lcdwr=0;
delay(5);
lcde=0;
delay(5);
lcde=1;
}
void write_dat(uchar dat) //写数据子函数
{
P2=dat;
lcdrs=1;
lcdwr=0;
delay(5);
lcde=0;
delay(5);
lcde=1;
}
void init() //初始化子函数
{
write_com(0x01); //清屏
write_com(0x3f); //功能设置
write_com(0x0d); //显示控制
write_com(0x06); //输入方式设置
}
void main()
{
uchar i; //定义局部变量
init();
write_com(0x80+0x02+0x10); //指针的位置
for(i=0;i<15;i++) //显示
{
write_dat(table[i]);
delay(50); //延时,用于调节速度不匹配
}
write_com(0x80+0x40+0x10);
for(i=0;i<16;i++)
{
write_dat(table1[i]);
delay(50);
}
for(i=0;i<16;i++)
{
write_com(0x18);
delay(50);
}
while(1);
}
关键字:51单片机 液晶显示器
引用地址:
51单片机驱动1602液晶显示器c程序
推荐阅读最新更新时间:2024-03-16 13:12
基于AT89C51单片机的温度测控系统硬件模块设计
本文主要介绍的基于AT89C51单片机的温度测控系统中最重要的一环:硬件模块设计。以下是该温度测控系统中各个模块及其工作原理。 1 温度检测模块 该系统温度测量部分采用DALLAS公司生产的一线式数字温度传感器DS18B20,它具有微型化、低功耗、高性能抗干扰能力、测量范围广、强易配处理器等优点,DS18B20可直接将温度转化成串行数字信号给单片机处理,它具有三引脚TO-92小体积封装形式,温度测量的范围为-55~+125℃,测温分辨率可达到0.062 5℃。 2 4×4行列式按键模块 该系统采用4×4行列式矩阵按键输入,其中除了0~9这10个相应数字温度按键外,还设计了温度重设按键、确定按键、零下温度选择按键和小数点按键等
[单片机]
51单片机初学实践:用DS1302模块和1.44寸TFT显示屏实现电子钟
这周在上次实现的电子钟(51单片机初学实践:用DS1302模块和LCD1602显示屏实现电子钟)的基础上作了以下2点改进:1、将LCD1602屏幕更换为1.44寸 TFT显示屏 主要考虑是TFT显示屏可以使用不同字体和颜色,更方便定制显示界面 2、将STC89C52RC单片机更换为STC12C5A60S2单片机 首先是空间更大,STC12C5A60S2单片机(60K bytes flash ROM, 1280 bytes data RAM),STC89C52RC单片机(8K bytes flash ROM, 512 bytes data RAM) 其次STC12C5A60S2单片机有单独的SPI接口(P1.5 MOSI 和
[单片机]
51单片机控制TC35 之发送TEXT短信——MADE BY lyq
主函数 #include reg52.h #include 1602.h #include uart.c #include tc35.c //#define RsBuf_N 50 //char RsBuf ; //定义串口接收数据缓冲区 //uchar RsPoint=0; uchar code PhoneNO = +8615900000000 ;//改了 uchar code Text = I love SDNU ; uchar code center = +8613800531500 ; void main() { TC35_init(); Uart_init(); init_1602(); Send_AT(
[单片机]
零基础:学51单片机定时器
我们学单片机是首先学的就是 led 闪烁,那是用延时程序做的,现在回想起来,这样做不很恰当,为什么呢?我们的主程序做了灯的闪烁,就不能再干其它的事了,难道单片机只能这样工作吗?当然不是,我们能用定时器来实现灯的闪烁的功能。 例 1:查询方式 ORG 0000H AJMP START ORG 30H START: MOV P1,#0FFH ;关所 灯 MOV TMOD,#00000001B ;定时/计数器 0 工作于方式 1 MOV TH0,#15H MOV TL0,#0A0H ;即数 5536 SETB TR0 ;定时/计数器 0 开始运行 LOOP:JBC TF0,NEXT ;
[单片机]
51单片机自学笔记(二)——C语言基础知识
进制转换(二进制、十进制、十六进制) 二进制:二进制是计算机/单片机中常用的一种数制,二进制用0和1两个数码来表示数,进位规则是逢二进一,借一当二。 十进制:我们生活中常用的就是十进制,十进制用0~9十个数码来表示数,进位规则是逢十进一,借一当十。 十六进制:十六进制也是计算机/单片机中常用的一种数制,它由0~9和A—F组成,字母不区分大小写。与十进制对应的关系是:0—9对应0—9;A—F对应10—15;进位规则是逢十六进一,借一当十六。 C语言的特点 (1)语言简洁、紧凑、使用灵活; (2)运算符丰富; (3)具有数据类型构造能力; (4)具有很强的流程控制结构; (5)语言生成的代码质量高; (6)可移植性较好;
[单片机]
基于AT89C51单片机的CAN/LIN网关设计
引言 现场总线技术已经广泛应用于工业控制中,尤其是CAN(Controler Area Nerwork)总线由于具有可靠性高、成本低、容易实现等优点,在现场总线实际工程应用中占有了较大份额。伴随着总线技术发展,LIN(Local Interconnect Network)总线作为一种低成本串行通信网络,其目标是为现有现场总线控制网络提供辅助功能,特别是汽车控制网络中总线应用,因此必然存在一个LIN总线和其它总线通信接口实现,本文以CAN总线为例,提出了一种基于AT89C51CC03单片机CAN-LIN网关设计方案。 LIN是一种低成本串行通讯网络用于实现汽车中分布式电子系统控制,LIN目标是为现有汽车网络(例如CAN总
[单片机]
基于51单片机的超声波发生器设计方案
本设计的超声波发生器是利用单片机生成初始信号,然后经过一系列处理电路的作用后生成用来杀灭水蚤的超声波,成本低、效果好,可以在农业上加以采用。在此对3个模块进行设计: (1)信号发生模块。12 MHz的8051单片机硬件连接及其程序设计。 (2)信号处理模块。驱动电路设计(CD4069非门集成芯片);倍频电路设计(S9014或ECGl08三极管、104普通电容、11 257.9 nH自制电感、1 kΩ电阻);整波电路设计(CD4069非门集成芯片);和频电路设计(CD4081与门集成芯片);选频电路设计(S9014或ECGl08三极管、104普通电容、112.58 nH自制电感、1 kΩ电阻)。 (3)信号检测
[单片机]