我接触单片机有些年头了,对CPLD有些了解,但说来惭愧,从未在设计中使用过。
曾经有一次面试,有位老工程师,就问我一些问题,其中就有CPLD,我实话实说没有用过,他就问我为什么不用;我答复他说,可能是设计的东西比较简单,在设计时用不着;他说你端口不够怎么办,我回答说可以扩展。
下面我就以51为例,介绍他的几个常用的外部芯片。
用单片机设计电路,无非就是输入,输出和界面显示。本文以按键式和光耦隔离输入.继电器和LED为输出,显示界面为数码管,外部为ADC0809,一一进行介绍。
设计指标:
按键输入 8只 七段数码管 5只
光耦隔离输入 8只 继电器输出 8只
LED灯指示 16只
按键和光耦隔离输入.数码管显示和ADC0809共用P0端口,继电器和LED显示灯控制采用P1端口,P2端口作为其他一些外设的控制输出和扩展芯片的选通,P3作为复用和选通端口。这样便可以满足设计的需要。
外围芯片统计及分配:
按键输入 74HC244 1只 光耦隔离输入 74HC244 1只
数码管 CD4511 4只 74HC273 1只
继电器输出 74HC273 1只 LED指示 74HC273 2只
ADC0809 1只 74HC373 1只 74HC02 1只
74HC14 1只
74HC244为八同相三态缓冲器/线驱动器,内部框图和真值表如下:
典型运用原理图如下:
由真值表,看出当使能端1,19脚为低电平时,输出与输入同相,当使能端为高电平时,输出呈高阻状态。
74HC273为8D触发器,内部框图和真值表如下:
典型运用原理图如下:
有真值表看出,273在1脚为低时,输出全部为0.图中R3.C5就是为了利用这个功能实现上电后清零,避免误操作;当1脚(CLR)为高时,11脚(CLK)为上升沿时,输出与输入相同。
CD4511是一个用于驱动共阴极 LED (数码管)显示器的 BCD 码—七段码译码器,特点:具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流。可直接驱动LED。
内部框图和真值表:
典型运用原理图如下:
CD4511显示方式为静态显示,与动态显示相比,静态显示要亮很多,但使用的资源也较多些;动态显示是利用人眼的余辉效应,通过循环扫描数码管来实现。也就是说在同一时刻只有一个数码管点亮,由于扫描速度很快,所以人眼是分辨不出的,这种方法在LED显示屏上运用很多的。
其他的芯片基本同理, 由于篇幅有限,不一一介绍
整机电路图大致如下:
用户593939 2012-10-9 23:33
用户427827 2012-9-25 13:54
用户425322 2012-9-20 10:50
用户377235 2012-9-19 10:11