📄 main.lst
字号:
C51 COMPILER V8.05a MAIN 08/08/2007 16:02:51 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE sources\main.c BROWSE INCDIR(.\include) DEBUG OBJECTEXTEND PRINT(.\main.lst
-) OBJECT(main.obj)
line level source
1 //*************************************************************************************************
2 //*************************************************************************************************
3 //**<程序名>:步进电机驱动 **
4 //**<功能>:通过电位器控制直流电机,并将点击状态显示在LCD上。 **
5 //**<版本说明>:这是第1.1版,目前只相当于一个电压表,只是一个程序框架。 **
6 //**<作者>:程沛 **
7 //**<完成时间>:2007年8月8日 **
8 //**<联系方式>:superyongzhe@163.com **
9 //*************************************************************************************************
10 //*************************************************************************************************
11
12 //*************************************************************************************************
13 //* *
14 //* ******************************头文件及宏定义************************** *
15 //* *
16 //*************************************************************************************************
17 #include "includes.h"
18
19 #define TIME0H 0x3C
20 #define TIME0L 0xB0
21
22
23
24 //*************************************************************************************************
25 //* *
26 //* *******************************全局变量***************************** *
27 //* *
28 //*************************************************************************************************
29 unsigned char uc_Clock=0; //定时器0中断计数
30
31 bit b_DATransform=0;
32
33
34
35 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
36 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<把电压显示在LCD上>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
37 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
38 void vShowVoltage(unsigned int uiNumber)
39 {
40 1 unsigned char ucaNumber[3],ucCount;
41 1
42 1 if(uiNumber>999)
43 1 uiNumber=999;
44 1
45 1 ucaNumber[0]=uiNumber/100; //把计算数字的每个位存入数组。
46 1 ucaNumber[1]=(uiNumber-100*(int)ucaNumber[0])/10;
47 1 ucaNumber[2]=uiNumber-100*(int)ucaNumber[0]-10*ucaNumber[1];
48 1
49 1 for(ucCount=0;ucCount<3;ucCount++)
50 1 {
51 2 vShowOneChar(ucaNumber[ucCount]+48); //从首位到末位逐一输出。
52 2 if(ucCount==0)
53 2 vShowOneChar('.');
54 2 }
C51 COMPILER V8.05a MAIN 08/08/2007 16:02:51 PAGE 2
55 1
56 1 }
57
58 //*************************************************************************************************
59 //* *
60 //* ********************************主函数****************************** *
61 //* *
62 //*************************************************************************************************
63 void main()
64 {
65 1
66 1 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<设置定时器0>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
67 1 TMOD=0x01; //定时器0,模式1。
68 1 TH0=TIME0H;
69 1 TL0=TIME0L;
70 1 TR0=1; //启动定时器。
71 1 ET0=1; //开定时器中断。
72 1
73 1 EA=1; //开总中断
74 1
75 1
76 1
77 1 vdInitialize();
78 1
79 1 vWriteCMD(0x84); //写入显示起始地址(第二行第一个位置)
80 1
81 1 vShowChar("Voltage:");
82 1 vWriteCMD(0xC9);
83 1 vShowChar("(V)");
84 1
85 1
86 1 while(1)
87 1 {
88 2 if(b_DATransform==1)
89 2 {
90 3 b_DATransform=0;
91 3 vWriteCMD(0xC4);
92 3 vShowVoltage(uiADTransform());
93 3 }
94 2 }
95 1 }
96
97 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
98 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<定时器0中断函数>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
99 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
100 void Time0() interrupt 1
101 {
102 1 if(uc_Clock==0)
103 1 {
104 2 uc_Clock=5;
105 2 b_DATransform=1;
106 2 }
107 1 else
108 1 uc_Clock--;
109 1
110 1 TH0=TIME0H; //恢复定时器0。
111 1 TL0=TIME0L;
112 1 }
113
114
C51 COMPILER V8.05a MAIN 08/08/2007 16:02:51 PAGE 3
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 210 ----
CONSTANT SIZE = 13 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 4
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 + -