📄 lm386.lst
字号:
C51 COMPILER V7.20 LM386 03/24/2007 01:10:28 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE LM386
OBJECT MODULE PLACED IN LM386.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE LM386.C BROWSE DEBUG OBJECTEXTEND
line level source
1 /*****************************************************************************
2 MCU8051学习板演示程序
3
4 (c) Copyright 2007-2007,广州恒芯电子
5 All Rights Reserved
6 *****************************************************************************/
7
8 /*****************************************************************************
9 程序说明
10 名称: MCU8051学习板演示程序(LM386测试)
11 功能: 发出报警声
12 版本:2007-03-01
13 *****************************************************************************/
14
15 /*****************************************************************************
16 硬件说明
17 单片机: 兼容MCS-51单片机/STC89C51
18 晶振频率: 12MHz
19 *****************************************************************************/
20
21 #include "regx52.h"
22
23 /****************************************************************************
24 说明: 程序预定义
25 *****************************************************************************/
26 #define LM386_DATA P3_7/*LM386输出端*/
27
28 void Bell();/*发出报警声*/
29
30 /****************************************************************************
31 名称: Delay
32 说明: 程序延时
33 参数: 无
34 返回: 无
35 *****************************************************************************/
36 void Delay();
37
38 unsigned char m_ucTH;
39 unsigned char m_ucTL;
40
41 /*****************************************************************************
42 程序开始
43 *****************************************************************************/
44 void main()
45 {
46 1 static unsigned char a=0;
47 1
48 1 /*T0中断设定*/
49 1 TMOD=0x01;/*使用T0:GATE=0,C/T=0(定时),M1 M0=01(工作方式1)*/
50 1 ET0=1;/*允许T0中断*/
51 1 TR0=1;/*使T0工作*/
52 1 EA=1;/*总中断开启*/
53 1
54 1 while(1)
55 1 {
C51 COMPILER V7.20 LM386 03/24/2007 01:10:28 PAGE 2
56 2 a=1-a;
57 2 if(a)
58 2 {
59 3 m_ucTH=0xff;/*输出5K*/
60 3 m_ucTL=0x38;
61 3 }
62 2 else
63 2 {
64 3 m_ucTH=0xfc;/*输出1K*/
65 3 m_ucTL=0x38;
66 3
67 3 }
68 2
69 2 Delay();
70 2 Delay();
71 2 }
72 1 }
73
74 /*****************************************************************************
75 名称: Interrupt1Handler
76 说明: T0中断入口
77 参数: 无
78 返回 :无
79 *****************************************************************************/
80 void Interrupt1Handler() interrupt 1
81 {
82 1 Bell();/*发出报警声*/
83 1
84 1 TH0=m_ucTH;/*重新设置T0定时值*/
85 1 TL0=m_ucTL;
86 1 }
87
88 /****************************************************************************
89 名称: Bell
90 说明: 发出报警声
91 参数: 无
92 返回: 无
93 *****************************************************************************/
94 void Bell()
95 {
96 1 static unsigned char a=0;
97 1
98 1 a=1-a;
99 1 if(a)/*LM386输出端取反*/
100 1 {
101 2 LM386_DATA=1;
102 2 }
103 1 else
104 1 {
105 2 LM386_DATA=0;
106 2 }
107 1
108 1 }
109
110 /****************************************************************************
111 名称: Delay
112 说明: 程序延时
113 参数: 无
114 返回: 无
115 *****************************************************************************/
116 void Delay()
117 {
C51 COMPILER V7.20 LM386 03/24/2007 01:10:28 PAGE 3
118 1 static unsigned char a,b;
119 1
120 1 for(a=0;a<255;a++)
121 1 for(b=0;b<255;b++);
122 1 }
123
124
125
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 138 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 6 ----
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 + -