周末在51板上搞了一个走马灯的小程序

      我的专业本不是学习硬件,但由于对电子电路很感兴趣,所以就抽时间做了一些了解和学习。上周末拿到了一块RZV2板子,嵌的是AT89S52的单片机芯片,照着葫芦画瓢,弄出了一个走马灯的程序,由于板子上已经烧好了LED灯(与P0的8个引脚相连),输入低电平即可点亮LED灯。使用的是keil uvision3开发工具,它使用C语言来开发,比较亲切吧,呵呵

      废话少说,贴出代码:

#include <reg52.h>


void delay1ms(unsigned int timeMs)
{
    while(timeMs--)
    {
        unsigned char cc;
        for(cc=0; cc!=125; cc++);
    }
}


void main()
{
    while(1)
    {
        P0 = 0xFF & ~( 1<<0 );   // light P0^0
        delay1ms(1000);
        P0 = 0xFF;               // light off
        delay1ms(1000);
        
        P0 = 0xFF & ~( 1<<1 );   // light P0^1
        delay1ms(1000);
        P0 = 0xFF;               // light off
        delay1ms(1000);
        
        P0 = 0xFF & ~( 1<<2 );   // light P0^2
        delay1ms(1000);
        P0 = 0xFF;               // light off
        delay1ms(1000);
        
        P0 = 0xFF & ~( 1<<3 );   // light P0^3
        delay1ms(1000);
        P0 = 0xFF;               // light off
        delay1ms(1000);
        
        P0 = 0xFF & ~( 1<<4 );   // light P0^4
        delay1ms(1000);
        P0 = 0xFF;               // light off
        delay1ms(1000);
        
        P0 = 0xFF & ~( 1<<5 );   // light P0^5
        delay1ms(1000);
        P0 = 0xFF;               // light off
        delay1ms(1000);
        
        P0 = 0xFF & ~( 1<<6 );   // light P0^6
        delay1ms(1000);
        P0 = 0xFF;               // light off
        delay1ms(1000);
        
        P0 = 0xFF & ~( 1<<7 );   // light P0^7
        delay1ms(1000);
        P0 = 0xFF;               // light off
        delay1ms(1000);
    }
}

注意:

P0是Keil为52芯片预定义的P0引擎访问地址,直接修改这个地址的值就能给P0引脚输入信号。


你可能感兴趣的:(周末在51板上搞了一个走马灯的小程序)