国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

智能小車數(shù)據(jù)的液晶顯示研究

2018-08-06 09:11:26鄒全勝
滁州職業(yè)技術學院學報 2018年2期
關鍵詞:低電平高電平液晶

鄒全勝

(滁州職業(yè)技術學院,安徽 滁州 239000)

一、引言

顯示模塊在單片機中不可或缺,如用數(shù)碼管顯示溫度,12864液晶顯示漢字或工作界面。而用12864液晶顯示圖片作為開始界能夠是整個單片機項目增色不少,我們在這里將加以介紹。

圖一 效果圖

二、系統(tǒng)實現(xiàn)方案

本方案的實現(xiàn)主要包括:單片機最小系統(tǒng)、12864液晶與單片機的連接、顯示函數(shù)的編寫、圖片轉換、圖片字模的生成及系統(tǒng)的調試。

(一)單片機的簡介

單片機微型計算機是微型計算機的一個重要分支,它是單片機微型計算機簡稱,通常用于控制領域,故又稱為微控制器。

單片機由單塊集成電路芯片構成,內部集成計算機的基本功能部件:中央處理器、存儲器和I/O接口電路等。因此,單片機只需要和適當?shù)能浖巴獠吭O備相結合,便可成為一個單片機控制系統(tǒng)。

本項目采用AT89s52單片機,AT89S52是Atmel公司采用高密度非易失性存儲器技術制造,與工業(yè)80C51產品指令和引腳完全兼容,并且具有8K在系統(tǒng)可編程Flash存儲器。

AT89s52具有32位I/O口,分別是P0口、P1口、P2口、P3口各8位,總共32位。每個口的8位都可作為通用的輸入輸出口,其中P3口還兼有第二功能:P3.0(RXD)串行數(shù)據(jù)接收端P3.1(TXD)串行數(shù)據(jù)發(fā)送端,P3.2(INT0)外部中斷源0輸入端,P3.3(INT1)外部中斷源1輸入端,P3.4(T0)定時/計數(shù)器T0計數(shù)脈沖輸入端,P3.5(T1)定時/計數(shù)器T1計數(shù)脈沖輸入端,P3.6(WR)外部RAM寫選通端,P3.7(RD)外部RAM讀選通端。另外P0和P2口用作地址線端口時,分別對應地址的低8位和高8位。[1]

(二)12864無字符液晶的簡介

圖二 12864方塊圖

1、模塊簡介

12864液晶主要由顯示模塊、驅動器、控制器及背景光幾部分組成。12864液晶顯示分左右半屏,其中左半屏64列,右半屏64列,加在一起128列。左右半屏又各有64行,所以稱之為12864液晶。其中液晶的64行又分為8頁(0~7),每頁8行。左右半屏的選擇,依靠控制器的CS1、CS2來選擇。屏幕的亮度取決與背景光的亮度,亮度的調節(jié)又取決于背景光的電壓值。

2、接口的定義

圖三 接口定義示意圖

12864共有20個接口:

1腳VSS和2腳VDD分別為電壓的負極和正極。

4腳R/S端為控制寄存器操作選擇端,即選擇是對數(shù)據(jù)還是指令進行操作:H(高電平)時為對數(shù)據(jù)進行操作,L(低電平)時為對指令進行操作。

5腳R/W端為讀寫控制端:H(高電平)時表示“讀“,即數(shù)據(jù)從12864中讀出,L(低電平)是表示”寫“,即數(shù)據(jù)被寫入到12864中。

6腳E為控制使能:只有此腳從高電平向低電平跳變時(即下降沿),相關的讀寫的數(shù)據(jù)才能有效。

7~14腳為數(shù)據(jù)總線。

15腳CS1為右半屏選擇信號,H高電平時選中。

16腳CS2為左半屏選擇信號,H高電平時選中。

17腳RET為復位信號,低電平復位。

18腳為LCD驅動負電壓。

19、20腳分別為LED背光板電源。

圖四 12864液晶的寫時序圖

