请教关于PIC12F675

2020-02-09 11:26发布

在使用PIC12F675时,发现程序下载后无法运行,不知道是什么原因引起的!!
请各位高手指点!
谢谢!
编译器为MPLAB IDE v8.53,HI-TECH C Compiler for PIC10/12/16 MCUs (Lite Mode)  V9.70
软件仿真都可以的,不知道究竟是什么原因,并且在循环中不可以设置断点。
以下为源程序:


源程序ourdev_578772.rar(文件大小:21K) (原文件名:GPIO.rar)



#include "pic.h"

__CONFIG(0x0044);
//高门槛电压,取消MCRL,将GP3配置为数字IO,程序保护,数据区保护,看门狗停止,BOD使能,上电延时定时器启动,内部RC晶体

//CONFIG 寄存器  BG1 BG0 — — — CPD CP BODEN MCLRE PWRTE WDTE F0SC2 F0SC1 F0SC0
//               门槛电压    数据保护                              晶体选择

                           晶体选择


//延时子程序
void delay(unsigned int t)
{
  while(t--)CLRWDT();//喂狗
}

//初始化硬件子程序
void IntiPort(void)
{
  TRISIO&=~0x07;//GPIO0~GPIO3为输出
  OPTION&=~0x80;
  WPU=0b0111;//GPIO2为弱上拉,GPIO0,GPIO1输出高电平
  CMCON=0x07;//比较器关闭(功耗最低)
  ANSEL&=0xf0;//GPIO设置为数字IO
}

//主程序
void main()
{
  IntiPort();//初始化硬件子程序
  ei();//开中断
  while(1)
  {
    CLRWDT();
    delay(40000);
    NOP();
    NOP();
    GPIO0^=1;
    GPIO1^=1;
    GPIO2^=1;
    NOP();
    NOP();
    delay(40000);
  }
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
12条回答
yanrz
2020-02-09 19:51
楼上的牛人!!
" TRISIO&=~0x07;//GPIO0~GPIO3为输出 "

really? you must have not read the datasheet.
难道不是吗??
bit 7-6: 未用位:读作0
bit 5-0: TRISIO<5:0>:通用 I/O三态控制位
1 = GPIO引脚被配置为输入引脚(三态)
0 = GPIO引脚被配置为输出引脚。
注: TRISIO<3>始终读做1。

一周热门 更多>