当前位置: 首页 > news >正文

数 码 管

通过 74HC164 移位寄存器将 DispBuff 数组前 6 个段码(0-5)逐位串行发送并转换为并行信号,驱动 6 位数码管显示 "012345"。

1. Write74HC164(unsigned char byte):串行发送 1 字节数据到单个 74HC164
功能:将 1 字节(8 位)数据通过串行方式写入 74HC164 移位寄存器。
过程:
用for循环从cnt=0x01(最低位)到cnt=0x80(最高位)循环 8 次(对应 1 字节的 8 位)。
每次循环先拉低时钟PCLK=0,准备数据;
通过if(byte & cnt)判断当前位(cnt对应的位)是否为 1,若为 1 则置PDat=1,否则置PDat=0;
拉高时钟PCLK=1,利用上升沿触发 74HC164 采集当前PDat的电平,存入移位寄存器;
用_nop_()短暂延时,确保时钟信号稳定。
作用:将并行的 1 字节数据(如数码管段码)拆分为 8 位串行信号,逐位传输给 74HC164。


2. WriteDisplayArray(unsigned char *Dat, unsigned char Len):批量驱动多位数码管
功能:向级联的多个 74HC164 发送指定长度的段码数据,实现多位数码管显示。
过程:
先拉低PClr=0(低电平有效),复位所有级联的 74HC164(清除原有数据),短暂延时后拉高PClr=1释放复位;
用for循环执行Len次(Len为数码管位数),每次调用Write74HC164发送Dat数组中的一个段码,并通过*Dat++移动到下一个数据。
关键逻辑:利用 74HC164 的级联特性(前一级的串行输出接后一级的串行输入),先发送的数据会被后发送的数据 “推” 到后续寄存器,最终所有Len个段码会分别存入对应的 74HC164,并行输出驱动多位数码管。
两者关系
Write74HC164是基础的 “单字节串行发送” 工具,WriteDisplayArray则是基于它实现的 “多字节批量发送” 功能 —— 前者负责将单个段码拆分为串行信号,后者负责协调多个段码的发送顺序和初始复位,共同完成多位数码管的显示驱动。

#include<REG51.H>
#include<stdio.h>
#include<intrins.h>sbit PClr =P1^0; //清除显示引脚,低电平有效
sbit PCLK =P1^1; //时钟信号,上升沿采集数据
sbit PDat =P1^2; //数据引脚//0-F
const unsigned char DispBuff[]={0x3f,0x06,0x5B,0X4F,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};void delay_ms(unsigned int ms)
{unsigned char i=180, j=73;while(ms--){i = 2;j = 199;do{while (--j);} while (--i);}}//实现循环8次 将 1 字节(8 位)数据逐位发送到 74HC164 移位寄存器,
void Write74HC164(unsigned char byte)
{unsigned char cnt;for(cnt =0x01;cnt>0;cnt<<=1){PCLK=0;if(byte&cnt){PDat=1;}else{PDat=0;}PCLK=1;//短暂延时,确保时钟信号稳定_nop_();}
}void WriteDisplayArray(unsigned char *Dat,unsigned char Len)
{unsigned char cnt;PClr =0;_nop_();PClr =1;for(cnt=0;cnt<Len;++cnt){Write74HC164(*Dat++);}
}void main()
{WriteDisplayArray(DispBuff,6);while(1){}
}char putchar(char c)
{ES=0;SBUF=c;while(TI!=1);TI=0;ES=1;return c;
}

http://www.dtcms.com/a/615546.html

相关文章:

  • 黑彩网站怎么做零一云主机
  • 电商网站需求分析内蒙古兴泰建设集团信息化网站
  • 平邑网站建设可以用手机建设网站吗
  • 龙岩做网站的公司一个网站的年维护费
  • MySQL 并发控制机制详解:锁机制、MVCC 与 Read View
  • 学做php网站有哪些怎么做网站投放广告
  • 泾阳网站建设网站建设 百度经验
  • 注册网站花的钱做会计分录河北保定最新消息
  • 海网站建设生产厂家哪家好广告公司现状
  • 服务器添加网站asp.net企业网站建设
  • 中国轻工建设协会网站最方便在线网站开发
  • 初中信息技术 网站制作无锡谁会建商务网站
  • 自己做网站需要学些什么微信开发网站建设程序
  • 移动端网站建设服务商中文网站开发软件
  • 从“学习到学历”与从“学历到学习”
  • 卫星通信中的交叉极化干扰及其在链路预算中的影响
  • 网站表现形式做公司网站大概需要多少钱啊
  • AstraOS 1.90 基础架构版(续)
  • 网页设计网站制作流程广州网站建设新际
  • 石柱土家族网站建设江门网页设计
  • 用网站做成软件WordPress关闭注册邮箱验证
  • 网站嵌入播放器丽水网站开发
  • 进行seo网站建设南宁市建设工程信息网
  • 高端网站制作 上海怎么免费创建自己的网站平台
  • 苏州工业园区两学一做网站wordpress+编辑器+空格
  • 懒人网页编辑器手机版系统优化工具是什么软件
  • 如何建设属于自己的网站工业设计图片
  • 如何建立一个企业的网站crm系统流程图
  • 成都建设网站的公司哪家好在校大学生可以注册公司吗
  • 重庆酉阳网站设计公司网站群建设