- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
电动车报警音参考pic时下电动车报警器报警音已从单一声音发展到
电动车报警音参考(pic)时下电动车报警器报警音已从单一声音发展到集成多种频率的声音,以下是网上找来的多种报警声音的频率。(这东西虽然简单,但是量大啊)
;产生报警音;本实例的目的是让大家学会用单片机产生声音的方法,学会计算程序所用时间;本实例的功能是能PIC16F84产生报警音,频率分两个0.1s第一个;0.1S频率从1.8K-3.5K匀速增加第二个0.1S频率从3.5K-1.8K匀速减少,;程序复位后,蜂鸣器开始报警;PIC单片机学习网-----;烧写时应注意:配置位已经在程序中写明,加载HEX文件时会自动加载,烧写时不用再手动设置配置位。;实验时请注意套件跳线选择;;*****************************************************??LIST P=16F84A,R=DEC???????? ;定义器件,默认为十进制;-----------------------------------------------------??__CONFIG B11111111110001;_CP_OFF_WDT_OFF_PWRITE_ON_XT_OSC??????????????????????????????????????????????;没有代码保护??????????????????????????????????????????????;看门狗关闭??????????????????????????????????????????????;上电廷时器开启??????????????????????????????????????????????;振荡器模式为XT;-----------------------------------------------------RTCC EQU 01H????????????????;定义各寄存器PC EQU 02HSTATUS EQU 03HC EQU 0RP0 EQU 5;----------------------PORTA EQU 05H
TRISA EQU 05H;-----------------------SOUNDDELAY1 EQU 10H????;声音频率变化计数器,从1.8~3.55KHZFRE_COUNT EQU 11H??????;同一频率的重复次数保存地址FRE_REPEAT EQU 12H????SOUND_TEMP EQU 13HTEMP EQU 14H?????????? ;暂存寄存器S_LOOP EQU 46??????????;93-47=46S_MAX EQU 93?????????? ;最低频率1.8K??93*3=280US*2S_MIN EQU 47?????????? ;最高频率3.55K??47*3=140*2S_REPEAT EQU 4???????? ;同一频率重复次数;--------------------????ORG 0000HMAIN????CLRF PORTA???????? ;初始化IO口
????BSF STATUS,RP0???? ;设置数据寄存器体1????MOVLW 0000000B????MOVWF TRISA????????;设置RA端口全部为输出????BCF STATUS,RP0???? ;恢复数据寄存器体0LOOP????CALL SOUND200MS????;调用报警200MS子程序????GOTO LOOP???????? ;反复循环报警;-------------------------------SOUND200MS????MOVLW S_LOOP????MOVWF FRE_COUNT???? ;46=93-47 最低频率的计数减去最高频率的计数等于频率变化的次数SOUND_LH_LP????MOVLW S_REPEAT??????;同一频率重复次数送FRE_REPEAT????MOVWF FRE_REPEAT????MOVFW FRE_COUNT????ADDLW S_MIN????????;计数值加最小值????MOVWF TEMPREPEAT0_LP????MOVFW TEMP????BSF PORTA,0??????????CALL SOUNDDELAY0?? ;廷时W*3US????BCF PORTA,0????MOVFW TEMP????CALL SOUNDDELAY0????DECFSZ FRE_REPEAT,1 ;每四次减频率计数一次????GOTO REPEAT0_LP????DECFSZ FRE_COUNT,
文档评论(0)