本帖最后由 wwl050701 于 2015-11-12 17:51 编辑
本人刚开始接触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
代码如下(参考zhoujianyong代码):
// 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 (WDT disabled)
#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, no wake
}
void main()
{
initio();
GP1=1;
while(1)
{
if(GP0==1) GP1=0;
}
}
编译结果如下:
make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory 'E:/pic/T1.X'
make -f nbproject/Makefile-default.mk dist/default/production/T1.X.production.hex
make[2]: Entering directory 'E:/pic/T1.X'
make[2]: 'dist/default/production/T1.X.production.hex' is up to date.
make[2]: Leaving directory 'E:/pic/T1.X'
make[1]: Leaving directory 'E:/pic/T1.X'
BUILD SUCCESSFUL (total time: 1s)
Loading code from E:/pic/T1.X/dist/default/production/T1.X.production.hex...
Loading completed
下载成功提示:
|