📄 main.lst
字号:
C51 COMPILER V8.08 MAIN 04/10/2008 10:07:12 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "music.h"
2 #include "head.h"
3
4 #define MU_O P2_6 //音乐从P2.6口输出
5
6 /* 歌曲曲谱 - 虹彩妹妹 */
7 const uint HCMM[] = //定义数组"常量"-----音调(频率)
8 {
9 _LA, _SO, _MI, _LA, _SO, _MI,
10 _LA, _LA, _SO, _LA,
11 _LA, _SO, _MI, _LA, _SO, _MI,
12 _RE, _RE, _DO, _RE,
13 _MI, _MI, _SO, _LA, _DO1, _LA, _SO,
14 _MI, _MI, _SO, _DO,
15 _MI, _MI, _MI, _MI, _MI,
16 _1LA,_1LA,_1SO,_1LA,
17 };
18
19 /* 歌曲节拍 */
20 const uchar HCMM_L[] = //定义数组"常量"-----节拍(延时时间)
21 {
22 _4, _8, _8, _4, _8, _8,
23 _8, _4, _8, _2,
24 _4, _8, _8, _4, _8, _8,
25 _8, _4, _8, _2,
26 _4, _8, _8, _8, _8, _8, _8,
27 _8, _4, _8, _2,
28 _4, _4, _4, _8, _8,
29 _8, _4, _8, _2,
30 };
31
32
33 void Timer0_int( void ) interrupt 1
34 {
35 1
36 1 static xdata uint Count = 0; //为什么要定义成static??????????????
37 1 static xdata uint add = 0; // xdata------外部数据存储器???????????????????
38 1
39 1
40 1 if(add >= (HCMM_L[Count]*100))
41 1 {
42 2 Count++;
43 2 if(Count >= sizeof(HCMM)) Count = 0;
44 2 add = 0;
45 2 }
46 1
47 1 add++;
48 1
49 1 MU_O ^= 1;
50 1
51 1 TH0 = 0xFF - HCMM[Count]/256; //0.01ms定时器
52 1 TL0 = 0xff - HCMM[Count]%256;
53 1
54 1 }
55
C51 COMPILER V8.08 MAIN 04/10/2008 10:07:12 PAGE 2
56
57 /*
58 *********************************************************************************************************
59 ** 函数名称 :main()
60 ** 函数功能 :PWM音乐输出实验。
61 ** 调试说明 :需要将music.h包含进来。
62 *********************************************************************************************************
63 */
64 void main (void)
65 {
66 1 TMOD = 0x21; //定时器1 定时方式2 0010 0001
67 1 ET0=1; // 开定时器0中断
68 1 TR0=1; // 启动定时器0
69 1
70 1 TH0 = 0xFF; //置入初值:0.1ms定时器
71 1 TL0 = 0x7A;
72 1
73 1 TI = 1;
74 1 TR1 = 1; //启动定时器
75 1 EA = 1;
76 1 P3_5 = 0;
77 1 MU_O = 1;
78 1 while(1) //等待!!!!!!!!!!!!!!!!!
79 1 {
80 2 ;
81 2 }
82 1
83 1 }
84
85 /*********************************************************************************************************
86 ** End Of File
87 ********************************************************************************************************/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 183 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 4 ----
PDATA SIZE = ---- ----
DATA SIZE = 120 ----
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 + -