-v^[gS4B+H,t446062 基于89C51的系统硬件设计电子园51单片机学习网;qq8hf;v8{z W
2.1 并行口的扩展的电路设计电子园51单片机学习网B B E8gCS-S
众所周知,C51系列的单片机都有四个I/O口(P0、P1、P2、P3),那么AT89C51也不例外,但我们通常仅仅使用P1口作为并行口,而令其余口(P2、P3)处于闲置状态,所以这次设计,我们就是使用闲置不用的P3口做为选能信号线来将P1口进行并行口扩展。
D1JY_*Z} f44606(1) 种方式的并行口扩展优点电子园51单片机学习网g2vGtL` p(rT,g
连线简单;电子园51单片机学习网 J1i"X1uj8U
不占用存储器空间;电子园51单片机学习网(Jg:V;LdT9B\$w
(2) 编程也方便灵活。但也有很大的缺点
v a%V!tv9x0R44606 并行口扩展能力有限,(如使用74LS573(74LS373)且不进行驱动处理,则最多可扩展4个同样类型的并行输出端口,当然还需要与之对应的四个选通信号。)电子园51单片机学习网\O8x7w3P0VD-m
如扩展较多,选通信号占用并行口位数太多,例如欲扩展8个并行输出端口,则需要8个选能信号,此时,仅选能信号就占用了一个8位并行口,这对在I/O端口线有限的单片机系统中,如此浪费资源的现象是不能容忍的。在本次的设计中,采用芯片74HC573(带三态输出的八进制透明D型锁存器)对P1口进行了一个8位并行口的扩展,选通信号选用P3口的P3.3引脚。原理图如图1所示:电子园51单片机学习网y-_-|H J\ M
图1 PI口扩展电路电子园51单片机学习网t*o)ay@S
qjm-P0Kg"g9w6qd x44606
6C1b&VMlA446062.2 拟信号输出的电路设计
YF],o H-W8gV44606 模拟信号的输出需要用到D/A转换器,这里我使用最常用的8位的D/A转换器DAC0832来转换数字电压信号。因DAC0832是并行D/A转换集成电路,其输出为电流型,在使用时,必须额外增加一个运算放大器,才能得到电压信号,在本次电路中使用了1个LM741放大器来放大信号输出,LM741是一个普通的单操作的放大器,具有输入电压范围大,短路电压保护,高增益和不需频率补偿等优点。DAC0832的片选端口与单片机的P2.2相连,XFER和 WR2接地,使之一直处于使能状态,即输入数据寄存器中的数字信号可直接转换为模拟信号。D/A转换电路的输出是一个周期的正弦波,通过外接示波器可以清淅的看到。另外模拟信号的输出引在一个外接端子上,可以与其它系统相连接,做到通用性的效果。D/A转换原理图如图2所示:
图2 D/A转换电子园51单片机学习网4t?L%_!}}
%b4p4T(d1c44606
u2Cs6Y[0F.~+l446062.3 静态数码管显示的电路设计电子园51单片机学习网9zQ {*dc5Ug?
数码管显示器是各种仪器设备所不可缺少的重要组成部分,是仪器设备与人对话的一种重要形式,它告诉人们机器的运行状态、数据处理结果、提示操作人员下一步要进行的操作等。按照显示方法的不同,可分为静态显示和动态显示两种,这里我们所设计的电路显示是属于静态显示那种,是两位静态数码管显示,其主要的功能是显示当前发光LED的序号,比如如果当前是L1灯在亮的话,数码管将显示11,是L2灯亮,数码管显示22字样等。电路的设计使用2个8位的移位寄存器 (74HC164),和两个八段的LED数码管(共阳的)加上2个8×330Ω的排阻构成。静态数码管显示的优点在于,编写程序相对比较简单,一旦将欲显示的数据发送出去,只要当前显示的数据没有变化,就无须理睬它。不足之处在于,如果显示的位数太多,硬件的开销和电源的功耗问题将会很严重(比如这里,只需显示两位,就需要用到两块74HC164和2个排阻)。电路原理图如图3所示:
图3 显示电路
P!y)\X:ENW&j9\/@446065na5`FCh44606
tMis` v5_446062.4 电源部分电路的设计
}$Qe D;M|44606 整个电路系统使用9V~12V的直流电源供电,故使用一个拔码开关和一个二极管,以起保护作用,这里拔码开关只起到电源开关的作用。由于CPU电源为5V,所以使用L7805三端稳压来供CPU电源,电源指示灯一个。电源部分电路图如图4所示:
图4 电源电路电子园51单片机学习网!X,P9_'sOXR9{6Dh
}%W+c)t1Z_I!g3p44606电子园51单片机学习网1t @r/_7KL
2.5 复位部分电路设计
;L0KS;QU/RC#qwV44606 本电路的复位电路是用一个复位芯片MAX706P来设计的,并带有复位按钮一个。这里复位是低电平有效的,有手动复位按钮,当程序跑飞或无响应时可以选用手动复位。复位信号来自于CPU的P22口。复位电路原理图如图5所示。电子园51单片机学习网 V8WMl&P/|Z~8W.l
图5 复位电路
[ D2t@ox^)t44606&N!t)T5KUnL44606电子园51单片机学习网6F0Q Rz(s9_ O3y
3 系统软件部分设计与应用电子园51单片机学习网Gn+ez/a?
程序已经调试通过,整个程序实现的功能如下:电子园51单片机学习网^Sa$B]nJ @A
P1口的八位扩展,控制8个开关LED指示灯,程序实验了对这8个指示灯的开关跑马控制,实验程序可以编写从L1至L8的循环发亮,在每个发光二极管发光的同时,数码管显示当前发亮LED的序号,比如11、22、33等等。也可让每个二极管闪烁,可以规定闪烁时间为半秒钟或更长,然后再在每一个LED指示灯闪烁的同时,让LED数码管显示当前闪烁的指示灯的序号,比如,L1灯闪烁时,数码管显示11字样,L2灯闪烁时,数码管显示22字样等等。在数模转换这一子函数的编写上,是使用指针数组来写的,DAC0832实现DA的转换的芯片,实现的功能是输出一正弦波模拟信号,当在端子口接一示波器时,示波器将输出一正弦波图形。主程序流程图如(图6)所示。以上所述是整个系统的功能,所有的程序都已经通过调试试验,实验证明是可行的。电子园51单片机学习网)VLs:RDr5b(z'v&@
4 结束语
dw7a9@"a1x }44606 整个系统的软件已经完全通过调试,证明是切实可行的,整个系统的硬件设计是本着单片机系统设计的简单化原则来设计,显的简炼有序,软件编写也非常简单易懂。本系统设计比较适合于在小型系统中应用。
文章评论(0条评论)
登录后参与讨论