📄 main.lst
字号:
C51 COMPILER V8.05a MAIN 05/26/2008 11:05:26 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*******************************************************************************************************
2 File name: banlance demo // 文件名
3 Author: xcwy // 作者
4 Version: 2.0 // 版本
5 Date: 2008年5月 // 完成日期
6 MCU: AT89S52 // 单片机型号
7 11.0592M // 单片机使用的晶体频率
8 keilc v3.05c // 软件开发环境
9 Description: 本程序是深圳市天微电子有限公司电子秤延时程序,采用C语言编写
10 1.本程序使用TM7705(TM7715,TM7714)测试重量并通过LED,lcd显示出来
11 // 用于详细说明此程序文件完成的主要功能,与其他模块
12 // 或函数的接口,输出值、取值范围、含义及参数间的控
13 // 制、顺序、独立或依赖等关系
14 Others: 本程序为深圳市天微电子有限公司自主开发,任何个人或企业不得抄袭或者转载
15 // 其它内容的说明
16 Function List:
17 // 主要函数列表,每条记录应包括函数名及功能简要说明
18
19 History: // 修改历史记录列表,每条修改记录应包括修改日期、修改
20 // 作者及修改内容简述
21 1. Date: 2008年5月17日
22 Author: xcwy
23 Modification:
24 1)只称重,并显示物体的重量
25 *******************************************************************************************************/
26 #include<def.h>
27 #if board==finishboard
#include<eeprom.h> //读写EEPROM
#include<keyscan.h> //按键扫描
#include<intt.h> //T0中断处理
#endif
32 uchar bdata configbyte;
33 sbit adcbit0=configbyte^0;
34 sbit adcbit1=configbyte^1;
35 sbit disbit=configbyte^2;
36 sbit keybit=configbyte^3; //为0则用MCU扫描,否则用LED驱动芯片扫描
37 //------------------------------------------初始化-------------------------------------------------
38 void init()
39 {
40 1 //初始化端口
41 1 P0=0XFF;
42 1 P1=0XFF;
43 1 P2=0XFF;
44 1 P3=0XFF;
45 1 }
46 //-------------------------------------------配置程序----------------------------------------------
47 void configprom()
48 {
49 1 uchar configres=0; //低4为选择显示板,高4为选择ADC,默认选择TM7705+LED显示板
50 1 //显示板的配置
51 1 LED=1;
52 1 _nop_();
53 1 _nop_();
54 1 if(LED==1)
55 1 {
C51 COMPILER V8.05a MAIN 05/26/2008 11:05:26 PAGE 2
56 2 disbit=1; //外接LED显示板
57 2 keybit=1;
58 2 }
59 1 else
60 1 {
61 2 disbit=0; //外接LCD显示板
62 2 keybit=0;
63 2 }
64 1
65 1 //ADC的配置
66 1 #if tm7707
67 1 {
68 2 //已经选定了ADC为TM7707
69 2 adcbit1=1;
70 2 }
71 1 #else
{
adcbit1=0;
SET=1;
_nop_();
_nop_();
if(SET==1)
{
adcbit0=0; //选择TM7705
}
else
{
adcbit0=1; //选择TM7715
}
}
#endif
87 1 }
88 //------------------------------------------主程序-------------------------------------------------
89 void main()
90 {
91 1 // uint uartdatah,uartdatal;
92 1 init();
93 1 adcdata_int=0;
94 1 adcdata_mea=0;
95 1 weight=0;
96 1 price=0;
97 1 money=0;
98 1 // uartinit();
99 1 #ifdef ONKEYSCAN
store_cyc=0;
point_cyc=0;
#endif
103 1 configbyte=0; //配置寄存器初始化
104 1 configprom(); //调用配置程序
105 1 adcinit(); //调用ADC初始化
106 1 discheck(); //调用显示自检程序
107 1 LED=0;
108 1 #ifdef ONINTT_T0
//配置T0,定时20mS
IE=0x82; //开全局中断,开T0中断,禁止其他中断
TMOD=0x11; //选择T0的方式1
TCON=0x00;
TH0=0xb8;
TL0=0x00; //设置定时器的初值
TR0=1; //启动T0
#endif
117 1 while(1)
C51 COMPILER V8.05a MAIN 05/26/2008 11:05:26 PAGE 3
118 1 {
119 2 LED=0;
120 2 adcdata_mea=adccon(); //调用AD转换程序,得到称重物体的重量
121 2 // uartdatah=adcdata_mea/65536;
122 2 // uartdatal=adcdata_mea%65536;
123 2 // printf("%x%x%x%x\n",0x78,uartdatah,uartdatal,0x79);
124 2 datamanage(); //数据采集结束做数据处理
125 2 ser_display_a(); //调用显示程序
126 2 }
127 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 114 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 1
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -