📄 main.lst
字号:
C51 COMPILER V6.12 MAIN 11/01/2008 12:29:30 PAGE 1
C51 COMPILER V6.12, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c ROM(COMPACT) BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /* 本程序要实现以下功能:
2 * 1)、可控24路跳变点变化(即每点刷新频率《10次) *
3 * 2)、自变与受控变化 *
4 * 3)、自变模式可以从eeprom中获取自变模式组合 *
5 * 4)、可以通过通讯来改变eeprom里面的变化。进而达到改变外部效果的目的 *
-
6 * 5)、可以在直接点控制和串行移位控制两种模式中选择 *
7 */
8
9 //特别针对义乌项目修改,目标:标准化
10 //可以控制64个全彩像素点跳变
11 //可以分别依照指令控制8、16、24、32、40、48、56、64个全彩像素点跳变
12
13
14
15 #include <at89x55.h>
16 #include <stdlib.h>
17 #include <eeaddr.h>
18 #include <intrins.h>
19
20
21
22 //*************宏定义****************
23 #define uchar unsigned char
24 #define uint unsigned int
25 #define YES 1
26 #define NO 0
27 #define TRUE 1
28 #define FALSE 0
29
30
31 #define OFF 0
32 #define ON 1
33 /*
34 //#define Write2EEPROM(x,y,z) EE_W_Addr((x));\
35 // Write_N_Bytes((y),(z));\
36 // IIC_Stop();
37 //#define ReadfromEEPROM(x,y,z) EE_W_Addr((x));\
38 // EE_RNB((z),(y));
39
40 */
41 #define EE_R_ADDR 0xA1
42 #define EE_W_ADDR 0xA0
43 #define DELAY_TIME 20
44 //********硬件接口的宏定义*************
45 #define RS485_ENABLE P3_4
46 #define SDA P3_3
47 #define SCL P3_2
48 sbit P3_4=P3^4;
49 sbit P3_2=P3^2;
50 sbit P3_3=P3^3;
51 sbit P1_0=P1^0;
52 sbit P1_1=P1^1;
53 sfr WDREST = 0xa6;
54
C51 COMPILER V6.12 MAIN 11/01/2008 12:29:30 PAGE 2
55 //*************一些通信协议的宏定义*****
56 #define HEAD1 0xeb
57 #define HEAD2 0x90
58 #define Recv_OverTime 500
59 //串行移位转并行输出的操作函数 用到的端口定义
60 #define SCLK595 P1_1
61 #define SDATA595 P1_0
62 #define SLATCH595 P1_2
63
64 //#define JUMP_NUMBER_MAX 735
65
66 uchar idata ucdot[24],uctemp[24],tt;
67 uchar Dimming_Count,j;
68 bit Is_change=0;
69
70 //uint LightNumber=735;//led 总个数735
71 uint JUMP_NUMBER_MAX=735;//led 总个数735
72
73 //************全局变量定义***************
74 // 1,一些中断的全局变量定义
75 uint uc1fz ;
76 uint ut10msTimer,ut10sTimer,ut20s;
77 //2,通信的一些全局变量定义
78 uint SelfAdd;
79 uchar RECV_Point;//接收数据指针
80 uchar RecvBuf[8];//接收数据缓冲区
81 uchar Recv_Wait_Time;//接收等待计时
82 uint Recv_DataLeng;
83 //****************位变量定义******
84 bdata uchar Flag;
85 sbit Recv_WaitTime_Flag=Flag^0;
86 sbit Recv_OverTime_Flag=Flag^1;
87 sbit Recv_LightData_Flag=Flag^2;
88 sbit NO_RecvFlag=Flag^3;
89 bdata unsigned char road0,road1,road2;//24路
90
91 //3,PWM的一些变量定义
92 uchar PWMcount;
93 uchar Light_Point;
94 uint LightCount;//灯的个数的加数器
95 uchar LightData[24];
96
97
98 //******函数定义************************
99 void SYS_Init(void);
100 void SCON_Init(void);
101 void REST_WDT(void);
102 void RECV_Deal(void);
103 void Clear_RecvBuf(void);
104 void Com_Deal();
105
106 void Delay(unsigned int time);
107 bit EE_W_Addr(unsigned int ui_Addr_Value);
108 bit EE_RNB(unsigned char n,unsigned char *buffer);
109 bit Write_N_Bytes(unsigned char *buffer,unsigned char n);
110 void IIC_Stop();
111 static bit Read_N_Bytes(unsigned char n,unsigned char *buffer);
112 static void IIC_Start();
113 static void SEND_0(void);
114 static void SEND_1(void);
115 static void IIC_Byte_W(unsigned char b);
116 static unsigned char IIC_Byte_R();
C51 COMPILER V6.12 MAIN 11/01/2008 12:29:30 PAGE 3
117 static bit IIC_ACK();
118 void COM_Jump(void);
119 void Jump_mode1();//
120 void Jump_mode2();
121 void Jump_mode3();
122 void Jump_mode4();
123 void mini_led_red_full_on(void);//小功率红色整体亮
124 void clear_all(void);
125
126 void clr(void);
127 void tb_red(void);//红色整体亮
128 void tb_green(void);//绿色整体亮
129 void tb_blue(void);//蓝色整体亮
130 void tb_red_green(void);//跳变红绿整体亮
131 void tb_red_blue(void);//跳变红蓝整体亮
132 void tb_green_blue(void);//跳变绿蓝整体亮
133
134 void pd_red(void);//红色跑动效果
135 void pd_green(void);//绿色跑动效果
136 void pd_blue(void);//蓝色跑动效果
137 void pd_red_green(void);//红绿跑动效果
138 void pd_red_blue(void);//红蓝跑动效果
139 void pd_green_blue(void);//绿蓝跑动效果
140
141 void seven_color_full(void);//全彩跑动效果
142
143
144
145 /*************
146 模式一 小功率线光源整体单色、整体七彩变换、七彩跑动变换
147 模式二 大功率洗墙光源整体单色、整体七彩变换、七彩跑动变换
148 模式三 小功率线光源和大功率洗墙光源同步整体单色、同步整体七彩变换、七彩跑动变换
149 模式四 小功率线光源和大功率洗墙光源间隔整体单色、间隔整体七彩变换、间隔七彩跑动变换
150 */
151
152 void Delay1(unsigned int time);
153 void Delay2(unsigned int time);
154 void Delay3(unsigned int time);//七彩追逐间隔延时
155 //void ShiftOutput( uchar Ucdata0,uchar Ucdata1,uchar Ucdata2); //FOR B //串行移位转并行输出的操作函
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -