[资料分享] PIC12F508代换成品报警器解码后输出(原单片机是麦肯53A1P)汇编源程序

lmtgd   2017-9-18 22:30 楼主
原报警器输出用的是麦肯10P53A1P,用了几年后,出现有不能布防,用热风加热几秒后能立即布防,刚开始我用电阻给它加热,就这样用了几个月后就再也不能布防了,刚开始我用一个P场效管(后来用N型线路更简洁)和三个NPN三极管做个小板代用效果也不错,就是布防和撤防发声省了,否则线路太复杂了,小板不好装(先在原线路板加个8脚座,再在万能板加8脚插针对应),后来还是决定用原型号53A1P(淘宝的商家说能完成代换12F508)我拍下几个53A1P后发现,用PIC K150 编程器选12F508型号根本不能识别53A1P,ICSP下也不行,只得另外购12F508,源程序只能自己试着汇了用MPLAB IDE v8.80编译,最终成功了。12F508:  8脚地,7脚(GP0输出,布防灯)、6脚(GP1报警输出),5脚(GP2布防信号输入),4脚(GP3只能输入,撤防),3脚(GP4报警信号输入),2脚空,1脚+5V。源程序见附件。

    12f508.asm (2017-9-18 22:30 上传)

    2.77 KB, 下载次数: 25

    new.hex (2017-9-18 22:30 上传)

    2.84 KB, 下载次数: 21

回复评论 (2)

网上PIC12F508(4M)汇编延时1S的例子程序较少且是套用其它型号PIC或51 12M主频单片机(4M时实际成3S),1S程序调试了好长时间,本来报警时间是延时10~15S的,现在是CALL5次5S算了,网上下载1S的好几个都编译出错,有的能通过,关WDT时延时子程序出错,造成布防时报警不能停且不能撤防,估计是死循环了,开WDT出现布防后立即复位撤防,所以延时子程序也不能小视。对CALL命令12F508:“程序存储器页(512字长)的前256个单元中”(见12F508的4.7程序计数器),套用其它PIC延时程序时不注意会不能通过编译,即使能通过编译,调用延时子程序不正常,延时子程序,要实际验证过的能拿出来共享吧。另外烧写或擦除PIC前要先读时钟校验值,编程前要手动或汇编中读取并写上去,X宝网购的PIC质量没保证,有坏区,校验时都出错,只能业余用。
点赞  2017-9-19 00:01
今天找到的10P53A系列单片机的资料,说明它是EPROM单片机,只能一次性写入,由于没有紫外线擦除窗口所以并不能重复擦写的,淘宝店家描述的可完全代换12F508不相符的,这单片机只能用在定型产品上(这方面倒是可替代12F508/509),不能用于开发的。
点赞  2017-9-21 22:52
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复