国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【51單片機系列】proteus中的LCD12864液晶屏

這篇具有很好參考價值的文章主要介紹了【51單片機系列】proteus中的LCD12864液晶屏。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

文章來源:《單片機C語言編程與Proteus仿真技術(shù)》。

點陣字符型LCD顯示模塊只能顯示英文字符和簡單的漢字,要想顯示較為復雜的漢字或圖形,就必須采用點陣圖型LCD顯示模塊,比如12864點陣圖型LCD顯示模塊。

一、 LCD12864點陣圖型顯示模塊

12864點陣圖型LCD顯示模塊內(nèi)部控制器采用KS0108或HD61202。其引腳排列如下圖所示:

【51單片機系列】proteus中的LCD12864液晶屏,51單片機,51單片機,proteus,嵌入式硬件

各引腳功能功能如下表:

引腳 符號 功能 引腳 符號 功能
1 /CS1 1=選擇左邊64x64點 7 RW 1=數(shù)據(jù)讀取,0=數(shù)據(jù)寫入
2 /CS2 1=選擇右邊64x64點 8 E 使能信號,負跳變有效
3 GND 9~16 DB0~DB7 數(shù)據(jù)信號
4 VCC +5V電源 17 /RST 復位,低電平有效
5 V0 顯示驅(qū)動電源0~5V 18 -Vout LCD驅(qū)動負電源
6 RS 1=數(shù)據(jù)輸入,0=命令輸入 有些模塊19、20引腳為空腳

12864點陣圖型LCD內(nèi)部存儲器DDRAM與顯示屏上的顯示內(nèi)容具有對應關(guān)系,使用時只需要將顯示內(nèi)容寫入到1286412864內(nèi)部顯示存儲器DDRAM中,就能正確顯示。

12864點陣圖型LCD屏橫向有128個點,縱向有64個點,分為左半屏和右半屏。

DDRAM與顯示屏的對應關(guān)系如下表:

/CS1=1(左半屏) /CS2=1(右半屏)
Y= 0 1 ... 62 63 0 1 ... 62 63 行號
X=0 DB0

DB7
DB0

DB7
DB0

DB7
DB0

DB7
DB0

DB7
DB0

DB7
DB0

DB7
DB0

DB7
DB0

DB7
DB0

DB7
0

7
X=1 DB0

DB7
DB0

DB7
DB0

DB7
DB0

DB7
DB0

DB7
DB0

DB7
DB0

DB7
DB0

DB7
DB0

DB7
DB0

DB7
8

15
... ... ... ... ... ... ... ... ... ... ... ...
X=7 DB0

DB7
DB0

DB7
DB0

DB7
DB0

DB7
DB0

DB7
DB0

DB7
DB0

DB7
DB0

DB7
DB0

DB7
DB0

DB7
56

63

在12864點陣圖型LCD屏上顯示圖形或漢字時,可以利用字模提取軟件獲得圖形或漢字的點陣代碼。

二、12864的指令

12864點陣圖型LCD顯示模塊的指令功能比較簡單,共有8條指令。

  1. 讀忙標志

編碼格式為:

RS R/W E D7 D6 D5 D4 D3 D2 D1 D0
0 1 1 BUSY 0 ON/OFF RESET 0 0 0 0

BUSY=1表示顯示模塊內(nèi)部控制器忙,不能進行操作,只有BUSY=0時才允許操作。

ON/OFF=1表示顯示關(guān)閉,ON/OFF=0表示顯示打開。

RESET=1表示復位狀態(tài),RESET=0表示正常狀態(tài)。

在BUSY和RESET狀態(tài)下,除讀忙標志指令外,其它指令均不對液晶顯示模塊產(chǎn)生作用。

  1. 寫指令

編碼格式為:

RS R/W E D7 D6 D5 D4 D3 D2 D1 D0
0 0 下降沿 指令
  1. 寫數(shù)據(jù)

編碼格式為:

RS R/W E D7 D6 D5 D4 D3 D2 D1 D0
1 0 下降沿 顯示數(shù)據(jù)
  1. 顯示開/關(guān)

編碼格式為:

