PIC單片機驅動LCD1602液晶顯示字符串程序

2020-12-17 電子產品世界

/***************************************************************************

*** 功能:LCD1602的使用
*** 實驗內容:LCD顯示本站網址和電話
***開發板連接方法: 調節1602電位器,使LCD對比度最好,裝1602時不要裝錯了,否測會燒掉。
***************************************************************************/
#include

本文引用地址:http://www.eepw.com.cn/article/201612/324699.htm

__CONFIG(0xFF32);
//晶片配置字,看門狗關,上電延時開,掉電檢測關,低壓編程關,加密,4M晶體HS振蕩

//LCD控制線宏定義
#define rs RA5
#define rw RA4
#define e RA3

//顯示公司web地址
char web[ ] = {"***.*********.***"};

//顯示公司電話號碼
char tel[ ] = {" 110 " };

void init(); //申明I/O口初始化函數
void lcd_init(); //申明LCD初始化函數
void write(char x); //申明顯示1位元組數據函數
void lcd_enable(); //申明LCD顯示設置函數
void delay(); //申明延時函數
void writelcd(char *pt); //聲明LCD寫字符串函數

/****************************************************************************
* 名 稱:main()
* 功 能:主函數
* 入口參數:
* 出口參數:
* 說 明:
* 備 註:
****************************************************************************/
void main()
{
init(); //調用I/O口初始化函數
lcd_init(); //調用LCD初始化函數
while (1)
{
writelcd(web); //調用顯示公司web地址函數
PORTD = 0XC0; //設置第2行顯示地址
lcd_enable(); //調用LCD顯示設置函數
writelcd(tel); //調用顯示公司tel函數
}
}

/****************************************************************************
* 名 稱:init()
* 功 能:I/O口初始化
* 入口參數:
* 出口參數:
* 說 明:
* 備 註:
****************************************************************************/
void init()
{
ADCON1 = 0X07; //設置A口為普通I/O口
RA1=1;
TRISA = 0X00; //設置A口為輸出
TRISD = 0X00; //設置D口為輸出
}

/****************************************************************************
* 名 稱:lcd_init()
* 功 能:LCD初始化
* 入口參數:
* 出口參數:
* 說 明:
* 備 註:
****************************************************************************/
void lcd_init()
{
PORTD = 0X1; //清除顯示
lcd_enable();
PORTD = 0X38; //8位2行5*7點陣
lcd_enable();
PORTD = 0X0e; //顯示開,光標開,閃爍
lcd_enable();
PORTD = 0X06; //文字不動,光標右移
lcd_enable();
PORTD = 0X80; //公司web顯示地址
lcd_enable();
}

/****************************************************************************
* 名 稱:write()
* 功 能:寫一個字節數據到LCD
* 入口參數:char x 字符
* 出口參數:
* 說 明:
* 備 註:
****************************************************************************/
void write(char x)
{
PORTD = x; //待顯示數據送PORTD口
rs = 1; //該字節數據為數據,而不是命令
rw = 0; //此次操作為寫,而不是讀
e = 0; //拉低使能信號
delay(); //保持使能信號為低一段時間
e = 1; //拉高使能信號,建立LCD操作所需要的上升沿
}

/****************************************************************************
* 名 稱:lcd_enable()
* 功 能:LCD顯示設置
* 入口參數:
* 出口參數:
* 說 明:
* 備 註:
****************************************************************************/
voidlcd_enable()
{
rs = 0; //該字節數據為命令,而不是數據
rw = 0; //此次操作為寫,而不是讀
e = 0; //拉低使能信號
delay(); //保持使能信號為低一段時間
e = 1; //拉高使能信號,建立LCD操作所需要的上升沿
}

/****************************************************************************
* 名 稱:delay()
* 功 能:延時
* 入口參數:
* 出口參數:
* 說 明:
* 備 註:
****************************************************************************/
void delay()
{
int i;
for (i = 0;i < 5000;i++);
}

/****************************************************************************
* 名 稱: writelcd()
* 功 能: 在LCD上顯示字符串
* 入口參數:char *pt 字符串的首地址
* 出口參數:
* 說 明:
* 備 註:
****************************************************************************/
void writelcd(char *pt)
{
while(*pt)
write(*pt++);
}


