以89C51单片机为核心器件的自动控制系统编码译码显示实验电路设计

发布者:开国古泉最新更新时间:2023-09-01 来源: elecfans关键字:89C51  单片机  自动控制系统 手机看文章 扫描二维码
随时随地手机看文章

引 言

在日常数字逻辑电路实验中编码译码显示实验电路是编码、译码、显示三个电路的综合运用, 在数字逻辑实验电路中具有重要的地位, 在实验的过程中, 时常会出现显示结果的抖动, 经研究出现这种现象主要原因是:编码电路的编码信号输入采用手工拨盘方式, 产生的编码输入信号往往不稳定; 另外, 电路控制性能较差,不能达到自动复位, 为此有必要对现有电路进行改进,在电路的设计上采用89C51 单片机为控制电路制作而成, 自动提供稳定编码输入信号, 显示结果稳定性和电路控制性能大大提升, 提高了教学实验质量。


1 编码译码显示实验电路的基本结构

编码译码显示电路的基本结构如图1 所示, 主要由控制电路、编码信号发生器、编码译码显示电路等组成,控制电路产生编码信号作为编码译码显示电路输入信号, 译码电路将编码信号转换成对应的七段数码显示信号, 送至LED 数码管显示。

以89C51单片机为核心器件的自动控制系统编码译码显示实验电路设计

图1 编码译码显示实验结构图。


2 系统硬件设计

控制系统和编码信号发生器采用89C51 单片机实现。89C51 性价比较高, 采用12 MHz 晶振, 其内部带有4 KB 的FLASH ROM, 无须外扩程序存储器。编码译码电路没有大量运算和暂存数据。89C51 内部的128 B片内RAM 已能满足要求, 无须外扩片外RAM。

系统硬件设计如图2 所示。

以89C51单片机为核心器件的自动控制系统编码译码显示实验电路设计

图2 编码译码显示实验电路。


2. 1 编码信号发生器电路

编码信号由89C51 内部编程控制, 键盘输入 0~ 8从P0. 0~ P0. 7 口送给编码器74LS147, 9 从P2. 0 口送给编码器, 具体编码见表1。

表1 编码信号表

以89C51单片机为核心器件的自动控制系统编码译码显示实验电路设计

2. 2 键盘设计

键盘采用4×3 阵列结构设计, P1. 0~ P1. 3 为键盘扫描高4 位, P1. 4~ P1. 6 为低4 位。设计有 0 ~ 9 、Rst( 复位) 、S er( 顺序) 。列线通过电阻接正电源, 并将行线所接的单片机的I/ O 口作为输出端, 而列线所接的I/ O 口则作为输入。当按键没有按下时, 所有的输出端都是高电平, 代表无键按下。行线输出是低电平,一旦有键按下, 则输入线就会被拉低, 这样, 通过读入输入线的状态就可得知是否有键按下。


2. 3 编码译码显示电路

编码译码显示电路主要由编码器( 74LS147) 、六反相器( 74AC04) 、译码器( 74LS247) 、七段LED 数码管组成。编码器74LS147 的1~ 5 脚, 10~ 13 脚为编码输入端, 低电平有效, 实验时可用接地作为低电平输入;14, 6, 7, 9 脚为编码输出( 反码) ; 16, 8 脚为电源正负极。


译码器74LS247 的6, 2, 1, 7 脚为译码输入( 高电平有效) ; 9~ 15 为译码输出; 8, 16 脚为电源正负极。六反相器( 74AC04) 主要是解决编码器74HC147 和译码器74LS247 信号匹配问题, 共有6 组输入与输出, 只取其中4 组。七段LED 数码管主要是显示译码器输出状态。


电路主要原理是在74LS147 的以89C51单片机为核心器件的自动控制系统编码译码显示实验电路设计输入011111111~ 111111110, 编码后得到4 位反码, 经74AC04 反相后送到74LS247, 由74LS247 驱动LED数码管, 正确时能显示0~ 9。