RS R/W D7 D6 D5 D4 D3 D2 D1 D0
0 0 0 0 1 1 1 1 1 D 3E/3F

D=1表示顯示RAM中的內(nèi)容,D=0表示關(guān)閉顯示。

  1. 顯示起始行

編碼格式為:

RS R/W D7 D6 D5 D4 D3 D2 D1 D0
0 0 1 1 顯示起始行(0~63)

該指令規(guī)定顯示屏上起始行對應DDRAM的行地址,有規(guī)律地改變現(xiàn)實起始行,可以實現(xiàn)現(xiàn)實滾屏的效果。

  1. 頁面地址

編碼格式為:

RS R/W D7 D6 D5 D4 D3 D2 D1 D0
0 0 1 0 1 1 1 頁面(0~7)

DDRAM共64行,分8頁,每頁8行。

  1. 列地址

編碼格式為:

RS R/W D7 D6 D5 D4 D3 D2 D1 D0
0 0 0 1 顯示列地址(0~63)

列地址計數(shù)器在每一次讀/寫數(shù)據(jù)后自動加1,每次操作后明確起始列的地址。設置了頁面地址和列地址,就唯一確定了DDRAM中的一個單元。這樣單片機就可以用讀/寫指令讀出該單元中的內(nèi)容或向該單元寫進一個字節(jié)數(shù)據(jù)。

  1. 讀數(shù)據(jù)

編碼格式為:

RS R/W D7 D6 D5 D4 D3 D2 D1 D0
1 1 顯示數(shù)據(jù)

該指令將DDRAM對應單元中的內(nèi)容讀出,然后列地址計數(shù)器自動加1.需要注意的是,進行讀操作之前,必須有一次空讀操作,緊接著再讀才會讀出所要求單元中的數(shù)據(jù)。

三、 12864 LCD接口應用使用示例

單片機與12864圖型LCD模塊之間可以采用直接方式接口,也可以采用間接方式接口。

如下圖,在proteus仿真電路圖中采用間接方式實現(xiàn)51單片機與12864圖型LCD模塊的接口電路。LCD模塊的/CS1、/CS2、RS、R/W和E信號分別由單片機的P2.0、P2.1、P2.2、P2.3和P2.4來控制,數(shù)據(jù)信號連接到單片機的P0口。由于間接控制方式需要通過單片機的端口引腳來操作液晶模塊,在編寫驅(qū)動程序時要特別注意時序的配合。

【51單片機系列】proteus中的LCD12864液晶屏,51單片機,51單片機,proteus,嵌入式硬件

軟件設計,判斷12864是否忙,根據(jù)讀忙標志指令判斷,代碼如下:

// 判斷是否忙
void IsBusy()
{
	do
	{
		EN=0; 
		RW=1;  // 讀操作
		RS=0;  // 0表示命令輸入
		EN=1;  // 產(chǎn)生一個負跳變
		EN=0;
	}while(BUSY);  // BUSY=1時表示顯示模塊內(nèi)部控制器忙
}

其中定義全局變量:

#define PORT	P0
sbit CS1=P2^0;
sbit CS2=P2^1;
sbit RS=P2^2;
sbit RW=P2^3;
sbit EN=P2^4;
sbit BUSY=P0^7;  // 忙標志

其它指令按照類似的方式編寫。編寫清屏函數(shù),為顯示做準備,首先清左半屏,打開顯示;清右半屏,關(guān)閉顯示。設置每個點不顯示字符,即寫顯示數(shù)據(jù)為0x00。代碼如下:

// 清屏,為顯示做準備
void Ready()
{
	uint i,j;
	ClearLeft();  // 清左半屏
	WriteCom(0x3F);  // 顯示開
	ClearRight();  // 清右半屏
	WriteCom(0x3F);  // 顯示開
	ClearLeft();
	for(i=0;i<8;i++)
	{
		SetPage(i);  // 設置顯示起始頁
		SetCol(0x00);  // 設置顯示起始列為第一列
		for(j=0;j<64;j++)
		{
			WriteDat(0x00);  // 設置每行的數(shù)據(jù)為00
		}
	}
	
	ClearRight();
	for(i=0;i<8;i++)
	{
		SetPage(i);
		SetCol(0x00);
		for(j=0;j<64;j++)
		{
			WriteDat(0x00);  // 設置每行的數(shù)據(jù)為00
		}
	}
}

