📄 w002.lst
字号:
C51 COMPILER V8.02 W002 06/07/2007 21:39:30 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE W002
OBJECT MODULE PLACED IN w002.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil\C51\BIN\C51.EXE w002.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*******************************************************************************
2 * 实验名称: 单片机模拟警报声 *
3 /*******************************************************************************
4 * 实验描述:蜂鸣器发出警报声 *
5 * 实验说明: P1.4为蜂鸣器控制口,高电平时蜂鸣器响 *
6 * *
7 *******************************************************************************/
8
9 #include <reg51.h>
10 #include <intrins.h>
11
12 sbit BELL = P1^4; //P1.4为蜂鸣器控制口,为高电平时蜂鸣器响
13
14 unsigned char frq; //声音频率
15
16 void delayms(unsigned char ms); //延时函数声明
17
18 main()
19 {
20 1 TMOD = 0x01; //定时器/计数器工作方式控制寄存器(TMOD)设置 T0工作方式1 定时
21 1 frq = 0x00;
22 1 TH0 = 0x00; //设置定时器/计数器0(T0)初始值
23 1 TL0 = 0xff;
24 1 TR0 = 1; //开启定时器/计数器0(T0)
25 1 IE = 0x82; //开总中断和T0中断允许
26 1
27 1 while(1) //无条件循环
28 1 {
29 2 frq++;
30 2 delayms(1);//调用延时函数
31 2 }
32 1 }
33
34 void timer0() interrupt 1 using 1 //中断程序
35 {
36 1 TH0 = 0xfe; //定时器/计数器0初始值重装
37 1 TL0 = frq;
38 1 BELL = ~BELL; //P1.4电平取反
39 1 }
40
41 void delayms(unsigned char ms) //延时函数
42 {
43 1 unsigned char i;
44 1 while(ms--)
45 1 {
46 2 for(i = 0; i < 120; i++);
47 2 }
48 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 52 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
C51 COMPILER V8.02 W002 06/07/2007 21:39:30 PAGE 2
DATA SIZE = 1 ----
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 + -