相關焦點

  • lcd1602中文資料分享:lcd1602接線圖_lcd1602與單片機連接圖
    lcd1602液晶屏在很懂工業產品上都有應用,LCD1602能夠能夠同時顯示32個字符,價格便宜,編程簡單而且穩定可靠。lcd1602液晶屏是一種圖形點陣顯示器,顯示原理簡單易懂,都是液晶屏內部的液晶材料變化而顯示不同的字符,因為液晶是具有流動特性的物質,所以只需外加很微小的力量即可使液晶分子運動,以最常見普遍的向列型液晶為例,液晶分子可輕易的借著電場作用使得液晶分子轉向,由於液晶的光軸與其分子軸相當一致,故可藉此產生光學效果,而當加於液晶的電場移除消失時,液晶將借著其本身的彈性及黏性,液晶分子將十分迅速的回撤消來未加電場前的狀態
  • 全方位解析LCD1602特性及單片機顯示應用
    1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數字、符號等的點陣型液晶模塊。這些字符有:阿拉伯數字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼  從上表可以看出最左邊一列是供用戶自定義字符的,共有16個,實際只有8個字節可以用,字符碼為00000000—00000111這8個地址  LCD1602—顯示應用(單片機學習)  LCD1602是51單片機中很重要的模塊之一,為了方便新手學習1602,筆者把自己學習
  • 【Proteus】單片機配合矩陣鍵盤LCD1602製作簡易計算器
    使用單片機來製作一個簡易的計算器,實現兩個整數的加減乘除等運算功能。首先,需要LCD1602來顯示計算的公式,以及計算的結果。其次需要一個矩陣鍵盤來輸入數據。這個電路也不是很難畫,我們先把仿真電路畫好,儘量畫漂亮一些:下面來先把LCD1602給點亮。
  • 51單片機開發之LCD1602顯示屏
    RD(RS)引腳接P2.6WR(RW)引腳接P2.5LCDE(E)引腳接P2.74.11.2 LCD1602字符屏幕介紹1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數字、符號的點陣型液晶模塊。
  • 51單片機學習筆記——液晶
    一、筆記:1.1602液晶是指每行顯示16個字符,一共可以顯示2行的液晶;
  • pic單片機兩個IO口四線驅動LCD1602
    經過多天調式,優化程序。只用兩個IO埠驅動74LS164擴展成並口驅動LCD1602(四線模式),這是個完整簡單的例子,可實現字符串左移200次,右移200次,不停的循環。現上傳與大家共享成果!*****#define Port GPIO //埠址址#define Tris TRISIO //方向設置//腳位定義***********************************************************#define Dat GPIO4 //數據引腳#define Clk GPIO5 //時鐘引腳//顯示字符
  • 74HC595驅動LCD1602程序
    為了節約埠,1602液晶我也改為595來驅動了,一共有2個文件都在下面,程序本人測試通過,在你自己的應用中只需要修改埠即可.
  • lcd12864中文資料匯總(12864引腳說明及功能_特性參數及驅動程序...
    lcd12864簡介   帶中文字庫的128X64是一種具有4位/8位並行、2線或3線串行多種接口方式,內部含有國標一級、二級簡體中文字庫的點陣圖形液晶顯示模塊;其顯示解析度為128×64,內置8192個16*16點漢字,和128個16*8點ASCII字符集。
  • 一個51單片機實現數字時鐘(1602顯示)
    用單片機實現數字時鐘,關於時間顯示,是用的1602液晶,C51單片機,然後再加一個定時器,每到一秒就動態的更新一下液晶的時間顯示,在更新的時候也要計算相應的分針和時針的變化,還要注意邊界問題.為了能夠達到一個最好的效果,我還加了一個鍵盤掃描,用到了3個鍵,分別為功能鍵,增1,減1來實現用戶自定義時間.
  • LCD1602液晶屏幕顯示介紹
    下面是protues仿真電路,屏幕中第二行能看清吧,後面再說怎麼顯示的,第一行是我自定義的漢字「確認」和「取消」的「取」(左右寫反了),發現1602顯示漢字也就自己弄著玩玩,派不上大場合,而且如果一個漢字佔兩個字符的話(就像下圖顯示的),最多只能自定義4個漢字。
  • OLED顯示模塊與C8051F單片機的接口設計
    它與液晶顯示技術相比,具有超輕薄、高亮度、廣視角、自發光、響應速度快、適應溫度範圍寬、抗震強、功耗低、可實現柔軟顯示等優越性能,可廣泛應用於通信、計算機、消費電子、工業應用、商業、交通等領域。下面以vgs12864e顯示模塊為例,介紹c8051f020單片機與它的接口設計及軟體編程方法。
  • 51單片機輕鬆入門與實踐 — 暢學單片機
    OLED顯示區域劃分;(7). 字符顯示函數;(8). 漢字顯示原理;(9). 漢字取模軟體及設置;(10). 漢字顯示函數;(11). 內存優化.第11課 LCD1602液晶顯示講解(1). LCD的簡介; (2). LCD1602簡介; (3).
  • 利用STC89C52單片機控制LCD1602(不帶中文字庫)顯示的中文
    一、設計原理使用STC89C52單片機控制1602LCD(不帶中文字庫的);利用1602LCD(不帶中文字庫的)中的存儲器(64個字節00H-3FH)自建立8個5×8點陣的字符從而顯示中文字符。其中:DL=1,8位數據接口;DL=0,四位數據接口;N=1,兩行顯示;N=0,一行顯示;F=1,5´10點陣字符;F=0,5´7點陣字符。
  • 基於51單片機的漢字LCD智能顯示模塊設計
    引言 在電子產品設計中,人機互動顯示界面是必不可少的工作,目前一般使用的液晶顯示器均為七段筆劃式,只能顯示數字和少量字符,功能往往受到局限,對於較複雜的字符或圖形則無能為力。
  • 基於51單片機的電子音樂盒的課程設計
    當鍵盤有鍵按下時,判斷鍵值,啟動計數器T0,產生一定頻率的脈衝,驅動蜂鳴器,放出樂曲。同時在LCD顯示歌曲序號和歌曲名稱。2.2器件選擇2.2.1  單片機的選擇單片機型號的選擇是根據控制系統的目標、功能、可靠性、性價比、精度和速度等來決定的。根據本課題的實際情況,單片機型號的選擇主要從以下兩點考慮;一是要有較強的抗幹擾能力。
  • 【arduino】童芯派彩屏顯示圖片,圖片取模後在TFT液晶顯示
    原理:無論是12864的液晶還是1602的液晶,還是彩色的TFT的液晶,原理上是差不多的,只不過一般的黑白液晶是用0和1來顯示一個點,比如0代表不現實,1代表顯示,這樣一堆的點就能夠組合出圖案了。16位的圖像,那麼就需要128x128x16b=128x128x2B的空間來存儲這些圖像信息(存儲空間不用太關注,但現實的原理要了解,回頭寫程序用)程序:正常傳統的思路是根據液晶的晶片手冊來編寫程序,將每個點的信息寫入到模塊裡。
  • 液晶顯示模塊MGLS240128在圖形顯示中的應用
    2 模塊工作原理2.1 基本功能MGLS240128T圖形液晶顯示模塊由控制器T6963C、列驅動器T6A39、行驅動器T6A40以及與外部設備的接口等幾部分組成,它既能顯示字符(包括中文和西文字符),又能顯示圖形,還能夠將字符與圖形混合顯示。
  • 液晶顯示器的漢字顯示方法
    摘 要: 研究了圖形液晶模塊的漢字顯示方法, 以8051 單片機為基礎, 介紹了液晶模塊與單片機的典型接口電路, 描述了通過外擴的EEPROM 存儲漢字字模數據, 將其作為外部數據存儲器進行尋址, 通過C51 程序詳細介紹了使用方法。對於程序存儲器和數據存儲器分開尋址的單片機, 該方式能起到節省程序存儲器, 擴大程序容量的作用。
  • LCD1602驅動講解,超詳細,單片機新手必看
    _H__#define __1602_H__#include#include "ZhangType.h"  //變量類型#include "fun.h"  //常用函數 #define SETMODE  0x38  //16*2顯示,5*7點陣,8位數據接口#define DISOPEN  0x0C  //顯示開,不顯示光標
  • 用51單片機實現pwm專題及常見問題 - CSDN
    Proteus軟體仿真單片機外圍電路2、基於51單片機脈衝寬度調製(即PWM)直流電機轉速快慢以及霍爾測速的項目構思(1)、實現什麼功能:LCD1602字符型液晶顯示器先顯示時分秒,在點擊移位按鍵後,停止計時,LCD1602字符型液晶顯示器光標閃爍,每次按下移位鍵,LCD1602字符型液晶顯示器光標隨每次按下移位鍵移位到時分秒個位十位處閃爍,當LCD1602字符型液晶顯示器的時分秒個位十位有閃爍後