?? chengxu.lst
字號:
C51 COMPILER V9.00 CHENGXU 12/28/2012 00:46:25 PAGE 1
C51 COMPILER V9.00, COMPILATION OF MODULE CHENGXU
OBJECT MODULE PLACED IN chengxu.OBJ
COMPILER INVOKED BY: D:\keil2\C51\BIN\C51.EXE chengxu.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /********************************************************************
2 匯誠科技
3
4 實現功能:此版配套測試程序
5 使用芯片:STC12C2052AD
6 晶振:11.0592MHZ
7 波特率:9600
8 編譯環境:Keil
9 作者:yang
10 QQ:790244909
11 網站:www.ourhc.cn
12 淘寶店:匯誠科技 華龍電子直銷:http://hlelectrony.taobao.com
13 【聲明】此程序僅用于學習與參考,引用請注明版權和作者信息!
14 /********************************************************************
15
16 ********************************************************************/
17
18
19 #include<STC12C5A60S2.H> //庫文件
20 #include <intrins.h>
21 #define uchar unsigned char//宏定義無符號字符型
22 #define uint unsigned int //宏定義無符號整型
23
24 #define DUAN P2 //P0口控制段
25 #define WEI P1 //P2口控制位
26
27
28 /********************************************************************
29 初始定義
30 *********************************************************************/
31 code uchar seg7code[11]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0XBF}; //顯示段碼 數碼管字跟
32 sbit wei1=P1^0;
33 sbit wei2=P1^1;
34 sbit wei3=P1^2;
35 sbit wei4=P1^3; //位的控制端
36 uchar numb[4]; //定義字符串
37 sbit jdq=P3^7;
38 sbit key1=P3^2;
39 sbit key2=P3^3;
40 sbit key3=P3^4;
41
42 sbit IN0=P1^6;
43 sbit IN1=P1^7;
44 uchar timesnum;
45 uchar keynum=1;
46 bit flag=0;
47 /********************************************************************
48 延時函數
49 *********************************************************************/
50 void delay(uchar x)//延時程序 0.1秒
51 {
52 1 uchar m,n,s;
53 1 for(m=x;m>0;m--)
54 1 for(n=20;n>0;n--)
55 1 for(s=248;s>0;s--);
C51 COMPILER V9.00 CHENGXU 12/28/2012 00:46:25 PAGE 2
56 1 }
57 /********************************************************************
58 求值函數
59 *********************************************************************/
60 void t_to_dis()
61 {
62 1 numb[0]=0; //顯示千位
63 1 numb[1]=keynum/100; //顯示百位
64 1 numb[2]=keynum%100/10; //顯示十位
65 1 numb[3]=keynum%10; //顯示個位
66 1 }
67
68 /********************************************************************
69 顯示函數
70 *********************************************************************/
71 void display() //顯示函數
72 {
73 1 WEI&=0XF0;
74 1 DUAN=seg7code[numb[0]];
75 1 wei1=1;
76 1 delay(2);
77 1
78 1 WEI&=0XF0;
79 1 DUAN=seg7code[numb[1]];
80 1 wei2=1;
81 1 delay(2);
82 1
83 1 WEI&=0XF0;
84 1 DUAN=seg7code[numb[2]];
85 1 wei3=1;
86 1 delay(2);
87 1
88 1 WEI&=0XF0;
89 1 DUAN=seg7code[numb[3]];
90 1 wei4=1;
91 1 delay(2);
92 1 WEI&=0XF0;
93 1 }
94
95
96 void init_all(void)
97 {
98 1 P2M1=0;
99 1 P2M0=0xff;
100 1 P1M1=0;
101 1 P1M0=0x0f;
102 1 P3M1&=0x7f;
103 1 P3M0|=0x80;
104 1
105 1
106 1 }
107 void key_scan(void)
108 {
109 1 if(key1==0) //增加次數
110 1 {
111 2 delay(5);
112 2 if(key1==0)
113 2 {
114 3 while(!key1);
115 3 keynum++; //keynum=0為模式0,繼電器吸合300ms ,keynum=1繼電器吸合12s
116 3 if(keynum>=100)
117 3 keynum=100;
C51 COMPILER V9.00 CHENGXU 12/28/2012 00:46:25 PAGE 3
118 3 }
119 2 }
120 1
121 1 if(key2==0) //按鍵掃描,key2按下模式變化一次
122 1 {
123 2 delay(5);
124 2 if(key2==0)
125 2 {
126 3 while(!key2);
127 3 keynum--; //減小次數
128 3 if(keynum==0||keynum>=120)
129 3 keynum=0;
130 3
131 3 }
132 2 }
133 1
134 1
135 1
136 1 }
137 /********************************************************************
138 主函數
139 *********************************************************************/
140 void main()
141 {
142 1 init_all(); //初始化IO
143 1 IN0=IN1=1;
144 1 jdq=0;
145 1 while(1)
146 1 {
147 2 t_to_dis(); //數值變換
148 2 display(); //顯示函數
149 2 key_scan();
150 2 if(IN1==0&&flag==0) //按鍵掃描,key2按下模式變化一次
151 2 {
152 3 delay(5);
153 3 if(IN1==0)
154 3 {
155 4 while(!IN1);
156 4 jdq=!jdq;
157 4 flag=1;
158 4 }
159 3 }
160 2 if(flag==1&&IN0==0)
161 2 {
162 3 delay(5);
163 3 if(IN0==0)
164 3 {
165 4 while(!IN0);
166 4 timesnum++;
167 4 if(timesnum>=keynum)
168 4 {
169 5 timesnum=0;
170 5 jdq=!jdq;
171 5 }
172 4 }
173 3 }
174 2 }
175 1 }
176
177 /********************************************************************
178 結束
179 *********************************************************************/
C51 COMPILER V9.00 CHENGXU 12/28/2012 00:46:25 PAGE 4
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 265 ----
CONSTANT SIZE = 11 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 6 ----
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 + -