微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 请教LED为什么不亮

请教LED为什么不亮

时间:10-02 整理:3721RD 点击:
初学PIC,从PIC12F675开始
手工焊接的最小系统

  1. #include<pic12f675.h>
  2. void init(void)
  3. {
  4.    CMCON = 0X07;
  5.    ANSEL = 0X00;
  6.    OPTION_REG = 0X80;   
  7.    TRISIO = 0X0C;
  8. }
  9. void ys(void)
  10. {
  11.    unsigned int  i,j;
  12.    for(i=1;i<20;i++)
  13.    {
  14.       for(j=1;j<10;j++)
  15.       {;}
  16.    }
  17. }
  18. void main()
  19. {
  20.    init();
  21.    while(1)
  22.    {
  23.       GPIO0 = 1;
  24.       ys();
  25.       GPIO0 = 0;
  26.       ys();
  27.    }
  28. }

复制代码



如果代码没错,就检查一下硬件呗

请问代码错嘛?如果没有软件问题,再看硬件。
昨天用KIT3.5下载验证正确,但单独验证时错误,不知什么意识

把其他的程序都去了,只用与LED连接的IO口输出0或1啊,如果亮了就是你前面程序的问题,如果不亮的话,就是你硬件问题了,可能是你给的电流不够大

TRISIO = 0X0C;这个是PORTO吗? GPIO0 =1;又是什么意思?如果是O口,你直接LATO0=1;
LATO0=0;试一试!TRISO=TRISO&0xFE;这个是很简单的程序了,应该不会错,你再看看你哪里错了,你这个是多少脚的,不会到O口吧,你用A或者B试一试!

PIC单片机一般定义io口为A,B,C,D,E
还有PIC单片机IO口使用前要配置输入输出
有的还要配置相关寄存器,仔细读读datasheet上IO口说明

把其他的程序都去了,只用与LED连接的IO口输出0或1啊,如果亮了就是你前面程序的问题,如果不亮的话,就是你硬件问题了

神奇!11111

TRIS寄存器配置为输出,端口PORT高低点亮灯,实在不行可以对锁存器操作,LATA=1或者LATA=0;还有你的配置位设置对了吗,

建议你先排查赢家焊接问题

谢谢,小编提供的场地。
MICROCHIP 原装正品,另有可替换单片机(无需修改PCB资料,程序可共用PIC的) 有用到的兄弟多多支持!  电话13430885511(微信同号),QQ2355910801谢谢

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top