以上是我的程序,我要實現的功能是上電顯示一屏圖片(128*64)三秒,然后跳到文字界面,在文字界面顯示一個0-100的數字變量怎么搞,誠心請教各位大神.要求用匯編語言
單片機源程序如下:
- ;******************************************************************************
- ;LCD12864行地址地址定義 *
- ;第一行地址:80H 81H 82H 83H 84H 85H 86H 87H *
- ;第二行地址:90H 91H 92H 93H 94H 95H 96H 97H *
- ;第三行地址:88H 89H 8AH 8BH 8CH 8DH 8EH 8FH *
- ;第四行地址:98H 99H 9AH 9BH 9CH 9DH 9EH 9FH *
- ;程序說明:本程序為帶有字庫漢字顯示的12864液晶顯示器源程序
- ;******************************************************************************
- ;* 【>宏定義部分<】 此程序僅用于測試LCD12864匯編代碼!
- ;******************************************************************************
- ;* 【LCD數據接口定義】
- RS BIT P3.5 //H=DATA,L=COM
- RW BIT P3.6 //H=READ,L=WRITE
- E BIT P3.7 //寫指令/寫數據
- LDB EQU P2 //數據送P2口
- COM EQU 30H //控制字暫存單元
- DAT EQU 31H //顯示數據暫存單元
- CODER EQU 32H //字符代碼暫存單元
- ADDR EQU 33H //地址暫存單元
- LCDX EQU 34H
- LCDY EQU 35H
- COUNT1 EQU 36H
- COUNT2 EQU 37H
- COUNT3 EQU 38H
- YWDY EQU 39H
- ;* 【啟用單片機P5口】
- P5 EQU 0XC8
- P5SW EQU 0xff; //啟動P5接口
- P5M0 EQU 0xff; //接口設置為普通IO
- ;* 【按鍵和按鍵標志位定義】
- KEYBZT EQU F0 //按鍵狀態(tài)標志位
- KEY1 BIT P1.5 //數字加
- KEY2 BIT P1.6 //數字減
- KEY3 BIT P1.7 //左移選中
- KEY4 BIT P5.4 //右移選中
- KEY5 BIT P5.5 //設置/確認鍵
- KEY6 BIT P3.4 //運行/停止鍵
- ;* 【DS18B20和風扇定義】
- DS18B20 BIT P3.2 //18B20溫度采集
- FAN BIT P3.3 //風扇引腳定義
- FANQK EQU 45H //風扇起控溫度
- ;* 【ADC和PWM定義】
- PWM1 BIT P1.0 //主PWM輸出腳,控制MOS管
- ADC1 BIT P1.3 //電壓采樣輸入端(0-4V)
- ADC2 BIT P1.4 //電流采樣輸入端(0-4V)
- ADC3 BIT P1.2 //基準電壓2.5V
- ;**************************************************************
- ;* 【主程序】
- ;**************************************************************
- ORG 0000H //
- AJMP START //
- ORG 0040H //
- START:
- MOV SP,#50H
- MOV R3,#01H
- CLR KEYBZT
- AJMP MAIN
- MAIN:
- LCALL DS18B20CSH
- LCALL ADC_CSH
- LCALL PWM_CSH
- LCALL LOGOTPXS //LOGO界面顯示,圖文混合
- LCALL ZJMXS //主界面,文字界面
- LCALL KEY //調用按鍵檢測
- JMP MAIN //循環(huán)
- KEY:
- JB KEY1,FUNCTION1 //數字加功能
- JB KEY2,FUNCTION2 //數字減功能
- JB KEY3,FUNCTION3 //左移選中功能
- JB KEY4,FUNCTION4 //右移選中功能
- JB KEY5,FUNCTION5 //設置/確認
- JB KEY6,FUNCTION6 //運行/停止
- JMP KEY
- RET
- ;***************************************************
- ;* 【按鍵功能】
- ;***************************************************
- FUNCTION1:
- CPL KEYBZT
- RET
- FUNCTION2:
- RET
- FUNCTION3:
- RET
- FUNCTION4:
- RET
- FUNCTION5:
- RET
- FUNCTION6:
- RET
- ;**************************************************************
- ;* 【DS18B20初始化】
- ;**************************************************************
- DS18B20CSH:
- RET
- ;**************************************************************
- ;* 【ADC初始化】
- ;**************************************************************
- ADC_CSH:
- RET
- ;**************************************************************
- ;* 【PWM初始化】
- ;**************************************************************
- PWM_CSH:
- RET
- ;**************************************************************
- ;* 【圖片顯示】
- ;**************************************************************
- LOGOTPXS:
- LCALL LSET;12864初始化
- MOV DPTR,#ICON1;圖片顯示
- LCALL IDISP
- LCALL DEL2S
- MOV COM,#01H;清屏
- LCALL WCOM
- RET
- ;**************************************************************
- ;* 【字符顯示】
- ;**************************************************************
- ZJMXS:
- MOV DPTR,#TAB1;顯示字符
- MOV ADDR,#80H
- MOV YWDY,#16
- LCALL LINE
- MOV DPTR,#TAB2
- MOV ADDR,#90H
- MOV YWDY,#16
- LCALL LINE
- MOV DPTR,#TAB3
- MOV ADDR,#88H
- MOV YWDY,#12
- LCALL LINE
- MOV DPTR,#TAB4
- MOV ADDR,#98H
- MOV YWDY,#16
- LCALL LINE
- LCALL DEL2S
- RET
- ;**************************************************************
- ;* 【函數BUSY AC忙標志檢測】
- ;**************************************************************
- BUSY:
- LCALL d1ms
- RET
- ;函數WDAT 顯示數據寫入子程序
- WDAT:
- LCALL BUSY
- SETB RS
- CLR RW
- MOV A,DAT
- MOV LDB,A
- SETB E
- NOP
- CLR E
- RET
- ;**************************************************************
- ;* 【LCD寫指令程序】
- ;**************************************************************
- WCOM:
- LCALL BUSY
- CLR RS
- CLR RW
- MOV A,COM
- MOV LDB,A
- SETB E
- LCALL DEL80
- CLR E
- RET
- ;**************************************************************
- ;* 【LCD初始化程序】
- ;**************************************************************
- LSET:
- MOV COM,#30H;基本指令
- LCALL WCOM
- MOV COM,#30H;8-BIT并口
- LCALL WCOM
- MOV COM,#01H;清屏,AC=0
- LCALL WCOM
- MOV COM,#06H;進入點設定,AC加一,屏幕左移
- LCALL WCOM
- MOV COM,#0CH;開顯示,關光標,關反白
- LCALL WCOM
- RET
- ;**************************************************************
- ;* 【LCD WLXY GDRAM寫地址程序】
- ;**************************************************************
- WLXY:
- MOV COM,#34H;使用擴充指令
- LCALL WCOM
- MOV COM,LCDY
- LCALL WCOM
- MOV COM,LCDX
- LCALL WCOM
- MOV COM,#30H;基本指令
- LCALL WCOM
- RET
- ;**************************************************************
- ;* 【IDISP 圖片顯示程序】
- ;**************************************************************
- IDISP:
- MOV COUNT1,#02H
- MOV LCDX,#80H
- DISP1:
- MOV COUNT2,#20H
- MOV LCDY,#80H
- DISP2:
- MOV COUNT3,#10H
- LCALL WLXY
- DISP3:
- CLR A
- MOVC A,@A+DPTR
- MOV DAT,A
- LCALL WDAT
- INC DPTR
- DJNZ COUNT3,DISP3
- INC LCDY
- DJNZ COUNT2,DISP2
- MOV LCDX,#88H
- DJNZ COUNT1,DISP1
- MOV COM,#36H;開圖形顯示
- LCALL WCOM
- MOV COM,#30H;基本指令
- LCALL WCOM
- RET
- ;**************************************************************
- ;* 【顯示一行字符子程序】
- ;**************************************************************
- LINE:
- MOV A,ADDR
- MOV COM,A
- LCALL WCOM
- MOV R0,#00H
- D1:
- MOV A,R0
- MOVC A,@A+DPTR
- MOV DAT,A
- LCALL WDAT
- LCALL DEL80
- INC R0
- DJNZ YWDY,D1
- RET
- ;**************************************************************
- ;* 【延時程序】
- ;**************************************************************
- ;函數DEL80 80MS延時
- DEL80:
- MOV R3,#02H
- DEL40:
- MOV R4,#160
- E1:
- MOV R5,#25
- DJNZ R5,$
- DJNZ R4,E1
- DJNZ R3,DEL40
- RET
- ;函數DEL2S 2S延時
- DEL2S:
- MOV R3,#05H
- E2:
- MOV R4,#200
- E3:
- MOV R5,#20
- E4:
- MOV R6,#248
- DJNZ R6,$
- DJNZ R5,E4
- DJNZ R4,E3
- DJNZ R3,E2
- RET
- ;函數D1mS 1mS延時
- D1ms: ;誤差 0us
- MOV R7,#01H
- DL1:
- MOV R6,#8EH
- DL0:
- MOV R5,#02H
- DJNZ R5,$
- DJNZ R6,DL0
- DJNZ R7,DL1
- RET
- ;***************************************************
- ;【字符顯示表】
- ;***************************************************
- TAB1:DB"電壓:12.01V 36.7"
- TAB2:DB"電流:09.99A CC"
- TAB3:DB"功率:119.97W"
- TAB4:DB"FAN:OFF STOP"
- TAB5:DB"初始化請稍候"
- ;***************************************************
- ;【圖片字模部分】
- ;***************************************************
- ; 數據表
- ICON1:
- ;-- 調入了一幅圖像:C:\Users\Administrator\Desktop\無標題.bmp --
- ;-- 寬度x高度=128x32 --
- DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
- DB 00FH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0E0H
- DB 008H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,020H
- DB 008H,001H,010H,004H,001H,000H,004H,048H,008H,000H,000H,008H,000H,022H,080H,020H
- DB 008H,005H,050H,002H,001H,0F7H,089H,050H,008H,001H,0FCH,00FH,0C0H,0FAH,040H,020H
- DB 008H,001H,010H,07FH,0F2H,044H,09FH,060H,0FFH,080H,008H,010H,040H,022H,000H,020H
- DB 008H,00FH,0DEH,040H,010H,044H,080H,044H,088H,080H,010H,020H,081H,0FFH,0C0H,020H
- DB 008H,003H,024H,000H,003H,0F4H,08FH,03CH,088H,080H,020H,01FH,0F0H,042H,000H,020H
- DB 008H,005H,094H,01FH,0C0H,0A7H,089H,000H,0FFH,080H,020H,010H,011H,0FAH,080H,020H
- DB 008H,009H,054H,000H,081H,010H,00FH,040H,088H,087H,0FFH,011H,010H,0A2H,080H,020H
- DB 008H,002H,014H,001H,002H,0FFH,009H,048H,088H,080H,020H,011H,010H,0FAH,080H,020H
- DB 008H,00FH,094H,07FH,0F0H,081H,00FH,050H,0FFH,080H,020H,011H,010H,021H,000H,020H
- DB 008H,004H,088H,002H,000H,0FFH,009H,064H,088H,020H,020H,002H,0C0H,039H,040H,020H
- DB 008H,003H,014H,002H,000H,081H,009H,044H,008H,020H,020H,00CH,031H,0E2H,0C0H,020H
- DB 008H,00CH,0A2H,00EH,000H,0FFH,00BH,03CH,007H,0E0H,0E0H,030H,008H,024H,040H,020H
- DB 008H,01FH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0E0H,020H
- DB 008H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,020H
- DB 008H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,020H
- DB 008H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,020H
- DB 008H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,020H
- DB 008H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,020H
- DB 008H,000H,000H,000H,000H,066H,08BH,0C0H,03DH,0F3H,0CFH,000H,000H,000H,000H,020H
- DB 008H,000H,000H,014H,000H,024H,08AH,020H,061H,086H,079H,080H,000H,000H,000H,020H
- DB 008H,000H,020H,000H,000H,03CH,0CAH,02FH,07DH,0E6H,079H,080H,000H,000H,000H,020H
- DB 008H,000H,056H,008H,000H,018H,0EBH,0CFH,07FH,0B3H,0CFH,000H,000H,000H,000H,020H
- DB 008H,002H,089H,090H,000H,03CH,0BAH,080H,066H,016H,079H,080H,000H,000H,000H,020H
- DB 008H,000H,000H,060H,000H,024H,09AH,040H,067H,0B6H,079H,080H,000H,000H,000H,020H
- DB 008H,000H,000H,000H,000H,066H,08AH,060H,03CH,0E3H,0CFH,000H,000H,000H,000H,020H
- DB 008H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,020H
- DB 008H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,020H
- DB 00FH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0E0H
- DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
- DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
- DB 00FH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0E0H
- DB 008H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,020H
- DB 008H,001H,010H,004H,001H,000H,004H,048H,008H,000H,000H,008H,000H,022H,080H,020H
- DB 008H,005H,050H,002H,001H,0F7H,089H,050H,008H,001H,0FCH,00FH,0C0H,0FAH,040H,020H
- DB 008H,001H,010H,07FH,0F2H,044H,09FH,060H,0FFH,080H,008H,010H,040H,022H,000H,020H
- DB 008H,00FH,0DEH,040H,010H,044H,080H,044H,088H,080H,010H,020H,081H,0FFH,0C0H,020H
- DB 008H,003H,024H,000H,003H,0F4H,08FH,03CH,088H,080H,020H,01FH,0F0H,042H,000H,020H
- DB 008H,005H,094H,01FH,0C0H,0A7H,089H,000H,0FFH,080H,020H,010H,011H,0FAH,080H,020H
- DB 008H,009H,054H,000H,081H,010H,00FH,040H,088H,087H,0FFH,011H,010H,0A2H,080H,020H
- DB 008H,002H,014H,001H,002H,0FFH,009H,048H,088H,080H,020H,011H,010H,0FAH,080H,020H
- DB 008H,00FH,094H,07FH,0F0H,081H,00FH,050H,0FFH,080H,020H,011H,010H,021H,000H,020H
- DB 008H,004H,088H,002H,000H,0FFH,009H,064H,088H,020H,020H,002H,0C0H,039H,040H,020H
- DB 008H,003H,014H,002H,000H,081H,009H,044H,008H,020H,020H,00CH,031H,0E2H,0C0H,020H
- DB 008H,00CH,0A2H,00EH,000H,0FFH,00BH,03CH,007H,0E0H,0E0H,030H,008H,024H,040H,020H
- DB 008H,01FH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0E0H,020H
- DB 008H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,020H
- DB 008H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,020H
- DB 008H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,020H
- DB 008H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,020H
- DB 008H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,020H
- DB 008H,000H,000H,000H,000H,066H,08BH,0C0H,03DH,0F3H,0CFH,000H,000H,000H,000H,020H
- DB 008H,000H,000H,014H,000H,024H,08AH,020H,061H,086H,079H,080H,000H,000H,000H,020H
- DB 008H,000H,020H,000H,000H,03CH,0CAH,02FH,07DH,0E6H,079H,080H,000H,000H,000H,020H
- DB 008H,000H,056H,008H,000H,018H,0EBH,0CFH,07FH,0B3H,0CFH,000H,000H,000H,000H,020H
- DB 008H,002H,089H,090H,000H,03CH,0BAH,080H,066H,016H,079H,080H,000H,000H,000H,020H
- DB 008H,000H,000H,060H,000H,024H,09AH,040H,067H,0B6H,079H,080H,000H,000H,000H,020H
- DB 008H,000H,000H,000H,000H,066H,08AH,060H,03CH,0E3H,0CFH,000H,000H,000H,000H,020H
- DB 008H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,020H
- DB 008H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,020H
- DB 00FH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0E0H
- DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
- END
復制代碼
|