久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

單片機(jī)寫LCD1602液晶程序源碼

作者:寒竹子   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2014年03月18日   【字體:

本程序的pdf格式的原理圖下載: http://www.zg4o1577.cn/f/ks51.pdf 

/***********寫1602液晶**************/
/**
*功能:寫1602液晶
*時(shí)間:二〇一四年三月十五日 08:59:26
*作者:寒竹子
**/

#include <reg52.h>
#include <intrins.h>

typedef unsigned int uint;
typedef unsigned char uchar;

//LCD1602
sbit LCD1602_RS = P1^0;
sbit LCD1602_RW = P1^1;
sbit LCD1602_EN = P1^5;

void LCD1602_Wait();
void writeCmd_LCD1602(uchar cmd);
void writeData_LCD1602(uchar dat);
void LCD1602_Init();
void writeString_LCD1602(uchar * pstr);
void LCD1602_ShowStr(uchar x, uchar y, uchar * pstr);

void main()
{
LCD1602_Init();

/*
writeCmd_LCD1602(0x00 | 0x80);
writeData_LCD1602('C');

writeString_LCD1602("Hanzhuzi");
*/
LCD1602_ShowStr(0, 0, "han zhu ying xue");
LCD1602_ShowStr(0, 1, "QQ:1754410821");
while (1);
}

//LCD1602判忙準(zhǔn)備
void LCD1602_Wait()
{
uchar sta = 0;//讀取液晶當(dāng)前狀態(tài)
P0 = 0xFF;//讀取狀態(tài)時(shí)必須把總線拉高才能正確的讀取其狀態(tài)!否則寫入有時(shí)不成功!!!
LCD1602_RS = 0;
LCD1602_RW = 1;

do
{
LCD1602_EN = 1;
sta = P0;//讀取狀態(tài)
LCD1602_EN = 0;//避免液晶輸出數(shù)據(jù)影響到總線P0上的其他器件
} while (sta & 0x80);//檢測(cè)第七位是否為1,若為1繼續(xù)等待直到0為止
}

//LCD1602寫命令
void writeCmd_LCD1602(uchar cmd)
{
//在進(jìn)行讀寫數(shù)據(jù)之前要進(jìn)行液晶忙碌等待
LCD1602_Wait();

LCD1602_RS = 0;
LCD1602_RW = 0;
LCD1602_EN = 0;
P0 = cmd;
LCD1602_EN = 1;//高脈沖送入命令
LCD1602_EN = 0;//避免液晶輸出數(shù)據(jù)影響其他的器件
}

//LCD1602寫數(shù)據(jù)
void writeData_LCD1602(uchar dat)
{
LCD1602_Wait();

LCD1602_RS = 1;
LCD1602_RW = 0;
LCD1602_EN = 0;
P0 = dat;//送入數(shù)據(jù)
LCD1602_EN = 1;//高脈沖
LCD1602_EN = 0;//避免液晶輸出數(shù)據(jù)影響到其他器件
}

//LCD1602初始化
void LCD1602_Init()
{
writeCmd_LCD1602(0x38);//5*7點(diǎn)陣,16*2顯示
writeCmd_LCD1602(0x0C);//開顯示,不顯示光標(biāo)
writeCmd_LCD1602(0x06);//數(shù)據(jù)指針++,光標(biāo)++
writeCmd_LCD1602(0x01);//清屏
}

//LCD1602寫String
void writeString_LCD1602(uchar * pstr)
{
while (*pstr)
{
writeData_LCD1602(*pstr++);
}
}

//LCD1602按地址寫
void LCD1602_ShowStr(uchar x, uchar y, uchar * pstr)
{
uchar addr = 0;
//判斷RAM地址
if (y == 0) //LCD1602的左上角地址是 (0, 0)
{
addr = (0x00 + x);//確定x坐標(biāo),x為偏移量
}
else
{
addr = (0x40 + x);//第二行
}

//寫入地址
writeCmd_LCD1602(addr | 0x80);//地址是從0x80H開始的

//寫入數(shù)據(jù)
while (*pstr != '\0')
{
writeData_LCD1602(*pstr++);
}
}
 

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 国产精品国产三级国产aⅴ无密码 | 国产在线精品一区二区 | 91毛片网 | 日韩精品免费一区二区在线观看 | 精品一区二区三区在线观看国产 | 91精品国产综合久久久动漫日韩 | 中文字幕不卡在线88 | 久久99这里只有精品 | 91在线视频免费观看 | 男女一区二区三区 | 日韩在线 | aaa综合国产| 亚洲精品一区二区三区中文字幕 | 精产国产伦理一二三区 | 亚洲国产欧美日韩 | 国产精品久久久久久久粉嫩 | 国产在线一区二区三区 | 欧美午夜视频 | 高清视频一区二区三区 | 欧美一区二区三区,视频 | 天天操操 | 亚洲国产欧美在线 | 综合色播 | 日日夜夜影院 | 国产清纯白嫩初高生视频在线观看 | 一区二区成人在线 | 91久久北条麻妃一区二区三区 | 黄色毛片在线看 | 日韩在线观看一区 | 久久精品无码一区二区三区 | 国产精品1区2区 | 日韩三级电影在线看 | 在线一区二区国产 | 亚洲国产视频一区二区 | 久久久精品在线 | 乱码av午夜噜噜噜噜动漫 | 欧美精品一区二区三区四区五区 | av午夜激情 | www.狠狠操| 激情五月婷婷 | 国产精品国产三级国产aⅴ无密码 |