📄 main.lst
字号:
C51 COMPILER V7.01 MAIN 11/16/2007 15:52:10 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN .\main.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\source\main.c BROWSE DEBUG OBJECTEXTEND LISTINCLUDE PRINT(.\main.lst) OB
-JECT(.\main.obj)
stmt level source
1 #include "main_h.h"
1 =1 #include <reg52.h>
1 =2 /*--------------------------------------------------------------------------
2 =2 REG52.H
3 =2
4 =2 Header file for generic 80C52 and 80C32 microcontroller.
5 =2 Copyright (c) 1988-2001 Keil Elektronik GmbH and Keil Software, Inc.
6 =2 All rights reserved.
7 =2 --------------------------------------------------------------------------*/
8 =2
9 =2 /* BYTE Registers */
10 =2 sfr P0 = 0x80;
11 =2 sfr P1 = 0x90;
12 =2 sfr P2 = 0xA0;
13 =2 sfr P3 = 0xB0;
14 =2 sfr PSW = 0xD0;
15 =2 sfr ACC = 0xE0;
16 =2 sfr B = 0xF0;
17 =2 sfr SP = 0x81;
18 =2 sfr DPL = 0x82;
19 =2 sfr DPH = 0x83;
20 =2 sfr PCON = 0x87;
21 =2 sfr TCON = 0x88;
22 =2 sfr TMOD = 0x89;
23 =2 sfr TL0 = 0x8A;
24 =2 sfr TL1 = 0x8B;
25 =2 sfr TH0 = 0x8C;
26 =2 sfr TH1 = 0x8D;
27 =2 sfr IE = 0xA8;
28 =2 sfr IP = 0xB8;
29 =2 sfr SCON = 0x98;
30 =2 sfr SBUF = 0x99;
31 =2
32 =2 /* 8052 Extensions */
33 =2 sfr T2CON = 0xC8;
34 =2 sfr RCAP2L = 0xCA;
35 =2 sfr RCAP2H = 0xCB;
36 =2 sfr TL2 = 0xCC;
37 =2 sfr TH2 = 0xCD;
38 =2
39 =2
40 =2 /* BIT Registers */
41 =2 /* PSW */
42 =2 sbit CY = PSW^7;
43 =2 sbit AC = PSW^6;
44 =2 sbit F0 = PSW^5;
45 =2 sbit RS1 = PSW^4;
46 =2 sbit RS0 = PSW^3;
47 =2 sbit OV = PSW^2;
48 =2 sbit P = PSW^0; //8052 only
49 =2
50 =2 /* TCON */
51 =2 sbit TF1 = TCON^7;
52 =2 sbit TR1 = TCON^6;
C51 COMPILER V7.01 MAIN 11/16/2007 15:52:10 PAGE 2
53 =2 sbit TF0 = TCON^5;
54 =2 sbit TR0 = TCON^4;
55 =2 sbit IE1 = TCON^3;
56 =2 sbit IT1 = TCON^2;
57 =2 sbit IE0 = TCON^1;
58 =2 sbit IT0 = TCON^0;
59 =2
60 =2 /* IE */
61 =2 sbit EA = IE^7;
62 =2 sbit ET2 = IE^5; //8052 only
63 =2 sbit ES = IE^4;
64 =2 sbit ET1 = IE^3;
65 =2 sbit EX1 = IE^2;
66 =2 sbit ET0 = IE^1;
67 =2 sbit EX0 = IE^0;
68 =2
69 =2 /* IP */
70 =2 sbit PT2 = IP^5;
71 =2 sbit PS = IP^4;
72 =2 sbit PT1 = IP^3;
73 =2 sbit PX1 = IP^2;
74 =2 sbit PT0 = IP^1;
75 =2 sbit PX0 = IP^0;
76 =2
77 =2 /* P3 */
78 =2 sbit RD = P3^7;
79 =2 sbit WR = P3^6;
80 =2 sbit T1 = P3^5;
81 =2 sbit T0 = P3^4;
82 =2 sbit INT1 = P3^3;
83 =2 sbit INT0 = P3^2;
84 =2 sbit TXD = P3^1;
85 =2 sbit RXD = P3^0;
86 =2
87 =2 /* SCON */
88 =2 sbit SM0 = SCON^7;
89 =2 sbit SM1 = SCON^6;
90 =2 sbit SM2 = SCON^5;
91 =2 sbit REN = SCON^4;
92 =2 sbit TB8 = SCON^3;
93 =2 sbit RB8 = SCON^2;
94 =2 sbit TI = SCON^1;
95 =2 sbit RI = SCON^0;
96 =2
97 =2 /* P1 */
98 =2 sbit T2EX = P1^1; // 8052 only
99 =2 sbit T2 = P1^0; // 8052 only
100 =2
101 =2 /* T2CON */
102 =2 sbit TF2 = T2CON^7;
103 =2 sbit EXF2 = T2CON^6;
104 =2 sbit RCLK = T2CON^5;
105 =2 sbit TCLK = T2CON^4;
106 =2 sbit EXEN2 = T2CON^3;
107 =2 sbit TR2 = T2CON^2;
108 =2 sbit C_T2 = T2CON^1;
109 =2 sbit CP_RL2 = T2CON^0;
2 =1 #include <absacc.h>
1 =2 /*--------------------------------------------------------------------------
2 =2 ABSACC.H
3 =2
4 =2 Direct access to 8051, extended 8051 and Philips 80C51MX memory areas.
C51 COMPILER V7.01 MAIN 11/16/2007 15:52:10 PAGE 3
5 =2 Copyright (c) 1988-2001 Keil Elektronik GmbH and Keil Software, Inc.
6 =2 All rights reserved.
7 =2 --------------------------------------------------------------------------*/
8 =2
9 =2 #define CBYTE ((unsigned char volatile code *) 0)
10 =2 #define DBYTE ((unsigned char volatile data *) 0)
11 =2 #define PBYTE ((unsigned char volatile pdata *) 0)
12 =2 #define XBYTE ((unsigned char volatile xdata *) 0)
13 =2
14 =2 #define CWORD ((unsigned int volatile code *) 0)
15 =2 #define DWORD ((unsigned int volatile data *) 0)
16 =2 #define PWORD ((unsigned int volatile pdata *) 0)
17 =2 #define XWORD ((unsigned int volatile xdata *) 0)
18 =2
19 =2
20 =2 #ifdef __CX51__
=2 #define FVAR(object, addr) (*((object volatile far *) (addr)))
=2 #define FARRAY(object, base) ((object volatile far *) (base))
=2 #else
24 =2 #define FVAR(object, addr) (*((object volatile far *) ((addr)+0x10000L)))
25 =2 #define FCVAR(object, addr) (*((object const far *) ((addr)+0x810000L)))
26 =2 #define FARRAY(object, base) ((object volatile far *) ((base)+0x10000L))
27 =2 #define FCARRAY(object, base) ((object const far *) ((base)+0x810000L))
28 =2 #endif
3 =1
4 =1 #define uint unsigned int
5 =1 #define ulong unsigned long int
6 =1 #define uchar unsigned char
7 =1
8 =1 #define RAM_WR_ADD (uchar xdata *)0x0000
9 =1 #define RAM_READ_ADD (uchar xdata *)0x8000
10 =1
11 =1 #define RPAGE 1000
12 =1
13 =1 #define HEAD 290
14 =1 #define TAIL 480
15 =1 #define Y128128 3
16 =1
17 =1 unsigned int TP_LCM_VALUE;
18 =1 unsigned int LCM_X,LCM_Y,x;
19 =1
20 =1
21 =1 void TEST_TP(void);
22 =1 void TEST_TP_INT(void);
23 =1 void TEST_ROM_ID(void);
24 =1 void TEST_REGISTER(void);
25 =1 void rom_program(uint addcow,uint lcml,uint lcmw);
26 =1 uchar xmodem_receive(void);
27 =1 void disp_pic(uchar mode,uchar count);
28 =1 void option_rom(void);
29 =1 void write_to_rom(uint page,uchar pic);
30 =1
31 =1 /*----------------------------------------------------------------
32 =1 DELAY program
33 =1 -----------------------------------------------------------------*/
34 =1 extern void delay5us(uint utimes); //5uS*utimes IN 12MHZ
35 =1 extern void delay10ms(uint mtimes); //10MS*mtimes IN 12MHZ
36 =1 extern void delay1s(uint time1,uint time2);
37 =1 /*----------------------------------------------------------------
38 =1 LCM DISPALY program
39 =1 -----------------------------------------------------------------*/
40 =1 extern void LCM_init(void);//init LCM
C51 COMPILER V7.01 MAIN 11/16/2007 15:52:10 PAGE 4
41 =1 extern uint RGB(uchar r,uchar g,uchar b);
42 =1 extern void set_pixel(unsigned int x,unsigned int y);
43 =1 extern void test_pixel2(void);
44 =1 extern uchar LCM_SETUP_REG(uchar *p);
45 =1 extern void set_whole_screen();
46 =1 extern void display_red(void);//red
47 =1 extern void display_green(void);//green
48 =1 extern void display_blue(void);//blue
49 =1 extern void display_white(void);//white
50 =1 extern void display_black(void);//black+绿色的框,作为边界确认
51 =1 extern void display_clear(void);//clear
52 =1 extern void dis_RGB(void);
53 =1 extern void write_picdata(uint value);
54 =1 extern void write_picdata1(uchar vdata1,uchar vdata2);
55 =1 extern void W_C(uchar command);
56 =1 extern void W_D_HL(uchar h,uchar l);
57 =1 extern void W_D(uint wdata);
58 =1 /*----------------------------------------------------------------
59 =1 ROM program
60 =1 -----------------------------------------------------------------*/
61 =1
62 =1 extern void rom_write_data(unsigned char value);
63 =1 extern void rom_write_block_start(unsigned char addcol,unsigned int addrow);
64 =1 //extern void rom_write_block_data(uchar value);
65 =1 extern void rom_read_block_start(unsigned char addcol,unsigned int addrow);
66 =1 extern unsigned char rom_write_block_end(void);
67 =1 extern uint READ_ROM_ID(void);
68 =1 //extern void rom_program(uchar value,uchar addcol,uint addcow,uint lcml,uint lcmw);
69 =1 extern uchar rom_read_block_byte(void);
70 =1 extern uint rom_read_block_word(void);
71 =1 extern void rom_read_block_end(void);
72 =1 extern unsigned char rom_erase_block(unsigned int add);
73 =1 extern uchar rom_write_page(uint page_mode,uint addcow,uchar xdata *p);
74 =1 extern uchar xdata *read_page(uint page);
75 =1
76 =1
77 =1 /*----------------------------------------------------
78 =1 RAM SUB PROGRAMS
79 =1 ------------------------------------------------------*/
80 =1 extern void ram_init(void);
81 =1 extern void ram_cs(bit flag);
82 =1 extern uchar ram_read_byte(uchar xdata *addr);
83 =1 extern uint ram_read_word(uchar xdata *addr);
84 =1 extern void ram_write_byte(uchar xdata *addr,uchar value);
85 =1 extern void ram_write_word(uchar xdata *addr,uint value);
86 =1
87 =1
88 =1 /*----------------------------------------------------------------
89 =1 TP program
90 =1 -----------------------------------------------------------------*/
91 =1 extern unsigned int *TP_XY_READ(void);
92 =1 extern void TP_INIT(void);
93 =1 extern unsigned int tp_read(unsigned char a);
94 =1 extern void tp_test(void);
95 =1
96 =1 /*----------------------------------------------------------------
97 =1 SERIAL_INTERFACE program
98 =1 -----------------------------------------------------------------*/
99 =1 extern void putchar(unsigned char value);
100 =1 extern uchar getchar(void);
101 =1 extern uchar getchar1(uint value);
102 =1 extern void serial_init(void);
C51 COMPILER V7.01 MAIN 11/16/2007 15:52:10 PAGE 5
103 =1 extern void putword(uint value);
104 =1 extern uint getword(void);
105 =1 extern uchar xdata *getxmodem(void);
106 =1 //extern void xmodem_receive(void);
107 =1
108 =1 /*----------------------------------------------------------------
109 =1 KEYBOARD SUB PROGRAMS
110 =1 -----------------------------------------------------------------*/
111 =1 extern uchar key_scan(void);
112 =1 extern uchar key_test(void);
2
3 void main()
4 {
5 1 uchar xdata *p;
6 1 uchar xdata *q;
7 1 // uchar addcol_main=0,uu,rr,jj,high,low;
8 1 uchar key=0;
9 1 uint addrow_main=33,rdromcount=0,rdlcmrow=0,i,j;
10 1 ram_init();
11 1 serial_init();
12 1 TP_INIT();
13 1 delay10ms(500);
14 1 TEST_ROM_ID(); //read rom's id . example : EC 75
15 1 LCM_init();
16 1
17 1 delay10ms(2000);
18 1 display_red();
19 1 delay10ms(2000);
20 1
21 1 display_white();
22 1 delay10ms(2000);
23 1
24 1 display_black();
25 1
26 1 /*
27 1
28 1 p=RAM_WR_ADD;
29 1 q=RAM_READ_ADD;
30 1 for(i=0;i<1;i++)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -