jinazaguan.lst
来自「晶杂管倒通角的控制!希望能给大家提供帮助!」· LST 代码 · 共 97 行
LST
97 行
C51 COMPILER V7.06 JINAZAGUAN 08/23/2007 09:38:39 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE JINAZAGUAN
OBJECT MODULE PLACED IN jinazaguan.OBJ
COMPILER INVOKED BY: E:\单片机\kcai\安装后\C51\BIN\C51.EXE jinazaguan.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include<reg52.h>
2 #define uint unsigned int
3 #define uchar unsigned char
4 uint DTJ=5000;//倒通脚的倒通的时间 5ms< t <9.5ms
5 uint add_j,dec_j; //加减变量
6 uchar start;
7 sbit P20=P2^0;//灯亮,灯灭
8 sbit add=P1^0;
9 sbit dec=P1^1;
10
11 void key(void)
12 {
13 1 if((add==0)&&(DTJ<9500)){add_j++;
14 2 if(add_j==10) DTJ=DTJ+100;
15 2 if(add_j>500){DTJ=DTJ+100;add_j=450;}
16 2 }
17 1 else add_j=0;
18 1 if((dec==0)&&(DTJ>500)){dec_j++;
19 2 if(dec_j==10) DTJ=DTJ-100;
20 2 if(dec_j>500){DTJ=DTJ-100;dec_j=450;}
21 2 }
22 1 else dec_j=0;
23 1 }
24
25 void delay1ms(uint k)//延时1MS
26 {
27 1 k=k*125;
28 1 while(k--);
29 1 }
30
31 void main(void)
32 {
33 1 P1=0xff;
34 1 P2=0xff;
35 1 P3=0xff;
36 1 TMOD=0x01; //定时器工作方式0
37 1 EA=1;
38 1 EX0=1;
39 1 IT0=1; //允许外部中断,下降沿中断
40 1 ET0=1; //允许定时器0中断
41 1
42 1 while(1)
43 1 {
44 2 key();
45 2 delay1ms(2);
46 2 }
47 1 }
48
49 void int0(void) interrupt 0
50 {
51 1 P20=1;//灯灭
52 1 TH0=(65536-300)/256; //开始定时0.3ms
53 1 TL0=(65536-300)%256;
54 1 TR0=1;
55 1 start=0;
C51 COMPILER V7.06 JINAZAGUAN 08/23/2007 09:38:39 PAGE 2
56 1 }
57
58 void time0(void) interrupt 1
59 {
60 1 if(start==0){
61 2 P20=1; //灯灭
62 2 TH0=(65536-DTJ)/256;
63 2 TL0=(65536-DTJ)%256;
64 2 start=1;
65 2 }
66 1 else {
67 2 P20=0;
68 2 TR0=0;
69 2 start=0;
70 2 }
71 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 359 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 7 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?