本文主要介绍基于MCS-51单片机的数码管显示实现自加1功能,从1一直显示到999.以下是硬件电路图、功能实现图以及源代码。(电路:使用74HC573锁存器控制段选,74H138控制位选;)
实现数码管自加的代码:
#include
#define uchar unsigned char
#define uint unsigned int
uchar code table[16] = {0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,0x7f,
0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //显示数字表
uchar flag,bai,shi,ge;
uint temp;
void xunhuan();
void delay(uint z);
void init();
void main()
{
init();
while(1)
{
if(flag==20)
{
flag=0;
temp++;
if(temp==1000)
{
temp=0;
}
}
bai=temp/100;
shi=temp%100/10;
关键字:MCS-51单片机 数码管显示 自加1功能
引用地址:
基于MCS-51单片机的数码管显示自加1功能的实现
推荐阅读最新更新时间:2024-03-16 15:50
51单片机之数码管显示原理
一个数码管有八段:A,B,C,D,E,F ,G,H即由八个发光二极管组成;发光二极管导通的方向是一定的(导通电压一般取为1.7V),这八个发光二极管的公共端有两种:可以分别接+5V(即为共阳极数码管)或接地(即为共阴极数码管) 共阳极: 位选为高电平(即1)选中数码管, 各段选为低电平(即0接地时)选中各数码段, 共阴极: 位选为低电平(即0)选中数码管, 各段选为高电平(即1接+5V时)选中各数码段。 1位数码显示数字其实就是这8个发光二极管,哪个亮哪个不亮,从而达到显示数字的效果,亮和不亮无非就是0或1。以共阴极为例。 数码管的段依次从低到高如图中的a,b,c,d,e,f,g,h(h是小数点),如果要显示数字1,即b,
[单片机]
MCS-51单片机、8051单片机、51单片机的区别
MCS-51单片机---是指美国INTEL公司生产的内核兼容的一系列单片机的总称。“MCS-51”也代表这一系列单片机的内核。这一系列单片机硬件结构和指令系统一致,包括8031、8051、8751、8032、8052、8752等基本型。 8051单片机---是MCS-51系列单片机中的一个基本型,是MCS-51系列中最早期、最典型、应用最广泛的产品,所以8051单片机也就成了MCS-51系列单片机的典型代表。 51单片机---51单片机是对目前所有兼容MCS-51指令系统的单片机的统称,包括INTEL MCS-51系列单片机、以及其他厂商生产的兼容MCS-51内核的增强型8051单片机。只要和MCS-51内核兼容的单片机都叫做
[单片机]
PC机与多MCS-51单片机间的串行通信设计
1 引 言 在测控系统和工程应用中,常遇到多项任务需同时执行的情况,因而主从式多机分布式系统成为现代工业广泛应用的模式。它们大多由IBM-PC微机和MCS-51单片机组成。单片机功能强、体积小、价格低廉、开发应用方便,尤其具有全双工串行通讯的特点,在工业控制、数据采集、智能仪器仪表、家用电器方面都有广泛的应用。同时,IBM-PC机正好补充单片机人机对话和外围设备薄弱的缺陷。各单片机独立完成数据采集处理和控制任务,同时通过通信接口将数据传给PC机,PC机将这些数据进行处理、显示或打印,把各种控制命令传给单片机,以实现集中管理和最优控制。 故IBM-PC机(上位机)与各MCS-51单片机(下位机)之间的通信显得尤其重要。本文主要
[单片机]
MSP430学习笔记6-动态数码管的显示
这个程序主要部分是我改写的,程序把看门狗当做普通定时器使用,在看门狗中断中进行数码管扫描,另外我加入了显示的缓冲区,想在数码管上显示什么数字只需要对缓冲数组中的值进行操作即可。最后加入了小数点的操作,可以很方便的加入小数点,程序如下: /********************************************** 程序功能:在八位数码管上显示任意数字 ----------------------------------------------- 拨码开关设置:将SMG位拨至ON,其余拨至OFF 测试说明:观察数码管显示 ***********************************
[单片机]
数码管动态显示
一天的坚持没有白费了,呵呵。又一个模块学会了,下午的时间利用了定时器编了一下数码管的动态显示程序,其实数码管动态就是使单片机不断地向数码管输送数据,使其速度极快地显示内容,当然极快是快到人的眼睛分辨不出来它在送数据时的间隙,下面我把程序编了人的眼睛看得分辨出来的效果和程序写出来一下。 程序如下:#include reg52.h unsigned char wei ={ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 };//数码管位的数据组 unsigned char duan ={ 0x06, 0x5b, 0x4
[单片机]
时钟+温度计的数码管显示
功能:时钟显示,温度显示,可调时间,按键发声。 说明: 1 功能选择键:按下功能选择键,时间停止,秒钟指示灯长灭,选择千位,百位,十位,个位,相对应的每位数码管的小数点亮。 2 “加”:按一下“加”按键,对应的数字会加一。 3 “减”:按一下“减”按键,对应的数字会减一。 4 继续按功能选择键到第五次,退出时间设置,秒钟指示灯闪烁,时钟继续运行。 5 初始化时间为早上6点30分,时间为24小时制。 6 其他功能:添加指示灯。正常运行时,绿色指示灯亮,当进入调整时间时,红色指示灯亮。 限于篇幅以下是部分源代码,完整版本请到http://www.51hei.com/f/shiz5.rar 去下载 #include"
[单片机]
51单片机:数码管显示
1. 静态数码管显示 点亮数码管需要用到P0端口和P2部分端口,P0端口负责显示要输出的数字,P2部分端口负责让哪个数码管点亮,具体的去看电路图,这次还包含了74HC245和74HC138芯片 现在让单片机数码管区域第三位的数码管显示数字5,程序如下 #include reg52.h //定义P2端口 sbit LSA=P2^2; sbit LSB=P2^3; sbit LSC=P2^4; //用数组来表示数码管上每个数字输出对应的相关电平输入 int str ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f}; void Display(int
[单片机]
MCS-51单片机的串行口及串行通信技术
数据通信的基本概念 串行通信有单工通信、半双工通信和全双工通信3种方式。 单工通信:数据只能单方向地从一端向另一端传送。例如,目前的有线电视节目,只能单方向传送。 半双工通信:数据可以双向传送,但任一时刻只能向一个方向传送。也就是说,半双工通信可以分时双向传送数据。例如,目前的某些对讲机,任一时刻只能一方讲,另一方听。 全双工通信:数据可同时向两个方向传送。全双工通信效率最高,适用于计算机之间的通信。 此外,通信双方要正确地进行数据传输,需要解决何时开始传输,何时结束传输,以及数据传输速率等问题,即解决数据同步问题。 实现数据同步,通常有两种方式,一种是异步通信,另一种是同步通信。 异步通信 在异步通信中,数据一帧一帧地传送。每一
[单片机]