RB-101机器人主板四小灯控制

    这是从MCS51转到AVR后的第一个单片机程序,该程序是控制RB-101 机器人主板上的四个LED循环的闪烁。
    其实用C语言编写单片机的好处就在于此,更换硬件本身并不需要花太多的时间去了解其中汇编命令的改变,只需要了解其中一些特殊保留字的改变。

注:AVR单片机是Reduced Instruction Set Computer(RISC)精简指令集计算机(类似AMD的CPU结构)
        MCS51是Complex Instruction Set Computer(CISC)复杂指令集计算机(类似Intel的CPU结构)
  

 1  // RB-101 机器人4小灯测试程序
 2  // 2005年6月25日  彭斌
 3 
 4  #include  < mega8515.h >   // 头文件
 5  #include  < delay.h >      // 延时头程序调用,该文件已经存在于CodeVisionAVR里 ,安装后就有。
 6  #include  < stdio.h >      // 一些常用函数的头文件调用
 7 
 8  // 主函数入口
 9  void  main( void )
10  {            
11       // DDRxn 定义引脚方向,“1” 为输出,“0”为输入。  
12      
13       // 由于RB-101主电路板上四小灯所接引脚为PORTB.6 PORTB.7 PORTC.6 PORTC.7
14       // 因此,需要给PB、PC口的6、7位即DDRB.6、DDRB.7、DDRC.6、DDRC.7定义为电平输出      
15      
16      DDRB = 0B11000000;    // 这里使用二进制赋值,同时DDRxn也支持位赋值,例:DDRB.6=1
17      DDRC = 0B11000000;
18      
19       // 执行一个死循环,连续使小灯闪动.
20       while ( 1 )
21      {            
22          PORTB = 0B11000000;    // PB6、PB7输出高电平。这里使用二进制赋值,同时DDRxn也支持位赋值,例:PORTB.6=1             
23          PORTC = 0B11000000;    // PC6、PC7输出高电平   
24          
25           // 调用延时程序
26          delay_ms( 1000 );     // 延时1000毫秒,也就是1S        
27                                   
28          PORTB = 0B00000000;    // PB6、PB7输出低电平    
29          PORTC = 0B00000000;    // PC6、PC7输出低电平  
30          
31           // 再次调用延时程序
32          delay_ms( 1000 );     // 延时1000毫秒,也就是1S  
33 
34      }
35 
36  }


由于是给我弟弟入门用的,所以添加了很多注释
相关操作的屏幕录像请在这里下载: RB-101-4LED

转载于:https://www.cnblogs.com/ugoer/archive/2005/07/05/186425.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值