打印

如何用PIC10的做个实验?

[复制链接]
2040|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
szyzm|  楼主 | 2010-9-7 17:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//实验目的:GPIO口的流水灯,熟悉PIC10F200的I/O口的操作
//GP3因为做编程电压VPP和复位脚MCLR,所以不点亮该口的LED
//硬件要求:
//2)断开j5/j6或者j7/j8
//3)拨码开关S13全部置ON
#include<pic.h>
  __CONFIG(0x0ffb);  
//看门狗关,复位脚做复位,不加密
//----------------------------------
//延时函数
void delay()
{
int i;                    //定义循环变量
for(i=5000;i>0;i--);      //空指令,消耗一个指令周期
}
//----------------------------------
//初始化函数
void init()
{
    TRIS=0X00;             //设置所有IO口为输出
    FOSC4=0;               //关闭GP2口的Fosc/4输出功能
    OPTION=0X00;           //所有IO口做普通I/O口
}
//----------------------------------
//亮灯函数
void led()
{
    char i;                //设置循环变量
    while(1)
      {
        GPIO=1;            //点亮GP0
        for(i=3;i>0;i--)   //循环3次(GP0-GP2)
          {
            delay();
            delay();
            delay();       //调用3次延时函数,控制流水灯的闪烁速度
            GPIO=GPIO<<1;  //点亮下一位
          }
       }
}
//-----------------------------------
//主函数
void main()
{
   init();                //调用初始化函数
   led();                 //调用亮灯函数
}

我要用这个程序设一个IO为输入,如何设?
我是刚入门的,好多地方不懂,只有一个一个改着试验.
就是想把这个程序修改成GP0为输出一个LED,当GP1输入高时,可以改变GP0输出的LED闪烁时间.
谢谢啊
我在等这个实验
沙发
szyzm|  楼主 | 2010-9-8 14:12 | 只看该作者
怎么人气那么少啊

使用特权

评论回复
板凳
XIEYUANBIN| | 2010-9-9 18:40 | 只看该作者
是因为你的问题太低级。GP3是怎么也点不亮LED的。本身就是一个只能做输入口的么。先看清楚数据手册再说吧。

使用特权

评论回复
地板
szyzm|  楼主 | 2010-9-10 20:42 | 只看该作者
谢谢XIEYUANBIN
那我先看看再说:)

使用特权

评论回复
5
andy_gao| | 2010-9-11 10:50 | 只看该作者
GP3也可以驱动LED,不过得加点外围元件

使用特权

评论回复
6
szyzm|  楼主 | 2010-9-13 21:41 | 只看该作者
我试了一下,好象用GP3作为输入不太方便一样
不知道它到处有没有AD功能啊
我就是想用它来实现电位控制
或者说用光敏电阻来输入
能做到吗?>

使用特权

评论回复
7
Mary_luo| | 2010-9-14 10:54 | 只看该作者
帮顶

使用特权

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

本版积分规则

38

主题

140

帖子

1

粉丝