📄 直流电机.lst
字号:
C51 COMPILER V6.12 ___鱛缁_ 01/03/2010 16:01:47 PAGE 1
C51 COMPILER V6.12, COMPILATION OF MODULE ___鱛缁_
OBJECT MODULE PLACED IN .\直流电机.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE .\直流电机.c DEBUG OBJECTEXTEND
stmt level source
1 #include<reg52.h>
2 #define uint unsigned int
3 #define uchar unsigned char
4 sbit dianji=P1^7;
5 sbit zen=P1^0;
6 sbit jian=P1^1;
7 uchar table[]={0xc0,0xf9,0xa4,0xb0,
8 0x99,0x92,0x82,0xf8,
9 0x80,0x90,0x88,0x83,
10 0xc6,0xa1,0x86,0x8e};//数码管对应显示0123456789abcdef
11 int num;
12 void delay(uint z) //延时子函数
13 {
14 1 uint x,y;
15 1 for(x=z;x>0;x--)
16 1 for(y=110;y>0;y--);
17 1 }
18 void key() //按键扫描函数
19 {
20 1 if(zen==0)
21 1 {
22 2 delay(5);
23 2 if(zen==0)
24 2 {
25 3 num++;
26 3 if(num==5)
27 3 num=4;
28 3 }
29 2 while(!zen);
30 2 }
31 1 if(jian==0)
32 1 {
33 2 delay(5);
34 2 if(jian==0)
35 2 {
36 3 num--;
37 3 if(num==-1)
38 3 num=0;
39 3 }
40 2 while(!jian);
41 2 }
42 1 }
43 void display(int x) //显示函数
44 {
45 1 if(x==0)
46 1 P2=0;
47 1 else if(x==1)
48 1 {
49 2 P2=0x01;
50 2 P0=table[1];
51 2 delay(5);
52 2 }
53 1 else if(x==2)
54 1 {
55 2 P2=0x02;
C51 COMPILER V6.12 ___鱛缁_ 01/03/2010 16:01:47 PAGE 2
56 2 P0=table[2];
57 2 delay(5);
58 2 }
59 1 else if(x==3)
60 1 {
61 2 P2=0x04;
62 2 P0=table[3];
63 2 delay(5);
64 2 }
65 1 else
66 1 {
67 2 P2=0x08;
68 2 P0=table[4];
69 2 delay(5);
70 2 }
71 1 }
72 void main()
73 {
74 1 int di,gao;
75 1 num=0;
76 1 while(1)
77 1 {
78 2 for(di=4-num;di>0;di--)
79 2 {
80 3 dianji=0;
81 3 display(num);
82 3 key();
83 3 }
84 2 for(gao=num;gao>0;gao--)
85 2 {
86 3 dianji=1;
87 3 display(num);
88 3 key();
89 3 }
90 2 }
91 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 262 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 18 4
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 + -