3 系统软件设计

软件设计由初始化、键盘扫描、编码程序三部分组成。开始进行初始化, P0、P2 口按复位状态附值输出,LED 无显示。然后4 ! 3 阵列式键盘开始进行扫描, 当判断有键按下时, 延时去键抖动, 判断是否务抖动, 当确定判断是有键按下时, 等待闭合键释放, 保存键值。根据键值调用编码程序, 将表1 对应的编码送到P0, P2口输出, 主程序流程图如图3 所示。

以89C51单片机为核心器件的自动控制系统编码译码显示实验电路设计

图3 主程序流程图。

当按Ser( 顺序序列) 键时, 依次按1~ 9 编码值送至P0, P2 口, 间隔0. 5 s 输出。Ser 编码编码子程序如下:

以89C51单片机为核心器件的自动控制系统编码译码显示实验电路设计

4 系统仿真与调试

Proteus 是一个基于Pro Spice 混合模型仿真器的,完整的嵌入式系统软、硬件设计仿真平台。编码译码显示电路能很方便地在此平台上进行调试和仿真, 延时时间同选用的单片机和所用晶体振荡器有关, 在调试时须注意。


5 结 语

提出了一款编码译码显示实验电路设计, 其控制系统和编码信号发生器采用89C51 单片机实现, 经Proteus 仿真和实验调试结果来看, 大大改善了电路的性能, 电路制作方便、操作简单, 在数字逻辑电路实验教学中具有一定的推广价值, 电路主要不足是不能实现故障自动检查, 如果能对电路故障进行自动检测, 电路性能将更加完善。


关键字:89C51  单片机  自动控制系统 引用地址:以89C51单片机为核心器件的自动控制系统编码译码显示实验电路设计

上一篇:89C51单片机怎么样?89C51单片机过时了吗
下一篇:AT89S51单片机的看门狗功能设计

推荐阅读最新更新时间:2024-11-09 12:45

51单片机实现数码管动态显示60~0
硬件电路原理图 元件清单 C语言程序 #include reg51.h unsigned char table ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //数码管字符码 void show(unsigned char n); void delay(unsigned int k); void main() { unsigned char i; int j; while(1) { for(i=60;j=60,i 0;i--) while(j--) show(i); } } void show(unsigned char n) { P0=table ; P1
[单片机]
51<font color='red'>单片机</font>实现数码管动态<font color='red'>显示</font>60~0
STM32单片机串口波特率的计算方法解析
1. 什么是波特率 不管是什么单片机,在使用串口通信的时候,有一个非常重要的参数:波特率。什么是波特率:波特率就是每秒传送的字节数。双方在传输数据的过程中,波特率一致,这是通讯成功的基本保障。 2. STM32波特率相关的寄存器 STM32单片机设置波特率的寄存器只有一个:USART_BRR寄存器,如下图所示。 该寄存器的有效位数为16位,前4位用于存放小数部分,后12位用于存放整数部分。将波特率算出来后,数值填入这个波特率就可以了。下面介绍如何计算。 3. 波特率计算方法 STM32的数据手册给出了计算方法,有一个公式,如下图所示: 在这个公式上,共有三个变量,其中两个我们是知道的,Fck和Tx/Rx波特率这两个是已
[单片机]
STM32<font color='red'>单片机</font>串口波特率的计算方法解析
基于STPM01计量芯片和P89LPC9401微控制器实现防窃电电能表的设计
不论在发达国家还是在发展中国家,窃电都是一个非常棘手的问题,每年都给供电企业造成巨大损失。现在的防窃电方法多是从管理上采取措施,用这些方法即使查出了窃电行为,也往往由于缺乏依据而无法确定处罚额,甚至有时供电企业面临无法拿出窃电证据的尴尬。只有提高电能表本身的防窃电技术,才能从根本上杜绝窃电发生。由于窃电方法千变万化,防窃电电表设计一直是电表工程师面临的严峻挑战,数字式电表的发展为解决窃电问题提供了新途径。本文介绍的单相数字式防窃电电能表采用了计量芯片STPM01和微控制器P89LPC9401,可以有效防止多种窃电行为。 STPM01计量芯片简介 STPM01是ST公司推出的第一款电能计量专用芯片,有一个电压通道和两个电流通道,
[单片机]
基于STPM01计量芯片和P89LPC9401<font color='red'>微控制器</font>实现防窃电电能表的设计
STM32单片机中的独立看门狗与窗口看门狗有哪些不同之处
1.关于看门狗的解释不再说明,窗口看门狗简而言之即只能看某个窗口期即某段时间内才能够喂狗。32的独立看门狗是没有中断的,而窗口看门狗可根据需要配置中断 2.关于独立看门狗和窗口看门狗的应用,手册p316 即17.1节讲的非常清楚。首先独立看门狗和窗口看门狗都可用来监视软件程序是否正常运行,而具体而言,因为独立看门狗独立于系统时钟单独运行,因此其可用来监视是否发生了硬件错误,比如说系统时钟故障,看门狗仍然能够起到重启的作用,但是独立看门狗的计时精度比较差,更多的应用在独立系统运行之外的对计时要求低的地方。而窗口看门狗是由系统时钟提供的,因此其计时也会很准确,当然其也就只能用来检测软件故障,比如硬件故障系统时钟坏了,自身也就不动了,也
[单片机]
什么是单片机_51单片机学前预备知识
  一、单片机的概念:   二、单片机的用途:   工业自动化:数据采集,测控技术;   智能仪器仪表:数字示波器、数字信号源、数字万用表、感应电流表等;   消费类电子产品:洗衣机、电冰箱、空调机、手机等;   凡是与控制或简单计算有关的电子设备都可以用单片机来实现,再根据具体实际情况选择不同性能的单片机,如:atmel,stc,pic,avr,凌阳,80C51,arm等。   三、怎么学单片机:   实践第一;补充必要的理论知识,即缺什么补什么;做工程项目积累经验。(可在网络上搜索些题目,也可自己有什么想法大胆的去试验。)。   四、为什么选择51单片机作为单片机学习的入门:   学51单片机成本低,而且51单片机技术最成
[单片机]
delphi-smpcomm代码实例(3)
为了实现PC与单片机8051之间的通讯,首先要调通它们之间的握手信号,假定它们之间的通讯协议是,PC到8051一帧数据6个字节, 8051到PC一帧数据也为6个字节,当PC发出(F0,01,FF,FF,01,F0)后能收到这样一帧(F0,01,FF,FF,01,F0),表示 数据通信握手成功,两者之间就可以按照协议相互传输数据。在PC方要发送及接受数据需要以下步骤: 1.创建一个新的工程COMM.DPR,把窗体的NAME属性改为FCOMM,把窗体的标题改为测试通讯,添加控件。   对COMM1(黑色矩形围住的控件)进行属性设计,设波特率4800,校验位无,字节长度_8,停止位_1,串口选择COM1。Memo1中将显示发送和接受的数
[单片机]
(笔记总结)单片机单片机的通信
1.点对点通信 硬件连接 2.多机通信 硬件连接 单片机构成的多机系统,常采用总线型主从式结构。所谓主从式,即在数个单片机中,有一个是主机,其余的是从机。从机要服从主机的调动、支配。串行口方式2、方式3适合于这种主从式通信结构。当然采用不同的通信标准时,还需进行相应的电平转换,有时还要对信号进行光电隔离。在实际的多机应用系统中,常采用RS-485串行标准总线进行数据传输。 通信协议 1.所有从机的SM2位置1,处于接收地址帧的状态。 2.主机发送一地址帧,其中8位是地址,第9位为地址/数据区分标志,该位置1表示该帧为地址帧。 3.所有从机收到地址帧后,都将接收的地址和本机的地址比较。对于地址相符的
[单片机]
(笔记总结)<font color='red'>单片机</font>与<font color='red'>单片机</font>的通信
基于stc89c52单片机控制步进电机
51单片机是许多单片机初学者的入门开发板,今天给大家做一个基于51内核的stc89c52板子来控制步进电机,可以实现步进电机的正反转、加减速。另外,使用板子自带的Ds18b20模块进行环境测温,并将测得的数据用lcd液晶屏进行显示。并在温度达到设定值时蜂鸣器报警。 第一步,硬件 1 stc89c52开发板,这个板子就不多讲了,网上有很多 2 步进电机,用的是网上非常便宜的4相5线步进电机 28BYJ-48,电压为5v 第二,程序 1 步进电机程序,定义步进电机的IO口以及方向以便调速和转向 2 LCD程序,主要是三个函数,一个初始化函数,一个写函数,一个显示函数 3 温度传感器Ds18b20,主要是这个读函
[单片机]
基于stc89c52<font color='red'>单片机</font>控制步进电机

推荐帖子

LT5400AIMS8E-4#PBF 有替换的帮忙需求,或者直接提供这颗物料,谢谢!
LT5400AIMS8E-4#PBF有替换的帮忙需求,或者直接提供这颗物料,谢谢!LT5400AIMS8E-4#PBF有替换的帮忙需求,或者直接提供这颗物料,谢谢!这种匹配精度和温度系数的好像很少,这有款vishay的看能不能满足你的要求。
NJXRTELEC ADI参考电路
Zigbee 技术讨论;
论坛好像没有人讨论Zigbee的呀,有没有大神来一起介绍??Zigbee技术讨论;目前ZigBee好像比较乱,不同企业、不同品牌产品五花八门,很难实现设备兼容{:1_144:}我也期待大神出来介绍啊。我做的IOT开发板用的就是ZigBee。。{:1_140:}楼主,哪里去了啊。 哪个开发板呢??真的很乱,大公司都不跟小公司玩。有自己的私密协议。搞得你用了他的模块不能用通用的收发器。难怪学的人少,限制性很多
DavidZH 无线连接
电路漏电产生的原因是什么?
看到一个电路,电平转换电路,1.8V转3.3V,源极接10K上拉电阻电阻到1.8V电源,漏极接2.2K上拉电阻到3.3V电源,现在在3.3V电源接了一个二极管防止漏电,防止的是1.8V电源经MOS管体二极管到3.3V电源产生漏电,请问这种低电平到高电平也会产生漏电吗?电路漏电产生的原因是什么?具体不知道,但电路这玩意没有不可能,有时候元器件就会莫名其妙的坏掉(我遇到的多是因为振动、高温、积灰,潮湿),多加保障更好建议直接上电路图吧,那样分析起来才清晰,这个二极管应该不是因为担心漏电
乱世煮酒论天下 电源技术
MSP430 LaunchPad 控制的RGB LED矩阵
MSP430LaunchPad控制的RGBLED矩阵原文地址:http://e2e.ti.com/group/msp430launchpad/m/project/447779.aspxMSP430LaunchPad控制的RGBLED矩阵
expertss 微控制器 MCU
怎样得到未用的存储空间
在wince中怎样得到未用的存储空间,,怎样得到未用的存储空间你是说大小吗。GetDiskFreeSpaceEx()具体用法看帮助吧。多谢,,已经解决了,都是一些解决了问题,不结贴的主!
johnners 嵌入式系统
馒头波电压驱动有刷电机实现恒速控制
最近在驱动一个直流有刷电机,不过我看样机电机的驱动电压是馒头波,如下图所示,蓝色的是电机两端电压,黄色的是单片机控速的PWM信号,紫色是速度光栅反馈信号,现在要实现PID恒速控制,有懂的朋友帮忙么?馒头波电压驱动有刷电机实现恒速控制不懂,看看
yaoquan5201314 电机驱动控制(Motor Control)
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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