8051單片機(jī)接口技術(shù)論文
隨著現(xiàn)代科學(xué)技術(shù)的快速發(fā)展與普及,單片機(jī)知識(shí)也已普及進(jìn)入工科相關(guān)專業(yè)課程體系。學(xué)習(xí)啦小編為大家整理的8051單片機(jī)接口技術(shù)論文,希望你們喜歡。
8051單片機(jī)接口技術(shù)論文篇一
8051單片機(jī)指令的快速記憶
摘 要:目前,我國(guó)單片機(jī)教學(xué)多以INTEL公司的8051單片機(jī)為教學(xué)對(duì)象。8051單片機(jī)指令系統(tǒng)涉及匯編指令多達(dá)111條,指令的學(xué)習(xí)與掌握是影響學(xué)生學(xué)習(xí)該課程的一大障礙。Intel 8051單片機(jī)匯編語(yǔ)言指令的理解和記憶是學(xué)習(xí)單片機(jī)一個(gè)難點(diǎn)。本文提供了學(xué)習(xí)記憶的一些技巧。
關(guān)鍵詞:匯編語(yǔ)言指令;巧記
中圖分類號(hào):TN911.2 文獻(xiàn)標(biāo)識(shí)碼:A
隨著現(xiàn)代科學(xué)技術(shù)的快速發(fā)展與普及,單片機(jī)知識(shí)也已普及進(jìn)入工科相關(guān)專業(yè)課程體系。目前,我國(guó)單片機(jī)教學(xué)多以INTEL公司的8051單片機(jī)為教學(xué)對(duì)象。8051單片機(jī)指令系統(tǒng)涉及匯編指令多達(dá)111條,指令的學(xué)習(xí)與掌握是影響學(xué)生學(xué)習(xí)該課程的一大障礙。表現(xiàn)在:一是指令眾多,學(xué)生感到難以記憶;二是利用指令編寫程序時(shí),不知如何書寫及表達(dá)應(yīng)用;三是指令出現(xiàn)錯(cuò)誤,不能判別指令錯(cuò)誤原因。其中,指令的理解與掌握是解決這些問(wèn)題的基本。筆者通過(guò)多年的教學(xué)實(shí)踐,力求找到一條快速掌握指令的捷徑,希望給單片機(jī)初學(xué)者帶來(lái)幫助。
8051單片機(jī)指令系統(tǒng)按功能把匯編指令劃分為數(shù)據(jù)傳送、算術(shù)運(yùn)算、控制轉(zhuǎn)移、邏輯運(yùn)算和位處理指令五個(gè)大類。指令的基本格式為:
【標(biāo)號(hào):】 操作碼 操作數(shù);注釋
指令的學(xué)習(xí)首先是操作碼功能識(shí)別與助記符的記憶,其次是操作數(shù)的表達(dá)。操作數(shù)表達(dá)相對(duì)繁雜,這也是初學(xué)時(shí)感到指令繁雜的一個(gè)主要原因。下面就從這兩方面做一簡(jiǎn)要探討。
1 操作碼的學(xué)習(xí)
操作碼的學(xué)習(xí),可按功能類型,結(jié)合助記符相關(guān)英語(yǔ)單詞含義解析,讓學(xué)生快速,深刻理解操作碼助記符,以促進(jìn)學(xué)生理解和掌握指令功能。英語(yǔ)在這里僅是場(chǎng)景輔助,幫助學(xué)生了解操作碼助記符的來(lái)源及含義。理解后,學(xué)生按“操作碼功能&操作碼助記符”記憶、表達(dá)方式日常練習(xí)使用即可。如操作碼DJNZ,表達(dá)為“減1不為零轉(zhuǎn)移指令DJNZ”,操作碼INC,表達(dá)為“加1指令I(lǐng)NC”。
2 操作數(shù)的學(xué)習(xí)
操作數(shù)的學(xué)習(xí),也有記憶方法。先看下表:
操作數(shù)的出現(xiàn)主要有兩種類型。類型一,該類指令,操作碼不變,而操作數(shù)組合方式靈活多樣,形成多條指令。如片內(nèi)字節(jié)傳送指令根據(jù)操作數(shù)不同組合有15條指令。加減運(yùn)算有24條指令。與、或、非邏輯操作有18條指令等,這些可按“#AdR@”順序記憶操作數(shù),再輔以特定規(guī)律就可應(yīng)對(duì)許多指令記憶。這類指令重點(diǎn)在于操作數(shù)的格式掌握上。類型二:該類指令中操作數(shù)較簡(jiǎn)單,記憶相對(duì)簡(jiǎn)單。如條件轉(zhuǎn)移指令JZ rel。這類指令的記憶主要在于操作碼功能理解。
2.1 對(duì)于操作數(shù)類型一,因篇幅所限,下面以片內(nèi)數(shù)據(jù)傳送指令示例說(shuō)明。
指令格式: MOV 目的操作數(shù),源操作數(shù)
操作碼助記符英文釋義:助記符原型單詞就是MOV,其意為移動(dòng),指令功能就是把一個(gè)數(shù)從一個(gè)存儲(chǔ)單元移動(dòng)到另一個(gè)存儲(chǔ)單元。指令中是從源操作數(shù)移向目的操作數(shù)存儲(chǔ)單元。
片內(nèi)數(shù)據(jù)為字節(jié)傳送時(shí),源、目的操作數(shù)有15種組合方式,即有15條字節(jié)傳送指令。
記憶竅門: 操作數(shù)中,兩個(gè)R不能見(jiàn)面;
兩操作數(shù),自己不能跟自己見(jiàn)面(自我傳送,無(wú)意義);
立即數(shù)不能作為目的操作數(shù)(不能給數(shù)據(jù)賦值)
如:MOV #30H, R3 ;給數(shù)據(jù)賦值,非法
MOV R5, @R0 ;兩個(gè)R見(jiàn)面,非法
MOV 30H, 30H ;自我傳送,非法
字節(jié)傳送MOV指令的速記默寫示例:
默記操作數(shù)“#AdR@”。由于不能數(shù)據(jù)賦值,所以只能分別以(累加器)A、d(寄存器direct)、R(工作寄存器Rn)和@(間質(zhì)尋址◎Ri)分別為第一操作數(shù),即目的操作數(shù)。源操作數(shù)仍按順序排列組合依次很快就可寫出片內(nèi)數(shù)據(jù)傳送的15條指令。
2.2 對(duì)于操作數(shù)類型二,下面以一些指令為例簡(jiǎn)說(shuō)操作碼識(shí)記如下:
左移指令RL:第一個(gè)字母取rotate 首字母表示進(jìn)行循環(huán),第二個(gè)字母取left首字母,即為左循環(huán),第二個(gè)字母如取right首字母就組合為右循環(huán)指令RR,位單元CY內(nèi)容也可作為第8位,即最高位參與循環(huán),就有了帶進(jìn)位左循環(huán)RLC和帶進(jìn)位右循環(huán)RRC指令。循環(huán)操作只能對(duì)累加器A內(nèi)容進(jìn)行操作。所以指令很簡(jiǎn)單,只有相應(yīng)4條循環(huán)移位指令。
邏輯運(yùn)算指令:ANL,前兩個(gè)字母表示邏輯操作方式為and即“與”操作,第三個(gè)字母取“邏輯”的英文單詞logic首字母,表示是邏輯運(yùn)算功能;“或”英文單詞OR結(jié)合字母L就構(gòu)成邏輯或運(yùn)算指令操作碼ORL助記符。exclusive or是異或的意思,各取一個(gè)字母X,R組合表示異或,加上字母L形成異或邏輯運(yùn)算符號(hào)XRL。操作數(shù)組合除仿算術(shù)運(yùn)算指令操作數(shù)組合技巧以外,適度完善不規(guī)則組合即可。
XCH:exchange 交換。該指令第一操作數(shù)必須是累加器A,可利用巧記操作數(shù)序列列寫第二操作數(shù)。顯然序列中#,即立即數(shù)不能賦值,所以不能出現(xiàn)。而半字節(jié)交換指令第二操作數(shù),序列中只有◎Ri可以分割成◎字符和Ri兩字符,其余不能分割。因此操作數(shù)據(jù)此可記住半字節(jié)交換指令只有一條,且為XCHD A,@Ri。XCHD操作碼末尾字母“D”即divde,此處為分割的意思。
JZ: J為英文單詞JUMP首字母,意為跳,表明實(shí)現(xiàn)跳跳轉(zhuǎn)功能。跳的條件由操作碼字母J后條件決定,滿足條件跳轉(zhuǎn),否則順序執(zhí)行下一條指令,既不跳轉(zhuǎn)。Z:zero,中文含義“零”,默認(rèn)對(duì)累加器A進(jìn)行“判零”。
CJNE:C是英文單詞compare(比較)首字母;J:跳轉(zhuǎn);字母J后是跳轉(zhuǎn)條件:兩操作數(shù)比較滿足Not equal,即不想等時(shí),跳轉(zhuǎn)。
DJNZ:D是英文單詞DECREASE(減少)首字母;J后是跳轉(zhuǎn)條件,操作數(shù)減1后,結(jié)果NOT ZERO即不為零就執(zhí)行跳轉(zhuǎn),否則順序往下執(zhí)行。
當(dāng)然有少數(shù)沒(méi)有明顯記憶規(guī)律的指令仍需死記,其實(shí)動(dòng)些腦子,也許你會(huì)發(fā)現(xiàn)適合自己記憶的竅門。總之,指令學(xué)習(xí)的有效方法就是多用巧記。本文旨在拋磚引玉,給出一些指令學(xué)習(xí)技巧與思路,文中不到之處還請(qǐng)理解。
參考文獻(xiàn)
[1]楊文龍.單片機(jī)原理及應(yīng)用[M].西安:西安電子科技大學(xué)出版,2006.
[2]章鴻猷.英漢計(jì)算機(jī)詞匯[M].北京:清華大學(xué)出版社,1997.
8051單片機(jī)接口技術(shù)論文篇二
8051單片機(jī)圖形LCD驅(qū)動(dòng)接口設(shè)計(jì)
摘要:液晶顯示器(LCD)具有顯示信息豐富、功耗低、體積小、重量輕、超薄等許多其他顯示器無(wú)法比擬的優(yōu)點(diǎn),在多年來(lái)被單片機(jī)控制的智能儀器、儀表和電子 產(chǎn)品中廣泛使用,從其LCD顯示的內(nèi)容可以分為段位式LCD、點(diǎn)陣式LCD、和字符LCD。本文從8086單片機(jī)圖形模式的LCD的顯示屏幕驅(qū)動(dòng)出發(fā),詳細(xì)描述了LCD的顯示字符、數(shù)字、和顯示圖形、曲線以及各種中英文、外文等字體,而且可以實(shí)現(xiàn)整個(gè)顯示屏的滾動(dòng)、翻屏幕等功能的實(shí)現(xiàn)設(shè)計(jì)過(guò)程。
關(guān)鍵詞:液晶顯示器;驅(qū)動(dòng);圖形
中圖分類號(hào): TN873+.93 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào):
一、液晶屏與控制器的選擇
要對(duì)液晶顯示器進(jìn)行控制,需要有對(duì)應(yīng)的LCD控制器的控制權(quán)限與控制存儲(chǔ)器的操作指令,通過(guò)LCD的存儲(chǔ)空間來(lái)存儲(chǔ)對(duì)顯示器的操作命令和顯示字符來(lái)直接指揮顯示器。本文中,采用的單片機(jī)主要是精電蓬遠(yuǎn)公司出品的液晶屏MGLS-12864。MGLS-12864是香港信利公司生產(chǎn)的點(diǎn)陣圖形式液晶顯示模塊,點(diǎn)陣數(shù)為64行x128列,每屏可以顯示4行×8個(gè)漢字(每漢字16×16點(diǎn)陣)。該顯示模塊有2片HD61202作為列驅(qū)動(dòng)器和1片HD61203作為行驅(qū)動(dòng)器,可顯示64K的點(diǎn)陣圖形。其主要特點(diǎn)是能與80系列微處理器直接接口,可以進(jìn)行圖形、字符及圖形和字符混合3種方式顯示,并具有64K的內(nèi)部存儲(chǔ)器。顯示屏共分8頁(yè),顯示數(shù)據(jù)格式及顯示屏的頁(yè)、行和列的分布情況如表1所示。
使用液晶顯示器進(jìn)行顯示要有相應(yīng)的LCD控制器來(lái)對(duì)其控制,以及一定的存儲(chǔ)空間來(lái)存儲(chǔ)輸入的命令和顯示的字符。本文中,液晶屏選用的是精電蓬遠(yuǎn)公司出品的液晶屏MGLS-12864。
二、MGLS-12864屏幕概述
1、MGLS-12864概述
液晶顯示器按其功能可分為筆段式和點(diǎn)矩陣式兩種。后者又可以分成字符點(diǎn)陣式和圖形點(diǎn)陣式,圖形點(diǎn)陣式液晶顯示器不僅可顯示數(shù)字、字符等內(nèi)容,還能顯示漢字和任意圖形。在中規(guī)模圖形式液晶顯示模塊中,內(nèi)置8051控制器的液晶顯示模塊是目前較為常用的一種。MGLS-12864是點(diǎn)陣式LCD,液晶模塊的工作電壓是5V±0.5V,內(nèi)置兩片HD61202和一片HD61203。其中HD61202是列驅(qū)動(dòng)器,有64路列驅(qū)動(dòng)輸出,64×64位顯示RAM,每位數(shù)據(jù)代表液晶屏上每個(gè)點(diǎn)的明暗狀態(tài);HD61203作為行驅(qū)動(dòng)器??刂破鬟x用Intel公司MCS-51系列的8051芯片。該芯片價(jià)格低廉,指令系統(tǒng)功能強(qiáng)大,執(zhí)行速度快,實(shí)用性強(qiáng),能夠符合系統(tǒng)要求。
2、MGLS-12864的特點(diǎn)
(1)MGLS-12864是點(diǎn)陣式液晶圖形顯示控制器,它能直接與80系列的8位微處理器接口;
(2)MGLS-12864的字符字體由硬件設(shè)置,其字體有4種:5X8、6X8、7X8、8X8;
(3)MGLS-12864的占空比可從1/16到1/128;
(4)MGLS-12864可以圖形方式、文本方式及圖形和文本合成方式進(jìn)行顯示,以及文本方式下的特征顯示,還可以實(shí)現(xiàn)圖形拷貝操作等等;
(5)MGLS-12864具有內(nèi)部字符發(fā)生器CGROM,共有128個(gè)字符,MGLS-12864可管理64K顯示緩沖區(qū)及字符發(fā)生器CGRAM。并允許MPU隨時(shí)訪問(wèn)顯示緩沖區(qū),甚至可以進(jìn)行位操作。
三、系統(tǒng)軟件設(shè)計(jì)
實(shí)現(xiàn)功能可以看出,本設(shè)計(jì)中需要用到西文顯示、漢字顯示、繪圖等子程序。首先,要實(shí)現(xiàn)西文/漢字的顯示,需要三個(gè)子程序:創(chuàng)建字模,寫入字模,顯示西文或漢字。MGLS-12864實(shí)現(xiàn)西文/漢字的顯示有三種方式:文本顯示,圖形顯示和文本屬性顯示。由于繪圖只能使用圖形顯示,因此在本設(shè)計(jì)中采用圖形顯示方法來(lái)實(shí)現(xiàn)西文/漢字的顯示。其次,要實(shí)現(xiàn)繪圖,需要由繪點(diǎn)子程序?qū)崿F(xiàn)。繪圖功能則是通過(guò)連續(xù)使用繪點(diǎn)子程序?qū)崿F(xiàn)的。最后,還需要用到初始化子程序、清屏子程序。同時(shí)狀態(tài)字的檢測(cè)和指令的寫入、數(shù)據(jù)的自動(dòng)寫、數(shù)據(jù)的一次寫等子程序也是必不可少的。由于每進(jìn)行一次操作都需要檢測(cè)狀態(tài)字,所以可以把狀態(tài)字檢測(cè)程序做成通用程序方便調(diào)用。初始化程序和清屏幕程序主要完成MGLS-12864的初始化和屏幕清除功能。西文/漢字的顯示首先需要?jiǎng)?chuàng)建字模,然后將字模寫入MGLS-12864中,最后再在屏幕上顯示出來(lái)。
3.1 引腳功能
(1)D0―D7:MGLS-12864與MPU接口的數(shù)據(jù)總線,三態(tài);
(2)/RD,/WR:讀、寫選通信號(hào),低電平有效,輸入信號(hào);
(3)/CE:MGLS-12864的片選信號(hào),低電平有效;
(4)C/D:通道選擇信號(hào),1為指令通道,0為數(shù)據(jù)通道;
(5)/RESET,/HALT:/RESET為低電平有效的復(fù)位信號(hào),它將行、列計(jì)數(shù)器和顯示寄存器清零,關(guān)顯示;/HALT具有/RESET的基本功能,還將種植內(nèi)部時(shí)鐘振蕩器的工作;
(6)DUAL,SDSEL:DUAL=1為單屏結(jié)構(gòu),DUAL=0為雙屏結(jié)構(gòu);SDSEL=0為一位串行數(shù)據(jù)傳輸方式,SDSEL=1為二位并行數(shù)據(jù)傳輸方式;
(7)MD2,MD3:設(shè)置顯示窗口長(zhǎng)度,從而確定了列數(shù)據(jù)傳輸個(gè)數(shù)的最大值,起組
3.2 控制器命令字格式
控制驅(qū)動(dòng)器的指令系統(tǒng)比較簡(jiǎn)單,將命令字及其功能特征編輯成速查表,供編程時(shí)查對(duì),控制器命令字格式如表1所示
有關(guān)命令格式的相關(guān)說(shuō)明:顯示開(kāi)/關(guān)指令:當(dāng)DB0=1時(shí)LCD顯示RAM中的內(nèi)容,DB0=0時(shí)無(wú)顯示。
讀狀態(tài)指令:BUSY:1-內(nèi)部在工作0-正常狀態(tài);ON/OFF:1-顯示關(guān)閉0-顯示打開(kāi);REST:1-復(fù)位狀態(tài)0-正常狀態(tài)
3.3 驅(qū)動(dòng)子程序設(shè)計(jì)
#include<8051reg.h>
#defineRWP2.4 //定義P2.4為讀寫引腳//
#defineDIP2.7 //定義P2.7為命令,數(shù)據(jù)引腳//
delay(intd)//延遲子程序//
{
inti,j;
for(i=0;i for(j=0;j<20;j++);
}
voidLCD_init() //顯示器初始化//
{
RS=0;RW=0;P0=0X3c; //定義雙行顯示//
P0=0X0e;//顯示光標(biāo)//
P0=0X01;//清除命令/
}
voidLCD_command(unsignedcharc)//寫命令到顯示器//
{
P0=c;
RW=0;
DI=0;
}
voidLCD_print(unsignedchart)//寫數(shù)據(jù)到顯示器/
{
P0=t;
RW=0;
DI=1;
}
四、小結(jié)
利用自帶字庫(kù)的中文液晶圖形點(diǎn)陣模塊串口接口方式的優(yōu)勢(shì)比并口明顯,節(jié)省I/O了口,不占用ROM,接口電路簡(jiǎn)單,解決了顯示漢字字符數(shù)量有限的瓶頸問(wèn)題和小體積非總線結(jié)構(gòu)單片機(jī)的漢字顯示問(wèn)題。筆者相信今后其使用率將逐步提高,對(duì)照本文的串并口兩種方式,希望對(duì)廣大同行在使用液晶圖形點(diǎn)陣模塊時(shí)有所啟發(fā)和幫助。
參考文獻(xiàn):
[1]、北京精電蓬遠(yuǎn)顯示技術(shù)有限公司《內(nèi)藏MGLS-12864液晶顯示模塊使用手冊(cè).第二版》.北京:北京精電蓬遠(yuǎn)顯示技術(shù)有限公司.1999年
[2] 、郭強(qiáng)《液晶顯示應(yīng)用技術(shù)》.北京:電子工業(yè)出版社.2002.
[3] 、曾一江《單片微機(jī)原理與接口技術(shù)》.北京:科學(xué)出版社.2006.
[4] 、蔡美琴《MCS-51系列單片機(jī)系統(tǒng)及其應(yīng)用(第2版)》.北京:高等教育出版社.2004.
看了8051單片機(jī)接口技術(shù)論文的人還看