單片機(jī)課程設(shè)計(jì)數(shù)字電壓表程序和電路圖_第1頁(yè)
單片機(jī)課程設(shè)計(jì)數(shù)字電壓表程序和電路圖_第2頁(yè)
單片機(jī)課程設(shè)計(jì)數(shù)字電壓表程序和電路圖_第3頁(yè)
單片機(jī)課程設(shè)計(jì)數(shù)字電壓表程序和電路圖_第4頁(yè)
單片機(jī)課程設(shè)計(jì)數(shù)字電壓表程序和電路圖_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、功能: 電壓報(bào)警 5V直流測(cè)量 0.02V誤差 LCD顯示名字 程序 COM EQU 50H ;指令寄存器DAT EQU 51H ;數(shù)據(jù)寄存器RS EQU P2.1 ;LCD寄存器選擇信號(hào)RW EQU P2.2 ;LCD讀/寫(xiě)選擇信號(hào)E EQU P2.3 ;LCD使能信號(hào) ORG 0000H LJMP MAIN ;主程序入口地址 ORG 000BH LJMP BT0 ;T0中斷入口 ORG 0030H ;主程序,初始化MAIN: MOV SP,#60H LCALL INT MOV 30H,#30H ;電壓整數(shù)位 MOV 31H,#0A5H ;小數(shù)點(diǎn)位 MOV 32H,#30H ;小數(shù)個(gè)位 MO

2、V 33H,#30H ;小數(shù)十位 MOV 34H,#30H ;小數(shù)百位 MOV 35H,#56H ;字符"V" MOV R7,#30H LCALL STR0 ;顯示字符串0 LCALL DELAY LCALL STR1 ;顯示字符串1 LCALL DELAY LCALL N2 ;顯示Voltage=0.000V;*定時(shí)器初始化程序* MOV TMOD,#00H ;定時(shí)器T0設(shè)為方式0 MOV TH0,#00H ;裝入定時(shí)常數(shù)定時(shí)100us MOV TL0,#00H SETB TR0 ;啟動(dòng)T0 MOV 24H,#08H;裝入T0中斷次數(shù) MOV IE,#82H ;開(kāi)中斷LP

3、: MOV R7,#30H ;顯示緩沖區(qū)首地址 LCALL DISPLY SJMP LP ;循環(huán)顯示LED1:CLR P3.0 RET;*;定時(shí)器T0中斷服務(wù)子程序,讀取ADC0809第0通道的A/D轉(zhuǎn)換結(jié)果并化為顯示值*;*BT0: PUSH ACC PUSH PSW MOV PSW,#08H CLR TR0 MOV TH0,#00H ;重新裝入初值 MOV TL0,#00H DEC 24H MOV A,24H JNZ RTN1 MOV 24H,#08H LCALL ADCRTN1: SETB TR0 POP PSW POP ACC RETIADC: MOV DPTR,#0F6FFH MOV

4、 A,#0 ;選擇通道0 MOVX DPTR,A ;啟動(dòng)AD轉(zhuǎn)換 MOV A,#40H DJNZ ACC,$ MOVX A,DPTR MOV 22H,A MOV 21H,#0CCH CJNE A,21H,BJ0BJ0:JNC LED SJMP LL0LL0:SETB P3.0 SJMP LLLED:LCALL LED1LL: MOV A,22H MOV B,#05H ;A/D轉(zhuǎn)換結(jié)果化為顯示值 MUL AB ;(AD*5)/256 MOV 30H,B ;AD*5的高字節(jié)為整數(shù)部分 MOV B,#0AH MUL AB ;AD*5的低字節(jié)為/256的結(jié)果,為小數(shù)部分 MOV 32H,B ;二進(jìn)制小

5、數(shù)換為10進(jìn)制數(shù) MOV B,#0AH MUL AB MOV 33H,B MOV B,#0AH MUL AB MOV 34H,B MOV A,30H MOV DPTR,#TAB MOVC A,A+DPTR MOV 30H,A MOV A,32H MOVC A,A+DPTR MOV 32H,A MOV A,33H MOVC A,A+DPTR MOV 33H,A MOV A,34H MOVC A,A+DPTR MOV 34H,A RETDISPLY: ;LCD顯示子程序 MOV COM,#0CAH LCALL PR1 MOV DAT,30H LCALL PR2 MOV DAT,31H LCALL

6、PR2 MOV DAT,32H LCALL PR2 MOV DAT,33H LCALL PR2 MOV DAT,34H LCALL PR2 MOV DAT,35H LCALL PR2 RETSTR0:MOV COM,#01HLCALL PR1MOV COM,#06HLCALL PR1MOV COM,#090H ;設(shè)置DDRAM地址LCALL PR1 ;調(diào)寫(xiě)指令代碼子程序MOV DPTR,#TAB4MOV R2,#16MOV R3,#00HWRIN0: MOV A,R3 MOVC A,A+DPTR MOV DAT,A LCALL PR2 INC R3 DJNZ R2,WRIN0 MOV COM,

