1602液晶静态显示

#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
#include<stdio.h> //标准输入输出
#include<intrins.h>
#define uchar unsigned char
#define uint  unsigned int

sbit RS = P2^4; //Pin4
sbit RW = P2^5; //Pin5
sbit E  = P2^6; //Pin6

#define Data  P0//数据端口

char data table1[]=" www.tlxmcu.com ";
char data table2[]="LCM1602 Test ok!";
/******************************************************************/
/*                    函数声明                                    */
/******************************************************************/
/******************************************************************/
/*                    微秒延时函数                                */
/******************************************************************/
void DelayUs(unsigned char us)//delay us
{
 unsigned char uscnt;
 uscnt=us>>1;        /*12MHz频率*/
 while(--uscnt);
}
/******************************************************************/
/*                    毫秒函数声明                                */
/******************************************************************/
void DelayMs(unsigned char ms)
{
 while(--ms)
   {
     DelayUs(250);
     DelayUs(250);
DelayUs(250);
DelayUs(250);
   }
}
/******************************************************************/
/*                   写入命令函数                                 */
/******************************************************************/
void WriteCommand(unsigned char c)
{
 DelayMs(5);//操作前短暂延时,保证信号稳定
 E=0;
 RS=0;
 RW=0;
 _nop_();
 E=1;
 Data=c;
 E=0;
}
/******************************************************************/
/*                   写入数据函数                                 */
/******************************************************************/
void WriteData(unsigned char c)
{
 DelayMs(5);  //操作前短暂延时,保证信号稳定
 E=0;
 RS=1;
 RW=0;
 _nop_();
 E=1;
 Data=c;
 E=0;
 RS=0;
}

/******************************************************************/
/*                   初始化函数                                   */
/******************************************************************/
void InitLcd()
{
 DelayMs(15);
 WriteCommand(0x38); //display mode
 WriteCommand(0x38); //display mode
 WriteCommand(0x38); //display mode
 WriteCommand(0x06); //显示光标移动位置
 WriteCommand(0x0c); //显示开及光标设置
 WriteCommand(0x01); //显示清屏

}

/******************************************************************/
/*                   主函数                                       */
/******************************************************************/
void main(void)

{
uchar j;
InitLcd();         //初始化LCD
DelayMs(15);       //延时保证信号稳定
   WriteCommand(0x80);
for(j=0;j<16;j++)//显示第一行
{
WriteData(table1[j]);
 _nop_();
}
   WriteCommand(0x80+0x40);  
for(j=0;j<16;j++) //显示第二行
{
WriteData(table2[j]);
 _nop_();
}

  while(1);

}

时间: 2024-08-30 05:11:47

1602液晶静态显示的相关文章

x-串口问题,小白求教大神来帮我,比如我用串口调试助手输入1234,只在液晶屏显示12,输入12345,显示 125

问题描述 串口问题,小白求教大神来帮我,比如我用串口调试助手输入1234,只在液晶屏显示12,输入12345,显示 125 #include<reg51.h> #include <intrins.h> unsigned char i,j,k; unsigned char transdata; sbit RS=P2^6; sbit RW=P2^5; sbit E =P2^7; void c_init(); void delay(); void init(); void write_d

《迷人的8051单片机》——导读

前 言 在单片机的"江湖"中,8051单片机历来都是兵家必争之地.这是因为8051单片机有着悠久的历史和最为庞大的用户群,很多时候它已经成为8位单片机领域的一种行业标准,众多器件都会以8051单片机为例给出驱动代码.作为单片机的初学者,选择从8051单片机起步绝对是一个非常正确的选择. 本书将采用一个全新的方式,带领你从零基础开始学习单片机和C语言编程,不仅让你在学习的过程中认识常用的电子元器件及其识别方式,而且使你快速地掌握8051单片机原理以及如何使用C语言来为其编写程序.当阅读完

给hackrf加上1602LCD以及UART(附带固件编译方法)

代码库(在hackrf原代码库基础上只添了两个文件,改了一个文件): https://github.com/JiaoXianjun/hackrf-UART-1602LCD 目的主要是为了帮助想更改调试hackrf固件的人.因为没有调试手段的话改固件基本两眼一摸黑,黑暗中摸索很难.前段日子弄收飞机的固件时已经在黑暗中把调试手段弄通了,共享给需要的人. 就是给hackrf板子加上了1602液晶屏以及uart,然后就能愉快的在自己的固件代码中输出到液晶屏或者printf到电脑的串口终端了. 1 硬件连

单片机编程 keil-基于51单片机运用液晶屏显示字符

问题描述 基于51单片机运用液晶屏显示字符 基于51单片机运用液晶屏显示字符时出了些问题,编译什么的都没问题,但是就是液晶屏没动静,液晶屏是1602,求助,急急急,跪谢 #includesbit lcd_en= P2^7;sbit lcd_rs = P2^6;sbit lcd_rw =P2^5;sbit lcd_data = P0;#define unchar unsigned char#define uint unsigned intunchar code table[]={"baby Che

PHP+&amp;#106avascript液晶时钟

<? $size_small=5;//液晶宽度 $size_big=25;//液晶长度 $distance=10;//间距 $color_back="#DDDDDD"; $color_dark="#CCCCCC"; $color_light="#000000"; $number=0; ?> <html> <head> <title>Timer</title> <meta http-

PHP+Javascript液晶时钟

<?   $size_small=5;//液晶宽度   $size_big=25;//液晶长度   $distance=10;//间距   $color_back="#DDDDDD";   $color_dark="#CCCCCC";   $color_light="#000000";   $number=0; ?> <html> <head> <title>Timer</title>

让宽屏液晶玩游戏画面不拉伸

针对游戏应用,我们也常常在各大BBS上看到不少网友的抱怨,"老游戏无法实现宽屏模式!"."屏幕拉伸造成的画面模糊难以接受!",俨然宽屏就演变成和游戏水火不能相容.不过我们只要仔细察看帖子中的细节,我们就会发现宽屏显示器和游戏之间的问题主要是发生在较老的不支持宽屏规格的游戏上,而对此并不是没有办法解决的. 现在主流的显卡厂商考虑了液晶固定最佳分辨率和宽屏拉伸的特点,在驱动上提供相应的选项功能. N卡:   设置 NV驱动界面,屏幕分辨率和刷新率选项下的高级选单功能,提

液晶相关问题汇总

一.色彩篇                                         (色彩.亮度.对比度.视角.色温) 首先特别强调:对于任何显示器(CRT/LCD/--)来说,色彩始终是第一位的!色彩显示的真实度和柔和度,带给眼睛的是最直接的感受! 至于亮度对比度甚至视角为什么要归到色彩篇来说,下文会有答案. [好液晶显示器的色彩标准]丰富而饱满的颜色.合适的亮度对比度.宽广的视角.灵活合理的颜色/亮度/对比度调节. Q 1.1:为什么两个品牌的液晶显示同一幅画面,看起来就是不一样?

笔记本液晶屏该怎么维护和保养?

众所周知,笔记本电脑使用的LCD(Liquid Crystal Display)液晶显示屏与绝大多数台式机所使用的CRT(Cathode Ray Tube)阴极射线管显示屏相比具有"低功耗,无辐射,无眩晕"等诸多优点,并且在很大的程度上保护了使用者的视力. 但在显示屏家族中,LCD可算的上是一位贵族姣小姐,它的物理特性所决定的特点使它和CRT相比多了一些需要额外注意的地方.如果使用不当,就会大大的缩短它的使用寿命,那么究竟该如何来保护它呢? 笔记本液晶屏使用注意事项: 一.压.挤.碰.