1602液晶测试程序1

发布者:甜美瞬间最新更新时间:2020-07-07 来源: eefocus关键字:1602液晶  测试程序  REGX52 手机看文章 扫描二维码
随时随地手机看文章

程序如下:


#include

 

#define LCD_DB P0

 

sbit LCD_RS=P2^2;

sbit LCD_RW=P2^3;

sbit LCD_E=P2^4;

 

//函数定义

#define uchar unsigned char

#define uint unsigned int

 

void LCD_init(void); //初始化

void LCD_write_command(uchar command); //写指令

void LCD_write_data(uchar dat); //写数据

void LCD_disp_char(uchar x,uchar y,uchar dat); //显示位置,X(0-16),y(1-2)

void delay_n40us(uint n); //延时

 

void LCD_init(void) //初始化

{

LCD_write_command(0x01); //清除屏幕显示

LCD_write_command(0x3c); //设置8位格式,2行,5x7?

LCD_write_command(0x0c); //整体显示,关光标,不闪烁?

LCD_write_command(0x06); //设定输入方式,增量不移位

delay_n40us(100);

}

 

void LCD_write_command(uchar dat) //写指令

{

LCD_DB=dat;

LCD_RS=0; //指令

LCD_RW=0; //写入

LCD_E=1; //允许

LCD_E=0;

delay_n40us(5);

}

 

void LCD_write_data(uchar dat) //写数据

{

LCD_DB=dat;

LCD_RS=1; //数据

LCD_RW=0; //写入

LCD_E=1; //允许

LCD_E=0;

delay_n40us(5);

}

 

void LCD_disp_char(uchar x,uchar y,uchar dat) //显示一个字符

{

uchar address;

if(y==0)

address=0x80+x;

else

address=0xc0+x;

 

LCD_write_command(address);

LCD_write_data(dat);

}

 

void delay_n40us(uint n) //延时函数

{

uchar j;

for(n=n;n>0;n--)

for(j=0;j<2;j++)

;

}

 

//主函数

void main(void)

{

char a;

char b[16]="123456789abcdeef";

char c[16]="ABCDEFGHIGKLMNOP";

 

delay_n40us(200);

LCD_init();

 

for(a=0;a<16;a++)

{

LCD_disp_char(a,0,b[a]);

LCD_disp_char(a,1,c[a]);

}

while(1);

}

关键字:1602液晶  测试程序  REGX52 引用地址:1602液晶测试程序1

上一篇:51单片机IO口模拟串口通讯1-延时法
下一篇:1602液晶测试程序2

推荐阅读最新更新时间:2024-11-07 06:17

LPC2103学习板-按键测试程序
/**************ARM7(LPC2103)练习程序**************************/ /*****File Function : KEY test *****/ /*****Program Author : ClimberWin *****/ /*****MCU : LPC2103F 外部11.0592M晶振 *****/ /*****Compile Date : 2011/04/01 *****/ /*****Edition Info : V1.0 *
[单片机]
LPC2103学习板-按键<font color='red'>测试程序</font>
51单片机 1602液晶显示静态字符
#include reg52.h #define LCD1602_DB P0 typedef unsigned char uchar; typedef unsigned int uint; typedef unsigned long ulong; sbit LCD1602_RS = P1^0; sbit LCD1602_RW = P1^1; sbit LCD1602_E = P1^5; void initLCD1602(); void LCDShowStr(uchar i, uchar j, uchar * pCh); void LCDWaitRdy(); void
[单片机]
C51 液晶显示1602模块
代码: #include reg52.h #define uchar unsigned char #define uint unsigned int uchar num; uint i,j; sbit rs=P3^5; 定义液晶数据命令选择端 sbit wr=P3^6; 定义液晶读写选择端 sbit lcden=P3^4; 定义液晶使能选择端 sbit dula=P2^6; sbit wela=P2^7; uchar code table1 = study every day ; uchar code table2 = thanks for reading ; void delay(uint x) { fo
[单片机]
C51 <font color='red'>液晶</font>显示<font color='red'>1602</font>模块
51单片机驱动1602液晶(4线串行)
/*单片机I/O口使单片机资源的重要组成部分,也是用来扩展外围设备的必选资源,尽可能以更少的I/O口实现更多的功能是单片机工程师追求的目标,现在的一些串行器件也为这一目标的实现添加了更多的可能性,比如I2C总线,MAXIM力推的1-WIRE等等,都可以以很少的I/O口实现更多的功能,当然这是以降低一定的速度为代价的。 废话少说,进入正题。 显示器件多见的是LED数码管,LCD液晶屏等。一般的数码管成本低廉,在显示内容要求不多的时候适用;LCD液晶屏以更多的显示空间得到了许多人的爱好,不过成本上要高的多(市场价在20元左右),本文以LCD1602为例说明如何驱动液晶屏。 LCD1602外接的控制接口有RS,R/W,E;数据接口为D
[单片机]
STC12C4052 PCA用于16位定时器测试程序
//STC12C4052 PCA用于16位定时器测试程序 //2009/11/21 liweiqiang #include stc12c4052ad.h sbit P37=P3^7; void main(void) { CMOD=0x00; //PCA =fosc/12计数模式 CL=0; //清PCA计数低位 CH=0; //清PCA计数高位 CCAP0H=0xff;//置比较高位值 CCAP0L=0xff;//置比较高低值 EA=1;//开总中断 EPCA_LVD=1;//开PCA中断 CR=1;//启动PCA计数 CCAPM0=0x49;//PCA_0模块为16位定时模式,并开中断 while(1);//此处循环
[单片机]
S3C2440 测试程序(三) ADC实验
该实验比较简单,就是使用了S3C2440上的ADC硬件接口AIN2。 下面看下设置。 根据Datasheet,A/D转换的频率为50MHz/(prescaler+1) eg. A/D converter freq. = 50MHz/(49+1) = 1MHz Conversion time = 1/(1MHz / 5cycles) = 1/200KHz = 5 us 看下程序,我们使用了2.5MHz,所有prescaler=19 代码如下: prescaler=19; ADCCON=(1 14)|(prescaler 6)|(2 3); 注: bit :Read only, 0--A/D conversion in
[单片机]
msp430g2553-串口调试测试程序
/****************************************************************************** 本程序是单片机 MSP430G2553 P1.2----------------------------UCA0TXD 串口发送端 P1.1----------------------------UCA0RXD 串口接受端 P1.0---------------------------- 红灯指示 P1.6---------------------------- 绿灯指示 利用主辅时钟为 1MHZ ,串口波特率 9600 , 波特率: 1000000/9600=104 UC
[单片机]
51单片机驱动1602液晶显示器c程序
/* 程序效果:单片机控制液晶显示器1602显示字母数字,用户自行更改io 程序版权:http://www.51hei.com */ #include reg52.h //头文件 #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 de
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved