|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
问个汇编语言的问题,哪位帮忙? |
作者:yanshiyin 栏目:单片机 |
使用的是PIC12CE673单片机,程序存储器1K大小! 程序中有如下语句 : 0x0000 goto 0x55 ```` ````` 0x0055 call 0x3ff ````` ````` 0x03ff addlw 0xff 不知道这个call指令放此有何用途?执行了call指令结果如何? |
2楼: | >>参与讨论 |
作者: yanshiyin 于 2006/11/27 15:51:00 发布:
问个汇编语言的问题,哪位帮忙? 怎么没人回答呀?郁闷呀,是一个温度控制器,原来产品上使用的是12CE673,因为经常反馈有故障,我们拿回来检查读芯片里程序已经完全不一样,也没找到原因,就想用12F675来代替,所以需要更改程序,我们只有已编译的程序,就先读,结果就有这么一个CALL 指令不知什么意思? 高手出来给点建议也行!谢了 |
3楼: | >>参与讨论 |
作者: afanti 于 2006/11/27 16:08:00 发布:
re 应该是读取修正RC振荡器的频率。 |
4楼: | >>参与讨论 |
作者: oyggj 于 2006/11/27 22:18:00 发布:
call 0x3ff是时钟校准的作用 call 0x3ff是时钟校准的作用,MICROCHIP把校正字放在了ROM的最后一个byte,说明你用的是1K的ROM,所以是call 0x3ff. |
5楼: | >>参与讨论 |
作者: yanshiyin 于 2006/11/28 17:27:00 发布:
感谢上面的两位 谢谢两位回复,刚查了DATASHEET,确实是,第一次发贴问,之前同事都说论坛发问题没人理,今天终于让他们见识了论坛不但有高手 好人也多! 另外问12CE673在生产时没事 发到客户那坏的比例很高,那来分析读出来的程序已经面目全非,有没有遇到这样情况的?或者给点指导 怎么查问题原因? |
6楼: | >>参与讨论 |
作者: yewuyi 于 2006/11/28 22:46:00 发布:
对你如何读回ROM数据很有兴趣…… 难道你们没有加密,或者是加密了后自己解密? 如果是前者,无话可说…… 如果是后者,我想也不需要回答你的问题,你自己应该有足够的能力分析问题。 |
7楼: | >>参与讨论 |
作者: yanshiyin 于 2006/11/29 16:29:00 发布:
回复六楼的 很不好意思 确实没加密,我们是代工生产的,人家没要求加密,我们就不用多次一举,是不?老外的保护意识不行呀,自己的产品当然会加密了,哈哈! 我们的工程师怀疑是烧录器或者是片子有问题,送了片子去烧录器厂商(台湾力浦,型号LP48烧录器)和MICROCHIP的代理(富昌电子),都是互相踢球。我怀疑是使用过程中损坏,因为出厂时是好的,现在担心换成12F675依然没效果呀! d |
8楼: | >>参与讨论 |
作者: yanshiyin 于 2006/11/29 16:44:00 发布:
我是菜鸟,问个读程序时的问题 GP0 GP1 分别采样温度和电位器, 取得数据后程序就对数据又减 又乘 又除 又加,我是菜鸟没弄过AD不知道干什么的?哪位给说下? 12CE673和12F675差别就在AD和EEPROM操作方面,感觉它原来应该是用C语言写的,我想读懂了后,用C语言重写,哪位有什么更好方法?请赐教! |
9楼: | >>参与讨论 |
作者: ocon 于 2006/11/30 1:58:00 发布:
没有代码,要别人猜你的软件功能确实太难。 |
10楼: | >>参与讨论 |
作者: ocon 于 2006/11/30 2:06:00 发布:
AD的数据处理一般就是采N个值,滤波、平均、换算, 例如,采10个数据,去掉最大最小值,剩下的8个平均,然后乘或除一个系数换算成你想要的单位。 |
11楼: | >>参与讨论 |
作者: xieyuanbin 于 2006/11/30 9:51:00 发布:
LP48是比较好的烧写器. 因为贵,所以在大陆这边好像没市场.对此不要太多怀疑,如果出厂时检验合格,一般程序区是不会被改写的.而且要改写也不是那么容易,在我的使用环境中还没有发现程序被改写的例子. 鉴于楼主的情况,需要排除在生产环节和用户使用环节上有可能造成MCU损坏的可能. 提个问题:在GP3脚上面是否接了能够引入高电压(超过13V)的电路吗?GP0和GP1是否作为输入脚使用? 有关于AD,我想你是读取电压值然后再显示出来吧?简单的过程就是将MCU参考电压允许范围内的电压值转化成具体的数字,然后将他变成数字输出到显示装置. 675是相当好用的,673我在MICROCHIP网站上都找不到数据手册了,还是不要用了吧. |
12楼: | >>参与讨论 |
作者: yanshiyin 于 2006/12/1 11:47:00 发布:
感谢斑竹 早听说斑竹的厉害,没想到得到斑竹的回复,高兴呀!我这边上网不方便,先上传个原理图,这个板子就是用在恒温烙铁上的,是个国外的大厂,可能大家用过或者正在用他们的烙铁,程序我就不上传了,等我写好了,一定贴出来自己的程序请大家指正! |
13楼: | >>参与讨论 |
作者: yanshiyin 于 2006/12/1 12:46:00 发布:
现在借同事机器上会,多说两句,嘿嘿 GP3脚接试簧管,试簧管另一脚接地,起开关作用。GP2 脚采集交流电频率,GP4脚控制双色二极管,GP5通过开关三极管控制可控硅,电源是经过变压器得到的24V的交流电,各位电路图上看不清的清说。另外说一点用12CE673的情况:我们改进工艺尽量在最后工序才把芯片装在PCB版上可以降低故障率,但仍有2%的坏片,坏片读出的SUM值和原程序一样,只是里面内容已经面目全非。我们的工人在操作时全都带有经典环,烙铁也全是恒温的切有效接地。大家说说本身12CE673的质量有问题的可能性大不? 工人操作过程中还有什么要改善或注意的?我担心换了12F675解决不了问题。别人说熔丝研磨的或者EPROM要比FLASH 或者EEPROMJ可靠性稳定性好,我个人感觉还是FLASH不容易出问题,大家认为呢,也许是FLASH出现比较晚,用FLASHD的芯片工艺改进了吧? 请各位多多指教!有话您就说,不管是意见也好,批评也行,鄙视也罢! |
14楼: | >>参与讨论 |
作者: yewuyi 于 2006/12/1 13:15:00 发布:
呵呵,你的图纸基本上什么也看不清…… |
15楼: | >>参与讨论 |
作者: yanshiyin 于 2006/12/1 14:22:00 发布:
回楼上的 字确实看不见,这个是图纸扫描的,原图也不清楚。电路没什么复杂的,应该很容易看懂吧。 |
16楼: | >>参与讨论 |
作者: xieyuanbin 于 2006/12/1 19:25:00 发布:
24V电源经过电阻半波整流后稳压输出? 老外的东西就是夸张,没什么功能也要弄个单片机,这种东西一个运放或比较器就搞定了,那么麻烦. 看起来烧写器和单片机没什么毛病,要排除这种情况,先要做一批单片机的全检,就是做一个工装,将烧好的单片机全检,确保每个都没问题的情况下再生产,你说生产上出现2%的不良,应该可以看得出来. 现在有疑问的是你的电源电路,是否能告诉几个参数:整流二极管前面的电阻阻值是多少?稳压电源的型号耐压?两个滤波电容的耐压及容量? 我的看法是电源用半波整流十分不妥,并且严重怀疑电容容量不够造成单片机电源不稳定,这种情况使单片机处在一个及不稳定的工作环境中,极易损坏. 再次强调一下,我不是做MICROCHIP的托,在我用过的单片机中,MICROCHIP的单片机是相当优秀的,其可靠性无出其右. 从稳定性上来说,PIC应该是C系列的比F系列的要好,不过楼主这种情况的确是第一遭碰到,我想换成675恐怕无济于事.也许F675耗电较少,可能会有一点帮助. |
17楼: | >>参与讨论 |
作者: yanshiyin 于 2006/12/5 11:47:00 发布:
回版主 对不起,这两天一直没机会上网,实在对不起. 整流二极管前面的电阻阻值150欧1W用的是YAGEO(型号:RC2512JR-07150R) 稳压用的是松下的LM78L05ACM 耐压35V 稳压前面用的滤波用的是LELONDE的电容, 容量33UF 耐压35V(型号VEL330M1V0606) 后面的滤波用YAGEO的容量0.1UF耐压50V(型号:CC1206FRNPO9BN104) 单片机电源和地 也是用YAGEO的容量0.1UF耐压50V. 询问了生产的发现过150欧电阻有坏的,但数量很少,还得到一个重要信息:发现坏片后换上新片,新片也毁坏,再换一个片可能就好了,但这种情况很少.我也同意谢斑竹的看法.估计是电源供电不稳定,以前只是用万用表测试电压,问谢版主应该如何测试电压稳定性,用示波器吗?还是有其他更有效的方法?请指教! 另外问下PID算法,哪位有温度控制的程序发给一份参考. * - 本贴最后修改时间:2006-12-5 16:37:54 修改者:yanshiyin |
18楼: | >>参与讨论 |
作者: xieyuanbin 于 2006/12/5 21:09:00 发布:
很好,分析一下: 稳压块的耐压是35V,24V交流输入,整流后的峰值电压为33.9V,万一输入交流电压高个1、2V,稳压块就危险,其他电容耐压就不提了。 输入滤波电容33μ,对于半波整流实在是太小了,我全波整流一般是用100-220μ,稳压之后再用10-100μ电容再滤波。 你可用示波器看看稳压后的输出电压峰值,估计有超过5V的尖峰脉冲,尤其是可控硅工作时。不管做什么电子开发,示波器是最基本的开发工具,我看到许多老板连一台模拟示波器都舍不得买的,这样生产上造成的损失可能更大。 你也可以用万能表交流档测量一下稳压后输出电压的交流分量,看看你的输出电压纹波系数是多少? |
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |