2021-09-09 08:30:58 索炜达电子 779
项目编号:E896
文件大小:272K
源码说明:带中文注释
开发环境:C编译器
简要概述:
一个52单片机和两个573锁存器实现数码管循环移位显示数字“0~9”
573锁存器的控制引脚配置
仿真电路图仅供参考,实际上拉电阻、下拉电阻需自行选择。有错误请指出。
代码如下:
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit wei = P2^0;
sbit duan = P2^1;
void delay_ms(uint n)
{
uint i,j;
for(i = n;i > 0;i --)
for(j = 300;j > i;j--);
}
void main()
{
char num[]={0x3f,0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};
char add[]={0x7f, 0xbf, 0xdf, 0xef, 0xf7, 0xfb, 0xfd, 0xfe};
uint i;
uint j;
while(1)
{
for(i=0,j=0;i<10;i++,j++)
{
wei = 1;
P0 = add[j];
wei = 0;
if(j==7)
{
j=-1;//在j=-1和PO=add[j]之间会执行一步j++
}
duan = 1;
P0 = num[ i];
duan = 0;
if(i==9)
{
i=-1;//在i=-1和PO=num[ i]之间会执行一步i++
}
delay_ms(300);
}
}
}
目录│文件列表:
└ 数码管循环显示
│ TEST1.pdsprj
└ test
│ STARTUP.LST
│ STARTUP.OBJ
│ test1
│ test1.c
│ test1.hex
│ test1.lnp
│ test1.LST
│ test1.M51
│ test1.OBJ
│ test1.plg
│ test1.uvopt
└ test1.uvproj