PIC单片机论坛论坛展示区(非讨论区)(这个版块不能发新贴)『 单片机类精华贴子展示区 』 → 给初学者,拿来就能用的入门程序


  共有53150人关注过本帖平板打印

主题:给初学者,拿来就能用的入门程序

帅哥哟,离线,有人找我吗?
bunny98
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:退休老师 帖子:2048 积分:47672 威望:0 精华:13 注册:2004-8-18 17:39:00
给初学者,拿来就能用的入门程序  发帖心情 Post By:2005-8-18 8:08:00

我自己在学习C时,想拿一个能程序来试试,发现网上的例子不是C18的,要不就是一段的小例子,能够直接用的很少,对大虾来说,这是很简单的事,可是对初学来说,这不是那么容易,特别是C也是刚入门的人,起码我是折腾了很久,这是我个是调试通过的程序,给大家做个参考

        

//****************************************************************/
        /*8路顺序控制器源程序,源文件名order.c*/
        //先顺序点亮led0--led7,然后再反序点亮led7--led0
//****************************************************************/
//能够用的点灯程序

#include <pic.h>
#include <pic1687x.h>
#define PORTBIT(add,bit) ((unsigned)(&add)*8+(bit))

static  bit  PORT_0 @  PORTBIT(PORTB,0);   /*定义PORTB 0位*/
static  bit  PORT_1 @  PORTBIT(PORTB,1);   /*定义PORTB 1位*/
static  bit  PORT_2 @  PORTBIT(PORTB,2);   /*定义PORTB 2位*/
static  bit  PORT_3 @  PORTBIT(PORTB,3);   /*定义PORTB 3位*/
static  bit  PORT_4 @  PORTBIT(PORTB,4);   /*定义PORTB 4位*/
static  bit  PORT_5 @  PORTBIT(PORTB,5);   /*定义PORTB 5位*/
static  bit  PORT_6 @  PORTBIT(PORTB,6);   /*定义PORTB 6位*/
static  bit  PORT_7 @  PORTBIT(PORTB,7);   /*定义PORTB 7位*/

void  delay();       //延迟函数的声明
    
main()
{  TRISB=0x00;       //设置portb口全为输出
   INTCON=0x00;      //关闭所有的中断
   PORTB=0x00;       //RB口先送低电品平

loop1:  
   //点亮led的第0位,顺序显示
   //PORTB=0x01;
   PORT_0=1;
   delay();

   //点亮led的第1位
   //PORTB=0x03;
   PORT_1=1;
   delay();

   //点亮led的第2位
   //PORTB=0x07;
   PORT_2=1;
   delay();

   //点亮led的第3位
   //PORTB=0x0f;
   PORT_3=1;
   delay();

   //点亮led的第4位
   //PORTB=0x1f;
   PORT_4=1;
   delay();

   //点亮led的第5位
   //PORTB=0x3f;
   PORT_5=1;
   delay();

   //点亮led的第6位
   //PORTB=0x7f;
   PORT_6=1;
   delay();

   //点亮led的第7位
   //PORTB=0xff;
   PORT_7=1;
   delay();

   //全灭
   PORTB=0x00;
   delay();

   //点亮led的第7位,反序显示
   //PORTB=0x80;
   PORT_7=1;
   delay();

   //点亮led的第6位
   //PORTB=0xc0;
   PORT_6=1;
   delay();
  
   //点亮led的第5位
   //PORTB=0xe0;
   PORT_5=1;
   delay();
  
   //点亮led的第4位
   //PORTB=0xf0;
   PORT_4=1;
   delay();
  

   //点亮led的第3位
   //PORTB=0xf8;
   PORT_3=1;
   delay();

   //点亮led的第2位
   //PORTB=0xfc;
   PORT_2=1;
   delay();
  
   //点亮led的第1位
   //PORTB=0xfe6;
   PORT_1=1;
   delay();
  
   //点亮led的第0位
   //PORTB=0xff;
   PORT_0=1;
   delay();
  
   //全灭
   PORTB=0x00;
   delay();
  
   goto  loop1;
}

void  delay()
{
   int i;
   for(i=0;i<=10000;i++)
   continue;

}







  PIC16网站福州代理,现实行购物无忧服务(在我处购买的产品有问题,只要这边有的货可以提供应急替换服务)
bunny98@163.com
  
支持(2中立(0反对(0回到顶部
总数 49 1 2 3 4 5 下一页
Google 全部 本站