NEC-uPD78F9234的IO口问题【恢复】
LED + 1K 限流电阻接到P20引脚电路接法如下:
LED ___
VCC ->|--|___|----- P20
运行如下程序:
PM2 &= (1<<0); // 设置p20为输出
PMC2 &= (1<<0); // 普通IO
while(1)
{
P2 = 1; ?????<---------运行这句 p20只有3.2V
P2 = 0; ?????<---------运行这句 P20竟然有1.7V
}
但是可以看见LED微弱闪动
如果p20悬空,运行如下程序:
PM2 &= (1<<0); // 设置p20为输出
PMC2 &= (1<<0); // 普通IO
PU2 |= (1<<0); // 打开上拉
while(1)
{
P2 = 1; ?????<---------运行这句 p20----0V
P2 = 0; ?????<---------运行这句 P20----0V
}
用示波器测量,p20没任何反映
本贴被 GZ_NEC 编辑过,最后修改时间:2008-12-09,22:42:23. 我有过相同的经历,是9222的,REF输入阻抗应该太大不了,不过可以用来做电平转换,比如接3.3V的外设 有结论了,呵呵,因为p2口没电,就算不用AD,AVREF 也得接电源,AVREF 是AD参考电压,也是p20口的电源
虽然资料有模糊的讲,AVREF 不用AD时候,接VCC, 看了几遍p2口原理图,硬是没理解,看p2口原理图也没设计AVREF问题,当时就想了几次这个问题,数字IO口关AD屁事, 关闭AD应该就不影响数字IO了
可是呢
走了个大弯路
看到AVREF就认为它是AD的参考电压,没往深处想,谁知道它是p2口电源和AD电源
名称不该叫AVREF,应该叫AVCC
这可是一种新用法,如果AVREF不接,p2口是个驱动能力不强的漏极开漏输出,说不定有些场合很好,但是不知道会不会坏东西
本贴被 GZ_NEC 编辑过,最后修改时间:2008-12-10,11:04:19. 呵呵 可能是你的系统设置有问题了 弄好了没有 系统5V电源,加发光二极管时,P20 = 1时,P20测量电压3.2V,是因为LED压降1.7V,像是开漏输出且有漏电流,如果只加上拉电阻可以拉到5V
但是不知道为什么,p20 = 0 ,仿真时测量电压1.7V,烧程序就0V了, 用示波器测量p20,是幅值3.2V的方波
现在还不知道,p20设置成输出,打开上拉,烧写程序P20都没反应
熟悉NEC的朋友给点意见
页:
[1]