📄 demo2.lst
字号:
C51 COMPILER V8.05a DEMO2 06/13/2008 08:47:36 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE DEMO2
OBJECT MODULE PLACED IN demo2.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE demo2.c BROWSE
line level source
1 #include <reg51.h>
2 #include <math.h>
3 #include <stdio.h>
4 #include <absacc.h>
5 #include <intrins.h>
6 #include <string.h>
7 #include <stdlib.h>
8 // 直接访问方式地址定义,根据用户平台接口修改
9 // CWADD1 EQU 0FEFFH 写指令代码地址
10 // DWADD1 EQU 0FCFFH 写参数及显示数据地址
11 // DRADD1 EQU 0FEFFH 读参数及显示数据地址
12 // CRADD1 EQU 0FCFFH 读忙状态地址
13 // PARA1 EQU 20H 应用于DMF682(256*128)
14 // PARA1 EQU 28H 应用于DMF50081/50174(320*240)
15 // PARA1 EQU 50H 应用于DMF50036(640*200)
16 #define timeadd1 XBYTE[0xFB00] // 时钟地址秒
17 #define timeadd2 XBYTE[0xFB09] // 时钟年
18 #define timeadd3 XBYTE[0xFB0B] // 停时钟
19 #define flash_ad XBYTE[0xF000]
20 #define wcadd1 XBYTE[0xBF00] // #define wcadd1 XBYTE[0xfe00] 写指令代码地址
21 #define wdadd1 XBYTE[0x3F00] // #define wdadd1 XBYTE[0xfc00] 写参数及显示数据地址
22 #define rdadd1 XBYTE[0xBF00] // 读参数及显示数据地址
23 #define rbadd1 XBYTE[0x3C00] // 读忙状态地址
24 #define Io8155 XBYTE[0xEF00]
25 #define M8155 XBYTE[0xCF00]
26 #define M8155_1 XBYTE[0xCF10]
27 #define Io8155_A XBYTE[0xEF01]
28 #define Io8155_B XBYTE[0xEF02]
29 #define Io8155_c XBYTE[0xEF03]
30 #define PARA 0x28; // 程序参数定义,根据用户选择的LCM型号修改 32K(7FFFH)
31 #define TRUE 1
32 #define FALSE 0
33 typedef unsigned char uchar;
34 typedef unsigned int uint;
35
36 //sfr16 DPTR = 0x82;
37 sfr16 flash = 0xb3;
38
39 sfr SFCF=0xb1;
40 sfr SFCM=0xb2;
41 sfr SFAL=0xb3;
42 sfr SFAH=0xb4;
43 sfr SFDT=0xb5;
44 sfr SFST=0xb6;
45
46 sbit Input_1=P1^0;
47 sbit Input_2=P1^1;
48 sbit Input_3=P1^2;
49 sbit Input_4=P1^3;
50 sbit Master =P1^4;
51 sbit Second =P1^5;
52 sbit out = P1^6; /* 给副CPU的中断信号 */
53 sbit Time_out=P1^7;
54 sbit P24=P2^4;
55 sbit P25=P2^5;
C51 COMPILER V8.05a DEMO2 06/13/2008 08:47:36 PAGE 2
56 sbit io_clock=P3^2; //sbit io_clock = P2^7 //MAX192
57 sbit io_cs=P3^3; //sbit io_cs = P2^6
58 sbit data_in=P2^0; //sbit data_in = P3^3
59 sbit data_out=P2^1; //sbit data_out = P1^7
60 sbit PC_start=P3^2;
61 sbit STB =P2^3; //sbit MC_start=P3^3; sbit Busy =P3^3;
62 sbit Bad =P3^4;
63 sbit Paus =P1^7;
64 sbit Back =P3^5;
65
66 /* 定义调用子程序 */
67 void delay4(uint Tm_count);
68 void sound(bit f,uchar i);
69 void del_old(uchar id);
70 void disp_old(uchar i);
71 void del_sector(uchar k,bit choose);
72 void save();
73 bit save_data(uchar code *p,uchar i);
74 void D_40(uchar cos);
75 void MP_40(uchar *p);
76 void Print_40(uchar id,bit old_data);
77 void disp_3(uchar O_X,uchar O_Y,uchar h_ox,uchar l_oy,uchar *p);
78 void set_xy(uchar o_x,o_y);
79 void read_time(uchar o_x,uchar o_y,bit open);
80 void write_time(uchar o_x,uchar o_y);
81 bit TXD_pc(uchar i);
82 void KG();
83 void GL();
84 void Disp_2(uchar ad);
85 void CW_PR1(uint O_X,uint O_Y,uchar p);
86 void Disp_msg(uint o_x,uchar o_y,uchar n);
87 void Link(uint o_x,uint o_y,uint n,bit c);
88 void Reset(bit c);
89 void Max192(uchar i,uchar o_x,uchar o_y,bit set);
90 void delay_2();
91 void ZD();
92 void ZL();
93 uchar RXD_c();
94 void Display(uchar o_x,uchar o_y,uchar id,uchar id1,uint x,bit open);
95 void DOT_s(uint o_x1,uint o_y1,uint o_x2,uint o_y2,bit c);
96 void TXD_c(uchar i);
97 uchar choose(uchar O_X,uchar O_Y,uchar h_ox,uchar l_oy,uchar *p);
98 void TXT_S(uchar O_X,uchar O_Y,bit c,uchar *disp); // 显示16*16字符串
99 void CCW2_PR24(uchar O_X,uchar O_Y,uchar code_l); // 显示24*24字符
100 void CCW1_PR(uchar O_X,uchar O_Y,uchar code_l); // 汉字写入子程序(文本方式)
101 void CCW2_PR(uchar O_X,uchar O_Y,uchar code_l); // 汉字写入子程序(图形方式)
102 void W_DOT(uint O_X,uint O_Y ); // 绘点子程序
103 void CW_PR(uint O_X,uint O_Y,uchar *p); // 西文写入子程序
104 void CLEAR();
105 void INT_1();
106 void CGRAM();
107 void delay(void);
108
109 // -------------- DMF-50081/50174 的SYSTEM SET 参数 --------------
110 // SYSTAB: DB 30H,87H,07H,27H,42H,0F0H,28H,00H ; P1-P8参数
111 // SCRTAB: DB 00H,00H,0F0H,00H,30H,0F0H,00H,60H,00H,00H ; P1-P10参数
112 // -------------------240128的SYSTEM SET 参数-------------------------------
113 // code uchar SYSTAB[8]={0x30,0x87,0x07,0x1e,0x21,0x80,0x1f,0x00};
114 // code uchar SCRTAB[10]={0x00,0x00,0x80,0xf0,0x01,0x80,0x00,0x00,0x00,0x00};
115 // -------------------320240的SYSTEM SET 参数-------------------------------
116
117 code uchar SYSTAB[8]={0x30,0x87,0x07,0x27,0x42,0xf0,0x28,0x00};
C51 COMPILER V8.05a DEMO2 06/13/2008 08:47:36 PAGE 3
118 code uchar SCRTAB[10]={0x00,0x00,0xf0,0x00,0x30,0xf0,0x00,0x60,0x00,0x00};
119 // code uchar SCRTAB[10]={0x00,0x00,0xf0,0xce,0x04,0xf0,0x80,0x00,0x00,0x00};
120 // 在此可以观察文本方式下的字符及光标的显示效果(写入内容为"Sevicer tel:")
121 code uchar DRAG_1[6][5]={0,1,2,3,0xfe,0,1,4,5,0xfe,6,7,8,9,0xfe,10,8,4,5,0xfe,11,12,13,14,0xfe,53,54,55,56
-,0xff};
122 // code uchar DRAG_2[]={0,1,4,5,0xff};
123 // code uchar DRAG_3[]={6,7,8,9,0xff};
124 // code uchar DRAG_4[]={10,8,4,5,0xff};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -