📄 main.lst
字号:
C51 COMPILER V8.02 MAIN 08/15/2007 15:49:18 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 "UART.H" //串口驱动函数
4 #include "LCD1602.H" //LCD1602驱动函数
5 #include "LCD12864.H" //LCD12864驱动函数
6 #include "DS1302.H" //DS1302实时时钟驱动函数
7 #include "STCEEPROM.H" //EEPROM读写函数
8 #include "IRM.H" //红外解码驱动函数
9 #include <stdio.h> //C标准函数库,系统集成
10
11 #include "logo_stuelab.h"
12
13 SYSTEMTIME RTC;
14
15 //中断入口申明,不用最好预留
16 void extern0_ISR() interrupt 0{}
17 void timer0_ISR () interrupt 1{}
18 void extern1_ISR() interrupt 2{}
19 void timer1_ISR () interrupt 3{}
20 //void serial_ISR () interrupt 4{} AUTO ISP占用
21 //void extern2_ISR() interrupt 6{} IRM占用
22 void extern3_ISR() interrupt 7{}
23
24
25 void main()
26 {
27 1 float V;
28 1 uint DACD;
29 1 uchar i,temp;
30 1
31 1
32 1 uchar str_buff[20];//字符缓冲区
33 1 timer1_init();//AUTO ISP初始化
34 1 extern2_init();//红外解码
35 1
36 1 /*****************蜂鸣器测试*****************/
37 1 //*
38 1 BEEP_ON();
39 1 delay_ms(100);
40 1 BEEP_OFF();
41 1 /********************************************/
42 1
43 1 /**************STCEEPROM测试*****************/
44 1 //每次开机,数码管显示计数加1
45 1 //EEPROM58在STCEEPROM.H中定义
46 1 temp = byte_read(EEPROM58);
47 1 if(temp!=0xff)
48 1 {
49 2 seg7_disp(temp++);
50 2 sector_erase(EEPROM58);
51 2 byte_write(EEPROM58,temp);
52 2 }
53 1 else byte_write(EEPROM58,0);
54 1
55 1
C51 COMPILER V8.02 MAIN 08/15/2007 15:49:18 PAGE 2
56 1 array_write(EEPROM58+10,1,&temp);
57 1 array_read(EEPROM58,1,&temp);
58 1 /********************************************/
59 1
60 1 /***************LCD1602测试******************/
61 1 //*此部分注销只要删除前面一位斜线
62 1 lcd1602_init();
63 1 lcd_put_xyns(2,1,14,"www.stuelab.cn");
64 1 /********************************************/
65 1
66 1 /***************LCD12864测试*****************/
67 1 //*此部分注销只要删除前面一位斜线
68 1 lcd12864_init();
69 1 lcd12864_put_xywhb(0,0,128,64,stuelab);
70 1 delay_ms(1000);
71 1 lcd12864_clr();
72 1 lcd12864_put_xyns(1,0,6,hanzi1);
73 1 lcd12864_put_xyns(0,1,12,hanzi2);
74 1 lcd12864_put_xyns(0,3,8,hanzi3);
75 1 /********************************************/
76 1
77 1 /**************LCD12864打点测试**************/
78 1 //*
79 1 lcd12864_init();
80 1 lcd12864_clr();
81 1
82 1 for(i=0;i<64;i++)
83 1 {
84 2 lcd12864_set_xy(i,i);
85 2 }
86 1
87 1 for(i=64;i<128;i++)
88 1 {
89 2 lcd12864_set_xy(i,128-i);
90 2 }
91 1 /********************************************/
92 1
93 1 /*****************继电器测试*****************/
94 1 //*
95 1 JDQ_CLOSE(); //继电器吸合
96 1 delay_ms(100);
97 1 JDQ_OPEN(); //继电器打开
98 1 /********************************************/
99 1
100 1 /***************时钟测试*********************/
101 1 Initial_DS1302();
102 1 /*时间设定,执行一次后删除该部分
103 1 Write1302(DS1302_MINUTE, 0x40);
104 1 Write1302(DS1302_HOUR, 0x16);
105 1 Write1302(DS1302_DAY, 0x10);
106 1 Write1302(DS1302_MONTH, 0x08);
107 1 Write1302(DS1302_YEAR, 0x07);
108 1 /********************************************/
109 1
110 1 while(1)
111 1 {
112 2 DS1302_GetTime(&RTC);
113 2 DateToStr(&RTC);
114 2 TimeToStr(&RTC);
115 2 //lcd_put_xyns(6,1,8,RTC.DateString);
116 2 lcd_put_xyns(1,2,8,RTC.TimeString);
117 2
C51 COMPILER V8.02 MAIN 08/15/2007 15:49:18 PAGE 3
118 2 if(!KEY0)
119 2 {
120 3 DACD+=10;
121 3 put5615_data(DACD);//DAC输出
122 3 }
123 2
124 2 V = get1549_data();//读ADC
125 2 V = V/200;
126 2 sprintf(str_buff,"%3.2f",V);//格式转换
127 2 lcd_put_xyns(16,2,1,"V");
128 2 lcd_put_xyns(12,2,4,str_buff);
129 2
130 2 seg7_disp(irm_code); //数码管显示红外按键解码值
131 2 uart_put_uchar(irm_code);//串口发送红外解码值
132 2
133 2 temp = uart_get_uchar();//此函数为查询模式,要是串口没有数据发送,程序会停在此处
134 2
135 2 delay_ms(100);
136 2 }
137 1 }
138
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 3063 ----
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 + -