十键罩有八九是你没有设置这二个脚为数字口,因为默认时它是AD模拟口(GP0为AN0,GP1为AN1).
还有,比较器渣袭要关闭,因为GP0,GP1也是比较器的输入端,默认时比较器是打开的。程序如下,仿真运行是正确的,我用的是C编程。
#include <htc.h>
__CONFIG(0x0FCA) //采用内部4MHz RC,
void DELAY(unsigned int)
void main(void)
{ ADCON0=0b00000000//最高二位为0,引脚均为数字口如亮兄
TRIS=0b00001000 //GP3只能作为输入脚
CM1CON0=0 //关闭比较器
GPIO=0b00100101
while(1)
{
DELAY(100)
GPIO=~GPIO //按位取反,即图中的LED亮变为灭,灭变为亮
}
}
//======延时(n)ms
void DELAY(unsigned int n)
{ unsigned int j
unsigned char k
for (j=0j<nj++)
for (k=197k>0k--)
NOP()
}
可以用VDD来作参考电压用,但是最好分开走线,然后再接到VDD的输入处.还要加电容滤波.如何编程,那要看你怎样用了.有需要我可以提供一个参考程序给你.
这样吧,I/O分时使悔岩用可以实现.但是,VDD不能当I/O口来用啊.不用专业的AD,就用电容充放电来检测,但是不准确.I/O不够用,最好是分时使用.这样才能测准确.你可以HI在线交谈。
*************************************
刚看了,12F510有带滑知AD口的,完全可以用LED显示口和AD输入口共用同一I/O口.只时你碧让御的程序保证时间在10US左右,是看不到LED有闪的情况.就这样实现.
1、按下Win+R组合件打开运行,在框中键入 control (控制面板命令)点击确定打开控制面板。
2、在凳穗晌控制面板中点击【程序和功能】,大图标的查看方式下。
3、然后将无法正常运行的程序找到族御后单击枣锋右键,选择卸载将其卸载。
4、卸载后重新下载安装即可解决问题。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)