微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机学习之八:用数码管显示数字

单片机学习之八:用数码管显示数字

时间:09-21 来源:互联网 点击:

一、 实验现象

让最右面的数码管显示数字2,小数点也显示。

二、 实验目的

掌握让数码管显示所需要的数字时,各I/O口的赋值方法

三、 实验任务分析

前面的试验我们都是选择发光二极管作为显示单元,这个试验我们要用数码管作为显示单元,这时,应该把JMP0跳线置于2、3位置,选择数码管显示。

现在我们来看看电路的连接形式吧,如下图所示。

从电路图上可以看到,p0口输出的是数码管的段码,控制数码管显示的数字是什么,而p2口输出的是位码,控制选通那个数码管显示。

那么如果要数码管显示2,p0口和p2口应该输出什么呢?现在我们来分析一下数码管的发光原理。

数码管实质是几个条形的发光二极管构成,有两种连接方式,分别为共阴极和共阳极连接。如下图所示:

从图上我们可以看到,对于共阳极连接的数码管,要让它正常显示,则应该com口接电源,相应的字段是输出低电平驱动。而对于共阴极连接的数码管,则com应该接地,相应的字段输出高电平驱动。

由于该学习板采用的共阳极数码管,所以欲最右面的S0显示数字,则P2.0应该输出高电平,使得S0的com端接高电平,选通S0显示;要它显示2,并且小数点也要显示,则a,b,g,e,d,dp字段输出低电平,其余字段输出高电平即可。

同时,由于P0口和各字段对应关系是:P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0~d dp e c g b f a,所以我们应该给P0口赋值12h,然后让P2.0输出高电平即可。

四、实验程序如下:

org 0000h;

start: clr p1.5

mov a,#012h ;显示数字2和外加小数点时,对应的8段码

mov p0,a ;把8段码送到P0口

mov P2,#01H ;选通最右面的数码管显示

ljmp start

end

五、为方便查阅,各种数字显示对应P0口的内容如下表所示:

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

网站地图

Top