首页 > 学院 > 开发设计 > 正文

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

2019-11-06 06:33:41
字体:
来源:转载
供稿:网友

在前面我介绍了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对着连线。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表