打印

请问用PIC10系例如何点亮一个LED程序?

[复制链接]
2911|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
szyzm|  楼主 | 2010-9-5 13:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
刚看到PIC的器件(以前没关注过),可我还没入门,
请哪位大哥写出PIC10系例如何点亮一个LED程序让我参考入门,谢谢。
沙发
szyzm|  楼主 | 2010-9-5 14:07 | 只看该作者
或都用这个怎么改?
#ifndef _Motor001_H_
#define _Motor001_H_
#define   constTMR0  6  //
typedef struct {
  unsigned BIT0: 1;
  unsigned BIT1: 1;
  unsigned BIT2: 1;
  unsigned BIT3: 1;
  unsigned BIT4: 1;
  unsigned BIT5: 1;
  unsigned BIT6: 1;
  unsigned BIT7: 1;
}PICCBIT;//定义一个只能按位域寻址的新变量类型
typedef union {
  PICCBIT BIT;//可以按位域寻址
  unsigned char BYTE;//可以按字节寻址
}PICCBITBYTE;//定义一个既能按位域寻址也可按字节寻址的新变量类型
     PICCBITBYTE  rWorkFlag;
  
//********************************************  
#define    fPowerOn        rWorkFlag.BIT.BIT0 //开关机
#define    fOnWork         rWorkFlag.BIT.BIT2 //On 状态
#define    fGp0On         rWorkFlag.BIT.BIT2

  
  unsigned char rNextTime; //到下一步动作的时间
  unsigned char rMsecond,rMCount,rGPIO,rTaskJump;
  
  unsigned char rSecond;
  
  unsigned char rStepJump;
  
   
#endif


#include <pic.h>
#include    "Motor001.h"
/*
* 马达控制器
*  1、上电DC马达正转2s
*  2、AC马达1工作110s
*  3、休息60s
*  4、DC马达反转2s
*  5、AC马达2工作110s
*  6、休息110s
*  7、回到1
************************************************************
     

************************************************************
*/
const char rPortConTab[]={0x00,0x04,0x20,0x30,0x20,0x00,0x02,0x01};
const char rWorkTimeTab[]={120,220,1,4,1,120,220,4};
   
main()
{
  
   OPTION=0xC3;  //250*16=4ms
   rMsecond=0xC3;
   TRIS=0x00;
   rGPIO=0x00;
   GPIO=0x00;
   rNextTime=2;
    while(1)
   {
    if(TMR0<5)
    {
      
      TMR0+=constTMR0;
      CLRWDT();   
      GPIO=rGPIO;         
      if(!--rMsecond)
      {
         rMsecond=125;
         
        if(!--rNextTime)
         {
           if(fPowerOn)
           {
             if(rStepJump)rStepJump--;
             else   rStepJump=7;  
              }
           else
            {
             fPowerOn=1;
             fOnWork=1;
             rStepJump=7;
               }
             rNextTime=rWorkTimeTab[rStepJump];
             rGPIO=rPortConTab[rStepJump];      
            }
           }

      }
  
    }

  }

使用特权

评论回复
板凳
szyzm|  楼主 | 2010-9-5 14:09 | 只看该作者
要做到LED亮1S灭2S:)

使用特权

评论回复
地板
XIEYUANBIN| | 2010-9-6 09:15 | 只看该作者
10系列的你都用 C ?   对着数据手册,把那些需要设置的寄存器一个一个设置好,在该亮灯的地方置1就就会亮

使用特权

评论回复
5
szyzm|  楼主 | 2010-9-7 17:26 | 只看该作者
谢谢楼上的
可是程序还是要写的嘛
点亮还要灭啊

使用特权

评论回复
6
szyzm|  楼主 | 2010-9-13 21:42 | 只看该作者
看样子这种器件用VB快一点~~

使用特权

评论回复
7
Mary_luo| | 2010-9-14 10:52 | 只看该作者
呵呵,楼主想不写程序就实现吗?

使用特权

评论回复
8
szyzm|  楼主 | 2010-9-15 18:38 | 只看该作者
我是刚入门嘛
不知怎样写

使用特权

评论回复
9
jingzheng0670| | 2010-9-15 19:50 | 只看该作者
:)

使用特权

评论回复
10
lbbxhu04| | 2010-9-21 23:39 | 只看该作者
高手很多啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

38

主题

140

帖子

1

粉丝