📄 pwm.lst
字号:
C51 COMPILER V8.08 PWM 10/24/2007 15:31:08 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE PWM
OBJECT MODULE PLACED IN PWM.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE PWM.c BROWSE DEBUG OBJECTEXTEND
line level source
1
2 #include "STK6031.h"
3
4 //********************************************************************************
5 //定义数据类型
6 typedef unsigned char uint8;
7 typedef unsigned int uint16;
8
9
10 /*
11 ********************************************************************************
12 * 函 数 名:InitMCU
13 * 功能描述:初始化MCU,其中包括初始化各I/O口,CHIPCON,
14 CKCON,选择I/O口的功能
15 * 输 入: 无
16 * 返 回: 无
17 ********************************************************************************
18 */
19
20 void InitMcu(void)
21 {
22 1 P0 = 0xFF; //初始化各I/O 口
23 1 P1 = 0xFF;
24 1 P2 = 0xFF;
25 1 P3 = 0xFF;
26 1 P4 = 0x0F;
27 1
28 1 XFR_PADOPT_PWM = 0x01; //设置P1.0 为PWM 输出
29 1
30 1 CHIPCON = 0x1A; // 设置CPUCLK=XTAL1/3,允许访问片内AUX 存储器,禁止ALE 输出,允许低电压复位
31 1 CKCON = 0x39; // 设置TIMER0,TIMER1,TIMER2 的计数频率为CPUCLK/4, 设置MOVX 指令访问外部AUX 存储器的时间为3
- 个机器周期
32 1 }
33
34
35 /*
36 ********************************************************************************
37 * 函 数 名: Delay
38 * 功能描述: 延时函数,延时的间隔是1ms
39 * 输 入: Time :控制延时的间隔
40 * 返 回: 无
41 ********************************************************************************
42 */
43 void Delay(uint8 Time)
44 {
45 1 uint8 i;
46 1
47 1 // 需要执行2000个指令周期
48 1 while(Time--)
49 1 {
50 2 i = 199;
51 2 while(i--); // 这一段将执行10个指令周期
-
- N
-
C51 COMPILER V8.08 PWM 10/24/2007 15:31:08 PAGE 2
-
- while(i--);
52 2 }
53 1 }
54
55
56 /*
57 ********************************************************************************
58 * 函 数 名: PWM0
59 * 功能描述: 脉冲宽度调制,这里以PWM0 为例
60 * 输 入: pwmvalue,脉冲宽度
61 * 返 回: 无
62 ********************************************************************************
63 */
64
65 void PWM0(uint8 pwmvalue)
66 {
67 1 XFR_PWMDA0 = pwmvalue; //设置P1.0 的脉冲宽度
68 1 }
69
70
71 void main(void)
72 {
73 1 InitMcu();
74 1 while(1)
75 1 {
76 2 PWM0(0xF0);
77 2 Delay(100);
78 2 PWM0(0x70);
79 2 Delay(100);
80 2 }
81 1 }
82
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 70 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -