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

正文內(nèi)容

單片機畢業(yè)設計論文基于單片機的lcd液晶顯示器控制系統(tǒng)-閱讀頁

2024-12-20 13:11本頁面
  

【正文】 0 ∫ PAGE1 DB7 X=1 ?????? ?? DB0 ∫ PAGE6 DB7 X=7 DB0 ∫ PAGE7 DB7 X=8 (4) 設置列地址 CODE: R/W RS IDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 L L L H 列地址( 0~ 63) 功能: DD RAM 的列地址存儲在 Y 地址計數(shù)器中,讀寫數(shù)據(jù)對列地址有影響,在對 DD RAM 進行讀寫操作后, Y 地址自動加一。 BF=H:內(nèi)部正在執(zhí)行操作; BF=L:空閑狀態(tài)。 ON/OFF=H:表示顯示關閉; ON/OFF=L:表示顯示開。 D7D0位數(shù)據(jù)為 1 表示顯示,數(shù)據(jù)為 0表示不顯示。 ( 7) 讀顯示數(shù)據(jù) CODE: R/W RS IDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 H H D7 D6 D5 D4 D3 D2 D1 D0 基本操作時序: ① 讀狀態(tài):輸入: RS=L,R/W=H,CS1 或 CS2=H,E=H 輸出: D0~ D7=狀態(tài)字 ② 寫指令:輸入: RS=L,R/W=L,D0~ D7=指令碼 ,CS1或 CS2=H,E=高脈沖 輸出:無 ③ 讀數(shù)據(jù):輸入: RS=H,R/W=H,CS1 或 CS2=H,E=H 輸出: D0~ D7=數(shù)據(jù) ④ 寫數(shù)據(jù):輸入: RS=H,R/W=L,D0~ D7=數(shù)據(jù) ,CS1 或 CS2=H,E=高脈沖 輸出:無 RAM 地址映射圖 LCD 顯示屏由兩片控制器控制, 分別用 1CS 和 2cs 控制。 河南理工大學畢業(yè)設計 (論文)說明書 26 圖 42 LCD地址映射圖 4. 3 接口時序說明 ( 1) 讀操作時序 如圖 43所示 。 圖 44 寫操作時序 河南理工大學畢業(yè)設計 (論文)說明書 27 ( 3) 時序參數(shù) 如表 。 圖 51 主程序流程圖 上電復位 延時 50 ms 初始化 LCD 清屏顯示 播放音樂顯示歌詞 主界面 菜單選擇界面 B1=0 漢字顯示 B4=0 B2=0 Flash 顯示 B3=0 Y Y Y N N N Y 河南理工大學畢業(yè)設計 (論文)說明書 29 5. 2 漢字 和 圖形 字模提取 液晶顯示器件( LCD)獨具的低壓、微功耗特性使他在單片機系統(tǒng)中特得到了廣泛的應用,常用的液晶顯示模塊分為數(shù)顯液晶模塊、點陣字符液晶模塊和點陣圖形液晶模塊,其中圖形液晶模塊在我國應用較為廣泛,因為漢字不能象西文字符那樣用字符模塊即可顯示,要想顯示漢字必須用圖形模塊。以在我國應用較為普及的液晶顯示驅(qū)動控制器 12864為例,在液晶屏上橫向 8個點為 1個字節(jié)數(shù)據(jù),則“國”字的 16 16點陣字模如圖 1所示,通過字模提取軟件按照先左后右,先上后下的方式對“國”字進行字模提取,則可獲得圖 1右邊的字模對應的 32個字節(jié)值。 圖 52 漢字點陣圖 英文字母采用的是 8 16點陣, 如 圖 53所示 。 字模應用于單色的點陣液晶,數(shù)據(jù)是縱向的,一個像素對應一個位。比如從上到下 8個點的狀態(tài)是“ **” (*為黑點, 為白點 ),則轉(zhuǎn)換的字模數(shù)據(jù)是 0x41(B0100_0001)。為了使圖像更加清晰我采用的是 128 64采集模 式即全屏顯示一幅圖片, 通過單片機將已提取的漢字 圖形 的字模輸入液晶控制 器,即可按設定的液晶模塊顯示屏上現(xiàn)實需要的漢字。如下面程序所示,將提取的要顯示漢字的字模數(shù)據(jù)定義成常量數(shù)組,如要顯示 “河南”兩字。 此字體下對應的點陣為:寬 x高 =16x16 */ 0x10,0x60,0x01,0xC6,0x30,0x02,0xE2,0x22,0x22,0xE2,0x02,0x02, 0xFE,0x02,0x02,0x00,0x04,0x04,0xFF,0x00,0x00,0x00,0x07,0x02,0x02,0x07,0x40,0x80,0x7F,0x00,0x00,0x00, 河南理工大學畢業(yè)設計 (論文)說明書 31 /* 文字 : 南 */ /* 宋體 12。 程序部分主要包含幾個函數(shù):測試 LCD忙閑狀態(tài)函數(shù) void CheckState(),向 LCD寫命令函數(shù) SendCommandToLCD(unsigned char mand),寫顯示數(shù)據(jù)函數(shù) void WriteByte(unsigned char dat),讀數(shù)據(jù)函數(shù) unsigned char ReadByte(),設定行和列函數(shù),寫 8 8漢字函數(shù)寫 16 16漢字函數(shù) music_16(unsigned char lin,unsigned char column,unsigned char *p,unsigned int m)寫 128 64圖片函數(shù) write_image(unsigned char *dat )播放音樂函數(shù) Play() 和延遲函數(shù) delay(unsigned int). 向 LCD讀寫 16 16漢字時采用的是先左后右先上后下的規(guī)則,即先在讀寫左上角 8 8漢字點陣,縱著讀寫從左到右上面是低位下邊是高位,一次類推讀寫右上角 8 8漢字點陣左下角、右下角。如下面的函數(shù) 漢字顯示子函數(shù) hz_16。 8 8點陣漢字函數(shù) void hz_88(unsigned char lin,unsigned char column,unsigned char *w, unsigned int address)// 寫入 8 8點陣漢字函數(shù) 河南理工大學畢業(yè)設計 (論文)說明書 32 { unsigned char i。} if(column8) SelectScreen(1)。 //否則 (8,9,10,11,12,13,14,15)寫在第二屏上 column=column amp。//防止越界 } SetLine(lin)。//colum8 0 8 16 24 120 for(i=0。i++) WriteByte(w[address+i])。 //lin*2,一個漢字占兩頁 hz_88(lin,column,p,m*32)。 hz_88(lin+1,column,p,m*32+16)。 } write_image(unsigned char *dat ) { unsigned char i,j。//選擇低 64位即左半平面 for(i=0。i++) { SetLine(i)。//設定第 0列為開始列 for(j=0。j++) WriteByte(*(dat+i*128+j))。 //選擇高 64位即左半平面 for(i=0。i++) {SetLine(i)。 //設定第 0列為開始列 for(j=64。j++) WriteByte(*(dat+i*128+j))。 曲譜存貯格式 unsigned char code MusicName{音高,音長,音高,音長 ...., 0,0}。 百位表示這個音符是否要升半音 : 0不升, 1升半音。 河南理工大學畢業(yè)設計 (論文)說明書 34 |樂曲名 : 要播放的樂曲指針 ,結(jié)尾以 (0,0)結(jié)束 。 |升降八度 (13) : 1:降八度 , 2:不升不降 , 3:升八度 。 void Play(unsigned char *Sound,unsigned char Signature,unsigned Octachord,unsigned int Speed) { unsigned int NewFreTab[12]。 unsigned int Point,LDiv,LDiv0,LDiv1,LDiv2,LDiv4,CurrentFre,Temp_T,SoundLength。 for(i=0。i++) // 根據(jù)調(diào)號及升降八度來生成新的頻率表 { j = i + Signature。 NewFreTab[i] = FreTab[j]*2。 if(Octachord == 1) NewFreTab[i]=2。 } SoundLength = 0。 } Point = 0。 Length = Sound[Point+1]。 // 算出 1分音符的長度 (幾個 10ms) LDiv4 = LDiv0/4。 // 普通音最長間隔標準 河南理工大學畢業(yè)設計 (論文)說明書 35 TR0 = 0。 while(Point SoundLength) { SL=Tone%10。 //計算出高低音 SH=Tone/100。 //查出對應音符的頻率 if(SL!=0) { if (SM==1) CurrentFre = 2。 //高音 Temp_T = 65536(50000/CurrentFre)*10/(12021000/SYSTEM_OSC)。 Sound_Temp_TL0 = Temp_T%256。 TL0 = Sound_Temp_TL0 + 12。 //算出是幾分音符 XG=Length/10%10。 LDiv=LDiv0/SLen。 if(XG!=1) if(XG==0) //算出普通音符的演奏長度 if (SLen=4) LDiv1=LDivLDiv4。 else LDiv1=LDiv/2。 if(SL==0) LDiv1=0。 //算出不發(fā)音的長度 if (SL!=0) 河南理工大學畢業(yè)設計 (論文)說明書 36 { TR0=1。i0。 TH1 = Sound_Temp_TH1。 TF1=0。 BeepIO=0。i0。 TH1 = Sound_Temp_TH1。 TF1=0。 Tone=Sound[Point]。 } BeepIO = 0。 Proteus ISIS 仿真系統(tǒng)基本知識 系統(tǒng)概述 Proteus 是英國 Labcenter 公司開發(fā)的電路分析與實物仿真軟件。具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、 RS232 動態(tài)仿真、 I2C 調(diào)試器、 SPI 調(diào)試器、鍵盤和 LCD 系統(tǒng)仿真的功能;有各種虛擬儀器, 如示波器、邏輯分析儀、信號發(fā)生器等。③提供軟件調(diào)試功能。④具有強大的原理圖繪制功能。元件涉及到數(shù)字和模擬、交流和直流等。在 Proteus 軟件包中,不存在同類儀 表使用數(shù)量的問題。 總之,該軟件是一款集單片機和 SPICE 分析于一身的仿真軟件,功能極其強大。因此在仿真和程序調(diào)試時,關心的不再是某些語句執(zhí)行時單片機寄存器和存儲器內(nèi)容的改變,而是從工程的角度直接看程序運行和電路工作的過程和結(jié)果。 河南理工大學畢業(yè)設計 (論文)說明書 38 進入 Proteus ISIS 雙擊桌面上的 ISIS 6 Professional 圖標或者單擊屏幕左下方的“開始”→“程序”→“ Proteus 6 Professional” →“ ISIS 6 Professional” ,出現(xiàn)如圖 61 所示屏幕,表明進入 Proteus ISIS 集成環(huán)境。包括:標題欄、主菜單、標準工具欄、繪圖工具欄、狀態(tài)欄、對象選擇按鈕、預覽對象方位控制按鈕、仿真進程控制按鈕、預覽窗口、對象選擇器窗口、圖形編輯窗口。 :它可顯示你選中元器件的預覽圖,當沒有選擇元器件時則顯示整張原理圖的縮略圖。 :單擊按鈕 P 會出現(xiàn)如圖 63對話框 河南理工大學畢業(yè)設計 (論文)說明書 40 圖 63對象選擇 界面 在 keywords 中輸入需要的元器件型號如 89c52 會出現(xiàn)如圖 64 對話框 在Results 下選中需要的元器件然后按右下腳的 OK 關閉對話框,這時元器件列表中就會列出 89c52。同樣放置其他元器件。 ( .hex 文件) 連好電路圖后右 鍵單擊圖中的單片機選中,然后單擊左鍵出現(xiàn)如圖 66 對話框 圖 66 添加十六進制文件界面 在 program file 中單擊瀏覽圖標,找到所需要的 .hex 文件最后單擊 ok 退出。下面介紹 Keil C51 軟件的使用方法 。Vision2 是一個標準的 Windows 應用程序,直接點擊程序 圖標就可以啟動它。此時會彈出一個標準的 Windows 對話框,詢問新建項目文件的名字,建議每個項目都使用一個獨立的文件夾。 河南理工大學畢業(yè)設計 (論文)說明書 44 圖 69 CPU選擇界面 為項目新建文件 點擊 菜單 File— New File
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1