📄 chengxu.lst
字号:
C51 COMPILER V8.05a CHENGXU 08/02/2010 15:34:30 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE CHENGXU
OBJECT MODULE PLACED IN chengxu.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE chengxu.c BROWSE DEBUG OBJECTEXTEND
line level source
1
2 /********************************************************
3
4 实现功能:电机正转5转,停3秒,再反转7转,停止,依次循环
5 使用芯片:AT89S52
6 晶振:11.0592MHZ
7 编译环境:Keil
8 作者:zhangxinchunleo
9 网站:www.ourhc.cn
10 淘宝店:汇诚科技 http://shop36330473.taobao.com
11
12 【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!
13 ********************************************************/
14 #include<reg52.h> //库文件
15 #define uchar unsigned char //字符型宏定义
16 #define uint unsigned int //整型宏定义
17
18 uint cnt=0; //设定转动脉冲数值
19 /********************************************************
20 控制位定义
21 ********************************************************/
22
23 sbit shi_neng=P1^0; // 使能控制位
24 sbit fang_shi=P1^1; // 工作方式控制位
25 sbit fang_xiang=P1^2;// 旋转方向控制位
26 sbit mai_chong=P1^3; // 脉冲控制位
27
28 sbit qi_dong=P2^0;//启动按键
29 sbit ting_zhi=P2^1;//停止按键
30 /********************************************************************
31 时间延时函数
32 *********************************************************************/
33 void Tdelay(uchar i)//延时程序
34 {
35 1 uchar m,n,s;
36 1 for(m=i;m>0;m--)
37 1 for(n=20;n>0;n--)
38 1 for(s=248;s>0;s--);
39 1 }
40 /********************************************************
41 脉冲延时函数
42 ********************************************************/
43 void Mdelay(uint y)//延时函数
44 {
45 1 uchar j,k;
46 1 for(j=0;j<y;j++)
47 1 for(k=0;k<250;k++);
48 1 }
49
50 /********************************************************
51 主函数
52 ********************************************************/
53
54 main()
55 {
C51 COMPILER V8.05a CHENGXU 08/02/2010 15:34:30 PAGE 2
56 1 shi_neng=0; // 使能控制位
57 1 fang_shi=1; // 工作方式控制
58 1 fang_xiang=1;// 控制方向为正转
59 1 mai_chong=1; // 脉冲控制位
60 1 cnt=800;
61 1 while(1)
62 1 {
63 2 if(qi_dong==0)
64 2 {
65 3 Mdelay(3);
66 3 while(!qi_dong)
67 3 {
68 4 while(1)
69 4 {
70 5 shi_neng=1;
71 5 fang_xiang=1;
72 5 cnt=4000;
73 5 while(cnt--)
74 5 {
75 6 mai_chong=~mai_chong; //输出时钟脉冲
76 6 Mdelay(3);
77 6 }
78 5
79 5 shi_neng=0;
80 5 Tdelay(300);//毫秒
81 5 shi_neng=1;
82 5 fang_xiang=0;
83 5 cnt=5600;
84 5 while(cnt--)
85 5 {
86 6 mai_chong=~mai_chong; //输出时钟脉冲
87 6 Mdelay(3);
88 6 }
89 5 shi_neng=0;
90 5 Tdelay(20);//毫秒
91 5 } }
92 3 }
93 2 }
94 1
95 1 }
96 /********************************************************
97 结束
98 ********************************************************/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 138 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 ----
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 + -