专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

XS128单片机实验:B口灯循环点亮

作者:韩冰   来源:本站原创   点击数:  更新时间:2013年11月30日   【字体:

/****************************头文件WQ.h部分***************************/
#include <hidef.h>           /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
/**********************************************************
//功能:完成一个短时间的延时
//入口参数:无
//出口参数:无
***********************************************************/
void delay(void) {
   unsigned int loop_i,loop_j;
   for(loop_i=0;loop_i<500;loop_i++) {
       for(loop_j=0;loop_j<500;loop_j++){
          ;
       }
   }
}
/***************************主函数部分*************************/
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
#include "WQ.h"
/******************************************************
//功能: 完成8只LED的明灯循环流动
//主函数
//This is the second program of mine;
//we use it drive the led
******************************************************/
void main(void) {
unsigned char loop_index;  //定义变量  标记亮灯LED序号
DDRB = 0XFF;                 //定义portb端口为输出口
loop_index=0;
while(1){
    switch(loop_index ) {
       case 0:PORTB = 0XFE;break;
       case 1:PORTB = 0XFD;break;
       case 2:PORTB = 0XFB;break;
       case 3:PORTB = 0XF7;break;
       case 4:PORTB = 0XEF;break;
       case 5:PORTB = 0XDF;break;
       case 6:PORTB = 0XBF;break;
       case 7:PORTB = 0X7F; 
    }
    loop_index++;
    if(loop_index==8) {
         loop_index=0;   
    }
    delay();
}
}                       
 

关闭窗口

相关文章