51 数码管静态显示 [李园7舍_404]
来源:互联网 发布:诸葛亮网络用语含义 编辑:程序博客网 时间:2024/04/30 13:24
对于单片机的学习我一般不按照资料的顺序学习。我是照这个步骤将新知识掌握:
1.学习过程:阅读C语言程序,查看控制变量被赋予的值-->查看跟控制变量对应的相关的电路图-->被控制电路所接收到的输入信号会带来什么样的输出-->这样子的输出带来的电路显示效果。
2.根据1的学习过程我们知道了电路的显示效果跟输出信号的关系,被控电路输出信号与输入信号的关系,被控电路输入信号与C语言程序中控制变量赋值的关系,然后我们就可以改写C语言程序中的控制变量的值去重新控制电路的显示效果。
以上内容纯属个人观点,下面进入单片机数码管静态显示学习的过程。
1.相关概念
当数码管应用于某一系统时,它们的“位选”是可被独立控制的,而“段选”是连接在一起的我们可以通过位选信号控制哪几个数码管亮,而在同一时刻,位选选通的所有数码管上显示的数字时钟都是一样的,因为它们是连在一起的,送入所有数码管的段选信号都是一样的,它们显示的数字会是一样的,数码管的这种显示方法叫静态显示。
位选:在多个数码管中选哪一个数码来显示数字。
段选:被选中的数码管将显示哪个数字(数码管的内部是发光二级管亮,可以选择哪些发光二极管被点亮来显示相应的数字)
2.我们看单片机与数码管部分电路图
在看单片机这类电路图时,编号相同的节点在实际中是连通的(不用线连接有简介的效果),如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 数码管动态显示 [李园7舍_404]
- LCD 1602 稳定显示 [李园7舍_404]
- 静态数码管显示
- 静态数码管显示
- 数码管静态显示
- 数码管的静态显示
- 51 下载程序到单片机内 [李园7舍_404]
- 51定时器中断程序编写 [李园7舍_404]
- 51单片机 RAM 数据存储区 [李园7舍_404]
- 51 串行通信知识点整理 [李园7舍_404]
- 解析BMP文件 [李园7舍_404]
- 动态内存分配 [李园7舍_404]
- [OS] 用汇编语言编写一个Boot Sector显示"Hello world!" [李园7舍_404]
- 51单片机 数码管的静态显示和动态显示
- 静态数码管显示0-F
- 5.7 数码管的静态显示
- 单片机—数码管静态显示
- 解决安装vmware以后,系统服务增多,系统变慢的问题。
- 美团笔试
- 上电瞬间电容相当于短路
- Oracle中存储过程和函数的区别
- java静态/动态成员变量、初始化块,父类/子类构造函数执行顺序问题
- 51 数码管静态显示 [李园7舍_404]
- 用栈的思想写的动态迷宫求解
- 看完Oracle视频后的一些实用(正在更新中)
- 标签的移动与线程控制
- 动态汉诺塔(c语言)
- 内部类
- ucos-ii移植笔记(ARM7平台)
- CET,GMT等各种时间总结
- 不用加减乘除完成两数相加