以上是我的程序,我要实现的功能是上电显示一屏图片(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 //按键状态标志位
- 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 //循环
- 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
复制代码
|