每個漢字設置為16*16點陣大小,代碼如下:

// 顯示16*16的漢字,縱向取模,字節(jié)倒序
void Display(uchar *s, uchar page, uchar line)
{
	uchar i;
	SetPage(page);
	SetCol(line);
	for(i=0;i<16;i++)
	{
		WriteDat(*s);
		s++;
	}
	SetPage(page+1);
	SetCol(line);
	for(i=0;i<16;i++)
	{
		WriteDat(*s);
		s++;
	}
}

主函數(shù)中聲明字符點陣數(shù)據(jù),比如漢字“單片機”,點陣數(shù)據(jù)如下:

// 字符點陣數(shù)據(jù)
uchar code Disp[]=
{
 //單(0) 片(1) 機(2)
0x00,0x00,0xF8,0x49,0x4A,0x4C,0x48,0xF8,0x48,0x4C,0x4A,0x49,0xF8,0x00,0x00,0x00,
0x10,0x10,0x13,0x12,0x12,0x12,0x12,0xFF,0x12,0x12,0x12,0x12,0x13,0x10,0x10,0x00,/*"單",0*/

0x00,0x00,0x00,0xFE,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x00,0x00,
0x00,0x80,0x60,0x1F,0x02,0x02,0x02,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x00,/*"片",1*/

0x10,0x10,0xD0,0xFF,0x90,0x10,0x00,0xFE,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,
0x04,0x03,0x00,0xFF,0x00,0x83,0x60,0x1F,0x00,0x00,0x00,0x3F,0x40,0x40,0x78,0x00/*"機",2*/
};

主函數(shù)中調(diào)用函數(shù)Display,如下:

void main()
{
	uchar page=0x03;
	Ready();
	ClearLeft();
	Display(Disp, page, 0);
	Display(Disp+32, page, 16);
	Display(Disp+32*2, page, 16*2);
	while(1);
}

仿真結(jié)果:

【51單片機系列】proteus中的LCD12864液晶屏,51單片機,51單片機,proteus,嵌入式硬件文章來源地址http://www.zghlxwxcb.cn/news/detail-804180.html

