51 数码管静态显示 [李园7舍_404]
2012-10-12 23:39
253 查看
对于单片机的学习我一般不按照资料的顺序学习。我是照这个步骤将新知识掌握:
1.学习过程:阅读C语言程序,查看控制变量被赋予的值-->查看跟控制变量对应的相关的电路图-->被控制电路所接收到的输入信号会带来什么样的输出-->这样子的输出带来的电路显示效果。
2.根据1的学习过程我们知道了电路的显示效果跟输出信号的关系,被控电路输出信号与输入信号的关系,被控电路输入信号与C语言程序中控制变量赋值的关系,然后我们就可以改写C语言程序中的控制变量的值去重新控制电路的显示效果。
以上内容纯属个人观点,下面进入单片机数码管静态显示学习的过程。
位选:在多个数码管中选哪一个数码来显示数字。
段选:被选中的数码管将显示哪个数字(数码管的内部是发光二级管亮,可以选择哪些发光二极管被点亮来显示相应的数字)
![](http://img.my.csdn.net/uploads/201210/12/1350054889_3191.jpg)
![](http://img.my.csdn.net/uploads/201210/12/1350054937_3630.jpg)
在看单片机这类电路图时,编号相同的节点在实际中是连通的(不用线连接有简介的效果),如P2.3和CS3是连通的。
我们可以看到右图中COL系列线与左图中的P2系列是相连的,其实P2.0~P2.3给出的信号就是输入到右图CS1-CS3上的对应数码管的位选信号,当信号为真时,相应的数码管被选中。
同理,右图中的2-9号端分别与左图中P0.0-P0.7相连通,根据示例程序中透露:共阴极数码管输入端为低信号时,输出高电平。
然后程序经过keil软件(或其他软件)编译链接生成可执行文件(*.hex文件)后,下载(根据前面所介绍的步骤)到单片机内,第一个数码管就会被点亮显示数字8.
所以程序中的位选代码和段选代码成了核心控制信号,故做记录如下:
位选信号为高时,相应的数码管被选中。
给74HC53某位输入信号位为1时,输出也为1,且对应的数码管被点亮(共阴数码管)。
1.学习过程:阅读C语言程序,查看控制变量被赋予的值-->查看跟控制变量对应的相关的电路图-->被控制电路所接收到的输入信号会带来什么样的输出-->这样子的输出带来的电路显示效果。
2.根据1的学习过程我们知道了电路的显示效果跟输出信号的关系,被控电路输出信号与输入信号的关系,被控电路输入信号与C语言程序中控制变量赋值的关系,然后我们就可以改写C语言程序中的控制变量的值去重新控制电路的显示效果。
以上内容纯属个人观点,下面进入单片机数码管静态显示学习的过程。
1.相关概念
当数码管应用于某一系统时,它们的“位选”是可被独立控制的,而“段选”是连接在一起的我们可以通过位选信号控制哪几个数码管亮,而在同一时刻,位选选通的所有数码管上显示的数字时钟都是一样的,因为它们是连在一起的,送入所有数码管的段选信号都是一样的,它们显示的数字会是一样的,数码管的这种显示方法叫静态显示。位选:在多个数码管中选哪一个数码来显示数字。
段选:被选中的数码管将显示哪个数字(数码管的内部是发光二级管亮,可以选择哪些发光二极管被点亮来显示相应的数字)
2.我们看单片机与数码管部分电路图
![](http://img.my.csdn.net/uploads/201210/12/1350054889_3191.jpg)
![](http://img.my.csdn.net/uploads/201210/12/1350054937_3630.jpg)
在看单片机这类电路图时,编号相同的节点在实际中是连通的(不用线连接有简介的效果),如P2.3和CS3是连通的。
我们可以看到右图中COL系列线与左图中的P2系列是相连的,其实P2.0~P2.3给出的信号就是输入到右图CS1-CS3上的对应数码管的位选信号,当信号为真时,相应的数码管被选中。
同理,右图中的2-9号端分别与左图中P0.0-P0.7相连通,根据示例程序中透露:共阴极数码管输入端为低信号时,输出高电平。
3.编写程序控制数码管亮起来(静态显示)
为了简单,以下程序用来点亮CS1数码管,显示数字8。<span style="font-size:14px;">#include<reg52.h> //选中单片机的P2.3,由dula代替需要的操作 sbit dula=P2^3; void main() { //送入位选信号 dula = 1; //送入段选信号 P0 = 0xFF; dula = 0; //程序停止在这里 while(1); }</span>
然后程序经过keil软件(或其他软件)编译链接生成可执行文件(*.hex文件)后,下载(根据前面所介绍的步骤)到单片机内,第一个数码管就会被点亮显示数字8.
4.总结
只要由以上两个图成功的控制了一个数码管的数值显示之后,就可以改变程序中的位选和段选信号使选择0-4个数码管显示相同的数字(静态显示的限制)。所以程序中的位选代码和段选代码成了核心控制信号,故做记录如下:
位选信号为高时,相应的数码管被选中。
给74HC53某位输入信号位为1时,输出也为1,且对应的数码管被点亮(共阴数码管)。
相关文章推荐
- 51 数码管动态显示 [李园7舍_404]
- 单片机—数码管静态显示
- 数码管实现动静态显示
- 51单片机 数码管的静态显示和动态显示
- 51单片机(HC6800—EM3 V2.2)数码管操作——静态显示
- 基于proteus的51单片机仿真实例五十九、1位数码管显示实例
- 51 下载程序到单片机内 [李园7舍_404]
- lesson3 数码管静态显示及定时器和中断应用
- 一天:51单片机从入门到一个动态数码管显示数字控制
- 整理2010年51单片机程序--4*4按键与数码管显示
- 数码管的静态显示
- 静态数码管显示
- [OS] 用汇编语言编写一个Boot Sector显示"Hello world!" [李园7舍_404]
- 静态数码管显示
- 51 单片机 C 语言编程:矩阵键盘输入,显示在数码管
- 51单片机入门之五:数码管显示(动态)
- 51proteus仿真:7段数码管显示小数
- 51_定时器扫描矩阵键盘_数码管显示
- 51 下载hex文件到单片机失败的解决方案 [李园7舍_404]
- lesson3~数码管的静态显示&定时器&中断的应用