freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片機(jī)液晶顯示資料(已修改)

2025-04-03 05:06 本頁(yè)面
 

【正文】 課題四 液晶顯示 ? 任務(wù)一 1602液晶顯示 ? 任務(wù)二 12864液晶顯示 ? 課題目標(biāo) 本課題的任務(wù)是用單片機(jī)實(shí)現(xiàn)液晶顯示,演示效果如圖 51所示。通過(guò)編程,學(xué)會(huì)在單片機(jī)上實(shí)現(xiàn)液晶顯示控制方法,以及不同數(shù)據(jù)顯示的程序編寫(xiě)方法。 圖 51 液晶顯示效果圖 任務(wù)一 1602液晶顯示方式 本任務(wù)就是將單片機(jī)與 1602液晶接成圖 52所示電路圖,編程實(shí)現(xiàn)。用液晶顯示出” I LIKE MCU” “” 圖 52 液晶顯示電路圖 一、液晶顯示原理 液晶顯示器及其特點(diǎn) 液晶顯示器以其微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧的諸多優(yōu)點(diǎn),沒(méi)有電磁輻射、壽命長(zhǎng)等優(yōu)點(diǎn),在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中得到越來(lái)越廣泛的應(yīng)用。 這里介紹的字符型液晶模塊是一種用 5x7點(diǎn)陣圖形來(lái)顯示字符的液晶顯示器,根據(jù)顯示的容量可以分為 1行 16個(gè)字、 2行 16個(gè)字、 2行 20個(gè)字等等,這里以常用的 2行 16個(gè)字的 1602液晶模塊來(lái)介紹它的編程方法。 液晶引腳定義 表 51 LCD1602引腳功能 ?字符代碼與顯示字符關(guān)系 ? 1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器( CGROM)已經(jīng)存儲(chǔ)了 160個(gè)不同的點(diǎn)陣字符圖形,如表 52所示,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫(xiě)、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫(xiě)的英文字母“ A” 的代碼是 01000001B( 41H),顯示時(shí)模塊把地址 41H中的點(diǎn)陣字符圖形顯示出來(lái),我們就能看到字母“ A” 。 表 52 字符發(fā)生存儲(chǔ)器字符代碼與顯示字符關(guān)系 LCD1602指令表 1602液晶模塊內(nèi)部的控制器共有 11條控制指令,如表 53所示。 表 53 1602指令表 ? 液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,表 54是 DM1602的內(nèi)部顯示地址。 表 54 1602地址表 比如第二行第一個(gè)字符的地址是 40H,那么是否直接寫(xiě)入 40H就可以將光標(biāo)定位在第二行第一個(gè)字符的位置呢?這樣不行,因?yàn)閷?xiě)入顯示地址時(shí)要求最高位 D7恒定為高電平 1所以實(shí)際寫(xiě)入的數(shù)據(jù)應(yīng)該是 01000000B( 40H)+10000000B(80H)=11000000B(C0H) 二、時(shí)序圖 1602基本操作時(shí)序 寫(xiě)操作時(shí)序 圖 55 操作時(shí)序圖 時(shí)序時(shí)間表 表 55 時(shí)序表 ① 初始化 通過(guò)初始化設(shè)置堆棧棧底為 60H,調(diào)用 LCD初始化子程序完成對(duì) LCD的初始化設(shè)置。 ② 字符顯示 完成對(duì) LCD初始化后,調(diào)用 LCD字符顯示子程序顯示第一行字符和第二行字符。 主程序設(shè)計(jì)流程圖如圖 。 【 項(xiàng)目實(shí)踐 】 3.程序設(shè)計(jì) (1) 主程序設(shè)計(jì) 主程序主要完成硬件初始化、子程序調(diào)用等功能。 初始化堆棧指針 調(diào)用 LCD初始化子程序 調(diào)用字符顯示 子程序顯示第二行字符 調(diào)用字符顯示 子程序顯示第一行字符 開(kāi)始 圖 主程序流程圖 (2) 寫(xiě)入顯示數(shù)據(jù)到 LCD子程序模塊設(shè)計(jì) 當(dāng) LCD1602的寄存器選擇信號(hào) RS為 1時(shí),選擇數(shù)據(jù)寄存器;當(dāng) LCD1602的讀寫(xiě)選擇線 R/W為 0時(shí),進(jìn)行寫(xiě)操作;當(dāng) LCD1602的使能信號(hào) E至高電平后再過(guò)兩個(gè)時(shí)鐘周期至低電平,產(chǎn)生一個(gè)下降沿信號(hào),往 LCD寫(xiě)入顯示數(shù)據(jù)。寫(xiě)入顯示數(shù)據(jù)到 LCD子程序設(shè)計(jì)流程圖如圖 。 當(dāng) RS= 1時(shí) , 選擇數(shù)據(jù)寄存器 讀 /寫(xiě)標(biāo)志位 R/W= 0時(shí),進(jìn)行寫(xiě)操作 LCD使能信號(hào) E至高電平后再過(guò)兩個(gè)時(shí)鐘周期至低電平 , 產(chǎn)生一個(gè)下降沿信號(hào) , 往 LCD寫(xiě)入顯示數(shù)據(jù) 子程序返回 把 顯示數(shù)據(jù)送至 P0口 ( LCD數(shù)據(jù)線 DB7~ DB0) 開(kāi)始 圖 寫(xiě)入顯示數(shù)據(jù)到 LCD子程序流程圖 (3) 寫(xiě)入指令數(shù)據(jù)到 LCD子程序模塊設(shè)計(jì) 當(dāng) LCD1602的寄存器選擇信號(hào) RS為 0時(shí),選擇指令寄存器;當(dāng) LCD1602的讀寫(xiě)選擇線 R/W為 0時(shí),進(jìn)行寫(xiě)操作;當(dāng) LCD1602的使能信號(hào) E至高電平后再過(guò)兩個(gè)時(shí)鐘周期至低電平,產(chǎn)生一個(gè)下降沿信號(hào),往 LCD寫(xiě)入指令代碼。寫(xiě)入指令數(shù)據(jù)到 LCD子程序設(shè)計(jì)流程圖如圖 。 RS= 0時(shí) , 選擇指令寄存器 讀 /寫(xiě)標(biāo)志位 R/W= 0時(shí),進(jìn)行寫(xiě)操作 LCD使能信號(hào) E至高電平后再過(guò)兩個(gè)時(shí)鐘周期至低電平 , 產(chǎn)生一個(gè)下降沿信號(hào) , 往 LCD寫(xiě)入指令代碼 , LCD執(zhí)行命令 調(diào)用延時(shí)子程序 DELAY 子程序返回 把指令數(shù)據(jù)送至 P0口 ( LCD數(shù)據(jù)線 DB7~ DB0) 開(kāi)始 圖 寫(xiě)入指令數(shù)據(jù)到 LCD子程序流程圖 (4) 字符顯示子程序模塊設(shè)計(jì) 設(shè)置 LCD的 DDRAM地址,調(diào)用寫(xiě)入指令到 LCD子程序設(shè)置 DDRAM地址指針;然后設(shè)置顯示數(shù)據(jù)個(gè)數(shù) R7,設(shè)置顯示數(shù)據(jù)索引值 R6,將顯示數(shù)據(jù)表地址送入 DPTR中,用查表指令查表取得顯示數(shù)據(jù),調(diào)用寫(xiě)入顯示數(shù)據(jù)到 LCD子程序,使數(shù)據(jù)顯示在 LCD上;顯示數(shù)據(jù)個(gè)數(shù) R7減 1,顯示數(shù)據(jù)索引值 R6加 1,按照上面的步驟顯示下一個(gè)數(shù)據(jù),直到顯示數(shù)據(jù)個(gè)數(shù) R7為 0,所有字符均顯示在LCD上。字符顯示子程序設(shè)計(jì)流程圖如圖 。 圖 字符顯示子程序流程圖 【 項(xiàng)目實(shí)踐 】 (5) LCD初始化子程序模塊設(shè)計(jì) 1602字符型 LCD的初始化過(guò)程為: 延時(shí) 15ms,寫(xiě)指令 38H(不檢測(cè)忙信號(hào) ); 延時(shí) 5ms,寫(xiě)指令 38H(不檢測(cè)忙信號(hào) ); 延時(shí) 5ms,寫(xiě)指令 38H(不檢測(cè)忙信號(hào) ); 以后每次寫(xiě)指令、讀 /寫(xiě)數(shù)據(jù)操作均需要檢測(cè)忙信號(hào); 寫(xiě)指令 38H:顯示模式設(shè)置; 寫(xiě)指令 08H:顯示關(guān)閉; 寫(xiě)指令 01H:顯示清屏; 寫(xiě)指令 06H:顯示光標(biāo)移動(dòng)設(shè)置; 寫(xiě)指令 0CH:顯示開(kāi)及光標(biāo)設(shè)置。 根據(jù)它的初始化過(guò)程, LCD初始化子程序設(shè)計(jì)流程圖如 圖 。 【 項(xiàng)目實(shí)踐 】 功能設(shè)置命令 調(diào)用寫(xiě)入指令到 LCD子程序 設(shè)定工作方式 設(shè)置顯示狀態(tài) 調(diào)用寫(xiě)入指令到 LCD子程序 調(diào)用寫(xiě)入指令到 LCD子程序 清屏 調(diào)用寫(xiě)入指令到 LCD子程序 子程序返回 設(shè)置輸入方式 調(diào)用寫(xiě)入指令到 LCD子程序 開(kāi)始 圖 LCD 初始化 子程序 流程圖 【 項(xiàng)目實(shí)踐 】 (6) 延時(shí)子程序模塊設(shè)計(jì) 延時(shí)子程序模塊設(shè)計(jì)請(qǐng)參考項(xiàng)目 1。 4.匯編源程序 ************************************************************** ;項(xiàng)目名稱:字符型 LCD接口實(shí)驗(yàn) ;功能:在 1602字符型液晶第一行顯示: I LIKE MCU; ;在第二行顯示: ;作者: ;日期: ************************************************************** ; 1602LCD信號(hào)接口定義 E BIT ; LCD使能信號(hào) RW BIT ;讀 /寫(xiě)選擇信號(hào) R/W: 0為寫(xiě)入數(shù)據(jù); 1為讀出數(shù)據(jù) RS BIT ;數(shù)據(jù) /命令選擇信號(hào) R/S: 0為指令; 1為數(shù)據(jù) 【 項(xiàng)目實(shí)踐 】 LCDPORT EQU P1 ;液晶的數(shù)據(jù)線 DB7~ DB0 CMD_BYTE EQU 30H ;寫(xiě)命令入口參數(shù) DAT_BYTE EQU 31H ;寫(xiě)顯示數(shù)據(jù)入口參數(shù) ;主程序 ORG 0000H AJMP MAIN ORG 0050H MAIN: MOV SP,60H ;設(shè)置堆棧指針 LCALL INITLCD ;調(diào)用 LCD初始化子程序 LCALL DISPMSG1 ;調(diào)用液晶字符顯示程序 LCALL DISPMSG2 ;調(diào)用液晶字符顯示程序 SJMP $ ; LCD1602要用到的一些子程序 ;函數(shù)功能:寫(xiě)入指令到 LCD1602子程序 ;入口參數(shù) CMD_BYTE ;出口參數(shù): 【 項(xiàng)目實(shí)踐 】 WRITE_CMD: CLR RS ;當(dāng) RS=0, RW=0時(shí),寫(xiě)指令 CLR RW MOV A,CMD_BYTE;把寫(xiě)命令入口參數(shù) CMD_BYTE傳給 A MOV LCDPORT,A; LCDPORT為液晶數(shù)據(jù)線 DB7~ DB0 SETB E ;打開(kāi)液晶使能信號(hào) E NOP NOP CLR E ;關(guān)閉液晶使能信號(hào) E LCALL DELAY ;調(diào)用延時(shí)子程序 RET ;函數(shù)功能:寫(xiě)入顯示數(shù)據(jù)到 LCD1602子程序 ;入口參數(shù): DAT_BYTE ;出口參數(shù): WRITE_DAT: SETB RS ;當(dāng) RS=1, RW=0時(shí),寫(xiě)入數(shù)據(jù)到 LCD CLR RW MOV A,DAT_BYTE;把寫(xiě)數(shù)據(jù)入口參數(shù) DAT_BYTE傳給 A MOV LCDPORT, A; LCDPORT為液晶數(shù)據(jù)線 DB7~ DB0 【 項(xiàng)目實(shí)踐 】 SETB E ;打開(kāi)液晶使能信號(hào) E NOP NOP CLR E ;關(guān)閉液晶使能信號(hào) E LCALL DELAY ;調(diào)用延時(shí)子程序 RET ;函數(shù)功能:寫(xiě)入顯示數(shù)據(jù)到 LCD1602子程序 ;入口參數(shù): DAT_BYTE;出口參數(shù): WRITE_DAT: SETB RS ;當(dāng) RS=1, RW=0時(shí),寫(xiě)入數(shù)據(jù)到 LCD CLR RW MOV A, DAT_BYTE;把寫(xiě)數(shù)據(jù)入口參數(shù) DAT_BYTE傳給 A MOV LCDPORT, A ; LCDPORT為液晶數(shù)據(jù)線 DB7~ DB0 SETB E ;打開(kāi) LCD使能信號(hào) E NOP NOP CLR E ;關(guān)閉 LCD使能信號(hào) E LCALL DELAY ;調(diào)用延時(shí)子程序 RET ;函數(shù)功能: LCD顯示初始化子程序 ;入口參數(shù):;出口參數(shù): INITLCD: MOV CMD_BYTE, 30H LCALL WRITE_CMD ;調(diào)用寫(xiě)命令子程序 MOV CMD_BYTE,30H LCALL WRITE_CMD ;調(diào)用寫(xiě)命令子程序 MOV CMD_BYTE, 30H LCALL WRITE_CMD ;調(diào)用寫(xiě)命令子程序 MOV CMD_BYTE, 38H ;設(shè)定工作方式 LCALL WRITE_CMD ;調(diào)用寫(xiě)命令子程序 MOV CMD_BYTE, 0CH ;顯示狀態(tài)設(shè)置 LCALL WRITE_CMD ;調(diào)用寫(xiě)命
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1