第5章-51单片机实现数字电路_第1页
第5章-51单片机实现数字电路_第2页
第5章-51单片机实现数字电路_第3页
第5章-51单片机实现数字电路_第4页
第5章-51单片机实现数字电路_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章51单片机实现数字电路

数字电路是广泛使用的电子器件,大量使用的数字器件系列是74HC、74LS的器件,这些器件的功能分为组合与时序电路,组合电路主要有非门、与门、与非门、或门、或非门、编码器、译码器、数据选择器、加法器、比较器等,而时序电路主要有寄存器、移位寄存器、二进制计数器、非二进制计数器以及复杂的时序电路等,由这些种类电路的组合可以构成各种各样的功能的电子模块或是装置。单片机就是数字电路组成的复杂电子系统,在软件的支持下可以实现各种数字电路的功能,但由于价格的原因,长期以来单片机只用于复杂数字系统的开发。随着电子技术快速发展,单片机价格不断下降,甚至降到了与单片数字电路相近的价格,因此用单片机代替数字电路已经成为必然。用单片机代替数字电路的好处是:(1)使用的芯片少,一块单片机可以代替多片数字电路和多种数字电路。(2)可以在单片机焊接到电路板上还可以改变系统功能,因为单片机具有ISP功能,因此在单片机焊接在电路板上以后,仍然可以通过ISP编程改变单片机所实现数字电路的功能。当前的单片机每条指令执行时间已经达到100ns以下,已经具有了代替数字电路的响应速度。在实际中,除了对采样速度有要求的测量仪器外,大量的工业控制装置对速度的要求并不高,有微秒级、甚至毫秒级的响应速度就能满足要求了,例如可编程控制器的响应速度就在毫秒级。[例5-1]非门非门逻辑图如图所示。非门的C51源程序如下:#include"AT89X51.h"voidmain(){while(1){P2_0=!P3_0;//P3_0引脚输入电平取非就是P2_0引脚的输出电平}}[例5-3]或门或门逻辑图如图所示。或门的C51源程序如下:#include"AT89X51.h"voidmain(){while(1){P2_0=(P3_0|P3_1);}}[例5-2]与门与门逻辑图如图所示。与门的C51源程序如下:#include"AT89X51.h"voidmain(){while(1){P2_0=(P3_0&P3_1);}}图5-5优先编码器逻辑图[例5-5]8-3线优先编码器优先编码器逻辑图如图所示。采用优先编码的8输入编码器,输出3位,输入高电平有效,输出低电平有效。优先编码器的C51源程序如下:#include"AT89X51.h"voidmain(){while(1){if(P3_7==0){P2_2=0;P2_1=0;P2_0=0;}//7if((P3_7==1)&(P3_6==0)){P2_2=0;P2_1=0;P2_0=1;}//6if((P3_7==1)&(P3_6==1)&(P3_5==0)){P2_2=0;P2_1=1;P2_0=0;}//5if((P3_7==1)&(P3_6==1)&(P3_5==1)&(P3_4==0)){P2_2=0;P2_1=1;P2_0=1;}//4if((P3_7==1)&(P3_6==1)&(P3_5==1)&(P3_4==1)&(P3_3==0)){P2_2=1;P2_1=0;P2_0=0;}//3if((P3_7==1)&(P3_6==1)&(P3_5==1)&(P3_4==1)&(P3_3==1)&(P3_2==0)){P2_2=1;P2_1=0;P2_0=1;}//2if((P3_7==1)&(P3_6==1)&(P3_5==1)&(P3_4==1)&(P3_3==1)&(P3_2==1)&(P3_1==0)){P2_2=1;P2_1=1;P2_0=0;}//1if((P3_7==1)&(P3_6==1)&(P3_5==1)&(P3_4==1)&(P3_3==1)&(P3_2==1)&(P3_1==1)&((P3_0==0)|(P3_0==1))){P2_2=1;P2_1=1;P2_0=1;}//0}}[例5-6]3-8线译码器3-8译码器逻辑图如图所示。输出低电平有效(LED亮),输入低电平有效(按钮按下接地)。3-8译码器的C51源程序如下:#include"AT89X51.h"voidmain(){unsignedintn;while(1){n=(~P3)&0x07;switch(n){case0:P2_0=0;break;case1:P2_1=0;break;case2:P2_2=0;break;case3:P2_3=0;break;case4:P2_4=0;break;case5:P2_5=0;break;case6:P2_6=0;break;case7:P2_7=0;break;default:P2=0xff;break;}P2=0xff;}}[例5-7]BCD-7段码译码器BCD-7段译码器逻辑图如图所示。由于是驱动共阳数码管,所以输出低电平有效。BCD-7段译码器的C51源程序如下:#include<AT89X51.H>unsignedcharcodetable[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};图5-7BCD-7段译码器逻辑图unsignedintn; voidmain(void){while(1){n=(~P3)&0x0f;P0=table[n];}}[例5-9]10进制计数器10进制计数器逻辑图如图所示,其中P3_0引脚为计数脉冲输入,下降沿计数;P3_1为清除端,低电平有效;P2输出计数器的计数值,为保证按钮每次按下,只计数一个脉冲,程序中增加了消除按键抖动电路。源程序如下:#include"AT89X51.h"voidmain(){staticunsignedintn;unsignedintm;while(1){if(P3_0==0)//如果按钮按下{for(m=0;m<3000;m++);//延时一段时间if(P3_0==0)//如果按钮还在按下状态{n=n+1;//计数if(n>9)//改变n的值,可以改变计数器的模n=0;while(!P3_0);}}if(P3_1==0)n=0;P2=~n;//将n逐位取反后从P2口输出}}//取反是因为发光管在低电平时亮。[例5-12]单稳态触发器图5-12单稳态触发器逻辑框图单稳态触发器如图所示,当按钮P3_0按下后,连接在P2_0引脚上的LED点亮需要的一段时间。源程序如下:#include<AT89X51.h>main(){unsignedintm;while(1){if(P3_0==0)//如果按钮按下{P2_0=0;//点亮LEDfor(m=0;m<30000;m++);//延迟一个单稳态需要的时间,就是指令执行的时间P2_0=1;//熄灭LEDwhile(!P3_0);//等待按钮抬起for(m=0;m<3000;m++);//防止按钮抬起时的抖动,需要延迟一段时间}}}[例5-13]实现组合逻辑电路组合逻辑电路具有如下逻辑表达式:该组合电路的逻辑框图如图5-13所示,其中用P3_5引脚代表A,P3_6引脚代表B,P3_7引脚代表C,用P2_0引脚代表Y,则用51单片机实现该表达式的C51源程序如下:#include<AT89X51.h>main(){bita,b,c;while(1){a=P3_5;b=P3_6;c=P3_7;P2_0=!a&&!b&&c||!a&&b&&!c||a&&!b&&!c||a&&b&&c;}}

[例5-14]设计一个4人抢答逻辑电路,具体要求为:(1)每个参赛者控制一个按钮,用按下按钮发出抢答信号。(2)竞赛组织者有一个复位按钮,可将电路复位。(3)竞赛开始时,竞赛组织者首先复位电路,然后参赛者按下按钮,则对应的发光管亮,此后其他人再按下按钮对电路不起作用。(4)用数码管显示1、2、3、4,代表参赛者号码。抢答器如图5-14所示,其中参赛者使用P3_4、P3_5、P3_6和P3_7四个引脚连接的4个按钮抢答;组织者用P3_2引脚连接的按钮复位电路,P2_4、P2_5、P2_6和P2_7引脚连接的4个发光管指示抢答者。#include<AT89X51.h>unsignedcharhex[16]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};//数码管十六进制译码表main(){bita,b,c,d,rst,m;unsignedcharkk=0;while(1){rst=P3_2;a=P3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论