下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、【W(wǎng)ord版本下載可任意編輯】 單片機(jī)的LED顯示屏硬件設(shè)計(jì)方案 row = (+row)&0 x0f; P0 = (P0 & 0 xf0)|(row)& 0 xf); col = 0;SPDAT = SCR_BUF; 這樣編寫的屏體驅(qū)動(dòng), 應(yīng)用只要在初始化屏體后,向屏幕緩沖區(qū)中寫入要顯示的數(shù)據(jù)即可, 而不必關(guān)心屏幕顯示的細(xì)節(jié)。 3.2 UART 接口 UART 接口負(fù)責(zé)與上位機(jī)的數(shù)據(jù)收發(fā), 盡管發(fā)送可以同步開(kāi)展, 但接收必須異步開(kāi)展。因而UART 接口的仍然應(yīng)該是一個(gè)中斷服務(wù)程序。 UART 接口的頭文件uart.h 隱藏了接收緩沖區(qū)的信息, 用戶可調(diào)用的函數(shù)只有初始化、發(fā)送和接收。 #if
2、ndef _UART_H_ #define _UART_H_ void uart_init(void); void uart_put_c(u8 ch); u8 uart_get_c(u8 *); #endif UART 的接口實(shí)現(xiàn)首先定義一個(gè)接收緩沖FIFO, 以及對(duì)FIFO 的讀下標(biāo)uart_rd 和寫下標(biāo)uart_wr, 他們都是文件內(nèi)可見(jiàn)的靜態(tài)變量: static u8 xdata uart_buf; static u8 uart_rd,uart_wr; bit fSend UART 的初始化包括開(kāi)展FIFO 的初始化和UART格式、波特率、中斷的初始化。代碼略。 UART 的ISR 主
3、要是服務(wù)于接收, 無(wú)條件地將數(shù)據(jù)裝入FIFO, 并調(diào)整寫入指針。 static void uart_isr(void)interrupt 4 using 1 if(RI)RI = 0; uart_buf = SBUF; uart_wr &= 0 x0f; 提供應(yīng)用戶的發(fā)送程序首先檢測(cè)發(fā)送結(jié)束標(biāo)記, 如果為0, 表示上次發(fā)送尚未結(jié)束, 直接返回錯(cuò)誤信息1。 否則將要發(fā)送的信息發(fā)送并清零發(fā)送結(jié)束標(biāo)記。這樣設(shè)計(jì)的發(fā)送程序, 其目的是將發(fā)送等待不限制在接口底層, 而是給上層一個(gè)決定是否等待發(fā)送結(jié)束的時(shí)機(jī)。 u8 uart_put_c(u8 ch) if(! TI)return 1; TI = 0;SB
4、UF = ch; return 0; 同樣, 接收程序也給上層一個(gè)選擇等待的時(shí)機(jī)。接收函數(shù)首先判斷接收FIFO 是否為空, 如果為空或輸入指針參數(shù)錯(cuò)誤, 則直接返回錯(cuò)誤, 否則才從FIFO 中讀取數(shù)據(jù)并將數(shù)據(jù)存儲(chǔ)到指針指向的地址, 然后返回成功。 u8 uart_get_c(u8 *ch) u8 i; if(! ch)return 1; if(i = (uart_rd+1)&0 x0f) = uart_wr)return 1; uart_rd = i; *ch = uart_buf;return 0; 3.3 閃存接口 閃存的存取有特殊的時(shí)序, 閃存的內(nèi)部構(gòu)造也和具體應(yīng)用要求有很大的不同。因此
5、閃存的接口需要仔細(xì)設(shè)計(jì)。 K9F4008 閃存芯片的存儲(chǔ)構(gòu)造組織如圖2所示。 K9F4008 閃存的存儲(chǔ)以塊為單位, 每個(gè)芯片共有128 塊。每塊有32 行, 每行有4 個(gè)幀, 每幀含有32 B.全部芯片為512 KB。 閃存接口提供的閃存初始化函數(shù)中就包括對(duì)這樣情況的處理。初始化函數(shù)要從閃存的個(gè)塊中讀出一個(gè)塊映射表, 該表下標(biāo)是邏輯扇區(qū), 表內(nèi)每項(xiàng)存儲(chǔ)的是該邏輯扇區(qū)對(duì)應(yīng)的物理塊編號(hào)。初始化函數(shù)在必要時(shí)對(duì)閃存開(kāi)展讀寫校驗(yàn), 然后將壞塊從表中刪除。再尋找新的良好塊, 將其編號(hào)填入到對(duì)應(yīng)邏輯扇區(qū)的表項(xiàng)中。這樣對(duì)應(yīng)用來(lái)說(shuō), 只見(jiàn)到連續(xù)的扇區(qū)編號(hào), 而不知道扇區(qū)終究對(duì)應(yīng)到那個(gè)塊。 閃存的接口頭文件fl
6、ash.h 如下: #ifndef _K9F4008_H_ #define _K9F4008_H_ void read_log_page(u8 sector,u8 page,u8 xdata *buf); u8 prog_log_page(u8 sector,u8 page,u8 xdata *buf); void erase_log_blk(u8 sector); bit flash_init(void); #endif 實(shí)現(xiàn)閃存的接口, 首先就是依據(jù)說(shuō)明書的時(shí)序定義閃存的基本操作。這里是以宏定義實(shí)現(xiàn)基本操作的。 #define W_CMD(cmd_) bCLE=1; bWE=0; P2=(
7、cmd_); bWE=1; bCLE=0 #define W_ADDR(addr1_,addr2_,addr3_) bALE=1; bWE=0; P2=(addr1_); bWE=1; bWE=0; P2=(addr2_); bWE=1; bWE=0; P2=(addr3_); bWE=1; bALE=0 #define W_DAT(dat_) bWE=0; P2=(dat_); bWE=1 #define wait_RB while(! bRB) #define l2p(x_) fat_tbl 3.4 EEPROM 內(nèi)部集成的EEPROM 是與程序空間分開(kāi)的, 利用ISP/IAP 技術(shù)可將內(nèi)部DATAFLASH 當(dāng)EEPROM,擦寫次數(shù)10 萬(wàn)次以上。EEPROM 可分為若干個(gè)扇區(qū), 每個(gè)扇區(qū)包含512 B.使用時(shí), 建議同修改的數(shù)據(jù)放在同一個(gè)扇區(qū), 不是同修改的數(shù)據(jù)放在不同的扇區(qū), 不一定要用滿。數(shù)據(jù)存儲(chǔ)器的擦除操作是按扇區(qū)開(kāi)展的。 sfr IAP_DATA = 0 xC2; /Flash data register sfr IAP_ADDRH = 0 xC3; /Flash address HIGH sfr IAP_ADDRL = 0 xC4; /Flash address LOW sfr IAP_CMD = 0 xC5; /Flash command
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版實(shí)習(xí)合同模板:實(shí)習(xí)期間實(shí)習(xí)成果轉(zhuǎn)化3篇
- 2025版木結(jié)構(gòu)景觀清包施工合同示范文本4篇
- 二零二五年度虛擬現(xiàn)實(shí)內(nèi)容創(chuàng)作者免責(zé)聲明合同范本4篇
- 2025版小型沼氣項(xiàng)目設(shè)備研發(fā)、生產(chǎn)、安裝及運(yùn)營(yíng)維護(hù)合同3篇
- 增值稅及其會(huì)計(jì)處理教學(xué)課件
- 2025版新能源汽車動(dòng)力電池回收利用合同范本4篇
- 2025版小麥種子市場(chǎng)調(diào)研與風(fēng)險(xiǎn)評(píng)估合同2篇
- 2025版學(xué)校臨時(shí)教師聘用合同實(shí)施細(xì)則3篇
- 二零二五版幕墻工程風(fēng)險(xiǎn)管理與保險(xiǎn)合同4篇
- 體育設(shè)施工程體育場(chǎng)地圍網(wǎng)施工考核試卷
- 定額〔2025〕1號(hào)文-關(guān)于發(fā)布2018版電力建設(shè)工程概預(yù)算定額2024年度價(jià)格水平調(diào)整的通知
- 2024年城市軌道交通設(shè)備維保及安全檢查合同3篇
- 【教案】+同一直線上二力的合成(教學(xué)設(shè)計(jì))(人教版2024)八年級(jí)物理下冊(cè)
- 湖北省武漢市青山區(qū)2023-2024學(xué)年七年級(jí)上學(xué)期期末質(zhì)量檢測(cè)數(shù)學(xué)試卷(含解析)
- 單位往個(gè)人轉(zhuǎn)賬的合同(2篇)
- 科研倫理審查與違規(guī)處理考核試卷
- GB/T 44101-2024中國(guó)式摔跤課程學(xué)生運(yùn)動(dòng)能力測(cè)評(píng)規(guī)范
- 高危妊娠的評(píng)估和護(hù)理
- 2024年山東鐵投集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 兒童10歲生日-百日宴-滿月酒生日會(huì)成長(zhǎng)相冊(cè)展示(共二篇)
- 2023年高考全國(guó)甲卷數(shù)學(xué)(理)試卷【含答案】
評(píng)論
0/150
提交評(píng)論