打印
[嵌入式linux]

我做了一个PIC12F683的流水灯程序,运行不正常,请高手指点

[复制链接]
1296|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hanquan31|  楼主 | 2013-10-5 11:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*******************************************************
文件名;LED_water.C
单片机型号;pic12f683
功能;流水灯
*******************************************************/
#include<pic.h>
#define uchar unsigned char
#define uint unsigned int
__CONFIG(FCMDIS & IESODIS & BORDIS & CPD & PROTECT & MCLRDIS & PWRTEN &WDTDIS);
void delay_ms(uint ms);
uchar FCV_LED;                        //左移或者是右移基数FCV_LED,i为移动次数
void main(void)
{ OPTION=0x07;
   OSCCON=0x77;                            //内部时钟为时钟,运行频率为8MHZ
   TRISIO=0x00;                                //所有端口均为输出       
   while(1)       
    {  uchar i;       
        FCV_LED=0x01;       
        for(i=0;i<5;i++)         
             { GPIO=FCV_LED;       
                 FCV_LED=(FCV_LED<<1);       
                     delay_ms(2000);
             }       
                 FCV_LED=0x20;               
                 for(i=0;i<5;i++)
  {
              GPIO=FCV_LED;
              FCV_LED=(FCV_LED>>1);
              delay_ms(2000)
}
                
            }
                }

void delay_ms(uint ms)                //延时子程序
   {
            uchar i;
                 while(ms--)
                {
                 for(i=0;i<87;i++);
                }
}

相关帖子

沙发
hanquan31|  楼主 | 2013-10-7 09:18 | 只看该作者
问题已经解决,是配置为没有设置好

使用特权

评论回复
板凳
刘骁奖| | 2013-10-7 09:43 | 只看该作者
恭喜,换个思路,用定时器做一个出来吧,MCU不能一直delay_ms吧!

使用特权

评论回复
评分
参与人数 1威望 +6 收起 理由
dong_abc + 6 赞一个!
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

4

帖子

0

粉丝