📄 main.lst
字号:
C51 COMPILER V8.06 MAIN 12/02/2011 19:24:11 PAGE 1
C51 COMPILER V8.06, 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 /**********************HL-1实验开发板例程************************
2 * 平台:HL-1 V6.2 + Keil U3 + STC89C52RD
3 * 名称:
4 * 公司:慧净电子科技有限公司
5 * 淘宝:http://shop37031453.taobao.com
6 * 网站:www.hlmcu.com
7 * 编写:慧净
8 * 日期:2008-8-08
9 * QQ : 121350852 398115088
10 * 晶振:11.0592MHZ
11 * 说明:免费开源,不提供源代码分析,有问题直接到慧净论坛交流
12 * 论坛:http://hjdz.5d6d.com
13 ******************************************************************/
14 //实验目的:流模拟消防车发声
15 #include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
16
17 sbit SPK=P2^3; //定义喇叭端口
18 unsigned char frq;
19
20 void DelayUs2x(unsigned char t);//函数声明
21 void DelayMs(unsigned char t);
22 /*------------------------------------------------
23 定时器初始化子程序
24 ------------------------------------------------*/
25 void Init_Timer0(void)
26 {
27 1 TMOD |= 0x01; //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响
28 1 //TH0=0x00; //给定初值
29 1 //TL0=0x00;
30 1 EA=1; //总中断打开
31 1 ET0=1; //定时器中断打开
32 1 TR0=1; //定时器开关打开
33 1 }
34 /*------------------------------------------------
35 主函数
36 ------------------------------------------------*/
37 main()
38 {
39 1 unsigned char i;
40 1 Init_Timer0(); //初始化定时器
41 1 while(1)
42 1 {
43 2 for(i=0;i<200;i++)
44 2 {
45 3 DelayMs(10); //延时10ms,累加频率值
46 3 frq=i;
47 3 }
48 2 for(i=200;i>0;i--)
49 2 {
50 3 DelayMs(10); //延时10ms,累减频率值
51 3 frq=i;
52 3 }
53 2
54 2 }
55 1 }
C51 COMPILER V8.06 MAIN 12/02/2011 19:24:11 PAGE 2
56 /*------------------------------------------------
57 uS延时函数,含有输入参数 unsigned char t,无返回值
58 unsigned char 是定义无符号字符变量,其值的范围是
59 0~255 这里使用晶振12M,精确延时请使用汇编,大致延时
60 长度如下 T=tx2+5 uS
61 ------------------------------------------------*/
62 void DelayUs2x(unsigned char t)
63 {
64 1 while(--t);
65 1 }
66 /*------------------------------------------------
67 mS延时函数,含有输入参数 unsigned char t,无返回值
68 unsigned char 是定义无符号字符变量,其值的范围是
69 0~255 这里使用晶振12M,精确延时请使用汇编
70 ------------------------------------------------*/
71 void DelayMs(unsigned char t)
72 {
73 1
74 1 while(t--)
75 1 {
76 2 //大致延时1mS
77 2 DelayUs2x(245);
78 2 DelayUs2x(245);
79 2 }
80 1 }/*------------------------------------------------
81 定时器中断子程序
82 ------------------------------------------------*/
83 void Timer0_isr(void) interrupt 1
84 {
85 1 TH0=0xfe; //重新赋值
86 1 TL0=frq; //低8位值在主程序中不断累加
87 1
88 1 SPK=!SPK; //端口电平取反
89 1
90 1 }
91
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 88 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 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 + -