74hc244驱动数码管显示电路及程序

news2024/11/29 8:37:37

把七或八只发光二极管组合在一个模件上组成了个8字和小数点,用以显示数字。为了减少管脚,把各个发光管的其中同一个极接在一起作为共用点,因此就产生了共阳极和共阴极数码之说。共阳管就是把各个发光管的正极接在一起,而共阴管就刚好相反。见下图:

图片

74hc244驱动数码管显示电路

大部分的逻辑IC的吸收电流要强于输出电流。因此,大家都爱使用共阴极的数码管,因为可选的IC多些。可是这组数码管是共阳的,因此公共端用三级管来驱动。最常用的S9012,首先得计划好电路方式,就采用最常用的动态扫描显示。先搭建最简电路,调试出需采用元件的参数。

图片

先不接上图的R2和74HC244,将数码管一个段直接接地。调节R1,测得S9012基极电流为0.21mA时集电极也就是数码管上已有40mA,说明放大倍数足够了。这时接上R2和74HC244,调节R2使数码管电流控制在15mA,这样当8个段一起点亮时三极管上得通过120mA的电流。而基极上需要0.63mA,为了减小三极管的负荷应使三极管过饱和,,调节R1使基极电流为2mA,此时测得集电极和漏极之间的电压约0.1V。此时R1为2K。R2为240欧姆。

图片

74hc244驱动数码管显示电路图

74hc244驱动数码管显示程序 查询方式程序

//六位管码管在以0.3秒的间隔在闪烁,这是采用查询方式的,比较占CUP资源



# include



typedef unsigned char uchar;



uchar code bit_num[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};//位码值表:0,1,2,3,4,5



uchar code meg_val[]={0x03,0x9f,0x25,0x0d,0x99,0x49};//段码值表:0,1,2,3,4,5



uchar code hello[]={0x03,0xe3,0xe3,0x61,0x91,0xff}; //HELLO



uchar code beybey[]={0x89,0x61,0xc1,0x89,0x61,0xc1};//beybey



uchar code ab6789[]={0xc1,0x11,0x09,0x01,0x1f,0x41};//ab6789



void delay(int n);



void main(void)



{



uchar i,m;



P2=0xff; //先将段码关闭



P3=0xff; //将位码关闭



delay(20);//等待一会



while(1)



{



for (m=30;m》0;m--) //显示30次约0.3秒



{



for(i=0;i《=5;i++)



{



P2=0xff;



P3=bit_num[i]; //输出位码到P3口



P2=ab6789[i]; //输出段码到P2口



delay(5);



}



}



P2=0xff; //关闭段码



P3=0xff; //关闭位码



delay(1000); //等待0.3秒



}



}



void delay(int n) //子程序