3、寫指令和寫數(shù)據(jù)函數(shù)的編寫通過以上接口的定義我們再來看看12864的時

序圖:從圖中我們看出,如果我們要往12864液晶中

寫數(shù)據(jù),首先R/W要為0,其次在數(shù)據(jù)DB0-7數(shù)據(jù)有

效時,E要從高電平向低電平跳變,由此我們可得出

寫指令和寫數(shù)據(jù)的函數(shù)的如下寫法:

寫指令函數(shù):

寫數(shù)據(jù)函數(shù):

從兩個函數(shù)可看出它們的不同之處在于,寫指令函數(shù)的RS=0,而寫數(shù)據(jù)的函數(shù)RS=1。而它們的相同之處在于同樣RW=0,代表向12864中寫,同時E都在P0口數(shù)據(jù)穩(wěn)定時有1向0跳變,也即從高電平向低電平跳變。[2]

4、指令介紹

圖五 12864顯示控制指令

知道的12864液晶寫數(shù)據(jù)和寫指令函數(shù)的編寫,我們在來看看12864各指令的含義。

之前我們說12864液晶分左右屏,有分8頁和左右屏各64列,那么怎么樣把數(shù)據(jù)精準的定位到我們要顯示的位置呢?靠的就是12864液晶的顯示控制指令,下面我們一一解釋:

開關顯示:從表中看出,首先RS要為L,因為我們要寫的是控制12864顯示的指令而不是要顯示的數(shù)據(jù)。R/W為L代表向12864中寫(下面同此,不再說明)。在看DB7-DB0只有DB0是可變的,L代表關,H代表開。所以開關顯示的二進制碼就為00111110(關)(十六進制 0X3E),00111111(開)(十六進制0X3F)。

設置Y地址:可見此指令預留的6位用于指定12864的64列的地址,那么起始地址的二進制碼為:01000000(十六進制0X40)。

設置X地址:X地址即為128654的頁地址,共有8頁,所以此字節(jié)預留的3位用于指定8頁的地址,起始地址的二進制碼為10111000(十六進制0XB8)。

顯示開始線:此指令用于指定從12864的64行中的那一行開始顯示,我們一般從第一行開始顯示,這樣Z地址的起始地址的二進制碼為:11000000(十六進制0XC0)。

(三)12864與單片機的連接

12864液晶與單片機的連接如圖。AT89S52單片機的P0口與12864的DB0-DB7相連,作為單片機與12864交換數(shù)據(jù)的數(shù)據(jù)口。RST接P2.4口,CS1和CS2分別接P2.4和P2.3,E接P2.2口,R/W接P2.1口,RS接P2.0口。VCC和GND分別接電源正極和負極。由于此圖為仿真圖,其它接口忽略(實際中不可)。[3]

圖六12864與單片機連接圖

(四)圖片的轉換

圖片轉換的目的,由于我們12864的像素有限,只有128×64,所以我們要將下載的黑白圖片進行轉換。

這里我們以下載好的黑白圖片為類:首先我們打開畫圖軟件,用畫圖軟件打開我們下載好的黑白圖片。

圖七

由于圖片較大,我們選擇查看,進行縮小。然后用選擇工具選擇要截取的部分然后復制。

新建文件,在新建的畫圖板中粘貼。選擇圖片右下角進行拖動,直到下面的像素顯示為128×64為止。(如下圖)

圖八

這時打開文件的屬性面板

圖九屬性面板設置

設置屬性中的寬度為128,高度為64,單位為像素,顏色為黑白,最后進行保存。這樣我們的圖片的轉換就做好了。

(五)圖片子模的生成

12864的顯示原理是:每次向12864寫一個字節(jié)的數(shù)據(jù),一個字節(jié)8位,高電平1在12864上顯示的黑點,低電平0在12864上顯示的是個空白(或白點)。且這一個字節(jié)的8位是縱向方式寫入的,所以我們在取字模時一定要縱向取模,字節(jié)倒序也要勾選上。

參數(shù)設置如下圖所示:

設置完成后,點擊“基本操作”,“打開圖像圖標”。

