本人刚开始接触pic单片机,想用pic10f206实现GP0输入检测和GP1输出控制的功能。 程序编译和下载都成功了,但是GP0和GP1口一直都是低电平。不清楚是单片机没有工作,还是代码有问题,换过几个ic和PCB板还是一样问题。 这个问题困扰了我好长时间,一直找不到是什么原因(不清楚是否硬件设计电路有问题),麻烦大家能帮忙分析下可能的原因,不胜感激。
下面是所用的工具和代码:
MCU:pic10f206
硬件设计电路:PCB板无任何外接电路,直接外接电源供电3.3v (vcc接3.3v 、vss接地)
开发环境:MPLAB X IDE v3.15
C编译器:MAPLAB XC8
下载器:K150
代码如下:
// PIC10F206 Configuration Bit Settings
// 'C' source line config statements
#include <xc.h>
// #pragma config statements should precede project file includes.
// Use project enums instead of #define for ON and OFF.
// CONFIG
#pragma config WDTE = OFF // Watchdog Timer (WDTdisabled)
#pragma config CP = OFF // Code Protect(Code protection off)
#pragma config MCLRE = OFF // Master Clear Enable(GP3/MCLR pin fuction is digital I/O, MCLR internally tied to VDD)
void initio()
{
TRISGPIO=0B0101; // gp0/gp2 as input, gp1 as output
FOSC4=0; // disable fosc4 function for gp2
OPTION=0x87; // pullup, nowake
}
void main()
{
initio();
GP1=1;
while(1)
{
if(GP0==1) GP1=0;
}
}
编译结果如下: make -fnbproject/Makefile-default.mk SUBPROJECTS= .build-confmake[1]: Enteringdirectory 'E:/pic/T1.X'make -fnbproject/Makefile-default.mk dist/default/production/T1.X.production.hexmake[2]: Enteringdirectory 'E:/pic/T1.X'make[2]:'dist/default/production/T1.X.production.hex' is up to date.make[2]: Leavingdirectory 'E:/pic/T1.X'make[1]: Leavingdirectory 'E:/pic/T1.X' BUILD SUCCESSFUL (totaltime: 1s)Loading code fromE:/pic/T1.X/dist/default/production/T1.X.production.hex...Loading completed
下载成功提示:见附图
此帖出自
小平头技术问答
即比较器默认打开, GP0成为CIN- 引脚(仅为模拟输入),所以需要重新配置CMCON0模块,将其关闭即可。
值为:0Bx1xx0001
一周热门 更多>