{



int j;



uchar k;



for(j=0;j



{



for(k=255;k》0;k--);



}



}





中断显示程序

//这是采用中断方式的,也是带闪烁的。



# include



typedef unsigned char uchar;



uchar code bit_num[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};//位码:0,1,2,3,4,5



uchar code meg_val[]={0x49,0x99,0x0d,0x25,0x9f,0x03};//段码:0,1,2,3,4,5



uchar i,aa; //定义全局变量



bit fg; //定义一个亮起和熄灭标志



voidTImer0(void) interrupt 1 using 1 //中断程序



{



if (fg) //当fg为1时点亮6位数码管



{ P2=0xff;



if (i》=6)



{



i=0;



}



else



{



P3=bit_num[i]; //输出位码到P3口



P2=meg_val[i]; //输出段码到P2口



i++;



}



}



else //当fg为0时熄灭数码管



{



if(aa==0)



{



P3=0xff;



P2=0xff;



}



}



aa++;



if (aa》=254) //当aa值累加至254时fg标志翻转。



{



fg=~fg;



aa=0;



}



TH0=0xf8; //重装定时器初值,2ms,值为65536-2000



TL0=0x30;



}



void main(void)



{



P2=0xff; //先将段码关闭



P3=0xff; //将位码关闭



TMOD=0x01;//设置T0为模式1



TH0=0xf8; //装入计数初值高位



TL0=0x30; //装入计数初值低位



EA=1; //总充许



ET0=1; //T0充许



fg=1; //将亮、灭标志设置为亮



TR0=1; //启动中断



while(1);



}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1318278.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

web(HTML之表单练习)

使用HTML实现该界面: 要求如下: 用户名为文本框,名称为 UserName,长度为 15,最大字符数为 20。 密码为密码框,名称为 UserPass,长度为 15,最大字符数为 20。 性别为两个单选按钮&a…

PowerShell实战(一)PowerShell使用ImportExcel模块轻松操作Excel

目录 一、介绍 二、安装模块 三、操作示例 1、导出excel 2、读取Excel数据 3、导出包含图表的Excel 4、导出包含汇总列和图表的Excel 一、介绍 ImportExcel模块可以理解为基于PowerShell环境操作Excel的强大类库,使用它可以在 Windows、Linux 和 Mac 上都可以使用。…

天选姬·桌宠 你值得拥有

天选姬桌宠 简介官网地址安装教程1.获取方式2.安装3.功能效果4.桌宠互动5.下载地址 彩蛋搜狗输入法天选姬主题天选姬桌宠视频简介天选姬静态壁纸天选姬动态壁纸 天选姬桌宠 简介 互动类虚拟桌面宠物,让你的桌面变得有趣和精彩。 官网地址 载中心 | 官方支持 | A…

浏览器的事件循环机制(Event loop)

事件循环 浏览器的进程模型 何为进程? 程序运行需要有它自己专属的内存空间,可以把这块内存空间简单的理解为进程 每个应用至少有一个进程,进程之间相互独立,即使要通信,也需要双方同意。 何为线程? …

PyQt6 QScrollBar滚动条控件

锋哥原创的PyQt6视频教程: 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计48条视频,包括:2024版 PyQt6 Python桌面开发 视频教程(无废话版…

VRRP(虚拟路由冗余协议)

一.VRRP简介 1.VRRP是什么 Virtual route Redundancy Protocol,也叫虚拟路由器冗余协议。 利用VRRP,一组路由器协同工作,单只有一个处于Master状态,处于该状态的路由器(的接口)承担实际的数据流量转发任…

day39算法训练|动态规划part02

62.不同路径 代码随想录 按照动规五部曲来分析: 1确定dp数组(dp table)以及下标的含义 dp[i][j] :表示从(0 ,0)出发,到(i, j) 有dp[i][j]条不同的路径。 2确定递推公式 想要求…

[c++]—vector类___提升版(带你了解vector底层的运用)

我写我 不论主谓宾 可以反复错 🌈vector的介绍 1.vector是表示可变大小数组的序列容器2.就像数组一样,vector也采用的连续存储空间来存储元素,也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组&…

并发下ArrayList是一个线程不安全的容器

ArrayList 是一个非线程安全的容器,这意味着如果多个线程同时访问同一个 ArrayList 实例并且至少有一个线程会修改它,就可能导致不确定的结果,如数据损坏、异常或不一致的状态。为了在多线程环境中使用 ArrayList,你需要采取额外的…

【个人版】SpringBoot下Spring-Security核心概念解读【二】

Spring-Security HttpSecurity Spring-Security全局导读: 1、Security核心类设计 2、HttpSecurity结构和执行流程解读 3、Spring-Security个人落地篇 背景: Spring-Security框架的核心架构上一篇已经概述,展示其执行流程及逻辑,但…

设计可编辑表格组件

前言 什么是可编辑表格呢?简单来说就是在一个表格里面进行表单操作,执行增删改查。这在一些后台管理系统中是尤为常见的。 今天我们根据vue2 element-ui来设计一个表单表格组件。(不涉及完整代码,想要使用完整功能可以看底部连…

推荐EasyImages简单图床源码

开源好用EasyImages简单图床源码分享,虽然它是开源程序,但功能一点也不弱,不仅支持多文件上传、文字/图片水印、支持API和鉴黄、还能自定义代码,最重要的是它不强制使用数据库运行,这就给我们的部署和维护带来极大方便…

21--集合小案例

案例--图书管理系统 1.创建实体类Book package com.work.pojo; /** *Author: 憨憨浩浩 *CreateTime: 2023-12-16 17:27 *Description: Book实体类 */ public class Book {private int id; // 编号private String name; // 图书名称private String author;…

Stable-Diffusion|文生图 完蛋我被美女包围了人物Lora(四)

前面几篇: Stable-Diffusion|window10安装GPU版本的 Stable-Diffusion-WebUI遇到的一些问题(一) 【Stable-Diffusion|入门怎么下载与使用civitai网站的模型(二)】 Stable-Diffusion|文生图 拍立得纪实风格的Lora 图例&…

【JavaEE】多线程案例 - 定时器

作者主页:paper jie_博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文于《JavaEE》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造&…

漏洞复现-海康威视 NCG 联网网关 login.php 目录遍历漏漏洞(附漏洞检测脚本)

免责声明 文章中涉及的漏洞均已修复,敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的…

新增数据,某个字段的值总是保存不上问题解决

在系统中新增一条数据,某个字段的数据总是保存不上,但是没有报任何异常和错误,其他字段也都是正常的,通过抓包分析请求参数发现那个字段的值也没有传给后端,检查了前后端代码也没有排查到问题。百思不得其解&#xff0…

【5G PHY】5G小区类型、小区组和小区节点的概念介绍

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客…

深入理解——快速排序

目录 💡基本思想 💡基本框架 💡分割方法 ⭐Hoare版本 ⭐挖坑法 ⭐前后指针法 💡优化方法 ⭐三数取中法 ⭐小区间内使用插入排序 💡非递归实现快速排序 💡性能分析 💡基本思想 任取待排…

Java已死!

许多开发者仍然认为 Java 与当今时代息息相关,看完本文,你会发现 Java 的影响力已经大幅减弱。实际上,Java 是一种濒临灭绝的编程语言。尽管 Java 一直是世界上使用最广泛、最受欢迎的编程语言之一,但它很快就会面临消亡的危险。 …