打開我們事先轉換好的黑白圖片,打開后的效果如圖所示。

最后點擊“取模方式”,選擇“C51格式”即可在“點陣生成區(qū)”看到生成后的十六進制代碼。賦值生成的所有代碼,在主函數(shù)中以數(shù)據(jù)的形式保存即可。

三、主程序的編寫與系統(tǒng)的調試

主程序的編寫我們主要介紹顯示圖片函數(shù)的寫法。圖片顯示函數(shù)是我們本系統(tǒng)的關鍵,它用到了以上我們介紹的所有知識,下面我們來詳細介紹。

首先,整個圖片是以整個屏幕的大小實現(xiàn)處理好的,取模方式我們也是采用的縱向取模,所以整個字模的個數(shù)為8×128個字模(8×128字節(jié)的數(shù)據(jù))。8代表有8也,128代表有128列,其中左半屏64列,右半屏64列。每列從0開始計數(shù)也就是0列-63列,頁也是從0開始計數(shù)即0頁-7頁。所以我們用兩個局部變量i和j,分別代表頁和列。

其次,在寫每一頁的128列時要能自動識別左右半屏,采用的方法就是看列參數(shù)j是否小于64和大于63。小于64也即0-63在左半屏,大于63即64-128在右半屏,在右半屏時,左右半屏要切換(CS1、CS2的高低電平要互換),同時列數(shù)的值要在j的基礎上減去 64(64-64=0、127-64=63,符號右半屏0列-63列的原則)。

再次,每寫完128列要換行(也即換頁),采用的方法是每寫完128個數(shù)據(jù),列數(shù)據(jù)要在參數(shù)j的基礎上加上i×128,這樣隨主i的增加j就在127的基礎上加上逐漸128,從而實現(xiàn)自動換行。

圖片顯示函數(shù)如下:

系統(tǒng)的調試我們采用PROTEUS單片機仿真,線路的連接我們采用的是網(wǎng)絡標號的方法,相同的網(wǎng)絡標號代表兩端是連接在一起的。程序用keil軟件別寫好之后,生成相對應HEX文件。雙擊仿真軟件中的單片機(我們實際使用的是AT89S52,仿真時我們用 AT89CF51代替),在“program file”欄中選擇剛生成好的HEX文件,點擊“確定按鈕”。最后點擊PROTEUS軟件左下角的“開始按鈕”,即可實現(xiàn)本系統(tǒng)設計。

最終的效果如下圖:

猜你喜歡
低電平高電平液晶
數(shù)字電路中“邏輯非”的用法辨析
一種基于FPGA的PWM防錯輸出控制電路
不可壓液晶方程組的Serrin解
鐵道車輛高/低電平信號智能發(fā)生器設計
《液晶與顯示》征稿簡則
液晶與顯示(2020年8期)2020-08-08 07:01:46
TS-03C全固態(tài)PDM中波發(fā)射機開關機控制電路原理及故障分析
科技傳播(2019年15期)2019-08-22 08:07:44
2017款凱迪拉克2.8L/3.0L/3.2L/3.6L車型低電平參考電壓總線電路圖
DM 50KW中波廣播發(fā)射機欠推動故障分析
PDM 1kW中波廣播發(fā)射機保護電路分析
液晶與顯示2015年第30卷第1期 目錄
液晶與顯示(2015年1期)2015-02-28 21:15:54
巴林右旗| 罗源县| 桐柏县| 麻城市| 吴堡县| 社会| 桦川县| 蚌埠市| 东阿县| 凯里市| 无为县| 淮阳县| 博罗县| 驻马店市| 秭归县| 东源县| 仁化县| 贵德县| 锦州市| 信丰县| 苏尼特左旗| 略阳县| 大方县| 桐梓县| 柳林县| 大英县| 平陆县| 萨嘎县| 夹江县| 宁晋县| 泌阳县| 肃北| 许昌县| 岐山县| 曲阳县| 敦化市| 乐安县| 锡林郭勒盟| 镇江市| 巴彦县| 手游|