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

正文內(nèi)容

單片機(jī)畢業(yè)設(shè)計(jì)論文基于單片機(jī)的lcd液晶顯示器控制系統(tǒng)研究(參考版)

2024-12-04 13:16本頁(yè)面
  

【正文】 注意,如果用C語(yǔ)言編寫程序,則擴(kuò)展名為 .c, 如果用匯編語(yǔ)言編寫程序,則擴(kuò)展名必須為 .asm。文件名寫好后單擊確定會(huì)出現(xiàn)如圖 69 對(duì)話框要求選擇單片機(jī)型號(hào), keil c51 幾乎支持所有的 51 核的單片機(jī) ,選好單片機(jī)后只要點(diǎn)擊確定即可。啟動(dòng)界面如圖 67 圖 67 啟動(dòng)界面 啟動(dòng)后進(jìn)入 keil c 的編輯界面如圖 68 圖 68 keil c 的編輯界面 此時(shí)點(diǎn)擊 project— New Project 菜單選項(xiàng)可創(chuàng)建一個(gè)新的項(xiàng)目文件。 畢業(yè)設(shè)計(jì) (論文)說(shuō)明書 43 創(chuàng)建項(xiàng)目 181。 KEIL Cx51 軟件的使用 Keil C51 軟件是眾多單片機(jī)應(yīng)用開發(fā)的優(yōu)秀軟件之一,它集編輯,編譯,仿真于一體,支持匯編 ,PLM 語(yǔ)言和 C 語(yǔ)言的程序設(shè)計(jì),界面友好,易學(xué)易用。 畢業(yè)設(shè)計(jì) (論文)說(shuō)明書 41 圖 64 添加器件界面 Proteus 繪圖流程舉例 , 首先按剛才所述選取放置 一元件電阻,然后在圖形編輯窗口中右鍵選取電阻,然后單擊左鍵會(huì)出現(xiàn)如圖 65 對(duì)話框 圖 65 修改元器件屬性 界面 畢業(yè)設(shè)計(jì) (論文)說(shuō)明書 42 然后按需要進(jìn)行設(shè)置即可。這時(shí)在原件列表中左鍵選取 89c52,在原理圖編輯窗口中單擊左鍵,這樣 89c52 就被放到原理圖編輯窗口中了。 :從上到下功能依次為,選擇原 件、放置連接點(diǎn)、放置標(biāo)簽、放置文本、用于繪制總線、用于放置子電路、用于即時(shí)編輯元件參數(shù)、終端接口、器件引腳、仿真圖表、錄音機(jī)、信號(hào)發(fā)生器、電壓探針、電流探針、虛擬儀表、畫各種直線、畫各種方框、畫圓、畫圓弧、畫多邊形、畫文本、畫符號(hào)、畫原點(diǎn)。 畢業(yè)設(shè)計(jì) (論文)說(shuō)明書 39 圖 62 Proteus工作界面 各個(gè)窗口的說(shuō)明如下 :即繪制原理圖區(qū)域,藍(lán)色方框內(nèi)為可編輯區(qū),元器件要放到里面,且窗口有滾動(dòng)條,可以用來(lái)改變?cè)韴D的可視范圍。 圖 61 啟動(dòng)時(shí)的屏幕 Proteus 工作界面及窗口說(shuō)明 Proteus 的工作界面是一種標(biāo)準(zhǔn)的 Windows 界面,如圖 62 所示。對(duì)于這樣的仿真 實(shí)驗(yàn),從某種意義上講,是彌補(bǔ)了實(shí)驗(yàn)和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象。 Proteus 與其它單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī)CPU 的工作情況,也能仿真單片機(jī)外圍電路或沒有單片機(jī)參與的其它電路的工作情況。 Proteus 還提供了一個(gè)圖形顯示功能,可以將線路上變化的信號(hào),以圖形的方式實(shí)時(shí)地顯示出來(lái),其作用與示波器相似但功能更多。 對(duì)于一個(gè)仿真軟件或?qū)嶒?yàn)室,測(cè)試的儀器儀表的數(shù)量、類型和質(zhì)量,是衡量實(shí)驗(yàn)室是否合格的一個(gè)關(guān)鍵因素。 Proteus 軟件所提供了30 多個(gè)元件庫(kù),數(shù)千種元件。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如 Keil C51 uVision2 等軟件。②支持主流單 片機(jī)系統(tǒng)的仿真。它運(yùn)行于 Windows 操作系統(tǒng)上,可以仿真、分析 (SPICE)各種模擬器件和集成電路,該軟件的特點(diǎn)是:①實(shí)現(xiàn)了單片機(jī)仿真和 SPICE 電路仿真相結(jié)合。 } 畢業(yè)設(shè)計(jì) (論文)說(shuō)明書 37 6 系統(tǒng)仿真 Proteus 和編譯 KeilC 軟件 本 單片機(jī) 系統(tǒng)主要用到 Proteus 繪圖仿真軟件和 Keilc 編譯軟件,下面就介紹一下這兩種軟件的使用 入門。 Length=Sound[Point+1]。 } } Point+=2。 TL1 = Sound_Temp_TL1。i) //音符間的間隔 {while(TF1==0)。 for(i=LDiv2。 } } if(LDiv2!=0) { TR0=0。 TL1 = Sound_Temp_TL1。i) //發(fā)規(guī)定長(zhǎng)度的音 { while(TF1==0)。 for(i=LDiv1。 LDiv2=LDivLDiv1。 //算出頓音的演奏長(zhǎng)度 else LDiv1=LDiv。 else LDiv1=LDiv*SOUND_SPACE。 //算出連音音符演奏的長(zhǎng)度 (多少個(gè) 10ms) if (FD==1) LDiv=LDiv+LDiv/2。 //算出音符類型 (0普通 1連音 2頓音 ) FD=Length/100。 //加 12是對(duì)中斷延時(shí)的補(bǔ)償 } SLen=LengthTab[Length%10]。 TH0 = Sound_Temp_TH0。//計(jì)算計(jì)數(shù)器初值 Sound_Temp_TH0 = Temp_T/256。 //低音 if (SM==3) CurrentFre = 2。 //計(jì)算出是否升半 CurrentFre = NewFreTab[SignTab[SL1]+SH]。 //計(jì)算出音符 SM=Tone/10%10。 TR1 = 1。 // 算出 4分音符的長(zhǎng)度 LDiv4 = LDiv4LDiv4*SOUND_SPACE。 // 讀出第一個(gè)音符和它時(shí)時(shí)值 LDiv0 = 12021/Speed。 Tone = Sound[Point]。 while(Sound[SoundLength] != 0x00) //計(jì)算歌曲長(zhǎng)度 { SoundLength+=2。 else if(Octachord == 3) NewFreTab[i]=2。 } else NewFreTab[i] = FreTab[j]。 if(j 11) {j = j12。i12。 unsigned char Tone,Length,SL,SH,SM,SLen,XG,FD。 //新的頻率表 unsigned char i,j。 |演奏速度 (112021): 值越大速度越快 。 |調(diào)號(hào) (011) : 是指樂(lè)曲升多少個(gè)半音演奏 。 音長(zhǎng)最多由三位數(shù)字組成: 個(gè)位表示音符的時(shí)值,其對(duì)應(yīng)關(guān)系是: |數(shù)值 (n): |0 |1 |2 |3 | 4 | 5 | 6 |幾分音符 : |1 |2 |4 |8 |16 |32 |64 音符 =2^n 十位表示音符的演奏效果 (02): 0普通, 1連音, 2頓音 百位是符點(diǎn)位 : 0無(wú)符點(diǎn), 1有符點(diǎn) 調(diào)用演奏子程序的格式 Play(樂(lè)曲名 ,調(diào)號(hào) ,升降八度 ,演奏速度 )。末尾 :0,0 表示結(jié)束 (Important) 音高由三位數(shù)字組成: 個(gè)位是表示 1~7 這七個(gè)音符 十位是表示音符所在的音區(qū) :1低音, 2中音, 3高音 。 //按縱向上低下高的順序向 LCD寫數(shù)據(jù) } } 單片機(jī)播放音樂(lè)并同步顯示歌詞 單片機(jī)播放音樂(lè)并能同步顯示歌詞,我的設(shè)計(jì)思路是把要顯示的歌詞每 32個(gè)放在一個(gè)數(shù)組里,同樣把要唱的每 32個(gè)歌詞放在一個(gè)數(shù)組里面,先顯示歌詞再唱歌,在每唱完 32個(gè)歌詞以后馬上調(diào)用漢字顯示函數(shù)顯示下面的 32個(gè)歌詞,依次類推直到把整首歌唱完。j128。 //設(shè)定開始頁(yè)地址 0~ 7 SetColumn(0)。i8。//按縱向上低下高的順序向 LCD寫數(shù)據(jù) 畢業(yè)設(shè)計(jì) (論文)說(shuō)明書 33 } { SelectScreen(2)。j64。//設(shè)定開始頁(yè)地址 0~ 7 SetColumn(0)。i8。 SelectScreen(1)。 hz_88(lin+1,column+1,p,m*32+24)。 hz_88(lin,column+1,p,m*32+8)。 } 16 16漢字控制函數(shù) void hz_16(unsigned char lin,unsigned char column,unsigned char *p,unsigned int m) {lin=lin1。i8。 SetColumn(column3)。 0x07。 //如果列數(shù) 8(0,1,2,3,4,5,6,7)則寫在第一屏上 else { SelectScreen(2)。 if(column16) {return。其中要調(diào)用另外兩個(gè)子函數(shù) hz_88和 WriteByte數(shù),lin、 column為液晶顯示器的頁(yè)和列,參數(shù) w為指針類型,指向數(shù)組的首地址。向 LCD讀寫 128 64圖像時(shí),先把 LCD的顯示屏的縱列分成 兩部分,分別是低 64位和高 64位,用 CS1和 CS2作片選控制,低點(diǎn)位有效。 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬 x高 =16x16 */ 0x04,0x04,0xE4,0x24,0x24,0x64,0xB4,0x2F,0x24,0xA4,0x64,0x24,0x24,0xE6,0x04,0x00,0x00,0x00,0x7F,0x04,0x05,0x05,0x05,0x7F,0x05,0x05,0x05,0x25,0x44,0x3F,0x00,0x00, 漢字圖形顯示 函數(shù) 用字模 提取軟件將要顯示的漢字和圖像轉(zhuǎn)化成十六進(jìn)制代碼,分別用程序調(diào)用在 LCD上顯示出來(lái)。 unsigned char code hz37[]= //字模格式 /大小 : 單色點(diǎn)陣液晶字模 , 縱向取模 , 字節(jié)倒序 /64字節(jié) /* 文字 : 河 */ /* 宋體 12。 將提取的漢字字模數(shù)據(jù)作為常量數(shù)組存放在程序存儲(chǔ)區(qū)內(nèi),這種方法較為常用,針對(duì)程序不大或單片機(jī)無(wú)外部擴(kuò)展數(shù)據(jù)存儲(chǔ)區(qū)功能的情況。 在 對(duì)漢字或圖像做字模提取時(shí),漢字一般都是 16 16的點(diǎn)陣,圖像可以是 128 64 64 64 32 64的點(diǎn)陣。 8個(gè)像素對(duì)應(yīng)一個(gè)字節(jié),字節(jié)的位順序是上低下高。 畢業(yè)設(shè)計(jì) (論文)說(shuō)明書 30 圖 53 字符點(diǎn)陣 提取字模有四種提取格式包括:橫向取模字節(jié)正序,橫向取模字節(jié)倒序,縱向取模字節(jié)正序,縱向取模字節(jié)倒序。將這些字節(jié)按一定順序?qū)懭胍壕Э刂破鞯娘@示緩沖區(qū),就可在液晶屏上顯示 16 16的“國(guó)”字 如 圖 52所示 。 1 液晶模塊顯示漢字方法 使用圖形液晶模塊以點(diǎn)陣形式來(lái)顯示漢字和圖形,每 8個(gè)點(diǎn)組成 1個(gè)字節(jié),每個(gè)點(diǎn)用一個(gè)二進(jìn)制位表示,存 1的點(diǎn)顯示時(shí)在屏上顯示一個(gè)亮點(diǎn),存 0的點(diǎn)則 在屏上不顯示,最常用的 16 16的漢字點(diǎn)陣由 32個(gè)字節(jié)組成。 表 時(shí)序表 向 LCD寫漢字 ① 必須先初始化 LCD:開顯示、清屏 1. 設(shè)定開始頁(yè)地址和列地址 2. 設(shè)定讀寫模式,進(jìn)行讀寫操作 畢業(yè)設(shè)計(jì) (論文)說(shuō)明書 28 5 系統(tǒng)軟件設(shè)計(jì) 系統(tǒng)流程圖 如 圖 51所示 。 圖 43 讀操作時(shí)序 ( 2) 寫操作時(shí)序 如圖 44所示。 每個(gè)內(nèi)部帶有 64X64 位( 512字節(jié))的 RAM 緩沖區(qū),對(duì)應(yīng)關(guān)系 如 圖 42所示 。寫數(shù)據(jù)到 DD RAM 前,要先執(zhí)行 “ 設(shè)置頁(yè)地址 ” 及 “ 設(shè)置列地址 ” 命令。 ( 6) 寫顯示數(shù)據(jù) CODE: R/W RS IDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 L H D7 D6 D5 D4 D3 D2 D1 D0 功能:寫數(shù)據(jù)到 DD RAM, DD RAM 是存儲(chǔ)圖形顯示數(shù)據(jù)的,寫指令執(zhí)行后Y 地址計(jì)數(shù)器自動(dòng)加 1。 RST=H:正處于復(fù)位初始化狀態(tài); RST=L:正常狀態(tài)。 畢業(yè)設(shè)計(jì) (論文)說(shuō)明書 25 ( 5) 狀態(tài)檢測(cè) CODE: R/W RS IDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 H L BF L ON/OFF RST L L L L 功能:讀忙信號(hào)標(biāo)志位 (BF)、復(fù)位標(biāo)志位 (RST)以及顯示狀態(tài)位 (ON/OFF)。 DD RAM 地址映像表 如表 所示。 (3) 設(shè)置頁(yè)地址 CODE: R/W RS IDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 L L H L H H H 頁(yè)地址( 0~ 7) 功能:執(zhí)行本指令后,下面的讀寫操作將在指定頁(yè)內(nèi),直到重新設(shè)置。顯示起始行是由 Z 地址計(jì)數(shù)器控制的,該命令自動(dòng)將 A0A5 位地址送入 Z 地址計(jì)數(shù)器,起始地 址可以是 063 范圍內(nèi)任意一行。不影響顯示 RAM(DD RAM)中的內(nèi)容。 CS11CS22GND3VCC4V05RS6R/W7E8DB09DB110DB211D
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1