微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机--数码管显示模块(C51)

单片机--数码管显示模块(C51)

时间:11-22 来源:互联网 点击:
下面是51单片机数码管显示模块的代码,具体说明在注释里表达得比较清楚。

#include < reg52.h >

#define uchar unsigned char

#defind uintunsigned int

sbit seg_oe=P1^3;//数码管显示使能端,低电平有效

sbit duanxuan=P1^4;//数码管的段选端

sbit weixuan=P1^5;//数码管的位选端

uchar code smg_duan[30]={//数码管段选码表,我们的数码管是共阴极数码管

0x3F,0x06,0x5B,0x4F,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71, }; //这是共阴极数码管0-E的显示码表

uchar code smg_wei[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//选择亮哪一个数码管,也就是数码管的位选信号

void seg_disp(uchar wei,uchar duan)//单个数码管的显示

{

weixuan=1;

P0=smg_wei[wei];

weixuan=0;

duanxuan=1;

P0=smg_duan[duan];

duanxuan=0;

seg_oe=0;

delay10ms();?

seg_oe=1;

}

void delay10ms() //延时子程序

{

uchari,j;

for(i=1;i<40;i++)

for(j=1;j<40;j--);

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top