?? 警車聲音.lst
字號:
C51 COMPILER V7.06 ____聲音 05/20/2010 10:14:37 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE ____聲音
OBJECT MODULE PLACED IN .\obj\警車聲音.obj
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE 警車聲音.c BROWSE DEBUG OBJECTEXTEND PRINT(.\obj\警車聲音.lst) OBJECT(.\obj
-\警車聲音.obj)
stmt level source
1 /*-----------------------------------------------
2 名稱:喇叭
3 論壇:www.doflye.net
4 編寫:shifang
5 日期:2009.5
6 修改:無
7 內容:模擬警車發聲
8 ------------------------------------------------*/
9 #include<reg52.h> //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義
10
11 sbit SPK=P1^2; //定義喇叭端口
12 unsigned char frq;
13
14 void DelayUs2x(unsigned char t);//函數聲明
15 void DelayMs(unsigned char t);
16 /*------------------------------------------------
17 定時器初始化子程序
18 ------------------------------------------------*/
19 void Init_Timer0(void)
20 {
21 1 TMOD |= 0x01; //使用模式1,16位定時器,使用"|"符號可以在使用多個定時器時不受影響
22 1 //TH0=0x00; //給定初值
23 1 //TL0=0x00;
24 1 EA=1; //總中斷打開
25 1 ET0=1; //定時器中斷打開
26 1 TR0=1; //定時器開關打開
27 1 }
28 /*------------------------------------------------
29 主函數
30 ------------------------------------------------*/
31 main()
32 {
33 1 Init_Timer0(); //初始化定時器
34 1 while(1)
35 1 {
36 2
37 2 DelayMs(1); //延時1ms,累加頻率值
38 2 frq++;
39 2
40 2 }
41 1 }
42 /*------------------------------------------------
43 uS延時函數,含有輸入參數 unsigned char t,無返回值
44 unsigned char 是定義無符號字符變量,其值的范圍是
45 0~255 這里使用晶振12M,精確延時請使用匯編,大致延時
46 長度如下 T=tx2+5 uS
47 ------------------------------------------------*/
48 void DelayUs2x(unsigned char t)
49 {
50 1 while(--t);
51 1 }
52 /*------------------------------------------------
53 mS延時函數,含有輸入參數 unsigned char t,無返回值
54 unsigned char 是定義無符號字符變量,其值的范圍是
C51 COMPILER V7.06 ____聲音 05/20/2010 10:14:37 PAGE 2
55 0~255 這里使用晶振12M,精確延時請使用匯編
56 ------------------------------------------------*/
57 void DelayMs(unsigned char t)
58 {
59 1
60 1 while(t--)
61 1 {
62 2 //大致延時1mS
63 2 DelayUs2x(245);
64 2 DelayUs2x(245);
65 2 }
66 1 }/*------------------------------------------------
67 定時器中斷子程序
68 ------------------------------------------------*/
69 void Timer0_isr(void) interrupt 1
70 {
71 1 TH0=0xfe; //重新賦值
72 1 TL0=frq; //低8位值在主程序中不斷累加
73 1
74 1 SPK=!SPK; //端口電平取反
75 1
76 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 55 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
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 + -