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

正文內(nèi)容

液晶課程設(shè)計(jì)--單片機(jī)液晶顯示器系統(tǒng)設(shè)計(jì)-資料下載頁(yè)

2025-06-07 15:49本頁(yè)面
  

【正文】 x86,0x60,0x90,0x90,0xFF,0x90,0x90,0x00,0xFE,0x92,0x92,0xFE,0x00,0x00,0x04,0xFC,0x03,0x00,0x1F,0x10,0x10,0x90,0x5F,0x30,0x0F,0x40,0x80,0 x7F,0x00,0x00 在一個(gè)字符顯示過(guò)程中,掃描方式是按列掃描。 19 圖形編碼規(guī)則 圖形與字符的編碼規(guī)則一樣。但在圖形取模時(shí),要求是位圖(文件的擴(kuò)展名為 BMP),其它類型圖形無(wú)法取模。位圖的大小為 128*64,不能超出這個(gè)范圍。例如下圖(圖 )取模后所得編碼在附錄:程序代碼里 部分 char code sreen3[]中已列出。 圖 位圖 圖形轉(zhuǎn)換為機(jī)內(nèi)字模之后,跟字符顯示原理一樣。在圖形的上下滾動(dòng)上,是將顯示起始行地址在顯示完本屏之后增加 1;在圖形的左右移動(dòng)上,相對(duì)而言要復(fù)雜得多:起始行地址不變,但由于液晶屏的列是由兩塊 KS0108 分左、右屏控制的,必須注意左、右屏的分開(kāi)控制:當(dāng)在起始列在左半屏?xí)r,先從左半屏的起始列寫(xiě)數(shù)據(jù),寫(xiě)到左半屏的第 64 列,然后從左半屏的第一列開(kāi)始寫(xiě)數(shù)據(jù)直到左半屏的第 64 列;當(dāng)起始列在右半屏?xí)r,左半屏不需要驅(qū)動(dòng),直接從起始列中減去 64 而得到對(duì)應(yīng)右半屏的第多少列,然后從右半 屏的第多少列驅(qū)動(dòng)。 程序流程 程序流程見(jiàn)圖 初始化時(shí)鐘 初始化定時(shí)器 0 初始化 IO 口 初始化 SPIO 使能比較器 1 使能片內(nèi)參考電壓 使能 DAC0 開(kāi)中斷 調(diào)用顯示子程序 開(kāi)始 結(jié)束 20 圖 主程序流程圖 圖 LCD測(cè)試流程圖 功能實(shí)現(xiàn) LCD 初始化: void InitLCD(void) //初始化 LCD { char i,j。 LCD_RST=0。 Delay1ms(1)。 LCD_RST=1。 LCD_WriteCommand1(0xc0)。 LCD_WriteCommand2(0xc0)。 LCD_WriteCommand1(0x3f)。 //開(kāi)顯示 LCD_WriteCommand2(0x3f)。 for (j=0。j8。j++) //清屏 { LCD_WriteCommand1(0xB8+j)。 //清左半屏 LCD_WriteCommand1(0x40)。 for (i=0。i64。i++) LCD_WriteData1(0x00)。 LCD_WriteCommand2(0xB8+j)。 //清右半屏 實(shí)現(xiàn)位圖左右移動(dòng) 靜態(tài)顯示文字 實(shí)現(xiàn)位圖上下滾動(dòng) 靜態(tài)顯示位圖 字符從右向左移動(dòng) 字符從上到下移動(dòng) 開(kāi)始 21 LCD_WriteCommand2(0x40)。 for (i=0。i64。i++) LCD_WriteData2(0x00)。 } } 單個(gè)漢字顯示: void LCD_Write_A_HZ(char x,char y,char *Dot) //顯示 16*16 點(diǎn)陣漢字 { char i。 for (i=0。i32。i++) { if ((x+i%16)64) { LCD_WriteCommand1(0xB8+y+i/16)。 LCD_WriteCommand1(0x40+x+i%16)。 LCD_WriteData1(Dot[i])。 } else { LCD_WriteCommand2(0xB8+y+i/16)。 LCD_WriteCommand2(0x40+x64+i%16)。 LCD_WriteData2(Dot[i])。 } } } 靜態(tài)顯示一幅位圖: void DispBmp(char *buf) //顯示一幅位圖 { int i,j。 for (j=0。j8。j++) //顯示位圖 { LCD_WriteCommand1(0xB8+j)。 LCD_WriteCommand1(0x40)。 for (i=0。i64。i++) LCD_WriteData1(buf[(j*2)*64+i])。 LCD_WriteCommand2(0xB8+j)。 LCD_WriteCommand2(0x40)。 for (i=0。i64。i++) LCD_WriteData2(buf[(j*2+1)*64+i])。 } } 22 位圖上下滾動(dòng)實(shí)現(xiàn): Void DispBmp_Roll(char *buf) { char *Buffer。 int i。 Buffer=buf。 DispBmp(Buffer)。 for (i=0。i64。i++) { Delay1ms(50)。 LCD_WriteCommand1(0xc0+i%64)。 //設(shè)置起始行 ,實(shí)現(xiàn)向上滾動(dòng) LCD_WriteCommand2(0xc0+i%64)。 } } 位圖從左到右移動(dòng)實(shí)現(xiàn): void DispBmp_Move(char *buf) //左右移動(dòng)一幅位圖 { int line,line0,row,eight。 //顯示位圖 for (row=0。row128。row++) { Delay1ms(50)。 for (eight=0。eight8。eight++) { if (row64) { LCD_WriteCommand1(0xB8+eight)。 LCD_WriteCommand1(0x40+row)。 for (line=0。line+row64。line++) LCD_WriteData1(buf[(eight*2)*64+line])。 LCD_WriteCommand2(0xB8+eight)。 LCD_WriteCommand2(0x40)。 for (line0=0。line0+row64。line0++) LCD_WriteData2(buf[(eight*2)*64+line+line0])。 } else { LCD_WriteCommand2(0xB8+eight)。 LCD_WriteCommand2(0x40+row64)。 for (line0=0。line0+row6464。line0++) LCD_WriteData2(buf[(eight*2)*64+line0])。 } 23 } } } 關(guān)于漢字的上下、左右移動(dòng)較簡(jiǎn)單,請(qǐng)參照附錄:程序代碼。 5 系統(tǒng)實(shí)驗(yàn)仿真 我們?cè)谠S多地方可以看到 LCD 顯示屏的應(yīng)用。例如空調(diào),車內(nèi)廣告,可視電話,顯示儀表盤(pán)等等,它們都是一個(gè)小型的單片機(jī)控制液晶顯示系統(tǒng)。在日常生活中,我們也可以看到一些類似的由單片機(jī)控制的顯示系統(tǒng),如火車站售票大廳的候車信息顯示屏,在這些屏幕上,可以顯示各種不同的圖形、漢字等,并且可以實(shí)現(xiàn)上下滾屏與左右移動(dòng)等。 平臺(tái)及操作 平臺(tái)準(zhǔn)備:在確認(rèn)連線已接好時(shí),將撥碼開(kāi)關(guān) S1和 S2 置于 ON位置 操作流程:建立一個(gè)新的項(xiàng)目文件,將程序加到這個(gè)項(xiàng)目文件中,編譯連接后,將程序下載到 C8051F020 中。打開(kāi) RAM 觀察窗口,運(yùn)行程序。運(yùn)行程序時(shí),可單步執(zhí)行或在送數(shù)指令后加斷點(diǎn)觀察 RAM 存儲(chǔ)單元的變化,觀察加法結(jié)果是否正確。 仿真及結(jié)果 在 C8051F020 系統(tǒng)實(shí)驗(yàn)箱上的液晶顯示屏上,我實(shí)現(xiàn)了這些動(dòng)態(tài)顯示功能,特設(shè)計(jì)了以下幾個(gè)顯示場(chǎng)景: (1)場(chǎng)景一: 第一個(gè)場(chǎng)景是在液晶顯示屏上靜態(tài)顯示位圖,如圖 所示: 圖 位圖上下滾動(dòng) 在這個(gè)場(chǎng)景中,是對(duì)位圖 128*64 的模仿上下滾動(dòng)。 24 (2)場(chǎng)景二 第二個(gè)場(chǎng)景是圖形動(dòng)態(tài)顯示模擬,它們是從左向右推出的,一直移動(dòng)到顯示屏最右端。具體如圖 所示: 圖 位圖右移 ( 4)場(chǎng)景三 第三個(gè)場(chǎng)景是靜態(tài)顯示一幅位圖如圖 圖 位圖顯示 (5)場(chǎng)景四 這個(gè)場(chǎng)景是實(shí)現(xiàn)對(duì)字符的動(dòng)態(tài)顯示如圖 。我用的是“湖南”與“湘”這三個(gè)漢字來(lái)模仿的。讓“湖南”兩個(gè)字縱向排列,從右向左移動(dòng);“湘”字從上下落到液晶屏的底部。在這些場(chǎng)景中,液晶顯示屏上顯示的漢字,我是把它當(dāng)作圖形來(lái)顯示的,漢字和圖形的字模我是借助字模軟件取模的,并沒(méi)有自己去設(shè)計(jì)漢字和圖形的字模。當(dāng)然這樣做省了不少的事,就我個(gè)人來(lái)看,把大量的時(shí)間分配在接口的編程上和如何利用 C 語(yǔ)言實(shí)現(xiàn)接口是更有價(jià)值的。 圖 字符串移動(dòng) 由于這種型號(hào)液晶屏的觀察角度不同,一般采用成 45 度的角度來(lái)觀察為最25 好,直視比較黑而且圖像不明顯,所以在系統(tǒng)仿真實(shí)驗(yàn)中,我沒(méi)有取到最佳圖形。 總 結(jié) 液晶顯示器( LCD)具有圖形顯示功耗低、體積小、質(zhì)量輕、超薄等諸多其它顯示器無(wú)法比擬的優(yōu)點(diǎn),被廣泛用于智能型儀器和低功耗電子產(chǎn)品中。圖形點(diǎn)陣式 LCD 不僅可以顯示字符、數(shù)字,還可以顯示各種圖形、曲線及漢字,并且可以實(shí)現(xiàn)屏幕上下左右滾動(dòng)、動(dòng)畫(huà)、閃爍、文本特征顯示等功能,用途十分廣泛。本文介紹采用新華龍分司的內(nèi)置兩片 KS0108 驅(qū)動(dòng)控制器的點(diǎn)陣型液晶顯示模塊CMG12864B 與 C8051F020 接口的性能特點(diǎn)、硬件電路接口時(shí)序和接口軟件編程思路及其接口調(diào)試。 DSP(數(shù)字信號(hào)處理)系統(tǒng)液晶模塊的使用,在硬件方面, 關(guān)鍵要滿足液晶的接口時(shí)序:在軟件方面,要正確進(jìn)行初始化。這樣就可以隨心所欲顯示信息了。 26 參考文獻(xiàn) [1] 李朝青 .單片機(jī)原理及接口技術(shù) [M].北京:北京航空航天大學(xué)出版李朝青 .單片機(jī)原理及接口技術(shù) [M].北京:北京航空航天大學(xué)出版社, : 1167. [2] 吳金戌 .8051 單片機(jī)實(shí)踐與應(yīng)用 [M]. 北京:清華大學(xué)出版社 ,:266293. [3] 李秉操 .單片機(jī)接口技術(shù)及其在工業(yè)控制中的應(yīng)用 [M].陜西:陜西電子編輯部 ,: 314336. [4] 薛棟梁 .MCS51/151/251 單片機(jī)原理與應(yīng)用 [M].北京:中國(guó)水利水電出版社,: 177202. [5] 新華龍有限公司 .C8051F020 單片機(jī)實(shí)驗(yàn)系統(tǒng)使用說(shuō)明書(shū) . [6] 劉樂(lè)善 .微型計(jì)算機(jī)接口技術(shù)及應(yīng)用 [M].武漢:華中科技大學(xué)出版社, :167177. [7] 應(yīng)自爐 .一種 8031 單片機(jī)控制的液晶漢字顯示系統(tǒng) .五邑大學(xué)學(xué)報(bào)(自然科學(xué)版) ,1995 第 9 卷 .第 3期 . [8] 童長(zhǎng)飛編著 .C8051F 系列單片機(jī)開(kāi)發(fā)與 C 語(yǔ)言編程 [M].北京:北京航空航天大學(xué)出版社, 2021: 428444. [9] 潘琢金 , 施國(guó)君編著 . C8051F高速 Soc 單片機(jī)原理及應(yīng)用 [M].北京:北京航空航天大學(xué)出版社, 2021. [11] Mano,Charles . Logic and Computer Design Fundamentals Second Edition Updated. 27
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1