7、#0D0H LCALL PR1 MOV DPTR,#TAB5 MOV R2,#16 MOV R3,#00HWRIN1: MOV A,R3 MOVC A,A+DPTR MOV DAT,A LCALL PR2 INC R3 DJNZ R2,WRIN1 MOV R3,#10HZUOYI: MOV COM,#18H LCALL PR0 DJNZ R3,ZUOYI LCALL DELAY00 LCALL DELAY00 LCALL DELAY00 LCALL DELAY00 RET RETSTR1: MOV COM,#01H ;LCD清0命令 LCALL PR1 ;調(diào)寫(xiě)指令代碼子程序 MOV COM,#

8、06H ;輸入方式命令,光標(biāo)右移 LCALL PR1 ;調(diào)寫(xiě)指令代碼子程序 MOV COM,#40H LCALL PR1 MOV R5,#20H MOV DPTR,#ZI MOV R4,#0LOOP1:MOV A,R4 MOVC A,A+DPTR MOV DAT,A LCALL PR2 INC R4 DJNZ R5,LOOP1 MOV COM,#80H LCALL PR1 MOV DPTR,#TAB2 MOV A,#00H MOVC A,A+DPTR MOV DAT,A LCALL PR2 MOV A,#01H MOV DPTR,#TAB2 MOVC A,A+DPTR MOV DAT,A LC

9、ALL PR2 MOV A,#02H MOV DPTR,#TAB2 MOVC A,A+DPTR MOV DAT,A LCALL PR2 MOV A,#03H MOV DPTR,#TAB2 MOVC A,A+DPTR MOV DAT,A LCALL PR2 MOV R1,#00H MOV R0,#0dH MOV DPTR,#TAB3LOOP2:MOV A,R1 MOVC A,A+DPTR MOV DAT,A LCALL PR2 INC R1 DJNZ R0,LOOP2 RETN2: MOV COM,#0C0H LCALL PR1 MOV DPTR,#TAB1 MOV R2,#10 MOV R3,

10、#00HWRIN: MOV A,R3 MOVC A,A+DPTR MOV DAT,A LCALL PR2 INC R3 DJNZ R2,WRIN RETTAB: DB "0123456789"TAB1: DB "VOLTAGE = "TAB2: DB 00H DB 01H DB 02H DB 03H DB 04H DB 05H ZI: DB 01FH,008H,00EH,00AH,00AH,00AH,012H,000HDB 00EH,00EH,019H,00EH,01DH,00DH,00FH,000HDB 00FH,01EH,00EH,01DH,01DH

11、,00EH,014H,000H;*;*LCD間接控制方式下的初始化子程序*;*INT: LCALL DELAY MOV COM,#38H ;設(shè)置工作方式 LCALL PR1 MOV COM,#01H LCALL PR1 MOV COM,#06H LCALL PR1 MOV COM,#0EH LCALL PR1 RETDELAY: ;延時(shí)子程序 MOV R6,#0FH MOV R7,#00HDELAY1: NOP DJNZ R7,DELAY1 DJNZ R6,DELAY1 RETDELAY00: ;延時(shí)子程序 MOV R6,#0FFH MOV R7,#0FFHDELAY0: NOP DJNZ R

12、7,DELAY1 DJNZ R6,DELAY1 RET ;1 讀BF和AC值PR0: PUSH ACC MOV P0,#0FFH ; P0置位, 準(zhǔn)備讀 CLR RS ; RS=0 SETB RW ; R/W=1 SETB E ; E=1 LCALL DELAY MOV COM,P0 ; 讀BF和AC6-4值 CLR E ; E=0 POP ACC RET;*;*LCD間接控制方式下的驅(qū)動(dòng)子程序*;*;2 寫(xiě)指令代碼子程序PR1: PUSH ACC CLR RS SETB RWPR11: MOV P0,#0FFH SETB E LCALL DELAY NOP MOV A,P0 CLR E JB ACC.7,PR11 CLR RW MOV P0,COM SETB E CLR E POP ACC RET;3 寫(xiě)顯示數(shù)據(jù)子程序 PR2: PUSH ACC CLR RS SETB RWPR21: MOV P0,#0FFH SETB E LCALL DELAY MOV A,P0 CLR E JB ACC.7,PR21 SETB RS CLR RW MOV P0,DAT SETB E CLR E POP ACC RET;4 讀顯示數(shù)據(jù)子程序PR3:PUSH ACC CLR RS ; RS=0 SETB RW ; R/W=1

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論