




已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
教學(xué)基本要求 1 熟悉8255 8155接口的C編程 2 掌握DAC0832接口的C編程 3 掌握ADC0809接口的C編程 4 掌握鍵盤接口的C編程 5 掌握LED顯示器接口的C編程 教學(xué)重點(diǎn) 1 鍵盤接口的C編程 2 LED顯示器接口的C編程 教學(xué)難點(diǎn) 1 在Keil中調(diào)試各接口程序 第三部分8051擴(kuò)展資源的C編程 一 8255應(yīng)用的C編程 例 用8255控制打印機(jī)8255采用方式0 打印機(jī)忙時(shí) BUSY 1 STB上升沿鎖存時(shí)數(shù)據(jù) 假設(shè)高8位不用的地址線為0 低8位不用為1 則A口 B口 C口和命令口地址為 007CH 0000000001111100 B口為007DH C口為007EH 命令口為007FH 8EH 10001110 A口方式0輸出 C口高為輸入 C口低為輸出 方式選擇命令字為 向打印機(jī)輸出字符串 WELCOME include include defineucharunsignedchar defineCOM8255XBYTE 0 x007f definePA8255XBYTE 0 x007c definePC8255XBYTE 0 x007e voidtoprn uchar p 打印字符串函數(shù) while p 0 while 0 x80 voidmain void ucharidataprn WELCOME COM8255 0 x8e 輸出方式選擇命令字 COM8255 0 x01 toprn prn 打印字符串 8155應(yīng)用的C編程 8155可直接與8051接口 8155的RAM和I O編址由IO M和ALE鎖存地址決定 IO M 0 選擇RAM 編址為00H 0FFH IO M 1 對(duì)8155的I O進(jìn)行讀寫 編址如下 例 用8155控制打印機(jī) 下面是打印 北京SPRING1999 的程序 其中漢字 北京 在硬漢字庫的標(biāo)準(zhǔn)機(jī)內(nèi)代碼為B1B1H和BEA9H 打印機(jī)與8051采用中斷的方式聯(lián)絡(luò) 程序名prnbyte c include include defineucharunsignedchar defineCOM8155XBYTE 0 x7ff0 definePA8155XBYTE 0 x7ff1 definePC8155XBYTE 0 x7ff3 sbitBUSY P3 3 ucharcodetrb 17 0 xb1 0 xb1 0 xbe 0 xa9 0 x20 0 x53 0 x50 0 x52 0 x49 0 x4e 0 x47 0 x20 0 x31 0 x39 0 x39 0 x39 0 x0a 北京SPRING1999 uchart1 17 voidprt uchard 打印一字符函數(shù) PA8155 d 送打印字代碼 PC8155 0 x00 產(chǎn)生 STB低電平 PC8155 0 x01 產(chǎn)生 STB上升沿 while BUSY voidmain void COM8155 0 x0f 置命令字 prt 0 x1c 送中文打印方式命令字高字節(jié) prt 0 x26 送中文打印方式命令字低字節(jié) EA 1 開CPU中斷 EX1 1 開外中斷1 while 1 voidint1 inerrupt2using1 打印機(jī)中斷服務(wù)函數(shù) uchari EA 0 for i 0 i t1 i 打印一串字符 prt tab i EA 1 EX1 0 關(guān)打印機(jī)中斷 二 DAC0832應(yīng)用的C編程 例1 8051與DAC0832雙緩沖接口的數(shù)據(jù)轉(zhuǎn)換程序舉例 兩片DAC0832的輸入寄存器地址分別為8FFFH和A7FFH 兩芯片的DAC寄存器地址為2FFFH 將data1和data2數(shù)據(jù)同時(shí)轉(zhuǎn)換為模擬量的C51程序如下 include include defineINPUTR1XBYTE 0 x8fff defineINPUTR2XBYTE 0 xa7ff defineDACRXBYTE 0 x2fff defineucharunsignedcharvoiddac2b data1 data2 uchardata1 data2 INPUTR1 data1 送數(shù)據(jù)到一片0832 INPUTR2 data2 送數(shù)據(jù)到另一片0832 DACR 0 啟動(dòng)兩路D A同時(shí)轉(zhuǎn)換 例2 8051與DAC0832單緩沖區(qū)接口的數(shù)據(jù)轉(zhuǎn)換舉例 根據(jù)片選線確定FFFEH為DAC0832的端口地址 使運(yùn)行輸出端輸出一個(gè)鋸齒波電壓信號(hào)的C51程序如下 include include defineDA0832XBYTE 0 xfffe defineucharunsignedchar defineuintunsignedintvoidstair void uchari while 1 for i 0 i 255 i I 形成鋸齒波輸出值 最大值為255 DA0832 i D A轉(zhuǎn)換輸出 三 ADC0809應(yīng)用的C編程 例 ADC0809與8051接口的數(shù)據(jù)采集程序舉例 從ADC0809的8通道輪流采集一次數(shù)據(jù) 結(jié)果送數(shù)組ad 程序如下 include include defineucharunsignedchar defineIN0XBYTE 0 x7ff8 設(shè)置AD0809的通道0地址 sbitad busy P3 3 即EOC狀態(tài) voidad0809 ucharidata x 采樣結(jié)果放指針中的A D采集函數(shù) uchari ucharxdata ad adr ad adr IN0 for i 0 i 8 i 處理8通道 ad adr 0 啟動(dòng)轉(zhuǎn)換 i i 延時(shí) i i while ad busy 0 查詢等待轉(zhuǎn)換結(jié)束 x i ad adr 存轉(zhuǎn)換結(jié)果 ad adr 下一通道 voidmain void staticucharidataad 10 ad0809 ad 采樣AD0809通道的值 例 4 4鍵盤的掃描程序 四 鍵盤接口的C編程 掃描程序查詢的內(nèi)容為 1 查詢是否有鍵按下 首先單片機(jī)向行掃描P1 0 P1 3輸出全為 0 掃描碼F0H 然后從列檢查口P1 4 P1 7輸入列掃描信號(hào) 只要有一列信號(hào)不為 1 即P1口不為F0H 則表示有鍵按下 接著要查出按下鍵所在的行 列位置 2 查詢按下鍵所在的行列位置 單片機(jī)將得到的信號(hào)取反 P1 4 P1 7中的為1的位便是鍵所在的列 接下來要確定鍵所在的行 需要進(jìn)行逐行掃描 單片機(jī)首先使P1 0為 0 P1 1 P1 7為 1 即向P1口發(fā)送掃描碼FEH 接著輸入列檢查信號(hào) 若全為 1 表示不在第一行 接著使P1 1接地 其余為 1 再讀入列信號(hào) 這樣逐行發(fā) 0 掃描碼 直到找到按下鍵所在的行 將該行掃描碼取反保留 當(dāng)各行都掃描以后仍沒有找到 則放棄掃描 認(rèn)為是鍵的誤動(dòng)作 3 對(duì)得到的行號(hào)和列號(hào)譯碼 得到鍵值 4 鍵的抖動(dòng)處理 當(dāng)用手按下一個(gè)鍵時(shí) 往往會(huì)出現(xiàn)所按鍵在閉合位置和斷開位置之間跳幾下才穩(wěn)定到閉合狀態(tài)的情況 在釋放一個(gè)鍵時(shí) 也會(huì)出現(xiàn)類似的情況 這就是鍵抖動(dòng) 抖動(dòng)的持續(xù)時(shí)間不一 通常不會(huì)大于10ms 若抖動(dòng)問題不解決 就會(huì)引起對(duì)閉合鍵的多次讀入 對(duì)于鍵抖動(dòng)最方便的解決方法就是當(dāng)發(fā)現(xiàn)有鍵按下后 不是立即進(jìn)行逐行掃描 而是延時(shí)10ms后再進(jìn)行 由于鍵按下的時(shí)間持續(xù)上百毫秒 延時(shí)后再也不遲 掃描函數(shù)的返回值為鍵特征碼 若無鍵按下 返回值為0 程序如下 include defineucharunsignedchar defineuintunsignedintvoiddlms void voidkbscan void voidmain void ucharkey while 1 key kbscan dlms voiddlms void uchari for i 200 i 0 i ucharkbscan void 鍵掃描函數(shù) ucharscode recode P1 0 xf0 if P1 0 xf0 0 xf0 若有鍵按下 dlms 延時(shí)去抖動(dòng) if P1 0 xf0 0 xf0 scode 0 xfe 逐行掃描初值 while scode 0 x10 0 P1 scode 輸出掃描碼 if P1 0 xf0 0 xf0 本行有鍵按下 recode P1 0 xf0 0 x0f return scode recode 返回特征字節(jié)碼 elsescode scode 1 0 x01 行掃描左移一位 return 0 五 LED數(shù)碼管顯示器的C編程 例1 LED數(shù)碼管顯示器程序設(shè)計(jì)舉例 8155片內(nèi)4個(gè)端口地址如下 命令 狀態(tài)口 FFF0H口A FFF1H口B FFF2H口C FFF3H6位待顯示字符從左到右依次放在dis buf數(shù)組中 顯示次序從右向左順序進(jìn)行 程序中的table為段選碼表 表中段選碼表存放的次序?yàn)? F等 以下為循環(huán)動(dòng)態(tài)顯示6位字符的程序 8155命令字為07H include include defineucharunsignedchar defineCOM8155XBYTE 0 xfff0 definePA8155XBYTE 0 xfff1 definePB8155XBYTE 0 xfff2 definePC8155XBYTE 0 xfff3 ucharidatadis buf 6 2 4 6 8 10 12 ucharcodetable 18 0 x3f 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 0 x7f 0 x6f 0 x77 0 x7c 0 x39 0 x5e 0 x79 0 x71 0 x40 0 x00 voiddl ms uchard voiddisplay ucharidata p ucharsel i COM8155 0 x07 送命令字 sel 0 x01 選出右邊的LED for i 0 i 6 i PB8155 table p 送段碼 PA8155 sel 送位選碼 dl ms 1 p 緩沖
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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年低碳咨詢面試題及答案
- 箱形電阻爐操作規(guī)程
- 廢棄金屬管理制度
- 2025年陜西中考試題道法及答案
- 2025年分析化學(xué)試題及答案1
- 2025年h1n1試題及答案
- 中式面點(diǎn)初級(jí)練習(xí)測試卷
- 鞍山烹飪練習(xí)測試題附答案
- 2025年高中歷史半期試題及答案
- 2025年掘金前端面試題及答案
- 酒店項(xiàng)目運(yùn)營管理方案
- 五年(2020-2024)高考地理真題分類匯編(全國)專題03地球上的大氣+原卷版
- 2023年新疆省公務(wù)員錄用考試《行測》真題卷及答案解析
- 醫(yī)院培訓(xùn)課件:《黃帝內(nèi)針臨床運(yùn)用》
- 2024年中藥學(xué)類之中藥學(xué)(士)試題庫(有答案)
- 風(fēng)濕免疫性疾病-2
- 數(shù)字媒體藝術(shù)概論學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 中國腫瘤藥物治療相關(guān)惡心嘔吐防治專家共識(shí)(2022年版)解讀
- 現(xiàn)代家政導(dǎo)論-課件 5.1.1認(rèn)識(shí)家政服務(wù)業(yè)
- 2024綠色建筑評(píng)價(jià)標(biāo)準(zhǔn)
- 商法學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
評(píng)論
0/150
提交評(píng)論