1.23
来源:互联网 发布:it就业培训学校 编辑:程序博客网 时间:2024/06/05 19:31
#include<reg52.h>
#define LCD1602_DB P0
sbit LCD1602_RS = P2^4;
sbit LCD1602_RW = P2^5;
sbit LCD1602_E = P2^6;
void InitLcd1602();
void LcdShowStr(unsigned char x,unsigned char y,unsigned char *str);
void main()
{
unsigned char str1[] = "ZhouTao";
unsigned char str2[] = "Welcome to China";
InitLcd1602();
LcdShowStr(2,0,str1);
LcdShowStr(0,1,str2);
}
void LcdWaitReady()
{
unsigned char sta;
LCD1602_DB = 0xFF;
LCD1602_RS = 0;
LCD1602_RW = 1;
do{
LCD1602_E = 1;
sta = LCD1602_DB;
LCD1602_E = 0;
}while(sta & 0x80);
}
void LcdWriteCmd(unsigned char cmd)
{
LcdWaitReady();
LCD1602_RS = 0;
LCD1602_RW = 0;
LCD1602_DB = cmd;
LCD1602_E = 1;
LCD1602_E = 0;
}
void LcdWriteDat(unsigned char dat)
{
LcdWaitReady();
LCD1602_RS = 1;
LCD1602_RW = 0;
LCD1602_DB = dat;
LCD1602_E = 1;
LCD1602_E = 0;
}
void LcdSetCursor(unsigned char x,unsigned char y)
{
unsigned char addr;
if(y == 0)
{
addr = 0x00 + x;
}
else
{
addr = 0x40 + x;
}
LcdWriteCmd(addr|0x80);
}
void LcdShowStr(unsigned char x,unsigned char y,unsigned char *str)
{
LcdSetCursor(x,y);
while(*str != '\0')
{
LcdWriteDat(*str++);
}
}
void InitLcd1602()
{
LcdWriteCmd(0x38);
LcdWriteCmd(0x0C);
LcdWriteCmd(0x06);
LcdWriteCmd(0x01);
}
#define LCD1602_DB P0
sbit LCD1602_RS = P2^4;
sbit LCD1602_RW = P2^5;
sbit LCD1602_E = P2^6;
void InitLcd1602();
void LcdShowStr(unsigned char x,unsigned char y,unsigned char *str);
void main()
{
unsigned char str1[] = "ZhouTao";
unsigned char str2[] = "Welcome to China";
InitLcd1602();
LcdShowStr(2,0,str1);
LcdShowStr(0,1,str2);
}
void LcdWaitReady()
{
unsigned char sta;
LCD1602_DB = 0xFF;
LCD1602_RS = 0;
LCD1602_RW = 1;
do{
LCD1602_E = 1;
sta = LCD1602_DB;
LCD1602_E = 0;
}while(sta & 0x80);
}
void LcdWriteCmd(unsigned char cmd)
{
LcdWaitReady();
LCD1602_RS = 0;
LCD1602_RW = 0;
LCD1602_DB = cmd;
LCD1602_E = 1;
LCD1602_E = 0;
}
void LcdWriteDat(unsigned char dat)
{
LcdWaitReady();
LCD1602_RS = 1;
LCD1602_RW = 0;
LCD1602_DB = dat;
LCD1602_E = 1;
LCD1602_E = 0;
}
void LcdSetCursor(unsigned char x,unsigned char y)
{
unsigned char addr;
if(y == 0)
{
addr = 0x00 + x;
}
else
{
addr = 0x40 + x;
}
LcdWriteCmd(addr|0x80);
}
void LcdShowStr(unsigned char x,unsigned char y,unsigned char *str)
{
LcdSetCursor(x,y);
while(*str != '\0')
{
LcdWriteDat(*str++);
}
}
void InitLcd1602()
{
LcdWriteCmd(0x38);
LcdWriteCmd(0x0C);
LcdWriteCmd(0x06);
LcdWriteCmd(0x01);
}
0 0
- 1.23
- 1.23
- usaco 1.23
- today sutdy_2005.1.23
- 练习1.23-练习1.30
- 练习1.23-练习1.30
- ASProtect 1.23 手动脱壳
- git-review 1.23
- SICP 1.23-1.26体会
- 【WC模拟1.23】Random
- SICP 习题1.23
- 1.23 第一次题解
- 1.23 第二次题解
- ASPROTECT 1.23RC4 脱壳分析
- 每日报告——1.23
- SICP 习题 (1.23) 解题总结
- ReSharper8.1.23.546注册机
- 【SICP练习】17 练习1.23
- exercise 42 继承 包含 对象和类
- SSH网上商城--问题汇总
- JAVA之继承
- 2016 Android App必知必会
- 递归。。爬楼梯
- 1.23
- zookeeper清理日志
- sql的nvl用法
- 开源第三方登录组件OAuthLogin2.0 架构解析及开源地址
- 微信小程序之滑块视图容器(swiper)
- 句柄泄漏调试经验
- LeetCode 384. Shuffle an Array
- excellentexport--一个可以导出报表的插件
- Android Studio 统计项目的代码总行数