51单片机(九)—— 8位数码管-显示一位

发布者:心怀感恩最新更新时间:2021-07-16 来源: eefocus关键字:51单片机  8位数码管 手机看文章 扫描二维码
随时随地手机看文章

一、原理介绍

关于数码管的控制电路,在《51单片机(八)》中有详细的介绍,硬件电路如下图所示。

在这个实验中,我们对8位数码管的一位进行控制,在进行实验时,需要将单片机的P00~P07引脚与J44相连。接口的对应关系是(P00—D0),……,(P07—D7)。将单片机的P10和P11引脚与J45相连,P10与J45上的DM对应,P11与WM对应。


二、实例介绍

这个实验的代码如下所示


#include //包含头文件,一般情况不需要改动

 

#define DATA P0 //定义数据端口 程序中遇到DATA 则用P0口 替换

sbit DM = P1^0;  //定义锁存使能端口 段锁存

sbit WM = P1^1;  //定义锁存使能端口 位锁存

 

void main(void) 

{

for(;;) 

{

DATA=0xfe; //取位码,第一位数码管选通,即二进制1111 1110

WM=1;      //位锁存

WM=0;

DATA=0x7f; //取显示数据,段码 "8"

DM=1;      //段锁存

DM=0;   

}


将代码烧写到单片机中,现象如下所示。

这个实验使用两个锁存器来驱动发光二极管。控制数码管的位码和段码都通过单片机的P0口输出。U43用来输出位码,U42用来输出段码。


P0口首先输出0xfe,WM=1;这个语句使U43输出值为0xfe,WM=0;这个语句使U43为锁存状态。U43的输出保持为0xfe。0xfe转换为二进制为1111 1110,这8个数值输出给8位数码管的共阴极。输出为1的位,由于阴极为高电平,数码管被关断,输出0的位,阴极为低电平,数码选通。因此数码管的第一位选通,其它位关断。

之后,P0口输出0x7f,DM=1;这个语句使U42输出值为0x7f,DM=0;这个语句使U42为锁存状态。U42的输出保持为0x7f。0x7f对应的二进制为0111 1111,即数码管的A、B、C、D、E、F、G段都为高电平,因此A、B、C、D、E、F、G都可以点亮,显示的是数值“8”,又由于只有第一位选通,因此最后的实验现象是第一位显示“8”。

关键字:51单片机  8位数码管 引用地址:51单片机(九)—— 8位数码管-显示一位

上一篇:51单片机(十)—— 8位数码管-数码管扫描
下一篇:51单片机(八)—— 数码管电路介绍

推荐阅读最新更新时间:2024-11-10 14:10

51单片机开发操作系统应注意些什么?
  1,操作系统软件的代码不能太长   因为51系列单片机的系统硬件资源相对匮乏,如果操作系统的代码比应用程序的代码还大,甚至使得用户的应用程序要考虑给操作系统让出资源,这样的操作系统即使功能再完善,也不实用。现在流行的嵌入式操作系统就不能应用于51系列单片机,原因是代码太大。开发一个5000行的基于裸机的应用程序也就是占用 7~8KB ROM空间,一个操作系统用掉了几十KB,占空间不算,实时性的优势恐怕也没了(执行这么多的指令要时间)。所以,μCOS的作者也不支持将他的代码移植到51系列单片机上,这也就不奇怪了。   2,操作系统不能占用太多的片内RAM空间   51系列单片机只有128个或者256个字节的片内RAM空间,
[单片机]
手把手教学51单片机第二课 | 流水灯 蜂鸣器 继电器
crol循环左移函数 1.定义:a=下横杆crol下横杠 (变量x,一次左移位数n) 2.最高位左移变至最低位,次高位变最高位,以此类推。 3.执行顺序:变量先左移 再赋值给a 4.头文件**include intrins.h ** cror循环右移函数 参照循环左移函数,只是方向不同 续流二极管 反向接入二极管,短路感应电动势,从而保护三极管 流水灯蜂鸣器代码 #include reg52.h #include intrins.h //crol函数头文件 #define uint unsigned int #define uchar unsigned char uchar temp; sbit beep=P
[单片机]
手把手教学<font color='red'>51单片机</font>第二课 | 流水灯 蜂鸣器 继电器
51单片机位条件转移指令
判CY转移 指令 JC rel JNC rel 第一条指令的功能是如果CY等于1就转移,如果不等于1就次序执行。那么转移到什么地方去呢?我们能这样理解:JC 标号,如果等于1就转到标号处执行。这条指令我们在上节课中已讲到,不再重复。 第二条指令则和第一条指令相反,即如果CY=0就转移,不等于0就次序执行,当然,我们也同样理解: JNC 标号 判位变量转移指令 JB bit,rel JNB bit,rel 第一条指令是如果指定的bit位中的值是1,则转移,不然次序执行。同样,我们能这样理解这条指令:JB bit,标号 第二条指令请大家先自行分析
[单片机]
51单片机 ret和reti
原来在8051构架中--中断系统中含有两个不可寻址的“优先级生效”触发器。一个用于指出CPU是否正在执行高优先级的中断服务程序,这个触发器为1时,系统将屏蔽所有的中断请求;另一个则指出CPU是否正在执行低优先级中断服务程序,该触发器为1时,将阻止除高优先级以外的一切中断请求。由此可见,若要响应同级甚至是低级中断请求,必须使得该“优先级生效”触发器清零。但该触发器又是不可寻址的,所以无法用软件直接清零。” 通常情况下,在普通的汇编子程序中用RET做返回,在中断服务子程序中用RETI起中断返回作用。两条指令都能从堆栈中弹出断点地址并装入PC中,使 CPU回到原来主程序的断点处继续运行。然而,RET和RETI有本质的区别:当某一中断源响
[单片机]
51单片机入门教程(2)——实现流水灯
一、搭建流水灯电路 在Proteus中搭建流水灯电路如图 二、流水灯程序 我们可以把流水灯看作依次点亮若干个灯。 程序如下: #include reg52.h sbit led1 = P2^0; sbit led2 = P2^1; sbit led3 = P2^2; sbit led4 = P2^3; sbit led5 = P2^4; sbit led6 = P2^5; sbit led7 = P2^6; sbit led8 = P2^7; void main() { //点亮第一个灯 led1 = 1; led2 = 0; led3 = 0; led4 = 0; led5 = 0; l
[单片机]
<font color='red'>51单片机</font>入门教程(2)——实现流水灯
51单片机-74HC595移位寄存器
1.74HC595芯片介绍 74HC595芯片是一个串行输入,并行输出设备。其内部包括一个8位移位寄存器、一个存储器以及三态输出门电路,其中移位寄存器和存储器都有相互独立的时钟,每当移位寄存器输入时钟SHCP上升沿来临之时,数据被移出。 1.1.引脚定义 引脚定义,怎么命名,并没有个统一的规则,所以每个人在绘制芯片引脚图时,根据个人习惯命名可能都不一样(如:14号引脚(DS/SER),10号引脚(MR/SCLR),11号引脚(SHCP/SCK),12号引脚(STCP/RCK)等);虽然命名可能不一样,但引脚的功能确是一样; 1.2.工作原理 工作方式1:将DS的数据,通过SHCP产生上升沿,一位位的移入移
[单片机]
<font color='red'>51单片机</font>-74HC595移位寄存器
基于51单片机和数码管的万年历程序
可实现功能: 启动程序数码管按照××-××-××格式显示时分秒并走时 按下C1按钮后按照××-××-××格式显示年月日 按下C3调时模式按钮时分秒/年月日静止,指示灯亮起,进入调时模式 先按C2选位按钮再按下C0加一按钮,对应的位置改变 再次按下C3按钮退出调时模式,继续走时 #include reg51.h #define uChar unsigned char #define uInt unsigned int uChar a ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uChar b ={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,
[单片机]
[51单片机学习笔记ONE]-----LED灯的多种使用方法
一.交替闪烁8个LED灯,时间间隔为1s 1 /****************************************************** 2 实验名称: 交替闪烁8个LED灯,时间间隔1s 3 实验时间: 2014年12月2日 4 ******************************************************/ 5 6 #include reg51.h 7 8 void delay(unsigned char a); 9 10 void main() 11 { 12 while(1) 13 { 14 /*根据原理图,P0置高电平
[单片机]
[<font color='red'>51单片机</font>学习笔记ONE]-----LED灯的多种使用方法
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved