久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
PIC18F25K80+LCD1602程序
[打印本頁]
作者:
cq2ap9
時(shí)間:
2016-9-14 13:04
標(biāo)題:
PIC18F25K80+LCD1602程序
lcd1602.c和lcd1602.h文件加入工程即可。
PIC18F25K80 開發(fā)環(huán)境MPLAB X IDE v3.35,PIC的芯片都可以,需要適當(dāng)修改void LCD_DelayMs(uint16_t Ms)函數(shù)。
PIC18F25K80_LCD1602.X.rar
(1.63 KB, 下載次數(shù): 34)
2016-9-14 13:03 上傳
點(diǎn)擊文件名下載附件
PIC18F25K80_LCD1602源程序
下載積分: 黑幣 -5
/*
* File: lcd1602.c
* Author: BG8LY
*
* Created on 2016年9月13日, 下午12:16
*/
#include <xc.h>
#include <stdint.h>
#include "lcd1602.h"
//LCD ms毫秒延時(shí)函數(shù)
void LCD_DelayMs(uint16_t Ms)
{
uint16_t x,y;
for(x=Ms; x>0; x--)
{
for(y=250; y>0; y--);
}
}
//忙檢測
void LCD_Read_Busy(void)
{
LCD_BUSY_TRIS = 1; // 置忙檢測端口設(shè)置為輸入
do
{
LCD_E = 0;
LCD_RS = 0;
LCD_RW = 1;
Nop();
LCD_E = 1;
Nop();
Nop();
}while(LCD_BUSY);
LCD_BUSY_TRIS = 0; // 恢復(fù)忙檢測位端口為輸出
}
//寫指令,busyDect=0時(shí)不需要忙檢測
void LCD_Write_Reg(uint8_t Cmd, uint8_t BusyDect)
{
if(BusyDect==1)
{
LCD_Read_Busy();
}
LCD_E = 0;
LCD_RS = 0;
LCD_RW = 0;
DATA_PORT = Cmd;
Nop();
LCD_E = 1;
Nop();
Nop();
LCD_E = 0;
}
//寫字節(jié)數(shù)據(jù),寫數(shù)據(jù)總需要忙檢測
void LCD_Write_Data(uint8_t Data)
{
LCD_Read_Busy();
LCD_E = 0;
LCD_RS = 1;
LCD_RW = 0;
DATA_PORT = Data;
Nop();
LCD_E = 1;
Nop();
Nop();
LCD_E = 0;
}
//寫數(shù)據(jù)到(x,y)
void LCD_Display_Char(uint8_t x, uint8_t y, uint8_t Data)
{
x &= 0x0F; // 限制列數(shù)不大于16個(gè)字符
y &= 0x01; // 限制行數(shù)不大于2行
if(y == 0x01)
{
x |= 0x40;
}
x | = 0x80;
LCD_Write_Reg(x, 1);
LCD_Write_Data(Data);
}
//從(x,y)開始寫字符串
void LCD_Display_String(uint8_t x, uint8_t y, char *str)
{
x &= 0x0F; // 限制列數(shù)不大于16個(gè)字符
y &= 0x01; // 限制行數(shù)不大于2行
if(y == 0x01)
{
x |= 0x40;
}
x | = 0x80;
LCD_Write_Reg(x, 1);
while(*str != '\0')
{
LCD_Write_Data(*str++);
}
}
//LCD清屏
void LCD_Clear(void)
{
LCD_Write_Reg(0x01,1); // 清屏
LCD_Read_Busy();
}
//LCD初始化
void LCD_Init(void)
{
// LCD 控制端口初始化
LCD_RS_TRIS = 0; // 數(shù)據(jù)命令選擇端口方向->輸出
LCD_RW_TRIS = 0; // 讀寫選擇端口方向->輸出
LCD_E_TRIS = 0; // 使能信號端口方向->輸出
DATA_PORT_TRIS = 0x00; // 數(shù)據(jù)端口方向->輸出
// LCD 功能寄存器初始化
LCD_DelayMs(5);
LCD_Write_Reg(0x38,0);
LCD_DelayMs(5);
LCD_Write_Reg(0x38,0);
LCD_DelayMs(5);
LCD_Write_Reg(0x38,0); // 三次寫入0x38,初始化1602,前三次不用忙檢測,以后需要
LCD_Write_Reg(0x38,1); // 設(shè)置5*7的1602模式
LCD_Write_Reg(0x08,1); // 關(guān)閉顯示
LCD_Write_Reg(0x01,1); // 清屏
LCD_Write_Reg(0x06,1); // 顯示光標(biāo)移動(dòng)設(shè)置:讀寫一字指針+1,屏幕不動(dòng)
LCD_Write_Reg(0x0C,1); // 開顯示,不顯示光標(biāo),光標(biāo)不閃爍
}
復(fù)制代碼
作者:
qoo7chen
時(shí)間:
2017-8-11 09:32
謝謝教學(xué)
正在學(xué)習(xí)中
作者:
qoo7chen
時(shí)間:
2017-8-11 14:08
想請教大大
如果顯示器有偏光板正/負(fù)模式可選用
想用負(fù)模式 指令如何改呢?
作者:
hepmp
時(shí)間:
2020-1-14 21:00
非常好,解決我的大問題,非常感謝
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
综合久久亚洲
|
欧美 日韩 中文
|
美日韩免费视频
|
羞羞视频网页
|
免费看a
|
搞av.com
|
久久国产精品久久久久久
|
九九热在线视频
|
亚洲精品1区2区3区 91免费看片
|
婷婷丁香综合网
|
国产精品久久久精品
|
久久在线视频
|
91精品国产91久久久久久密臀
|
日本天天色
|
久久九九免费
|
国产婷婷在线视频
|
国产中文在线
|
伊人性伊人情综合网
|
一区二区在线
|
av黄色国产
|
久久久久久国
|
av一二三四
|
国产一区二区不卡
|
午夜久久久
|
龙珠z在线观看
|
日韩av电影在线观看
|
久久精品一区
|
这里精品
|
亚洲国产成人精品在线
|
久久成人精品视频
|
夜操
|
老司机久久
|
韩国av网站在线观看
|
一级毛片免费看
|
农村真人裸体丰满少妇毛片
|
日韩欧美成人精品
|
午夜视频网站
|
亚洲成网站
|
久久777
|
精品视频在线播放
|
久久免费观看视频
|