楼主能分享一下源码就更好了
- /* 名称:8只数码管闪烁显示数字串
- 说明:数码管闪烁显示由0~7构成的一串数字
- 本例用动态刷新法显示一串数字,在停止刷新时所有数字显示消失。
- */
- #include<reg51.h>
- #define uchar unsigned char
- #define uint unsigned int
- //段码表
- uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
- //位码表
- uchar code DSY_IDX[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
- //延时
- void DelayMS(uint x)
- {
- uchar t;
- while(x--) for(t=0;t<120;t++);
- }
- //主程序
- void main()
- {
- uchar i,j;
- while(1)
- {
- for(i=0;i<30;i++)
- {
- for(j=0;j<8;j++)
- {
- P0=0xff;
- P0=DSY_CODE[j]; //发送段码
- P2=DSY_IDX[j]; //发送位码
- DelayMS(2);
- }
- }
- P2=0x00; //关闭所有数码管并延时
- DelayMS(1000);
- }
- }
复制代码
|