到了這里,關(guān)于【51單片機系列】proteus中的LCD12864液晶屏的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 基于51單片機的煙霧溫度火災報警器 LCD1602顯示proteus仿真

    基于51單片機的煙霧溫度火災報警器 LCD1602顯示proteus仿真

    設計要求 設計一個簡單、實用的基于單片機室內(nèi)火災報警系統(tǒng)(模擬機),對火災的實時、準確監(jiān)測,快速、自動報警,該系統(tǒng)能自動完成對布測點的火情檢測即氣體溫度、濃度,設定一個溫度,由液晶顯示屏會看到溫度變化,如果超過設定溫度就會自動報警,報警形式有聲

    2023年04月20日
    瀏覽(22)
  • 【51單片機Keil+Proteus8.9】控制步進電機+LCD1602顯示狀態(tài)

    【51單片機Keil+Proteus8.9】控制步進電機+LCD1602顯示狀態(tài)

    步進電機控制 設計思路 電路設計: 選用AT89C51單片機作為電路核心部件,外加LM016L液晶顯示屏作為顯示,顯示步進電機的Fast,Slow,Stop的三個狀態(tài) 將AT89C51單片機所選引腳與LM016L控制引腳相連,再將數(shù)據(jù)通過引腳與LCD接收引腳相連。 通過AT89C51單片機P0^0和P0^2兩個引腳引出兩個

    2024年01月20日
    瀏覽(36)
  • 【51單片機系列】proteus仿真單片機的串口通信

    【51單片機系列】proteus仿真單片機的串口通信

    本文參考:https://zhuanlan.zhihu.com/p/425809292。 在proteus之外使用串口軟件和單片機通信。通過在proteus設計一個單片機接收PC發(fā)送的數(shù)據(jù),并將接收的數(shù)據(jù)發(fā)送出去,利用軟件【Configure Virtual Serial Port Driver】創(chuàng)建一對虛擬串口,利用軟件【串口助手】向單片機發(fā)送數(shù)據(jù)。 proteus仿真

    2024年01月17日
    瀏覽(29)
  • 218、仿真-基于51單片機步進電機正反轉(zhuǎn)加減速度LCD1602顯示Proteus仿真設計(程序+Proteus仿真+配套資料等)

    218、仿真-基于51單片機步進電機正反轉(zhuǎn)加減速度LCD1602顯示Proteus仿真設計(程序+Proteus仿真+配套資料等)

    目錄 一、硬件設計 二、設計功能 三、Proteus仿真圖?編輯 四、程序源碼 資料包括: 需要完整的資料可以點擊下面的名片加下我,找我要資源壓縮包的百度網(wǎng)盤下載地址及提取碼。 方案選擇 單片機的選擇 方案一:STM32系列單片機控制,該型號單片機為LQFP44封裝,內(nèi)部資源足

    2024年02月12日
    瀏覽(22)
  • 51單片機外設系列:LCD1602 的詳細編程

    51單片機外設系列:LCD1602 的詳細編程

    前言,LCD1602是一個比較常用的單片機顯示外設,下面我們從它的顯示原理,來分析用51單片機編程的思路。另外結(jié)尾還提供了完成的程序代碼參考。 一、LCD1602的外觀、結(jié)構(gòu)和基本參數(shù) 引腳功能解析: 第1引腳:GND為電源地腳。 第2引腳:VCC接5V電源正極。 第3引腳:VL為液晶顯

    2024年02月05日
    瀏覽(65)
  • 【單片機】16-LCD1602和12864和LCD9648顯示器

    【單片機】16-LCD1602和12864和LCD9648顯示器

    (1)顯示器,常見顯示器:電視,電腦 (2)LCD(Liquid Crystal Display),液晶顯示器,原理介紹 (3)LCD應用領(lǐng)域:手機,電腦 (4)將來取代LCD:LED,OLED【全面屏---軟性】 1.像素(分辨率) 顯示單元【液晶分子】 但是實際上: 像素!=分辨率 比如:出廠時電腦的像素已經(jīng)確

    2024年02月08日
    瀏覽(22)
  • STM32單片機三線制PT100溫度采集控制系統(tǒng)LCD12864顯示器
  • 51單片機——LCD1602模塊

    51單片機——LCD1602模塊

    一.LCD1602介紹 1.LCD1602 (Liquid Crystal Display )液晶顯示屏是一種字符型液晶顯示模塊,可以顯示ASCII碼的標準字符和其它的一些內(nèi)置特殊字符,還可以有8個自定義字符。 2.顯示容量:16x2個字符,每個字符為5*7點陣。 二.LCD1602接口介紹 引腳 功能 VSS 接地 VDD 電源正極(4.5v-5.5v) VO 對

    2024年02月07日
    瀏覽(20)
  • 51單片機入門——LCD1602

    51單片機入門——LCD1602

    LCD ( Liquid Crystal Display 的簡稱) 液晶顯示器 。 LCD 的構(gòu)造是在兩片平行的玻璃基板當中放置液晶盒,下基板玻璃上設置TFT(薄膜晶體管),上基板玻璃上設置彩色濾光片,通過TFT上的信號與電壓改變來控制液晶分子的轉(zhuǎn)動方向,從而達到控制每個像素點偏振光出射與否而達

    2024年02月09日
    瀏覽(22)
  • 51單片機LCD1602的使用

    51單片機LCD1602的使用

    本篇文章將為大家講解LCD1602的使用方法。 LCD1602是一種常用的液晶顯示器,它的原理是通過液晶分子的振蕩來控制顯示內(nèi)容的。液晶分子在電場的作用下,會發(fā)生振蕩,從而改變液晶分子的極性,從而控制顯示內(nèi)容。液晶顯示器的控制電路會根據(jù)輸入的信號,控制電場的強度

    2024年02月06日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包