AT89系列单片机是美国ATMEL公司近年来在美国推出的一种高性能,低价格,低电压,低功耗的新型8位CMOS微处理器。

它的显着优点是:①包含F1ash存储器,可以在系统开发过程中随意修改,即使编程错误,仍然可以重新编程,因此没有浪费,大大缩短了程序的开发周期,同时可以在系统的工作过程中有效地保存数据信息。

②采用静态时钟模式以节省功耗,这对降低便携式产品的功耗非常有好处。

③由于由8031内核组成,因此与MCS-51系列单片机兼容。

对于大多数熟悉MCS-51系列的用户而言,可以很容易地使用AT89系列单片机来代替51系列进行系统设计。

1.硬件电路2051的其余并行I / O端口线少于8条,不可能并行输出数据,但是可以考虑采用串行输出方法。

图1显示了具有串行端口扩展功能的4位LED显示接口电路。

图1串行端口扩展4位LED显示电路该电路仅使用2051的3个端口,配备4个串行输入和输出移位寄存器74LS164和1个三端可调电压调节器LM317T。

其中74LS164的Q0〜Q7引脚为8位并行输出端子。

引脚A和B为串行输入端子; CLK引脚为时钟脉冲输入端子。

该移位是在CLK脉冲的上升沿的作用下实现的。

0。

当清除端子MR = 1时,74LS164保持原始数据状态;当清除端子MR = 1时,保持原始数据状态。

当MR = 0时,清除74LS164输出。

其工作过程如下:将2051的串行端口设置为模式0移位寄存器状态,串行数据由P3.0发送,移位时钟由P3.1发送。

在移位时钟的作用下,串口发送缓冲区的数据被逐位移入74LS164。

4个74LS164级联扩展为4个8位并行输出端口,分别连接到4个LED显示器的段选择端,以进行静态显示。

需要说明的是,由于74LS164没有并行输出控制端子,在串行输入过程中,其输出端子的状态将连续变化,使不应显示的场仍具有较暗的亮度,从而影响显示效果。

过去的做法是向74LS164的输出添加4个锁存器或三态门。

当移位寄存器串行输入数据时,其输出端子的变化不会反映在LED上。

串行输入完成后,锁存器或三态门打开,并将稳定的显示数据发送到LED。

本文电路的独特之处在于它仅使用三端可调稳压器LM317T。

317T的引脚3和2分别是电压输入和输出端子。

317T的引脚1是电压调节端子,引脚2的输出电压跟随该引脚。

1电压变化。

NPN三极管连接在引脚1和接地电阻之间。

它的基座由P1.7端口线控制。

在串行输入期间,P1.7端口线为高电平,晶体管饱和并导通,因此317T的引脚1约为0.3V,引脚2的输出电压降至1.5V,这还不够使公共阳极LED发光,因此串行输入的影响不会反映在LED上;串行输入结束后,将P1.7端口线拉低。

晶体管截止,由于引脚1的电压升高,引脚2的输出电压上升至2.0V,LED正常发光。

所以。

一个三端可调稳压器LM317T充当四个闩锁,因此LED显示屏不会闪烁。

该电路的另一个优点是可以通过可调电位计P1在线调节引脚2的输出电压,从而使LED的显示亮度均匀且可调,并且省去了许多LED限流电阻。

2.软件编程上面的分析表明74LS164移位寄存器仅具有串行输入和并行输出功能,而没有解码功能。

所以。

在编写显示驱动程序之前,首先需要计算与电路相对应的LED段选择代码,然后将其从2051的P3.0端口发送到164的串行输入端子,然后输出到PXI的段选择端子。

LED并联。

需要指出的是,该电路采用TOS-8106BHK型共阳极LED显示屏。

根据PCB印刷电路板的方便连接,其8段选择端子和164个并行输出端口为8段选择线。

连接d