📄 tlc1543.lst
字号:
C51 COMPILER V7.06 TLC1543 06/11/2004 16:16:36 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE TLC1543
OBJECT MODULE PLACED IN TLC1543.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE TLC1543.c BROWSE DEBUG OBJECTEXTEND
stmt 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 sfr SFCF=0xb1;
39 sfr SFCM=0xb2;
40 sfr SFAL=0xb3;
41 sfr SFAH=0xb4;
42 sfr SFDT=0xb5;
43 sfr SFST=0xb6;
44
45 sbit Input_1=P1^0;
46 sbit Input_2=P1^1;
47 sbit Input_3=P1^2;
48 sbit Input_4=P1^3;
49 sbit Master =P1^4;
50 sbit Second =P1^5;
51 sbit out=P1^6;
52 sbit Time_out=P1^7;
53 sbit P24=P2^4;
54 sbit P25=P2^5;
55 /**************** DS18B20 ********************/
C51 COMPILER V7.06 TLC1543 06/11/2004 16:16:36 PAGE 2
56 sbit TMDAT = P3^2;
57 /**************** MAX192 *********************/
58 sbit io_clock = P3^2; //sbit io_clock = P2^7
59 sbit io_cs = P3^3; //sbit io_cs = P2^6
60 sbit data_in = P2^0; //sbit data_in = P3^3
61 sbit data_out = P2^1; //sbit data_out = P1^7
62 /**************** Max7219 ********************/
63 sbit M7219_clock = P3^3;
64 sbit M7219_cs = P2^0;
65 sbit M7219_in = P2^1;
66 /*********************************************/
67 sbit PC_start=P3^2;
68 sbit STB =P2^3; //sbit MC_start=P3^3; sbit Busy =P3^3;
69 sbit Bad =P3^4;
70 sbit Paus =P1^7;
71 sbit Back =P3^5;
72
73 /* 定义调用子程序 */
74 void Max7219_send(uchar add, uchar dat);
75 uchar temperature(void);
76 bit tmreset(void);
77 uchar readbyte(void);
78 void delay3(uint Tm_count);
79 void writebyte(uchar dat);
80 uchar read_temper(bit C_F);
81 void tmstart(void);
82 void Max7219_int(void);
83
84 void del_old(uchar id);
85 void disp_old(uchar i);
86 void del_sector(uchar k,bit choose);
87 void save();
88 void save_data(uchar code *p,uchar i);
89 void D_40(uchar cos);
90 void MP_40(uchar *p);
91 void Print_40(uchar id,bit old_data);
92 void disp_3(uchar O_X,uchar O_Y,uchar h_ox,uchar l_oy,uchar *p);
93 void set_xy(uchar o_x,o_y);
94 void read_time(uchar o_x,uchar o_y,bit open);
95 void write_time(uchar o_x,uchar o_y);
96 bit TXD_pc(uchar i);
97 void KG();
98 void GL();
99 void Disp_2(uchar ad);
100 void CW_PR1(uint O_X,uint O_Y,uchar p);
101 void Disp_msg(uint o_x,uchar o_y,uchar n);
102 void Link(uint o_x,uint o_y,uint n,bit c);
103 void Reset(bit c);
104 void Max192(uchar i,uchar o_x,uchar o_y,bit set);
105 void delay_2();
106 void ZD();
107 void ZL();
108 uchar RXD_c();
109 void Display(uchar o_x,uchar o_y,uchar id,uchar id1,uint x,bit open);
110 void DOT_s(uint o_x1,uint o_y1,uint o_x2,uint o_y2,bit c);
111 void TXD_c(uchar i);
112 uchar choose(uchar O_X,uchar O_Y,uchar h_ox,uchar l_oy,uchar *p);
113 void TXT_S(uchar O_X,uchar O_Y,bit c,uchar *disp); // 显示16*16字符串
114 void CCW2_PR24(uchar O_X,uchar O_Y,uchar code_l); // 显示24*24字符
115 void CCW1_PR(uchar O_X,uchar O_Y,uchar code_l); // 汉字写入子程序(文本方式)
116 void CCW2_PR(uchar O_X,uchar O_Y,uchar code_l); // 汉字写入子程序(图形方式)
117 void W_DOT(uint O_X,uint O_Y ); // 绘点子程序
C51 COMPILER V7.06 TLC1543 06/11/2004 16:16:36 PAGE 3
118 void CW_PR(uint O_X,uint O_Y,uchar *p); // 西文写入子程序
119 void CLEAR();
120 void INT_1();
121 void CGRAM();
122 void delay(void);
123
124 // -------------- DMF-50081/50174 的SYSTEM SET 参数 --------------
125 // SYSTAB: DB 30H,87H,07H,27H,42H,0F0H,28H,00H ; P1-P8参数
126 // SCRTAB: DB 00H,00H,0F0H,00H,30H,0F0H,00H,60H,00H,00H ; P1-P10参数
127 // -------------------240128的SYSTEM SET 参数-------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -