📄 12232.src
字号:
DB 064H
DB 044H
DB 0C4H
DB 09CH
DB 018H
DB 000H
DB 006H
DB 00EH
DB 008H
DB 008H
DB 008H
DB 00FH
DB 007H
DB 000H
DB 000H
DB 01CH
DB 00CH
DB 0FCH
DB 0FCH
DB 00CH
DB 01CH
DB 000H
DB 000H
DB 000H
DB 008H
DB 00FH
DB 00FH
DB 008H
DB 000H
DB 000H
DB 0FCH
DB 0FCH
DB 000H
DB 000H
DB 000H
DB 0FCH
DB 0FCH
DB 000H
DB 007H
DB 00FH
DB 008H
DB 008H
DB 008H
DB 00FH
DB 007H
DB 000H
DB 0FCH
DB 0FCH
DB 000H
DB 000H
DB 000H
DB 0FCH
DB 0FCH
DB 000H
DB 001H
DB 003H
DB 006H
DB 00CH
DB 006H
DB 003H
DB 001H
DB 000H
DB 0FCH
DB 0FCH
DB 000H
DB 080H
DB 000H
DB 0FCH
DB 0FCH
DB 000H
DB 003H
DB 00FH
DB 00EH
DB 003H
DB 00EH
DB 00FH
DB 003H
DB 000H
DB 00CH
DB 03CH
DB 0F0H
DB 0C0H
DB 0F0H
DB 03CH
DB 00CH
DB 000H
DB 00CH
DB 00FH
DB 003H
DB 000H
DB 003H
DB 00FH
DB 00CH
DB 000H
DB 000H
DB 03CH
DB 07CH
DB 0C0H
DB 0C0H
DB 07CH
DB 03CH
DB 000H
DB 000H
DB 000H
DB 008H
DB 00FH
DB 00FH
DB 008H
DB 000H
DB 000H
DB 01CH
DB 00CH
DB 084H
DB 0C4H
DB 064H
DB 03CH
DB 01CH
DB 000H
DB 00EH
DB 00FH
DB 009H
DB 008H
DB 008H
DB 00CH
DB 00EH
DB 000H
DB 080H
DB 080H
DB 080H
DB 080H
DB 0E0H
DB 0C0H
DB 080H
DB 000H
DB 001H
DB 001H
DB 001H
DB 001H
DB 007H
DB 003H
DB 001H
DB 000H
RSEG ?C_INITSEG
DB 004H
DB disp_buffer
DB 001H
DB 003H
DB 061H
DB 004H
;
; #include "reg51.h"
; #include "intrins.h"
; //#include "122x32h.h"
;
; #define uchar unsigned char
; #define uint unsigned int
; #define NOP() _nop_();
; //功能引脚定义
; //#define A0 BIT(PC6) //数据1/命令0选择
; sbit A0 = P3^0;
; //#define WR BIT(PC5) //读1/写0
; sbit _WR = P3^7;
; //#define E1 BIT(PC4) //片选1(Master)
; sbit E1 = P3^4;
; //#define E2 BIT(PC7) //片选2(slave)
; sbit E2 = P3^3;
; //#define lcd_data PORTA //数据
; #define lcd_data P2
;
; //常用操作宏定义
; #define set_E1() (E1=1) //1片选M
; #define set_E2() (E2=1) //1片选S
; #define set_A0() (A0=1) //1数据
; #define set_WR() (_WR=1) //1读
;
; #define clr_E1() (E1=0) //0
; #define clr_E2() (E2=0) //0
; #define clr_A0() (A0=0) //0命令
; #define clr_WR() (_WR=0) //0写
;
; //液晶显示控制命令表
; #define disp_off 0xAE //显示关闭
; #define disp_on 0xAF //显示打开
; #define disp_start_line 0xC0 //显示起始地址(后5位-表示0-31行)
; #define page_addr_set 0xB8 //页地址设置(0~3)
; #define col_addr_set 0x00 //列地址设置(0~61)
; #define status_busy 0x80 //0=ready
; #define mode_write 0xEE //写模式
; #define dynamic_driver 0xA4 //动态驱动
; #define adc_select 0xA0 //clockwise
; #define clk32 0xA9 //刷新时钟设置1/32
; #define clk16 0xA8 //刷新时钟设置1/16
; #define reset 0xE2 //软件复位
;
;
;
;
;
; uchar dot_buffer[32]; //点阵缓存区
; uchar disp_buffer[4]={1,3,97,4}; //ram数据显示缓存区
;
; void lcd_init(void); //LCD初始化
; void lcd_clr(void); //LCD清屏
; void wait_ready(void); //等待ready
;
;
;
; void draw_bmp(uchar col,uchar layer,uchar width,uchar *bmp);
; //点阵码显示输出
; void disp_one_ascii(uchar col,uchar layer,uchar ascii_code,uchar mode);
; //单个ascci码输出(ascii_code为ascii编码)
; void disp_ram_data(uchar col,uchar layer,uchar n,uchar mode);
; //ram数据(数字)显示输出
; void dprintf(uchar col,uchar layer,uchar *buf,uchar mode);
; //通用混合字串显示
;
; typedef struct typFNT_GB16 // 汉字字模数据结构
; {
; signed char Index[2];
; char Msk[32];
; };
;
;
; struct typFNT_GB16 code GB_16[] =
; {
; "欢", 0x04,0x34,0xC4,0x04,0xC4,0x3C,0x20,0x10,
; 0x0F,0xE8,0x08,0x08,0x28,0x18,0x00,0x00,
; 0x10,0x08,0x06,0x01,0x82,0x8C,0x40,0x30,
; 0x0C,0x03,0x0C,0x10,0x60,0xC0,0x40,0x00,
;
; "迎", 0x40,0x42,0x44,0xC8,0x00,0xFC,0x04,0x02,
; 0x82,0xFC,0x04,0x04,0x04,0xFE,0x04,0x00,
; 0x00,0x40,0x20,0x1F,0x20,0x47,0x42,0x41,
; 0x40,0x7F,0x40,0x42,0x44,0x63,0x20,0x00,
;
; "光", 0x40,0x40,0x42,0x44,0x58,0xC0,0x40,0x7F,
; 0x40,0xC0,0x50,0x48,0x46,0x64,0x40,0x00,
; 0x00,0x80,0x40,0x20,0x18,0x07,0x00,0x00,
; 0x00,0x3F,0x40,0x40,0x40,0x40,0x70,0x00,
;
; "临", 0x00,0xFC,0x00,0xFF,0x40,0x20,0x10,0x0C,
; 0x2B,0x48,0xC8,0x08,0x08,0x8C,0x08,0x00,
; 0x00,0x1F,0x00,0xFF,0x00,0xFF,0x41,0x41,
; 0x41,0x7F,0x41,0x41,0x41,0xFF,0x01,0x00,
;
; "太", 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xFF,
; 0x20,0x20,0x20,0x20,0x20,0x30,0x20,0x00,
; 0x40,0x40,0x20,0x20,0x10,0x0C,0x0B,0x30,
; 0x03,0x0C,0x10,0x10,0x20,0x60,0x20,0x00,
;
; "川", 0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,
; 0xFC,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,
; 0x00,0x40,0x20,0x1F,0x00,0x00,0x00,0x00,
; 0x1F,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,
;
; "单", 0x00,0x00,0xF8,0x49,0x4A,0x4C,0x48,0xF8,
; 0x48,0x4C,0x4A,0x49,0xFC,0x08,0x00,0x00,
; 0x10,0x10,0x17,0x12,0x12,0x12,0x12,0xFF,
; 0x12,0x12,0x12,0x12,0x13,0x18,0x10,0x00,
;
; "片", 0x00,0x00,0xFE,0x20,0x20,0x20,0x20,0x20,
; 0x3F,0x20,0x20,0x20,0x20,0x30,0x20,0x00,
; 0x80,0x40,0x3F,0x01,0x01,0x01,0x01,0x01,
; 0x01,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,
;
; "机", 0x10,0x10,0xD0,0xFF,0x90,0x10,0x00,0xFC,
; 0x04,0x04,0x04,0xFE,0x04,0x00,0x00,0x00,
; 0x04,0x03,0x00,0xFF,0x80,0x41,0x20,0x1F,
; 0x00,0x00,0x00,0x3F,0x40,0x40,0x70,0x00,
;
; "网", 0x00,0xFE,0x12,0x62,0x82,0x62,0x1A,0x02,
; 0x12,0x62,0x82,0x62,0x1A,0xFF,0x02,0x00,
; 0x00,0xFF,0x18,0x06,0x01,0x02,0x2C,0x10,
; 0x08,0x06,0x01,0x42,0x8C,0x7F,0x00,0x00,
;
; "络", 0x20,0x30,0xAC,0x63,0x30,0x00,0x10,0x08,
; 0x17,0xA4,0x44,0xA4,0x14,0x0C,0x00,0x00,
; 0x22,0x63,0x22,0x12,0x12,0x04,0x02,0xFF,
; 0x43,0x42,0x42,0x42,0x43,0xFF,0x01,0x00,
;
; "空", 0x10,0x0C,0x84,0x44,0x24,0x34,0x05,0x06,
; 0x04,0x14,0x24,0x64,0xC4,0x14,0x0C,0x00,
; 0x40,0x40,0x42,0x42,0x42,0x42,0x42,0x7E,
; 0x42,0x42,0x42,0x42,0x42,0x60,0x40,0x00,
;
; "间", 0x00,0xF8,0x01,0x02,0xF6,0x10,0x12,0x12,
; 0x12,0x12,0xFA,0x12,0x02,0xFF,0x02,0x00,
; 0x00,0xFF,0x00,0x00,0x3F,0x11,0x11,0x11,
; 0x11,0x11,0x3F,0x40,0x80,0x7F,0x00,0x00,
;
; "网", 0x00,0xFE,0x12,0x62,0x82,0x62,0x1A,0x02,
; 0x12,0x62,0x82,0x62,0x1A,0xFF,0x02,0x00,
; 0x00,0xFF,0x18,0x06,0x01,0x02,0x2C,0x10,
; 0x08,0x06,0x01,0x42,0x8C,0x7F,0x00,0x00,
;
; "址", 0x10,0x10,0x10,0xFF,0x10,0x18,0x10,0xF8,
; 0x00,0x00,0xFF,0x20,0x20,0x30,0x20,0x00,
; 0x20,0x60,0x20,0x3F,0x10,0x50,0x48,0x7F,
; 0x40,0x40,0x7F,0x40,0x40,0x60,0x40,0x00,
;
; "是", 0x00,0x00,0x00,0x00,0x7F,0x49,0x49,0x49,
; 0x49,0x49,0x7F,0x00,0x00,0x80,0x00,0x00,
; 0x01,0x81,0x41,0x21,0x1D,0x21,0x41,0x7F,
; 0x89,0x89,0x8D,0x89,0x81,0xC1,0x41,0x00,
;
; "电", 0x00,0xF8,0x48,0x48,0x48,0x48,0xFF,0x48,
; 0x48,0x48,0x48,0xFC,0x08,0x00,0x00,0x00,
; 0x00,0x07,0x02,0x02,0x02,0x02,0x3F,0x42,
; 0x42,0x42,0x42,0x47,0x40,0x70,0x00,0x00,
;
; "话", 0x40,0x42,0x44,0xCC,0x00,0x40,0x44,0x44,
; 0x44,0xFC,0x42,0x43,0x42,0x60,0x40,0x00,
; 0x00,0x00,0x00,0x7F,0x20,0x10,0xFE,0x42,
; 0x42,0x43,0x42,0x42,0xFF,0x02,0x00,0x00
; };
;
; uchar code ascii[] = {
; //前面0x20(32个)ASCII码为控制命令 //本程序中不用
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x38,0xFC,0xFC,0x38,0x00,0x00,//!
; 0x00,0x00,0x00,0x0D,0x0D,0x00,0x00,0x00,
; 0x00,0x0E,0x1E,0x00,0x00,0x1E,0x0E,0x00,//"
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x20,0xF8,0xF8,0x20,0xF8,0xF8,0x20,0x00,//#
; 0x02,0x0F,0x0F,0x02,0x0F,0x0F,0x02,0x00,
; 0x38,0x7C,0x44,0x47,0x47,0xCC,0x98,0x00,//$
; 0x03,0x06,0x04,0x1C,0x1C,0x07,0x03,0x00,
; 0x30,0x30,0x00,0x80,0xC0,0x60,0x30,0x00,//%
; 0x0C,0x06,0x03,0x01,0x00,0x0C,0x0C,0x00,
; 0x80,0xD8,0x7C,0xE4,0xBC,0xD8,0x40,0x00,//&
; 0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00,
; 0x00,0x10,0x1E,0x0E,0x00,0x00,0x00,0x00,//'
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0xF0,0xF8,0x0C,0x04,0x00,0x00,//(
; 0x00,0x00,0x03,0x07,0x0C,0x08,0x00,0x00,
; 0x00,0x00,0x04,0x0C,0xF8,0xF0,0x00,0x00,//)
; 0x00,0x00,0x08,0x0C,0x07,0x03,0x00,0x00,
; 0x80,0xA0,0xE0,0xC0,0xC0,0xE0,0xA0,0x80,//*
; 0x00,0x02,0x03,0x01,0x01,0x03,0x02,0x00,
; 0x00,0x80,0x80,0xE0,0xE0,0x80,0x80,0x00,//+
; 0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//,
; 0x00,0x00,0x10,0x1E,0x0E,0x00,0x00,0x00,
; 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,//-
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//.
; 0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x80,0xC0,0x60,0x30,0x00,///
; 0x0C,0x06,0x03,0x01,0x00,0x00,0x00,0x00,
; 0xF8,0xFC,0x04,0xC4,0x24,0xFC,0xF8,0x00,//0
; 0x07,0x0F,0x09,0x08,0x08,0x0F,0x07,0x00,
; 0x00,0x10,0x18,0xFC,0xFC,0x00,0x00,0x00,//1
; 0x00,0x08,0x08,0x0F,0x0F,0x08,0x08,0x00,
; 0x08,0x0C,0x84,0xC4,0x64,0x3C,0x18,0x00,//2
; 0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0C,0x00,
; 0x08,0x0C,0x44,0x44,0x44,0xFC,0xB8,0x00,//3
; 0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00,
; 0xC0,0xE0,0xB0,0x98,0xFC,0xFC,0x80,0x00,//4
; 0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,
; 0x7C,0x7C,0x44,0x44,0xC4,0xC4,0x84,0x00,//5
; 0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00,
; 0xF0,0xF8,0x4C,0x44,0x44,0xC0,0x80,0x00,//6
; 0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,
; 0x0C,0x0C,0x04,0x84,0xC4,0x7C,0x3C,0x00,//7
; 0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x00,
; 0xB8,0xFC,0x44,0x44,0x44,0xFC,0xB8,0x00,//8
; 0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,
; 0x38,0x7C,0x44,0x44,0x44,0xFC,0xF8,0x00,//9
; 0x00,0x08,0x08,0x08,0x0C,0x07,0x03,0x00,
; 0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,//:
; 0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,//;
; 0x00,0x00,0x08,0x0E,0x06,0x00,0x00,0x00,
; 0x00,0x80,0xC0,0x60,0x30,0x18,0x08,0x00,//<
; 0x00,0x00,0x01,0x03,0x06,0x0C,0x08,0x00,
; 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,//=
; 0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,
; 0x00,0x08,0x18,0x30,0x60,0xC0,0x80,0x00,//>
; 0x00,0x08,0x0C,0x06,0x03,0x01,0x00,0x00,
; 0x18,0x1C,0x04,0xC4,0xE4,0x3C,0x18,0x00,//?
; 0x00,0x00,0x00,0x0D,0x0D,0x00,0x00,0x00,
; 0xF0,0xF8,0x08,0xC8,0xC8,0xF8,0xF0,0x00,//@
; 0x07,0x0F,0x08,0x0B,0x0B,0x0B,0x01,0x00,
; 0xE0,0xF0,0x98,0x8C,0x98,0xF0,0xE0,0x00,//A
; 0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,
; 0x04,0xFC,0xFC,0x44,0x44,0xFC,0xB8,0x00,//B
; 0x08,0x0F,0x0F,0x08,0x08,0x0F,0x07,0x00,
; 0xF0,0xF8,0x0C,0x04,0x04,0x0C,0x18,0x00,//C
; 0x03,0x07,0x0C,0x08,0x08,0x0C,0x06,0x00,
; 0x04,0xFC,0xFC,0x04,0x0C,0xF8,0xF0,0x00,//D
; 0x08,0x0F,0x0F,0x08,0x0C,0x07,0x03,0x00,
; 0x04,0xFC,0xFC,0x44,0xE4,0x0C,0x1C,0x00,//E
; 0x08,0x0F,0x0F,0x08,0x08,0x0C,0x0E,0x00,
; 0x04,0xFC,0xFC,0x44,0xE4,0x0C,0x1C,0x00,//F
; 0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00,
; 0xF0,0xF8,0x0C,0x84,0x84,0x8C,0x98,0x00,//G
; 0x03,0x07,0x0C,0x08,0x08,0x07,0x0F,0x00,
; 0xFC,0xFC,0x40,0x40,0x40,0xFC,0xFC,0x00,//H
; 0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,
; 0x00,0x00,0x04,0xFC,0xFC,0x04,0x00,0x00,//I
; 0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,
; 0x00,0x00,0x00,0x04,0xFC,0xFC,0x04,0x00,//J
; 0x07,0x0F,0x08,0x08,0x0F,0x07,0x00,0x00,
; 0x04,0xFC,0xFC,0xC0,0xF0,0x3C,0x0C,0x00,//K
; 0x08,0x0F,0x0F,0x00,0x01,0x0F,0x0E,0x00,
; 0x04,0xFC,0xFC,0x04,0x00,0x00,0x00,0x00,//L
; 0x08,0x0F,0x0F,0x08,0x08,0x0C,0x0E,0x00,
; 0xFC,0xFC,0x38,0x70,0x38,0xFC,0xFC,0x00,//M
; 0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,
; 0xFC,0xFC,0x38,0x70,0xE0,0xFC,0xFC,0x00,//N
; 0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,
; 0xF0,0xF8,0x0C,0x04,0x0C,0xF8,0xF0,0x00,//O
; 0x03,0x07,0x0C,0x08,0x0C,0x07,0x03,0x00,
; 0x04,0xFC,0xFC,0x44,0x44,0x7C,0x38,0x00,//P
; 0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00,
; 0xF8,0xFC,0x04,0x04,0x04,0xFC,0xF8,0x00,//Q
; 0x07,0x0F,0x08,0x0E,0x3C,0x3F,0x27,0x00,
; 0x04,0xFC,0xFC,0x44,0xC4,0xFC,0x38,0x00,//R
; 0x08,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00,
; 0x18,0x3C,0x64,0x44,0xC4,0x9C,0x18,0x00,//S
; 0x06,0x0E,0x08,0x08,0x08,0x0F,0x07,0x00,
; 0x00,0x1C,0x0C,0xFC,0xFC,0x0C,0x1C,0x00,//T
; 0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,
; 0xFC,0xFC,0x00,0x00,0x00,0xFC,0xFC,0x00,//U
; 0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,
; 0xFC,0xFC,0x00,0x00,0x00,0xFC,0xFC,0x00,//V
; 0x01,0x03,0x06,0x0C,0x06,0x03,0x01,0x00,
; 0xFC,0xFC,0x00,0x80,0x00,0xFC,0xFC,0x00,//W
; 0x03,0x0F,0x0E,0x03,0x0E,0x0F,0x03,0x00,
; 0x0C,0x3C,0xF0,0xC0,0xF0,0x3C,0x0C,0x00,//X
; 0x0C,0x0F,0x03,0x00,0x03,0x0F,0x0C,0x00,
; 0x00,0x3C,0x7C,0xC0,0xC0,0x7C,0x3C,0x00,//Y
; 0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,
; 0x1C,0x0C,0x84,0xC4,0x64,0x3C,0x1C,0x00,//Z
; 0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0E,0x00,
; 0x80,0x80,0x80,0x80,0xe0,0xC0,0x80,0x00,//->0x5b(自定义显示字符)
; 0x01,0x01,0x01,0x01,0x07,0x03,0x01,0x00
; //0x5c开始可以加入其他的自定义字符
; };
;
;
; void delay_ms(uint c)
RSEG ?PR?_delay_ms?12232
_delay_ms:
USING 0
;---- Variable 'x?041' assigned to Register 'R5' ----
;---- Variable 'c?040' assigned to Register 'R6/R7' ----
; SOURCE LINE # 294
; {uchar x;
; SOURCE LINE # 295
?C0001:
; while(c--)
; SOURCE LINE # 296
MOV A,R7
DEC R7
MOV R2,AR6
JNZ ?C0067
DEC R6
?C0067:
ORL A,R2
JZ ?C0006
; {
; SOURCE LINE # 297
; for (x=0;x<121;x++);
; SOURCE LINE # 298
CLR A
MOV R5,A
?C0003:
MOV A,R5
CLR C
SUBB A,#079H
JNC ?C0001
INC R5
SJMP ?C0003
; }
; SOURCE LINE # 299
; }
; SOURCE LINE # 300
?C0006:
RET
; END OF _delay_ms
;
; ////////////////////////////////////////////////////////////////////////////////
; //调用方式:void send_mi(uchar instuction)
; //函数说明:发指令instruction到主窗口(内函数,私有,用户不能直接调用)
; ////////////////////////////////////////////////////////////////////////////////
; void send_mi(uchar instruction)
RSEG ?PR?_send_mi?12232
_send_mi:
USING 0
MOV instruction?142,R7
; SOURCE LINE # 306
; {
; SOURCE LINE # 307
; clr_E2(); //关S
; SOURCE LINE # 308
CLR E2
; set_E1(); //开M
; SOURCE LINE # 309
SETB E1
; wait_ready();
; SOURCE LINE # 310
LCALL wait_ready
; clr_A0(); //指令
; SOURCE LINE # 311
CLR A0
; clr_WR(); //写触发
; SOURCE LINE # 312
CLR _WR
; NOP();NOP();
; SOURCE LINE # 313
NOP
NOP
; lcd_data = instruction; //指令码
; SOURCE LINE # 314
MOV P2,instruction?142
; NOP();NOP();
; SOURCE LINE # 315
NOP
NOP
; clr_E1(); //关M
; SOURCE LINE # 316
CLR E1
; }
; SOURCE LINE # 317
RET
; END OF _send_mi
;
; ////////////////////////////////////////////////////////////////////////////////
; //调用方式:void OutMD(uchar i)
; //函数说明:发数据data到主窗口(内函数,私有,用户不能直接调用)
; ////////////////////////////////////////////////////////////////////////////////
; void send_md(uchar c)
RSEG ?PR?_send_md?12232
_send_md:
USING 0
MOV c?243,R7
; SOURCE LINE # 323
; {
; SOURCE LINE # 324
; clr_E2(); //关S
; SOURCE LINE # 325
CLR E2
; set_E1(); //开M
; SOURCE LINE # 326
SETB E1
; wait_ready();
; SOURCE LINE # 327
LCALL wait_ready
; set_A0(); //数据
; SOURCE LINE # 328
SETB A0
; clr_WR(); //写触发
; SOURCE LINE # 329
CLR _WR
; NOP();NOP();
; SOURCE LINE # 330
NOP
NOP
; lcd_data = c; //数据
; SOURCE LINE # 331
MOV P2,c?243
; NOP();NOP();
; SOURCE LINE # 332
NOP
NOP
; clr_E1(); //关M
; SOURCE LINE # 333
CLR E1
; }
; SOURCE LINE # 334
RET
; END OF _send_md
;
; ////////////////////////////////////////////////////////////////////////////////
; //调用方式:void send_si(uchar instruction)
; //函数说明:发指令instruction到从窗口(内函数,私有,用户不能直接调用)
; ////////////////////////////////////////////////////////////////////////////////
; void send_si(uchar instruction)
RSEG ?PR?_send_si?12232
_send_si:
USING 0
MOV instruction?344,R7
; SOURCE LINE # 340
; {
; SOURCE LINE # 341
; clr_E1(); //关M
; SOURCE LINE # 342
CLR E1
; set_E2(); //开S
; SOURCE LINE # 343
SETB E2
; wait_ready();
; SOURCE LINE # 344
LCALL wait_ready
; clr_A0(); //指令
; SOURCE LINE # 345
CLR A0
; clr_WR(); //写触发
; SOURCE LINE # 346
CLR _WR
; NOP();NOP();
; SOURCE LINE # 347
NOP
NOP
; lcd_data=instruction; //指令码
; SOURCE LINE # 348
MOV P2,instruction?344
; NOP();NOP();
; SOURCE LINE # 349
NOP
NOP
; clr_E2(); //关S
; SOURCE LINE # 350
CLR E2
; }
; SOURCE LINE # 351
RET
; END OF _send_si
;
; ////////////////////////////////////////////////////////////////////////////////
; //调用方式:void send_sd(uchar data)
; //函数说明:发数据data到从窗口(内函数,私有,用户不直接调用)
; ////////////////////////////////////////////////////////////////////////////////
; void send_sd(uchar c)
RSEG ?PR?_send_sd?12232
_send_sd:
USING 0
MOV c?445,R7
; SOURCE LINE # 357
; {
; SOURCE LINE # 358
; clr_E1();
; SOURCE LINE # 359
CLR E1
; set_E2();
; SOURCE LINE # 360
SETB E2
; wait_ready();
; SOURCE LINE # 361
LCALL wait_ready
; set_A0(); //数据
; SOURCE LINE # 362
SETB A0
; clr_WR();//写触发
; SOURCE LINE # 363
CLR _WR
; NOP();NOP();
; SOURCE LINE # 364
NOP
NOP
; lcd_data = c;
; SOURCE LINE # 365
MOV P2,c?445
; NOP();NOP();
; SOURCE LINE # 366
NOP
NOP
; clr_E2();
; SOURCE LINE # 367
CLR E2
; }
; SOURCE LINE # 368
RET
; END OF _send_sd
;
; ////////////////////////////////////////////////////////////////////////////////
; //等待ready:等待LCD内部操作完成
; ////////////////////////////////////////////////////////////////////////////////
; void wait_ready(void)
RSEG ?PR?wait_ready?12232
wait_ready:
; SOURCE LINE # 373
; {
; SOURCE LINE # 374
; // DDRA = 0x00; //PA口输入
; lcd_data = 0xff;
; SOURCE LINE # 376
MOV P2,#0FFH
; clr_A0(); //指令
; SOURCE LINE # 377
CLR A0
; set_WR(); //读
; SOURCE LINE # 378
SETB _WR
; NOP(); NOP();
; SOURCE LINE # 379
NOP
NOP
?C0011:
; while(lcd_data & status_busy); //读入LCD状态,1=忙,一直等待LCD内部操作完成
; SOURCE LINE # 380
MOV A,P2
JB ACC.7,?C0011
; // DDRA = 0xff; //重新置PA口输出
; }
; SOURCE LINE # 382
?C0013:
RET
; END OF wait_ready
;
; ////////////////////////////////////////////////////////////////////////////////
; //调用方式:void lcd_init(void)
; //函数说明:122x32LCD初始化,开机后仅调用一次
; ////////////////////////////////////////////////////////////////////////////////
; void lcd_init(void)
RSEG ?PR?lcd_init?12232
lcd_init:
USING 0
; SOURCE LINE # 388
; {
; SOURCE LINE # 389
; send_mi(reset); //复位m-left,s-right
; SOURCE LINE # 390
MOV R7,#0E2H
LCALL _send_mi
; send_si(reset);
; SOURCE LINE # 391
MOV R7,#0E2H
LCALL _send_si
;
; send_mi(disp_off); //关闭显示
; SOURCE LINE # 393
MOV R7,#0AEH
LCALL _send_mi
; send_si(disp_off);
; SOURCE LINE # 394
MOV R7,#0AEH
LCALL _send_si
;
; send_mi(dynamic_driver); //动态驱动
; SOURCE LINE # 396
MOV R7,#0A4H
LCALL _send_mi
; send_si(dynamic_driver);
; SOURCE LINE # 397
MOV R7,#0A4H
LCALL _send_si
;
; send_mi(clk32); //1/32占空比
; SOURCE LINE # 399
MOV R7,#0A9H
LCALL _send_mi
; send_si(clk32);
; SOURCE LINE # 400
MOV R7,#0A9H
LCALL _send_si
;
; send_mi(adc_select); //clockwise
; SOURCE LINE # 402
MOV R7,#0A0H
LCALL _send_mi
; send_si(adc_select);
; SOURCE LINE # 403
MOV R7,#0A0H
LCALL _send_si
;
; //send_mi(mode_write); //写模式
; //send_si(mode_write);
;
; send_mi(col_addr_set);
; SOURCE LINE # 408
CLR A
MOV R7,A
LCALL _send_mi
; send_mi(disp_start_line); //归回零列,设定显示起始行首
; SOURCE LINE # 409
MOV R7,#0C0H
LCALL _send_mi
; send_si(col_addr_set);
; SOURCE LINE # 410
CLR A
MOV R7,A
LCALL _send_si
; send_si(disp_start_line);
; SOURCE LINE # 411
MOV R7,#0C0H
LCALL _send_si
;
; send_mi(disp_on); //开显示
; SOURCE LINE # 413
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -