📄 run.lst
字号:
C51 COMPILER V7.02b RUN 07/14/2007 19:17:45 PAGE 1
C51 COMPILER V7.02b, COMPILATION OF MODULE RUN
OBJECT MODULE PLACED IN run.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE run.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #define uchar unsigned char
2 #define uint unsigned int
3 #define ulong unsigned long
4 #include <reg52.h>
5 sbit P00 = P0^0; //控制电机
6 sbit K1= P3^5; //按键
7 uchar scale;//用于保存占空比的输出0的时间份额,总共10份
8 //模拟PWM输出控制10个等级
9 void main(void) // 主程序
10 {
11 1 uint n;
12 1 RCAP2H =0xF3; //赋T2的预置值,溢出1次是1/1200秒钟
13 1 RCAP2L =0x98;
14 1 TR2=1; //启动定时器
15 1 ET2=1; //打开定时器2中断
16 1 EA=1; //打开总中断
17 1 while(1) //程序循环
18 1 { ;
19 2 for(n=0;n<50000;n++); //每过一会儿就自动加一个档次的亮度
20 2 scale++;
21 2 if(scale==10)scale=0;
22 2 }
23 1 }
24 //1/1200秒定时器2中断
25 timer2() interrupt 5
26 {
27 1 static uchar tt; //tt用来保存当前时间在一秒中的比例位置
28 1 TF2=0;
29 1 tt++;
30 1 if(tt==10) //每1/120秒整开始输出低电平
31 1 {
32 2 tt=0;
33 2 if(scale!=0)
34 2 P00=0;
35 2 }
36 1 if(scale==tt) //按照当前占空比切换输出高电平
37 1 P00=1;
38 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 83 ----
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 + -