单片机学习之八:用数码管显示数字
一、 实验现象
让最右面的数码管显示数字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口的内容如下表所示:
- FPGA的DSP性能揭秘(06-16)
- 基于单片机通用引脚的软件UART设计(10-16)
- 分时操作系统思想在单片机中的具体应用 (10-30)
- 基于AT89C51+DSP的双CPU伺服运动控制器的研究(05-26)
- 关于RTX51 TINY的分析与探讨(05-30)
- 基于MC9S12DGl28单片机的智能寻迹车设计(04-03)