好玩的51单片机——数码管实现(二)

在前面我介绍了51单片机的数码管的原理,今天实现了一下,不过因为条件原因,我只能让那些数码管亮3个,数字还不是很清楚。代码还是上次那个代码:

#include<reg52.h>//包含头文件
sbit wei1=P1^0;
sbit wei2=P1^1;
sbit wei3=P1^2;
sbit wei4=P1^3;
sbit miao=P1^4;

unsigned code table[]={
0xc0,0xf9,0xa4,0xb0,0x99,0x92,
0x82,0xf8,0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e,
};//共阳数码管码表

void delay(int a)
{
	int b,c;
	for(b=a;b>0;b--)
	for(c=30;c>0;c--);	
}
void main()//主程序
{
	while(1)//循环
	{
		wei1=0;//选通第一个数码管的位选,关闭其他数码管位选
		wei2=1;
		wei3=1;
		wei4=1;
		miao=1;//打开秒针
		P0=table[1];//送入段选信号1
		delay(1);

		wei1=1;//选通第二个数码管的位选,关闭其他数码管位选
		wei2=0;
		wei3=1;
		wei4=1;
		miao=1;//打开秒针
		P0=table[2];//送入段选信号2
		delay(1);

		wei1=1;//选通第三个数码管的位选,关闭其他数码管位选
		wei2=1;
		wei3=0;
		wei4=1;
		miao=1;//打开秒针
		P0=table[3];//送入段选信号 3
		delay(1);

		wei1=1;//选通第一个数码管的位选,关闭其他数码管位选
		wei2=1;
		wei3=1;
		wei4=0;
		miao=1;//打开秒针
		P0=table[4];//送入段选信号 1111 1001
		delay(1);



	}
}
代码可以跑,只是因为我的数码管有问题。

实验器材:

(1)最小系统

(2)4个数码管

(3)杜邦线若干

实验结果:


如果连线不会那么就请参考我的博客:http://blog.csdn.net/sum_tw/article/details/60466103对着连线。


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值