No.101428 作者:mcubase 邮件:mcubase@163.com ID:66985 登陆:8次 文章数:8篇 最后登陆IP:116.24.171.51 最后登陆:2007/11/7 15:50:40 注册:2007/1/4 19:51:49 财富:195 发帖时间:2007/1/4 20:00:07 发贴者IP:59.40.164.45 标题:mcubase:分汽车防盗报警器声音程序 摘要:No.101428分汽车防盗报警器声音程序 ;***************************************************** LIST P=16F84A,R=DEC ;定义器件,默认为十进制 ;----------------------------------------------------- __CONFIG B'11111111110001';_CP_OFF&_WDT_OFF&_PWRITE_ON&_XT_OSC ;没有代码保护 ;看门狗关闭 ;上电廷时器开启 ;振荡器模式为XT ;----------------------------------------------------- RTCC EQU 01H ;定义各寄存器 PC EQU 02H STATUS EQU 03H C EQU 0 RP0 EQU 5 ;---------------------- PORTA EQU 05H PORTB EQU 06H TRISA EQU 5H TRISB EQU 6H ;----------------------- SOUNDDELAY1 EQU 10H ;声音频率变化计数器,从1.8~3.55KHZ FRE_COUNT EQU 11H ;同一频率的重复次数保存地址 FRE_REPEAT EQU 12H SOUND_TEMP EQU 13H TEMP EQU 14H ;暂存寄存器 S_LOOP EQU 46 ;93-47=46 S_MAX EQU 93 ;最低频率1.8K 93*3=280US*2 S_MIN EQU 47 ;最高频率3.55K 47*3=140*2 S_REPEAT EQU 4 ;同一频率重复次数 ;----------------------RA KEY1 EQU 3 KEY2 EQU 4 ;----------------------RB KEY3 EQU 0 KEY4 EQU 1 ;-------------------- ORG 0000H MAIN CLRF PORTA CLRF PORTB ;初始化IO口 BSF STATUS,RP0 ;设置数据寄存器体1 MOVLW 0011000B MOVWF TRISA ;设置各开关端口为输入其它为输出 MOVLW 00000011B MOVWF TRISB BCF STATUS,RP0 ;恢复数据寄存器体0 LOOP BTFSS PORTA,KEY1 ;扫描按键 GOTO SET_1 BTFSS PORTA,KEY2 GOTO SET_2 GOTO LOOP ;-------------------------------------------- SET_1 BTFSC PORTA,KEY1 ;去抖动 GOTO LOOP CALL SOUNDDELAY BTFSC PORTA,KEY1 ;按S2叫两声 GOTO LOOP CALL SOUND200MS CALL SOUND200MS GOTO ......
>>返回讨论的主题
|