📄 untitled.lst
字号:
MPASM 03.60 Released UNTITLED.ASM 9-15-2006 15:26:49 PAGE 1
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00001 ;ST套件产生汽车防盗器报警声
00002 ;本实例的目的是让大家学会用单片机产生声音的方法,学会计算程序所用时间
00003 ;本实例的功能是能PIC16F84产生汽车防盗器的报警声,频率分两个0.1s第一个
00004 ;0.1S频率从1.8K-3.5K匀速增加第二个0.1S频率从3.5K-1.8K匀速减少,
00005 ;程序复位后,按S2喇叭叫两声,按S3喇叭叫15秒,中途可按S5停止.
00006 ;PIC单片机学习网-----http://www.pic16.com
00007 ;烧写时应注意:配置位已经在程序中写明,加载HEX文件时会自动加载,烧写时不用再手动设置配置位。
00008 ;实验时请注意套件跳线选择;
00009 ;*****************************************************
Warning[215]: Processor superceded by command line. Verify processor symbol.
00010 LIST P=16F84A,R=DEC ;定义器件,默认为十进制
00011 ;-----------------------------------------------------
Message[303]: Program word too large. Truncated to core size. (3FF1)
0FFF 0FF1 00012 __CONFIG B'11111111110001';_CP_OFF&_WDT_OFF&_PWRITE_ON&_XT_OSC
00013 ;没有代码保护
00014 ;看门狗关闭
00015 ;上电廷时器开启
00016 ;振荡器模式为XT
00017 ;-----------------------------------------------------
00000001 00018 RTCC EQU 01H ;定义各寄存器
00000002 00019 PC EQU 02H
00000003 00020 STATUS EQU 03H
00000000 00021 C EQU 0
00000005 00022 RP0 EQU 5
00023 ;----------------------
00000005 00024 PORTA EQU 05H
00000006 00025 PORTB EQU 06H
00026
00000005 00027 TRISA EQU 5H
00000006 00028 TRISB EQU 6H
00029 ;-----------------------
00000010 00030 SOUNDDELAY1 EQU 10H ;声音频率变化计数器,从1.1K~0.5KHZ
00031 ;----------------------RA
00000003 00032 KEY1 EQU 3
00000004 00033 KEY2 EQU 4
00034 ;----------------------RB
00000000 00035 KEY3 EQU 0
00000001 00036 KEY4 EQU 1
00037 ;--------------------
0000 00038 ORG 0000H
0000 00039 MAIN
0000 0065 00040 CLRF PORTA
0001 0066 00041 CLRF PORTB ;初始化IO口
00042
0002 05A3 00043 BSF STATUS,RP0 ;设置数据寄存器体1
0003 0C18 00044 MOVLW 0011000B
0004 0025 00045 MOVWF TRISA ;设置各开关端口为输入其它为输出
0005 0C03 00046 MOVLW 00000011B
0006 0026 00047 MOVWF TRISB
0007 04A3 00048 BCF STATUS,RP0 ;恢复数据寄存器体0
0008 00049 LOOP
0008 0765 00050 BTFSS PORTA,KEY1 ;扫描按键
0009 0A0B 00051 GOTO SET_1
MPASM 03.60 Released UNTITLED.ASM 9-15-2006 15:26:49 PAGE 2
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
000A 0A08 00052 GOTO LOOP
00053 ;--------------------------------------------
000B 00054 SET_1
000B 0665 00055 BTFSC PORTA,KEY1 ;去抖动
000C 0A08 00056 GOTO LOOP
000D 091A 00057 CALL SOUNDDELAY
000E 0665 00058 BTFSC PORTA,KEY1 ;按S2叫两声
000F 0A08 00059 GOTO LOOP
0010 0913 00060 CALL SOUND
0011 0913 00061 CALL SOUND
0012 0A08 00062 GOTO LOOP
00063 ;- - ----------------------------------------
0013 00064 SOUND
0013 0C7D 00065 MOVLW 125 ;800HZ反复循环
0014 0505 00066 BSF PORTA,0
0015 091B 00067 CALL SOUNDDELAY0 ;廷时W*5US
0016 0405 00068 BCF PORTA,0
0017 0C7D 00069 MOVLW 125
0018 091B 00070 CALL SOUNDDELAY0
0019 0A13 00071 GOTO SOUND
00072 ;------------------------------
001A 00073 SOUNDDELAY: ;廷时255*3US+2US
001A 0CFF 00074 MOVLW 255
001B 00075 SOUNDDELAY0
001B 0030 00076 MOVWF SOUNDDELAY1 ;廷时W*3US+1US
001C 00077 SOUNDDELAYUS_1
001C 02F0 00078 DECFSZ SOUNDDELAY1,1
001D 0A1C 00079 GOTO SOUNDDELAYUS_1
001E 0800 00080 RETLW 0
00081 ;------------------------
00082 END
MPASM 03.60 Released UNTITLED.ASM 9-15-2006 15:26:49 PAGE 3
SYMBOL TABLE
LABEL VALUE
C 00000000
KEY1 00000003
KEY2 00000004
KEY3 00000000
KEY4 00000001
LOOP 00000008
MAIN 00000000
PC 00000002
PORTA 00000005
PORTB 00000006
RP0 00000005
RTCC 00000001
SET_1 0000000B
SOUND 00000013
SOUNDDELAY 0000001A
SOUNDDELAY0 0000001B
SOUNDDELAY1 00000010
SOUNDDELAYUS_1 0000001C
STATUS 00000003
TRISA 00000005
TRISB 00000006
__16C56 00000001
MEMORY USAGE MAP ('X' = Used, '-' = Unused)
0000 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXX- ---------------- ----------------
0FC0 : ---------------- ---------------- ---------------- ---------------X
All other memory blocks unused.
Program Memory Words Used: 31
Program Memory Words Free: 993
Errors : 0
Warnings : 1 reported, 0 suppressed
Messages : 1 reported, 0 suppressed
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -