0
点赞
收藏
分享

微信扫一扫

项目二简易电子表 任务2-1数码管静态显示

 任务:单片机连接8位共阳极数码管,编程显示8个相同的数字。

项目二简易电子表 任务2-1数码管静态显示_字段

项目二简易电子表 任务2-1数码管静态显示_数码管_02

数字显示:数码管(7-8个led)最便宜,点阵led(64 8*8),液晶

项目二简易电子表 任务2-1数码管静态显示_数码管_03

七段数码管一共8个发光二极管,顺时针a-->g ,最右边的点是dp。

两种数码管(共阳与共阴)用法不同:数码管都可以显示数字以及个别英文字母,通用性比较好,但交叉的字母不可以。

共阴:1.公共端接地(前提)com--->0      2.字段:亮-->1  灭-->0 正逻辑控制

项目二简易电子表 任务2-1数码管静态显示_数码管_04

共阳:1.公共端接高电位,一般为5v(前提)com--->1      2.字段:亮-->0  灭-->1 反逻辑控制

项目二简易电子表 任务2-1数码管静态显示_单片机_05

我们还要说到多位数码管的结构特点:字段共用,公共端独立,可以节省接口线。有几位数码管就有几个公共端。注意公共端起到位选的作用,即哪一个灯亮。字段(segment)起到显示字形的作用。

在proteus中输入7seg找数码管,后面的数字代表位数。CA是共阳,CC时共阴。common公共,Anode阳极,Cathode阴极。

我们还需要接入三极管放大器,达到放大电流的作用提高数码管亮度,因为直接接单片机上太暗了,仿真软件看不出来,实际操作会有影响。输入not找到三极管。

注意接线时P2.7接高位,P2.0接低位。在公共端左-->右    高位-->低位(左边是高位)。

如果线路不好错开,因为线是按格子走的,所以可以修改格子大小,方法如下:

项目二简易电子表 任务2-1数码管静态显示_数码管_06

但需要注意我们选择的数码管是共阳,所以公共端需要是高电位1,又因为三极管非门,起到取反作用,所以应为0算控制字

项目二简易电子表 任务2-1数码管静态显示_数码管_07


项目二简易电子表 任务2-1数码管静态显示_单片机_08

/*************************
项目名称:项目二简易电子表
任务名称:任务2-1数码管静态显示
任务描述:单片机连接8位共阳极数码管,编程显示8个相同的数字
*************************/
#include<reg51.h>
//51单片机寄存器定义头文件
void main(){
	P2=0x00;0000 0000==>1111 1111全选中
	P0=0xf8;//显示7
}

项目二简易电子表 任务2-1数码管静态显示_数码管_09

/*****************************************************************************/

再来实现两头显示两个五

项目二简易电子表 任务2-1数码管静态显示_单片机_10

/*************************
项目名称:项目二简易电子表
任务名称:任务2-1数码管静态显示
任务描述:单片机连接8位共阳极数码管,编程显示8个相同的数字
*************************/
#include<reg51.h>
//两头两个显示5
//51单片机寄存器定义头文件
void main(){
	P2=0x3c;
	P0=0x92;
}

/*****************************************************************************/

奇数位显示2:

项目二简易电子表 任务2-1数码管静态显示_单片机_13

/*************************
项目名称:项目二简易电子表
任务名称:任务2-1数码管静态显示
任务描述:单片机连接8位共阳极数码管,编程显示8个相同的数字
*************************/
#include<reg51.h>
//奇数位显示2
//51单片机寄存器定义头文件
void main(){
	P2=0x55;
	P0=0xa4;
}

注意:如何修改proteus的格子大小呢?


 点击view视图

项目二简易电子表 任务2-1数码管静态显示_数码管_15

选择任何一个snap,就可以修改格子大小了

项目二简易电子表 任务2-1数码管静态显示_字段_16


举报

相关推荐

0 条评论