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

posted on 2005-07-05 09:26  彭斌  阅读(652)  评论(0编辑  收藏  举报

导航