?? pwm調led燈.lst
字號:
C51 COMPILER V7.50 PWM礯LED燈 08/08/2008 09:24:26 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE PWM礯LED燈
OBJECT MODULE PLACED IN PWM調LED燈.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE PWM調LED燈.C BROWSE DEBUG OBJECTEXTEND
line level source
1 /***********************************************************************************/
2 /* 程序名:PWM調LED燈亮暗 */
3 /* */
4 /* 晶振:12.0 M CPU型號:AT89S52 */
5 /* */
-
6 /* */
7 /* 功能描述: 將實驗板上的J12的跳線帽插上! */
8 /* */
9 /* */
10 /* 網址:http://www.mcu-arm.cn */
11 /* 郵箱:mcu-arm2007@163.com
12 /* QQ技術群:2056101 */
13 /* */
14 /* */
15 /* 創靈電子工作室 版權所有 */
-
16 /* 2007-12-20 */
17 /************************************************************************************/
18 #include <reg52.h>
19
20 #define uchar unsigned char
21 #define uint unsigned int
22 #define HI 0xf3 //定時器2的初值
23 #define LO 0x98
24 sbit D4=P1^4;
25 sbit P1_3 = P1^3;
26 sbit KEY = P3^4;
27
28 uchar Count; // 用于保存占空比中輸出0的時間份額,總共10份
29
30 /********************************************************************************************
31 * 函數名稱:Delay()
32 * 功 能:軟件延時
33 * 入口參數:無符號的整型變量
34 * 出口參數:無
35 *********************************************************************************************/
36 void Delay(uint t)
37 {
38 1 uchar i ;
39 1 while(t--)
40 1 {
41 2 for(i = 0;i <125;i++)
42 2 {;}
43 2 }
44 1 }
45 /********************************************************************************************
46 * 函數名稱:Timer2Init()
47 * 功 能:定時器初始化程序
48 * 入口參數:無
49 * 出口參數:無
50 *********************************************************************************************/
51 void Timer2Init(void) //初始化定時器2程序
52 {
53 1 TH0=(65536-50)/256;
C51 COMPILER V7.50 PWM礯LED燈 08/08/2008 09:24:26 PAGE 2
54 1 TL0=(65536-50)%256;
55 1 TR0=1; // 啟動定時器2
56 1 ET0=1; // 打開定時器2中斷
57 1 EA=1;
58 1 }
59 /********************************************************************************************
60 * 函數名稱:Timer2()
61 * 功 能:定時器2中斷程序
62 * 入口參數:無
63 * 出口參數:無
64 *********************************************************************************************/
65 void Time2() interrupt 1
66 { static uchar time;
67 1 TH0=(65536-50)/256;
68 1 TL0=(65536-50)%256;
69 1
70 1
71 1
72 1 time++;
73 1 if(time == 10)
74 1 {
75 2 time = 0;
76 2 if(Count != 0)
77 2 P1 = 0;
78 2 }
79 1 if(Count == time)
80 1 P1 = 0xff;
81 1 }
82 /********************************************************************************************
83 * 函數名稱:main()
84 * 功 能:主函數
85 * 入口參數:無
86 * 出口參數:無
87 *********************************************************************************************/
88 void main(void)
89 {
90 1 Timer2Init();
91 1
92 1 while(1)
93 1 {
94 2 if(KEY == 0)
95 2 {
96 3 Delay(10);
97 3 while(!KEY); //另一種鍵盤去抖動的方法
98 3 Count++;
99 3 if(Count == 10)
100 3 {
101 4 Count = 0;
102 4 }
103 3 }
104 2 }
105 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 103 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
C51 COMPILER V7.50 PWM礯LED燈 08/08/2008 09:24:26 PAGE 3
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -