版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、0前言1 課程設(shè)計的目的和要求1.1、 課程設(shè)計的目的1.2、 課程設(shè)計的基本要求2 總體設(shè)計2.1、基本工作原理2.2、硬件總體設(shè)計 2.2.1、系統(tǒng)組成方案 2.2.2、擴展單元編址 2.2.3、鍵盤、顯示功能的定義2.3、軟件總體設(shè)計 2.3.1、存儲單元的分配、標(biāo)志位的定義 2.3.2、主程序框圖及清單3 硬件設(shè)計4 軟件設(shè)計5 結(jié)束語6參考文獻前言 KeiluVison3是一套在windows環(huán)境下8051單片機整合性開發(fā)接口(IntergratedDevelopmentEnvironment,IDE)軟件,它具備完善的項目管理系統(tǒng),提供編譯器以編寫程序及說明文件,可以協(xié)助編寫,翻譯
2、(包含C語言的編譯器C51Compiler以及A51組譯器)除錯和測試嵌入式系統(tǒng)程序。其中C51compiler是C語言軟件開發(fā)系統(tǒng)。與匯編相比,C語言在功能,結(jié)構(gòu)性,可讀性和可維護性等方面有明顯的優(yōu)勢,而且易學(xué)易用,KeilC51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。另外,重要的一點是只要看一下編譯后生成的匯編代碼,就能體會到KeilC51生成的目標(biāo)代碼的效率是非常高的。1.課程設(shè)計目的和要求1.1課程設(shè)計的目的單片機課程設(shè)計的目的就是要鍛煉學(xué)生的實際動手能力。在理論學(xué)習(xí)的基礎(chǔ)上,通過完成一個具有綜合功能的小系統(tǒng),使學(xué)生將課堂上學(xué)到的理論知識與實際應(yīng)用結(jié)合起
3、來,對電子電路、電子元器件等方面的知識進一步加深認識,同時在軟件編程、調(diào)試、相關(guān)儀器設(shè)備的使用技能等方面得到較全面的鍛煉和提高,為今后能夠獨立設(shè)計單片機應(yīng)用系統(tǒng)的開發(fā)設(shè)計工作打下一定的基礎(chǔ)。1 掌握A/D轉(zhuǎn)換與單片機的接口方法。2 了解A/D芯片ADC0809轉(zhuǎn)換性能及編程方法。3 通過設(shè)計了解單片機如何進行數(shù)據(jù)采集。1.2課程設(shè)計的基本要求要求每個學(xué)生(或小組)都要自己動手獨立設(shè)計完成一個典型的單片機應(yīng)用小系統(tǒng)。設(shè)計題目由指導(dǎo)教師提供,也可以自己選擇設(shè)計題目,但難度不應(yīng)小于參考題目,需經(jīng)指導(dǎo)教師審查后方可確定是否采納。一般3人為一小組。課程設(shè)計的時間為1周。設(shè)計的最終作品包括硬件和軟件兩個部
4、分,要求能夠演示并達到設(shè)計指標(biāo)的要求。每個學(xué)生(或小組)在作品完成后,要經(jīng)指導(dǎo)教師檢查通過后才算完成。課程設(shè)計報告每個學(xué)生一份,獨立完成。2.總體設(shè)計2.1 基本工作原理 A/D轉(zhuǎn)換器大致有三類:一是雙積分A/D轉(zhuǎn)換器,優(yōu)點是精度高,抗干擾性好,價格便宜,但速度慢;二是逐次逼近法A/D轉(zhuǎn)換器,精度、速度、價格適中;三是并行A/D轉(zhuǎn)換器,速度快,價格也昂貴。ADC0809屬第二類,是八位A/D轉(zhuǎn)換器。每采集一次需100us。ADC0809 START端為A/D轉(zhuǎn)換啟動信號,ALE端為通道選擇地址的鎖存信號。實驗電路中將其相連,以便同時鎖存通道地址并開始A/D采樣轉(zhuǎn)換,故啟動A/D轉(zhuǎn)換只需如下兩條
5、指令: MOV DPTR,#PORT MOVX DPTR,AA中為何內(nèi)容并不重要,這是一次虛擬寫。在中斷方式下,A/D轉(zhuǎn)換結(jié)束后會自動產(chǎn)生EOC信號,將其與8031CPU板上的INT0相連接。在中斷處理程序中,使用如下指令即可讀取A/D轉(zhuǎn)換的結(jié)果: MOV DPTR,#PORT MOVX A,DPTR 2.2 、硬件總體設(shè)計 1個AT89C51 1個ADC0808 4個數(shù)碼管 以及若干電子元器件組成電路圖2.3、軟件總體設(shè)計 2.3.1、存儲單元的分配、標(biāo)志位的定義 轉(zhuǎn)換結(jié)果的數(shù)字量放于片內(nèi)的RAM的51H單元,拆分的百位放于片內(nèi)RAM的52H,拆分十分位放于片內(nèi)RAM的53H,拆分的個位放于
6、片內(nèi)RAM的54H。P2口為字段碼口,P1口為位選碼口。 2.3.2、主程序框圖及清單(帶有注釋) 3.硬件設(shè)計 ADC0809引腳結(jié)構(gòu)ADC0809各腳功能如下:D7-D0:8位數(shù)字量輸出引腳。IN0-IN7:8位模擬量輸入引腳。VCC:+5V工作電壓。GND:地。REF(+):參考電壓正端。REF(-):參考電壓負端。START:A/D轉(zhuǎn)換啟動信號輸入端。ALE:地址鎖存允許信號輸入端。(以上兩種信號用于啟動A/D轉(zhuǎn)換).EOC:轉(zhuǎn)換結(jié)束信號輸出引腳,開始轉(zhuǎn)換時為低電平,當(dāng)轉(zhuǎn)換結(jié)束時為高電平。OE:輸出允許控制端,用以打開三態(tài)數(shù)據(jù)輸出鎖存器。CLK:時鐘信號輸入端(一般為500KHz)。A
7、、B、C:地址輸入線。 ADC0809對輸入模擬量要求:信號單極性,電壓范圍是05V,若信號太小,必須進行放大;輸入的模擬量在轉(zhuǎn)換過程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。地址輸入和控制線:4條 ALE為地址鎖存允許輸入線,高電平有效。當(dāng)ALE線為高電平時,地址鎖存與譯碼器將A,B,C三條地址線的地址信號進行鎖存,經(jīng)譯碼后被選中的通道的模擬量進轉(zhuǎn)換器進行轉(zhuǎn)換。A,B和C為地址輸入線,用于選通IN0IN7上的一路模擬量輸入。通道選擇表如下表所示。CBA選擇的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7數(shù)字量輸出及
8、控制線:11條 ST為轉(zhuǎn)換啟動信號。當(dāng)ST上跳沿時,所有內(nèi)部寄存器清零;下跳沿時,開始進行A/D轉(zhuǎn)換;在轉(zhuǎn)換期間,ST應(yīng)保持低電平。EOC為轉(zhuǎn)換結(jié)束信號。當(dāng)EOC為高電平時,表明轉(zhuǎn)換結(jié)束;否則,表明正在進行A/D轉(zhuǎn)換。OE為輸出允許信號,用于控制三條輸出鎖存器向單片機輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE1,輸出轉(zhuǎn)換得到的數(shù)據(jù);OE0,輸出數(shù)據(jù)線呈高阻狀態(tài)。D7D0為數(shù)字量輸出線。CLK為時鐘輸入信號線。因ADC0809的內(nèi)部沒有時鐘電路,所需時鐘信號必須由外界提供,通常使用頻率為500KHZ,VREF(),VREF()為參考電壓輸入。AT89C51引腳結(jié)構(gòu)引腳圖如下:VCC:供電電壓。 GND:接地。 P
9、0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0口作為原碼輸入口,當(dāng)FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。 P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,
10、P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。 P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部
11、下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 P3口也可作為AT89C51的一些特殊功能口,如下表所示:口管腳備選功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INT0(外部中斷0)P3.3/INT1(外部中斷1)P3.4T0(記時器0外部輸入)P3.5T1(記時器1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲器寫選通)P3.7/RD(外部數(shù)據(jù)存儲器讀選通)P3口同時為閃爍編程和編程校驗接收一些控制信號。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。 ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地
12、位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。 /EA/VPP:當(dāng)
13、/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。4.軟件設(shè)計主要由延時,數(shù)據(jù)轉(zhuǎn)換,數(shù)碼管選擇顯示等子程序組成。延時: MAIN: MOV TMOD,#12H ;T0工作在模式2,T1工作在模式1 MOV TH0,#246 ;延時賦初值 MOV TL0,#246 MOV TH1,#(65535-20
14、000)/256 ;延時賦初值 MOV TL1,#(65535-20000)MOD 256 SETB ET0 SETB ET1 SETB TR0 SETB TR1 SETB EA數(shù)據(jù)轉(zhuǎn)換: LOOP: CLR ST ;產(chǎn)生啟動轉(zhuǎn)換的正脈沖信號 SETB ST CLR ST JNB EOC,$ ;等待轉(zhuǎn)換結(jié)束 SETB OE ;允許輸出 MOV GETDATA,P0 ;暫存轉(zhuǎn)換結(jié)果 CLR OE ;關(guān)閉輸出 MOV A,GETDATA ;將轉(zhuǎn)換結(jié)果轉(zhuǎn)換為十進制 MOV B,#100 DIV AB MOV 52H,A ;存放百位數(shù)mov A,Bmov b,#10div abmov 53h,a ;存
15、十位數(shù)mov 54h,b ;存?zhèn)€位數(shù)ljmp loop數(shù)碼管選擇顯示:t1x:mov th1,#(65535-20000)/256mov tl1,#(65535-20000) mod 256mov dptr,#tabmov p2,#08h ;選中右邊第一個數(shù)碼管mova,53h movc a,a+dptrmov p1,alcall delaymov p2,#04hmov a,53hmovc a,a+dptrmov p1,alcall delayMOV P2,#02HMOV A,52HMOVC A,A+DPTRMOV P1,ALCALL DELAY ;延時retitab:db 03fh,006h,05bh,04fh,66h,6dh,7dh,007h,7fh,6fhdelay:mov r7,#255djnz r7,$ret中斷服務(wù)框圖;主程序:GETDATA EQU 51HST BIT P3.0OE BIT P3.1EOC BIT P3.2CLK BIT P3.7ORG 0000HLJMP MAINORG 000BHCPL CLKRETIORG 001BHLJMP T1X軟件仿真結(jié)果及分析: 顯示的數(shù)字
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 臨床護理風(fēng)險防控的傳染病護理技術(shù)課件
- 2026年南方公證處公證員招聘備考題庫(含答案詳解)
- 內(nèi)科學(xué)臨床技能肝硬化的肝內(nèi)纖維組織降解機制課件
- 2026年西安交通大學(xué)電氣學(xué)院管理輔助人員招聘備考題庫完整答案詳解
- 2026年江蘇蘇海投資集團有限公司及下屬子公司對外公開招聘工作人員57人備考題庫及1套完整答案詳解
- 外科學(xué)總論外科引流的拔管指征課件
- 2026年哈爾濱丁香人才周(秋季)平房區(qū)事業(yè)單位引才招聘備考題庫參考答案詳解
- 2026年西藏一市公開遴選(招聘)公務(wù)員(工作人員)備考題庫帶答案詳解
- 2026年上海對外經(jīng)貿(mào)大學(xué)孔子學(xué)院國際中文教育專職教師招聘備考題庫及答案詳解1套
- 2026年西藏2家單位急需緊缺人才引進備考題庫有完整答案詳解
- 中學(xué)八年級英語重點詞匯與語法解析
- 生產(chǎn)車間節(jié)能知識培訓(xùn)課件
- 寄售管理制度及流程
- 公共文化服務(wù)質(zhì)量評價指標(biāo)體系研究-洞察及研究
- 2025年上海市高考英語試卷及參考答案(完整版)
- 眼科進修結(jié)業(yè)匯報
- 管樁(方樁)靜壓施工風(fēng)險辨識和分析及應(yīng)對措施
- 骨折后肢體腫脹課件
- 工程春節(jié)停復(fù)工方案(3篇)
- 招標(biāo)代理應(yīng)急處理措施預(yù)案
- 美團充電寶分成協(xié)議合同
評論
0/150
提交評論