51单片机数码管串行显示板制作

发布者:EtherealGrace最新更新时间:2021-02-06 来源: eefocus关键字:51单片机  数码管 手机看文章 扫描二维码
随时随地手机看文章

材料准备:共阴极SEG6个(小编做了4个)、SN74HC595N6个(小编用了4个)、插针、导线若干

SEG数码管显示

数码管串行显示原理图

74hc595管脚说明:单片机通过少量的端口串行控制多位数码管显示。



595结构图

595程序在单片机中的调用程序:

/****************595时序及显示函数************************/

void display(void) //显示6位数据

{

uchar i,dat;

char j; //p=Date;

for(j=5;j>-1;j--) //6位数据依次循环

{

dat=table[Date[j]];

if(j==0){dat=0;}

if(j==1){dat=0;}

if(j==2){dat=0;}

if(j==3){dat=0;} //6位数据分别赋值

for(i=0;i

{

if(dat&0x80)Data=1; //判断是1还是0

else Data=0;

dat

sck=0; //上升沿有效

sck=1;

}

}

rck=1; //打开锁存将6位数据发出数码管

rck=0; //关闭锁存等待下次输出显示

}

/*******************结束*****************************/

void calculate(unsigned long int a)

{

Date[0]=a/100000;

Date[1]=(a/10000)%10;

Date[2]=(a/1000)%10;

Date[3]=(a/100)%10;

Date[4]=(a/10)%10;

Date[5]=a%10;


}


关键字:51单片机  数码管 引用地址:51单片机数码管串行显示板制作

上一篇:51单片机C语言运算符表
下一篇:51单片机实例一:12位AD_DS1621与12864液晶

推荐阅读最新更新时间:2024-11-11 03:20

51单片机实现printf函数
使用printf打印函数在调试的时候十分方便,因此在开发过程中首先实现此函数是非常有必要的。在经常整理网上资料后发现实现printf函数非常简单,首先添加stdio.h头文件,然后在串口函数中添加如下代码即可。 char putchar(char c) { Uart1_SendChar(c); return c; } 串口的发送函数可以使用这个: /*********************************************** *函数名称:Uart1_SendChar *功 能:串口1发送单个字符函数 *入口参数:Udat:欲发送的数据 *返 回 值:无 *备 注:无 ********
[单片机]
51单片机蜂鸣器程序
#include reg52.h typedef unsigned char u8; typedef unsigned int u16; sbit beep=P1^5; void delay(u16 i) { while(i--); } void main() { while(1) { beep=~beep; delay(1000);//控制音调频率 beep=~beep;/控制声音大小 delay(10); } }
[单片机]
基于51单片机的智能营养秤系统设计与实现
一、项目背景 随着人们生活水平和健康意识的提高,越来越多的人开始注重自己的饮食健康。在此背景下,智能营养秤系统应运而生,成为了一种非常实用的工具。本项目基于51单片机设计和实现一种智能营养秤系统,通过该系统可准确地测量食物的重量并计算其热量、蛋白质、脂肪、碳水化合物等营养成分含量。 当前系统采用了STC89C52单片机作为主控芯片,预置了多种食材的营养成分数据。用户只需要使用矩阵键盘输入食材编号,将需要称重的食材放置在重力传感器上进行依次称重,系统就可以自动计算出所有食材的各类营养含量总值,并通过液晶屏显示出来。同时,系统根据预设的营养指标,对不达标或超标的食材进行对应的声光提示,提醒用户注意饮食健康。 当前系统还配备了无
[单片机]
基于<font color='red'>51单片机</font>的智能营养秤系统设计与实现
#51单片机#A/D差分输入信号
在上一节已经提到过,控制字的第 4 位和第 5 位是用于控制 PCF8591 的模拟输入引脚是单端输入还是差分输入。差分输入是模拟电路常用的一个技巧,这里我们把相关知识做一些简单介绍。 从严格意义上来讲,其实所有的信号都是差分信号,因为所有的电压只能是相对于另外一个电压而言。但是大多数系统,我们都是把系统的 GND 作为基准点。而对于 A/D 来说的差分输入,通常情况下是除了 GND 以外,另外两路幅度相同,极性相反的输入信号,其实理解起来很简单,就如同跷跷板一样。如图17-8 所示。 图 17-8 差分输入原理 差分输入的话,就不是单个输入,而是由 2 个输入端构成的一组输入。PCF8591 一共是4 个模拟输入端,可以配置
[单片机]
#<font color='red'>51单片机</font>#A/D差分输入信号
51单片机的data,xdata,code区别详解
dATa: 固定指前面0x00-0x7f的128个RAM,可以用acc直接读写的,速度最快,生成的代码也最小。 idATa:固定指前面0x00-0xff的256个RAM,其中前128和dATa的128完全相同,只是因为访问的方式不同。 idATa是用类似C中的指针方式访问的。 汇编中的语句为:mox ACC,@Rx.(不重要的补充:c中idATa做指针式的访问效果很好) xdATa: 外部扩展RAM,一般指外部0x0000-0xffff空间,用DPTR访问。 pdATa: 外部扩展RAM的低256个字节,地址出现在A0-A7的上时读写,用movx ACC,@Rx读写。这个比较特殊,而且C51好象有对此BUG, 建议少用。但也有他
[单片机]
通用型51单片机lcd1602驱动
文件:lcd_1602.h #ifndef _LCD1602_TRAVELER_H_ #define _LCD1602_TRAVELER_H_ /*************************待配置项*******************************/ #define DATA_LCD P0 //液晶与MCU 数据口 sbit RS_LCD = P2^5; // 液晶的RS、RW、E 端在 MCU端的连线 sbit RW_LCD = P2^6; sbit E_LCD = P2^7; /**************************************************
[单片机]
51单片机输出接口的扩展
  单片机的数据总线是为各个芯片服务的,不可能为一个输出而一直保持一种状态,因此,输出接口的主要功能 是进行数据保持(即数据锁存),输出接口的扩展实际上就是扩展锁存器。      1.用典型电路芯片扩展输出接口      输出接口扩展通常用74HC377芯片。该芯片是一个带允许端的8D锁存器,下图是该芯片的引脚图,下表是该芯片的真值表。图4中相关引脚功能如下:      ◆1D-D7:8位数据输入端      ◆1Q-8Q:8位数据输出端      ◆石:使能控制端      ◆CLK:时钟信号,上升沿锁存数据   2.输出接口的扩展方法   下图是利用74HC377进行输出接口扩展的电路。图中,74HC377的相向G端
[单片机]
<font color='red'>51单片机</font>输出接口的扩展
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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