20121113-1602液晶测试程序1
来源:互联网 发布:cf232网络异常怎么解决 编辑:程序博客网 时间:2024/05/07 16:08
本文所用程序均来源于网络,本人只是进行了验证与学习。尊重原作者。
程序如下:
#include <REGX52.H>#define LCD_DB P0sbit LCD_RS=P2^2;sbit LCD_RW=P2^3;sbit LCD_E=P2^4;//函数定义#define uchar unsigned char#define uint unsigned intvoid 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;elseaddress=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);}
- 20121113-1602液晶测试程序1
- 20121113-1602液晶测试程序2
- [51]1602液晶程序
- 1602液晶程序一:
- 51单片机1602液晶程序
- atmega16中的1602液晶程序
- (原创)液晶的一个最简单的测试程序
- 51单片机1602液晶程序main.c
- 12.9 1602液晶简单显示程序
- 单片机-1602液晶基本显示程序
- 1602液晶
- 1601液晶程序
- 12864液晶程序
- lcd128*32液晶程序
- [51]12864液晶程序
- STM8L15X液晶初始化程序
- 基于pic16f877的1602液晶汉字显示 c语言程序
- PIC16F877驱动KS0066U液晶程序
- 11-13课堂笔记
- windows+Apache+mysql+php5 搭建
- 、一个n*n数组,要求用螺旋状打印出数组中的元素
- 流 内容多 但是重在理解 看API函数调用其方法就好
- TCP三次握手/四次挥手详解
- 20121113-1602液晶测试程序1
- 判断QButtonGroup中哪个QRadioButton被选中 qobject_cast
- C++实现八皇后问题
- 个人的 Vi 笔记总结~~~
- Variable Modifiers [变量调节器]
- js初级
- js基本验证
- JDBC连接数据库(适当的封装查询、新增修改删除)的方法改进
- Register DLL and OCX