📄 main.lst
字号:
C51 COMPILER V8.02 MAIN 08/11/2007 08:44:37 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "Mini51B.H"//所有与硬件相关的接口函数定义
2 #include "AUTO_ISP.H"//自动ISP初始化,占用timer1
3 #include "LCD1602.H"
4 #include "LCD12864.H"
5 #include "DS1302.H"
6 #include "STCEEPROM.H"
7 #include "IRM.H"
8 #include <stdio.h>
9
10 #include "logo_stuelab.h"
11
12 SYSTEMTIME RTC;
13
14 //中断入口申明,不用最好预留
15 void extern0_ISR() interrupt 0{}
16 void timer0_ISR () interrupt 1{}
17 void extern1_ISR() interrupt 2{}
18 void timer1_ISR () interrupt 3{}
19 //void serial_ISR () interrupt 4{} AUTO ISP占用
20 //void extern2_ISR() interrupt 6{} IRM占用
21 void extern3_ISR() interrupt 7{}
22
23
24 void main()
25 {
26 1 float V;
27 1 uint DACD;
28 1 uchar i,temp;
29 1
30 1
31 1 uchar str_buff[20];//字符缓冲区
32 1 timer1_init();//AUTO ISP初始化
33 1 extern2_init();//红外解码
34 1
35 1 /*****************蜂鸣器测试*****************/
36 1 //*
37 1 BEEP_ON();
38 1 delay_ms(100);
39 1 BEEP_OFF();
40 1 /********************************************/
41 1
42 1 /**************STCEEPROM测试*****************/
43 1 //每次开机,数码管显示计数加1
44 1 //EEPROM58在STCEEPROM.H中定义
45 1 temp = byte_read(EEPROM58);
46 1 if(temp!=0xff)
47 1 {
48 2 seg7_disp(temp++);
49 2 sector_erase(EEPROM58);
50 2 byte_write(EEPROM58,temp);
51 2 }
52 1 else byte_write(EEPROM58,0);
53 1
54 1
55 1 array_write(EEPROM58+10,1,&temp);
C51 COMPILER V8.02 MAIN 08/11/2007 08:44:37 PAGE 2
56 1 array_read(EEPROM58,1,&temp);
57 1 /********************************************/
58 1
59 1 /***************LCD1602测试******************/
60 1 //*此部分注销只要删除前面一位斜线
61 1 lcd1602_init();
62 1 lcd_put_xyns(2,1,14,"www.stuelab.cn");
63 1 /********************************************/
64 1
65 1 /***************LCD12864测试*****************/
66 1 //*此部分注销只要删除前面一位斜线
67 1 lcd12864_init();
68 1 lcd12864_put_xywhb(0,0,128,64,stuelab);
69 1 delay_ms(1000);
70 1 lcd12864_clr();
71 1 lcd12864_put_xyns(1,0,6,hanzi1);
72 1 lcd12864_put_xyns(0,1,12,hanzi2);
73 1 lcd12864_put_xyns(0,3,8,hanzi3);
74 1 /********************************************/
75 1
76 1 /**************LCD12864打点测试**************/
77 1 //*
78 1 lcd12864_init();
79 1 lcd12864_clr();
80 1
81 1 for(i=0;i<64;i++)
82 1 {
83 2 lcd12864_set_xy(i,i);
84 2 }
85 1
86 1 for(i=64;i<128;i++)
87 1 {
88 2 lcd12864_set_xy(i,128-i);
89 2 }
90 1 /********************************************/
91 1
92 1 /*****************继电器测试*****************/
93 1 //*
94 1 JDQ_CLOSE(); //继电器吸合
95 1 delay_ms(100);
96 1 JDQ_OPEN(); //继电器打开
97 1 /********************************************/
98 1
99 1 /***************时钟测试*********************/
100 1 Initial_DS1302();
101 1 /*时间设定,执行一次后删除该部分
102 1 Write1302(DS1302_MINUTE, 0x40);
103 1 Write1302(DS1302_HOUR, 0x16);
104 1 Write1302(DS1302_DAY, 0x10);
105 1 Write1302(DS1302_MONTH, 0x08);
106 1 Write1302(DS1302_YEAR, 0x07);
107 1 /********************************************/
108 1
109 1
110 1
111 1
112 1
113 1 while(1)
114 1 {
115 2 DS1302_GetTime(&RTC);
116 2 DateToStr(&RTC);
117 2 TimeToStr(&RTC);
C51 COMPILER V8.02 MAIN 08/11/2007 08:44:37 PAGE 3
118 2 //lcd_put_xyns(6,1,8,RTC.DateString);
119 2 lcd_put_xyns(1,2,8,RTC.TimeString);
120 2
121 2 if(!KEY0)
122 2 {
123 3 DACD+=10;
124 3 put5615_data(DACD);//DAC输出
125 3 }
126 2
127 2 V = get1549_data();//读ADC
128 2 V = V/200;
129 2 sprintf(str_buff,"%3.2f",V);//格式转换
130 2 lcd_put_xyns(16,2,1,"V");
131 2 lcd_put_xyns(12,2,4,str_buff);
132 2 delay_ms(100);
133 2 }
134 1 }
135
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 3033 ----
CONSTANT SIZE = 1905 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 28 72
IDATA SIZE = ---- ----
BIT SIZE = ---- 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -