数码管从左到右依次滚动显示0~7,程序通过每次仅循环选通一只数码管!
仿真图如图所示:

程序如下:
#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intuchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};void DelayMS(uint x){uchar i;while(x--){for(i=200;i>0;i--);}}void main(){uchar i,k=0x80;while(1){for(i=8;i>0;i--){P2=0xff;k=_crol_(k,1);P0=DSY_CODE[8-i];P2=k;DelayMS(3);}}}
本文介绍了一个使用C语言编写的单片机程序,该程序实现数码管从左到右依次滚动显示0~7的功能。通过循环选通每只数码管并利用位操作滚动更新显示内容,结合延时函数实现动态显示,提高了显示效率。
1758





