版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 單片機實訓 溫度顯示系統(tǒng)設計實驗報告 院(系、部):姓 名:學 號: 年 級:專 業(yè):任課教師: 2014 年 7 月 1 日目 錄一 、實驗任務11.1 實驗目的11.2 實驗設備11.3 實驗內容11.4 實驗要求1二、單片機綜合實驗思路12.1 設計方案12.1.1硬件設計框圖22.2 各個模塊的電路設計及程序設計32.2.1單片機模塊的設計及初始化程序42.2.2 AD模塊的設計及程序62.2.3 數值轉換模塊的設計及程序82.2.4 顯示模塊的設計及程序102.2.5 報警模塊的設計及程序12三、 流程圖、源程序與實驗圖143.1 程序流程圖143.2 源程序153.3 SCH圖1
2、93.4 PCB圖19四 、總結和感想20附 21一、實驗任務1.1實驗目的:(1)、加強對單片機和匯編語言的認識,充分掌握和理解設計各部分的工作原理、設計過程、選擇芯片器件、模塊化編程等多項知識。(2)、提高學生單片機綜合系統(tǒng)的開發(fā)的能力。(3)、提高利用已學知識分析問題和解決問題的能力。1.2實驗設備:接口技術實驗箱一套、一臺計算機。1.3實驗內容 某溫度變送器量程范圍為0-80度,對應的模擬信號為0-5V,將此溫度變送器接入ADC0809的IN2模擬輸入通道,進行A/D轉換,在數碼管中顯示出當前溫度,當溫度高于或者低于某一個給定值時紅燈亮,蜂鳴器響聲。1.4實驗要求(1)、根據實驗內容,
3、設計硬件電路原理圖,并給出詳細接線圖(包括8051芯片、晶振電路、復位電路,電源、0809、8255、LED等)。(2)、畫出程序流程圖(3)、給出源程序清單(匯編語言或C語言源程序)(4)、調試,調試結束后要請老師進行檢查。(5)、利用PROTEL軟件繪制出上述電路原理圖(即.SCH文件)(6)、利用PROTEL軟件設計出印刷電路板圖(即.PCB文件)。(7)、制作出印刷電路板(即PCB板)。(選作) a. 若做出了印刷電路板,調試自己的板子。b. 若未做出了印刷電路板,可利用接口實驗箱進行調試。二、單片機綜合實驗設計2.1設計方案因為要求完成量程范圍為080度的溫度變送器,對應的模擬信號為
4、05V,將此溫度變送器接入ADC0809的IN7模擬輸入通道,進行A/D轉換,在數碼管中顯示出當前溫度。所以根據現有的實驗條件,單片機需要由ADC0809芯片從試驗箱收集模擬信號,經過A/D轉換得到的數據為00H-FFH的值,再經過量程變換、數制轉換成十進制數值,然后用74LS244驅動在數碼管上動態(tài)顯示出來,同時由數碼管顯示的還有溫度的上限值,如果溫度大于上限值,則蜂鳴器報警。2.2硬件設計框圖 51單片機AD采集電路晶振電路復位電路四位數碼管動態(tài)顯示溫度蜂鳴器警報圖1硬件設計框圖2.3各模塊電路設計及程序設計2.3.1 單片機模塊的設計及初始化程序單片機最小系統(tǒng)主要是由晶振電路和復位電路組
5、成的,晶振電路是由晶振和連個30pf的瓷片電容組成的,晶振是11.0592MHZ,為單片機提供時鐘源。復位電路由按鈕10uf電解電容、1K和10K的兩個電阻組成,為單片機提供復位功能,就此構成最小系統(tǒng)板。 晶振電路和復位電路圖2晶振電路和復位電路單片機及接口電路接口電路由74LS373地址鎖存器和并行接口芯片8255組成,對8255輸入指令可改變I/O口的工作方式。圖3單片機及接口電路 ADR_ADC0809 EQU 0BFFFH ;ADC0809的片選信號地址 my8255_A EQU 7FFCH my8255_B EQU 7FFDH my8255_C EQU 7FFEH my8255_MO
6、DE EQU 7FFFH ORG 0000H LJMP MIAN ORG 0100HMIAN: MOV A,#81H ;8255的PA、PB輸出、PC輸入 MOV DPTR,#my8255_MODE ;8255控制字地址 MOVX DPTR,A ;8255 初始化 2.3.2 AD模塊的設計及程序51單片機的ALE的輸出頻為晶振頻的1/6(接近2MHZ),而AD0809的工作頻范圍為10KHZ-1280KHZ,當頻率范圍為500KHZ時,其轉換速度為128us。所以由ALE端輸出的頻率要經過74LS74進行二分頻,Q端得到分頻后的頻率作為AD0809的CLOCK端得輸入。二分頻電路圖4二分頻電
7、路AD采集電路圖5 AD采集電路START: MOV DPTR , #ADR_ADC0809 MOV A , #0H MOVX DPTR , A LCALL DELAY1MS MOVX A , DPTR ;讀取0809的7#通道轉換結束的數據 MOV 60H , A ;暫存讀入的值DELAY1MS:MOV R7 , #0ddH ;延時子程序 DJNZ R7 , $ RET2.3.3 數值轉換模塊的設計及程序由AD采樣得到的值范圍是00HFFH即0255,而相應的對應的溫度值是080度,所以應該進行量程邊換與數值轉換。公式為:T=(N*50H)/FFH(AD采樣得到的值為N)再將溫度值(二進制數
8、)轉化為十進制整數(組合BCD碼)存放在內存22H中。在進行轉化將十位、個位分別存放在67H、66H中。START: MOV DPTR , #ADR_ADC0809 MOV A , #0H MOVX DPTR , A ;啟動0809的0#通道 LCALL DELAY1MS MOVX A , DPTR ;讀取0809的7#通道轉換結束的數據 MOV 60H , A ;暫存讀入的值 mov b,#50h mul ab mov r6,b ; ;高8位送R6單元 mov r5,a ; ;低8位送R5單元 mov r2,#0ffh; 除255 lcall div16 MOV 30H,R6 mov r3,
9、#00 MOV 23H,R5 MOV R3,23H lcall binbcd MOV 24H,22H MOV A,#46H MOV 27H,A MOV R3,27H lcall binbcd MOV A,22H ANL A,#11110000B RR A RR A RR A RR A MOV 6BH,A MOV A,22H ANL A,#00001111B MOV 6AH,A MOV A,#0AH MOV 27H,A MOV R3,27H lcall binbcd MOV A,22H ANL A,#11110000B RR A RR A RR A RR A MOV 69H,A MOV A,22
10、H ANL A,#00001111B MOV 68H,A ABB: MOV A,24H ANL A,#11110000B RR A RR A RR A RR A MOV 67H,A MOV A,24H ANL A,#00001111B MOV 66H,A MOV A,30H mov b,#0Ah mul ab mov r6,b ; ;高8位送R6單元 mov r5,a ; ;低8位送R5單元 mov r2,#0ffh; 除255 lcall div16 MOV 30H,R6 mov r3,#00 MOV 23H,R5 MOV R3,23H lcall binbcd;R3R4中存放二進制整數(1
11、6位),R3中為高8位,轉換結果十進制整數(組合BCD)存放在內部RAM 20H、21H、22H中,22H中存放最低位。 MOV 24H,22H; MOV A,24H ANL A,#00001111B MOV 65H,A DIV16: MOV R7,#08H ;設計數初值DV1:CLR C MOV A,R5RLC AMOV R5,AMOV A,R6RLC A ; ;將(R5)*(R6)左移一位MOV P1.7,C ; ;將移出的一位保存CLR CSUBB A,R2; ;余數(高位)- 除數JB P1.7, GOV; ;若標志位為1,說明夠減JNC GOV ;;無進位,也說明夠減ADD A,R2
12、; ;否則,恢復余數AJMP DV2GOV:INC R5 ;;商上1DV2:MOV R6,A ; ;保存余數(高位)DJNZ R7,DV1RET binbcd: /MOV 22H,R5 MOV R0, #22H;轉換結果低位地址 MOV A, R0 PUSH ACC;ACC表示累加器A的直接地址MOV R7, #01HCLR ALP1:MOV R0, A;結果存儲地址清零DEC R0DJNZ R7, LP1POP ACCMOV R0, AMOV R7, #8LP2:PUSH ACCCLR CMOV A, R3;R3中為二進制數的高位RLC AMOV R3, AMOV B, #01HLP3:MO
13、V A, R0ADDC A, R0;執(zhí)行乘2操作DA A;十進制調整MOV R0, A;結果保存DEC R0DJNZ B, LP3POP ACCMOV R0, ADJNZ R7, LP2RET 2.3.4 顯示模塊的設計及程序四個數碼管中動態(tài)顯示內部RAM 65H68H單元中的數據。LED為共陰極數碼管,共陰極碼為3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,00H 。根據8255的/CS管腳與A0、A1管教的接線確定各口地址。8255 PB口(PB.0PB.7)控制數碼管七段(a、b、c、d、e、f、g、dp)
14、,8255 PA口(PA.0-PA.7)控制數碼管的段選,8255 的PB口(PB0-PB7)控制數碼管的位選。圖6顯示電路DIR: MOV R0,#65H ;要動態(tài)顯示數據所存放的首地址 MOV R3,#00000001B ;4個數碼管位選初始值 MOV A,R3 ;R3中暫存位選值LD0: MOV DPTR,#my8255_A ;8255 PA口地址 MOVX DPTR,A ;LED位選 ,選中一個LED MOV A,R0 MOV DPTR,#TABLE ;數碼管共陰極碼表首地址 MOVC A,A+DPTR ;查表,查到內部RAM 某單元中的數據的共陰極碼送入A中 MOV DPTR,#my
15、8255_B ;8255 PB口地址 MOVX DPTR,A ;LED段選,顯示內部RAM 某單元中的數據 ACALL DL1ms ;調延時1ms子程序 MOV A,R3 ;取出當前位選值 INC R0L1 MOV R3,#00000010B ;4個數碼管位選初始值 MOV A,R3 ;R3中暫存位選值 MOV DPTR,#my8255_A ;8255 PA口地址 MOVX DPTR,A ;LED位選 ,選中一個LED MOV A,R0 MOV DPTR,#TABLE1 ;數碼管共陰極碼表首地址 MOVC A,A+DPTR ;查表,查到內部RAM 某單元中的數據的共陰極碼送入A中 MOV DP
16、TR,#my8255_B ;8255 PB口地址 MOVX DPTR,A ;LED段選,顯示內部RAM 某單元中的數據 ACALL DL1ms ;調延時1ms子程序 MOV A,R3 ;取出當前位選值 JB Acc.7,LD1 ; INC R0L2 MOV R3,#00000100B ;4個數碼管位選初始值 MOV A,R3 ;R3中暫存位選值 MOV DPTR,#my8255_A ;8255 PA口地址 MOVX DPTR,A ;LED位選 ,選中一個LED MOV A,R0 MOV DPTR,#TABLE ;數碼管共陰極碼表首地址 MOVC A,A+DPTR ;查到內部RAM 某單元中的數
17、據的共陰極碼送入A中 MOV DPTR,#my8255_B ;8255 PB口地址 MOVX DPTR,A ;LED段選,顯示內部RAM 某單元中的數據 ACALL DL1ms ;調延時1ms子程序 MOV A,R3 ;取出當前位選值 JB Acc.7,LD1 ; INC R0L3 MOV R3,#00010000B ;4個數碼管位選初始值 MOV A,R3 ;R3中暫存位選值 MOV DPTR,#my8255_A ;8255 PA口地址 MOVX DPTR,A ;LED位選 ,選中一個LED MOV A,R0 MOV DPTR,#TABLE ;數碼管共陰極碼表首地址 MOVC A,A+DPT
18、R ;查到內部RAM 某單元中的數據的共陰極碼送入A中 MOV DPTR,#my8255_B ;8255 PB口地址 MOVX DPTR,A ;LED段選,顯示內部RAM 某單元中的數據 ACALL DL1ms ;調延時1ms子程序 MOV A,R3 ;取出當前位選值 JB Acc.7,LD1 INC R0 L4 MOV R3,#00100000B ;4個數碼管位選初始值 MOV A,R3 ;R3中暫存位選值 MOV DPTR,#my8255_A ;8255 PA口地址 MOVX DPTR,A ;LED位選 ,選中一個LED MOV A,R0 MOV DPTR,#TABLE ;數碼管共陰極碼表
19、首地址 MOVC A,A+DPTR ;查到內部RAM 某單元中的數據的共陰極碼送入A中 MOV DPTR,#my8255_B ;8255 PB口地址 MOVX DPTR,A ;LED段選,顯示內部RAM 某單元中的數據 ACALL DL1ms ;調延時1ms子程序 MOV A,R3 ;取出當前位選值 JB Acc.7,LD1 INC R0L5 MOV R3,#01000000B ;4個數碼管位選初始值 MOV A,R3 ;R3中暫存位選值 MOV DPTR,#my8255_A ;8255 PA口地址 MOVX DPTR,A ;LED位選 ,選中一個LED MOV A,R0 MOV DPTR,#
20、TABLE ;數碼管共陰極碼表首地址 MOVC A,A+DPTR ;查到內部RAM 某單元中的數據的共陰極碼送入A中 MOV DPTR,#my8255_B ;8255 PB口地址 MOVX DPTR,A ;LED段選,顯示內部RAM 某單元中的數據 ACALL DL1ms ;調延時1ms子程序 MOV A,R3 ;取出當前位選值 JB Acc.7,LD1 INC R0L6 MOV R3,#10000000B ;4個數碼管位選初始值 MOV A,R3 ;R3中暫存位選值 MOV DPTR,#my8255_A ;8255 PA口地址 MOVX DPTR,A ;LED位選 ,選中一個LED MOV
21、A,R0 MOV DPTR,#TABLE ;數碼管共陰極碼表首地址 MOVC A,A+DPTR ;查到內部RAM 某單元中的數據的共陰極碼送入A中 MOV DPTR,#my8255_B ;8255 PB口地址 MOVX DPTR,A ;LED段選,顯示內部RAM 某單元中的數據 ACALL DL1ms ;調延時1ms子程序 MOV A,R3 ;取出當前位選值LD1: RETTABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH DB 07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,00HTABLE1: DB 0BFH,86H,0DBH,0CFH,0E
22、6H,0EDH,0FDH DB 87H,0FFH,0EFH,77H,7CH,39H,5EH,79H,71H,00H DL1ms: MOV R7,#03H;延時1ms子程序DL: MOV R6,#099HDL6: DJNZ R6,DL6 DJNZ R7,DL RET END2.3.5 報警模塊的設計及程序圖7報警電路 MOV A,21H CJNE A ,#7H,MAIN LCALL WARN LJMP MAINWARN: SETB P1.0 LCALL DELAY1MS RET三、 流程圖、源程序與實驗圖3.1程序流程圖 開始8255初始化P1.0清零啟動ADC0809數據采集到60H數據轉換顯
23、示21H單元的值>=07警報YN結束N圖8程序流程圖3.2源程序ADR_ADC0809 EQU 0BFFFHMY8255_A EQU 7FFCHMY8255_B EQU 7FFDHMY8255_C EQU 7FFEHMY8255_MODE EQU 7FFFHORG 0000HLJMP STARTORG 0100HSTART:clr p1.0 MOV A,#81H MOV DPTR,#MY8255_MODE MOVX DPTR,AMAIN:MOV DPTR,#ADR_ADC0809 MOV A,#0 MOVX DPTR,A LCALL DELAY1MS MOVX A,DPTR MOV 60
24、H,A MOV B,#50H MUL AB MOV R5,A MOV R6,B MOV R2,#0FFH LCALL DIV16 MOV A,R5 MOV R3,#00H MOV R4,A ;MOV A,R6 ;MOV R3,A LCALL BCD MOV A,22H MOV B,#10H DIV AB MOV 22H,B MOV 21H,A MOV 65H,22H MOV 66H,21H MOV 67H,20H MOV 68H,#0H LCALL DIR mov a,21h cjne a,#7h,MAIN lcall warn LJMP MAINwarn: setb p1.0 LCALL D
25、ELAY1MS retBCD: MOV R0, #22HMOV A, R0PUSH ACCMOV R7, #03HCLR ALP1:MOV R0, ADEC R0DJNZ R7, LP1POP ACCMOV R0, AMOV R7, #16LP2:PUSH ACCCLR CMOV A, R4RLC AMOV R4, AMOV A, R3RLC AMOV R3, AMOV B, #03HLP3:MOV A, R0ADDC A, R0DA AMOV R0, ADEC R0DJNZ B, LP3POP ACCMOV R0, ADJNZ R7, LP2RETDELAY1MS:MOV R7,#0FFH
26、DJNZ R7,$ RETDIR: MOV R0,#65H MOV R3,#00000010B MOV A,R3LD0:MOV DPTR,#MY8255_A MOVX DPTR,A MOV A,R0MOV DPTR,#TABLE1MOVC A,A+DPTRMOV DPTR,#MY8255_BMOVX DPTR,ALCALL DELAY1MSMOV A,R3JB ACC.1,LD2LD2:RL AMOV R3,AINC R0;LJMP LD0MOV DPTR,#MY8255_A MOVX DPTR,A MOV A,R0MOV DPTR,#TABLEMOVC A,A+DPTRMOV DPTR,#M
27、Y8255_BMOVX DPTR,ALCALL DELAY1MSJB ACC.2,LD1LD1: MOV 23h,r6 mov a,23h MOV B,#10 MUL AB MOV R5,A MOV R6,B MOV R2,#0FFH LCALL DIV16 mov 23h,r5 mov 24h,r6 MOV R0,#23H MOV R3,#00000001B MOV A,R3 MOV DPTR,#MY8255_A MOVX DPTR,A MOV A,R0 MOV DPTR,#TABLE MOVC A,A+DPTR MOV DPTR,#MY8255_B MOVX DPTR,A LCALL DE
28、LAY1MS RETDIV16: MOV R7,#08H DV1:CLR C MOV A,R5 RLC A MOV R5,A MOV A,R6 RLC A MOV P1.7,C CLR C SUBB A,R2 JB P1.7,GOV JNC GOV ADD A,R2 AJMP DV2GOV: INC R5DV2: MOV R6,A DJNZ R7,DV1 RETTABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH DB 07H,7FH,6FH, 77H,7CH,39H,5EH,79H,71H,00HTABLE1:DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFHEND3.3 SCH圖圖9 sch圖3.4 PCB圖圖10 pcb圖圖11 pcb鋪銅圖3.5 3D效果圖圖12 3D效果圖四、實驗總結和感想通過這三周的課程設計,我真的感覺自己學到了很多東西,從剛開始的小實驗到最后自己獨立做一個大的綜合實驗,其中有遇到挫折時候的難過,有苦苦調試的煩躁,有調出結果的激動,我認為最終結果是完美的,通過自己一遍一遍的去調試程序,由于沒有接觸過protel 99剛開始畫原理圖和制作pcb的時候一頭霧水,不知道該怎么下手。后來在網上找相關的教程慢慢學習,加
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度生物醫(yī)藥研發(fā)與合作協(xié)議3篇
- 小學科學實驗課程的創(chuàng)新設計與實施
- 2025年度隧洞施工合同:地質災害防治與應急處理協(xié)議3篇
- 當代大學生自我管理能力的現狀與對策
- 2025有關終止租房合同的協(xié)議書
- 內蒙古工業(yè)大學《現代控制理論》2023-2024學年第一學期期末試卷
- 二零二五年度租賃型景區(qū)房產租賃合同2篇
- 小微企業(yè)品牌建設與市場拓展策略研究
- 二零二五年度智能化鋼結構廠房交易及后期維護管理合同3篇
- 醫(yī)療文獻閱讀與語文素養(yǎng)的強化
- FZ∕T 63006-2019 松緊帶
- 罐區(qū)自動化系統(tǒng)總體方案(31頁)ppt課件
- 迅達電梯5400超詳細故障代碼中文版
- 招投標法考試試題及答案
- 皮帶輸送機工程施工電氣安裝措施要點
- 愛人情況登記表
- QJ903.9A-1995航天產品工藝文件管理制度管理用工藝文件編制規(guī)則
- 惡性淋巴瘤化療方案有哪些
- 美制統(tǒng)一螺紋表UNC,UNF
- 男性公民兵役登記應征報名表
- 水蓄冷與冰蓄冷地比較
評論
0/150
提交評論