c8051f 单片机 应用问题一直被网上对c8051f的火爆宣传鼓动得心痒痒,最近在下开始大量采用此类单片机,不料遇到莫名的问题,纠缠了很久,今日终于脱困。把收获发出,与各位大侠分享,欢迎不吝指正。
一、型号:c8051f410 问题:i/o口上电时有弱上拉
本人原先采用nxp lpc9xx 单片机 的,这次趁改版之机心血来潮也改为SILab的了。不料,板子焊接妥当,程序下载后,软开关启动不了电源了。
汗!开始以为是电源波纹太大,逻辑电平不对了。仔细分析查找(省略痛苦的经历500字),发现此 单片机 i/o口在上电时拉住了dc/dc的使能端,刚上电就被断了电,根本起不来。具体细节不表。
结论如下:c8051f系列的i/o口缺省是弱上拉100k(大家说100k还算弱吗?),虽然程序跑起来以后可以禁止这个上拉,但上电之初哪它没有办法。而我刚好要求上电时必须悬空的,所以才发现了这个问题。窃以为这是失败的设计,至少是不高明的设计。我查看nxp、freescale等 单片机 上电都是高阻的。此为质疑之一。
二、型号:c8051f021 问题:中断竟然响应于单条指令执行之中
总所周知,mcs-51系列 单片机 的中断必须在当前指令执行完毕后才能响应。我发现c8051f021居然在单条指令执行之中去响应了中断。我的判断是这样的。我在主程序中写一个变量,同时在定时中断中会读取这个变量。读取之后通过串口发送出去。我每次写同一个数,但发送出来的数大多情况是对的,但有时变为零。在排除串口通信有误之后。我试着在主程序写数的之前关闭定时器中断,写完之后在打开中断。这个问题就消失了。注意我的汇编指令只有一条赋值语句。唯一的解释就是这条语句被中断了。大家没有意见吧?
本文关键字:单片机 51单片机,单片机-工控设备 - 51单片机
上一篇:PT6311器件子程序集