📄 text1.lst
字号:
C51 COMPILER V8.02 TEXT1 05/23/2008 22:44:24 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <at89x52.h>
2 #include <at24c256.h>
3 #include "led.h"
4 #include "key.h"
5 #define uchar unsigned char
6 #define uint unsigned int
7
8 main()
9 {
10 1 uchar key;
11 1 uchar v,tmp;
12 1 uint add;
13 1 add=read_24c256(10);
14 1 delay_ms(2);
15 1 v=read_24c256(add);
16 1 while(1)
17 1 {
18 2 led_display(v);
19 2 pos_display(add);
20 2 tmp=v;
21 2 P1=v;
22 2 P2=0x0f;
23 2 delay_ms(5);
24 2 if(P2!=0x0f)
25 2 while(1)
26 2 {
27 3 if(add==10)add=0;
28 3 else if(add==0)add=10;
29 3 do
30 3 {
31 4 key=getch();
32 4 led_display(v);
33 4 pos_display(add+1);
34 4 }while(key>8);
35 3 delay_ms(100);
36 3
37 3 switch(key)
38 3 {
39 4 case 0:v+=10;break; //+1V
40 4 case 1:v-=10;break; //-1V
41 4 case 2:v+=1;break; //+0.1V
42 4 case 3:v-=1;break; //-0.1V
43 4 case 4:v=read_24c256(add++);break; //next
44 4 case 5:v=read_24c256(add--);break; //previous
45 4 case 6:write_24c256(0,add);delay_ms(5);break; //delete
46 4 case 7:{for(add=0;add<10;add++)
47 5 {write_24c256(0,add); //clear
48 6 delay_ms(5);}
49 5 add=0;
50 5 write_24c256(0,0);
51 5 v=0;
52 5 break;}
53 4 default:break;
54 4 }
55 3
C51 COMPILER V8.02 TEXT1 05/23/2008 22:44:24 PAGE 2
56 3 if(key==8) //confirm
57 3 {
58 4 if(v!=tmp)
59 4 {
60 5 write_24c256(v,add);
61 5 delay_ms(5);
62 5 write_24c256(add,10);
63 5 add++;
64 5 delay_ms(5);
65 5 }
66 4 break;
67 4 }
68 3
69 3 }
70 2
71 2 }
72 1 }
73
74 /*
75 uchar sin_data[256]={0x80,0x83,0x86,0x89,0x8c,0x8f,0x92,0x95,0x98,0x9c,0x9f,0xa2,0xa5,0xa8,
76 0xab,0xae,0xb0,0xb3,0xb6,0xb9,0xbc,0xbf,0xc1,0xc4,0xc7,0xc9,0xcc,0xce,0xd1,0xd3,0xd5,
77 0xd8,0xda,0xdc,0xde,0xe0,0xe2,0xe4,0xe6,0xe8,0xea,0xec,0xed,0xef,0xf0,0xf2,0xf3,0xf4,
78 0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfc,0xfd,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,
79 0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfd,0xfc,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,
80 0xf3,0xf2,0xf0,0xef,0xed,0xec,0xea,0xe8,0xe6,0xe4,0xe3,0xe1,0xde,0xdc,0xda,0xd8,0xd6,
81 0xd3,0xd1,0xce,0xcc,0xc9,0xc7,0xc4,0xc1,0xbf,0xbc,0xb9,0xb6,0xb4,0xb1,0xae,0xab,0xa8,
82 0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x92,0x8f,0x8c,0x89,0x86,0x83,0x80,0x7d,0x79,0x76,0x73,
83 0x70,0x6d,0x6a,0x67,0x64,0x61,0x5e,0x5b,0x58,0x55,0x52,0x4f,0x4c,0x49,0x46,0x43,0x41,
84 0x3e,0x3b,0x39,0x36,0x33,0x31,0x2e,0x2c,0x2a,0x27,0x25,0x23,0x21,0x1f,0x1d,0x1b,0x19,
85 0x17,0x15,0x14,0x12,0x10,0xf,0xd,0xc,0xb,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x3,0x2,0x1,0x1,
86 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x2,0x3,0x3,0x4,0x5,0x6,0x7,0x8,
87 0x9,0xa,0xc,0xd,0xe,0x10,0x12,0x13,0x15,0x17,0x18,0x1a,0x1c,0x1e,0x20,0x23,0x25,0x27,
88 0x29,0x2c,0x2e,0x30,0x33,0x35,0x38,0x3b,0x3d,0x40,0x43,0x46,0x48,0x4b,0x4e,0x51,0x54,
89 0x57,0x5a,0x5d,0x60,0x63,0x66,0x69,0x6c,0x6f,0x73,0x76,0x79,0x7c};//正弦码表,可通过SIN()函数获得
90
91 /**********************************************
92 输出数据到端口(注意考虑延时)
93 **********************************************/
94 /*void conversion(unsigned char out_data)
95 {
96 P1=out_data; //输出数据
97 delay_ms(1); //延时等待转换
98 }
99 /************************************************
100 产生正弦波函数
101 ************************************************/
102 /*void sin(void)
103 {
104 unsigned char i;
105 for(i=0;i<255;i++)
106 {
107 conversion(sin_data[i]);
108 }
109 }
110 /***********************************************
111 产生锯齿波(下降型)
112 ***********************************************/
113 /*void saw(void)
114 {
115 unsigned char j;
116 for(j=0;j<255;j++)
117 conversion(j);
C51 COMPILER V8.02 TEXT1 05/23/2008 22:44:24 PAGE 3
118 }
119 /***********************************************
120 产生方波(脉冲)
121 ***********************************************/
122 /*void pulse(void)
123 {
124 conversion(0xff);
125 delay_ms(1);
126 conversion(0x00);
127 delay_ms(1);
128 }
129 /***********************************************
130 产生三角波
131 ***********************************************/
132 /*void triangle(void)
133 {
134 uchar k;
135 for(k=0;k<255;k++)
136 conversion(k);
137 for(k=255;k>0;k--)
138 conversion(k);
139 }
140
141 main()
142 {
143 while(1)
144 saw();
145 }
146 */
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1004 ----
CONSTANT SIZE = 18 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 15
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 + -