proteus仿真51单片机实现:8个数码管显示学号

该博客介绍了一个使用74ls245作为驱动和74ls138进行位选的电路设计,用于驱动共阴极数码管显示数字或字符。程序中展示了如何通过C语言编程实现数字0-9的显示,并提供了延时函数和消除残影的处理。示例代码显示了数字20030730,用户可以修改数组内容以更改显示的数字。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

利用74ls245驱动和74ls138位选。

#include <reg51.h>

#define uint unsigned int
#define uchar unsigned char

void delay(uint t)//延时函数
{
	while(t--);
}

void main()//主函数
{
	uint i;
	//采用共阴极数码管
	uint code zixing[8]={0x5b,0x3f,0x3f,0x4f,0x3f,0x07,0x4f,0x3f};//数组对应显示字符20030730
	uint code weixuan[8]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07};
	while(1)
	{
		for(i=0;i<8;i++)
		{
			P0=zixing[i];
			P2=weixuan[i];
			delay(10);
			P0=0x00;//消除残影
		}
	}
}

proteus所需器件

实际运行图

更改学号显示请更改数组内容,如下 

//此数组表示的是字符
//可与共阴极数码管数组相对应
//0-0x3f,//1-0x06,//2-0x5b,//3-0x4f,//4-0x66,//5-0x6d,
//6-0x7d,//7-0x07,//8-0x7f,//9-0x6f,//A-0x77,//B-0x7c,
//C-0x39,//D-0x5e,//E-0x79,//F-0x71.
可按需互换
下面以20030730的数组为例。
uint code zixing[8]={0x5b,0x3f,0x3f,0x4f,0x3f,0x07,0x4f,0x3f};
//                    2    0    0    3    0    7    3    0

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值