零,则可以控制相应的行亮,此时如果对应点上的列线为零位,则可以控制相应的点变亮。
如果一行32点全部点亮,则通过74LS154的电流将达320mA,而实际上,单片机的端口是不能提供这么大的电流的,P0口没有内置上拉电阻,需要外接上拉电阻,而P2口虽然有内置的上拉电阻,仍然不足以同时驱动一行的LED。因此,设计对行驱动端口使用74LS07进行功率放大,但是经过仿真实验,发现P2口的功率仍然达不到,因此,电路上对P2口也外接上拉电阻以提高驱动功率。
2.2 列扫描驱动(位码驱动)
本系统场扫描驱动电路的设计可用串入并出的通用集成电路74HC595来作为数据锁存。74HC595是一个八位串行输入三态并行输出的移位寄存器,其管脚见图4所示,其中SI是串行数据的输入端,RCK是存储寄存器的输入时钟,SCK是移位寄存器的输入时钟,Q'H是串人数据的输出,G是对输人数据的输出使能控制,QA~QH为串入数据的并行输出。从SI口输入的数据可在移位寄存器的SCK脚上升沿的作用下输入到74HC595中。并在RCK脚的上升沿作用下将输入的数据锁存在74HC595中,这样,当G为低电平时,数据便可并行输出。设计使用P3.0、P3.1、P3.2、P3.3、P3.4来分别输出串行数据、移位时钟SCK、存储信号RCK和并行输出的使能信号G和清零信号/SCLR。
2.3 扫描显示工作过程
将4片74HC595进行级连,可共用一个移位时钟SCK及数据锁存信号RCK。这样,当第一行需要显示的数据经过8x4=32个SCK时钟后便可将其全部移入74HC595中,此时还将产生一个数据锁存信号RCK将数据锁存在74HC595中,
11
并在使能信号G的作用下,使串入数据并行输出,从而使与各输出位对应的场驱动管处于放大或截止状态;同时由行扫描控制电路产生信号使第一行扫描管导通,相当于第一行LED的正端都接高,显然,第一行LED管的亮灭就取决于74HC595中的锁存信号;此外,在第一行LED管点亮的同时,再在74HC595中移入第二行需要显示的数据,随后将其锁存,同时由行扫描控制电路将第一行扫描管关闭而接通第二行,使第二行LED管点亮,以此类推,当第十六行扫描过后再回到第一行,这样,只要扫描速度足够高,就可形成一幅完整的文字或图像。
3.DS18B20和外围电路
DS18B20是一款应用普遍的温度芯片,单总线连接,可以在总线上获取转换电源而不用必须外接电源,但是设计上为了保证工作的可靠性,同时减轻软件人员的工作,设计由电源单独给芯片供电,由P1.0端口和18B20总线相连
五、电路与PCB图
12
电路原理图
PCB排版
13
PCB仿真图
六.调试程序
七.仿真及调试
八.课程设计总结
此次课程设计是一个把我们所学的书本知识形成系统并用一个具体实
物我自己的思路表现出来的机会。通过这次设计不仅可以检验我们的理论知识,还能很好的提高我们的动手能力。通过短短三周的课程设计,我觉得自己的知识得到了巩固,视野变得开阔了,认识到了从理论到实践是还是有很大差距的。在这次设计中,我作为组长,一方面要统筹分配小组各成员的任务,督促并帮助他
14
们完成各自的任务,另一方面,自己也负责着电路原理图的绘制。
分配工作是一个值得考虑的问题,既要分的合理又要针对不同人的能力分配工作,保证任务能够完成。这次的任务分配,我认为还存在很大问题,针对一个完整的设计工作,分配任务的过程就是自己对此次课程设计的理解和认识的表现。通过分解任务可看出自己是怎样分解一个设计任务的,而任务分解的话坏直接关系到设计任务的工作难度,分解设计也就是设计接口的过程,接口设置的还坏关系到各个分任务的难度和物理的可实现性。此次任务中,有些人员负责后期仿真,有人负责硬件,有人负责软件。但是,真正工作时,发现可很多问题,首先,从接口上看,硬件是软件运行的平台,软件的编写要涉及到接口电路,而硬件的搭建要考虑软件的使用情况。所以在分配工作时要注意软硬件不是完全分离的。其次,负责仿真的人在前期没有什么事情做,而到后期仿真的时候,仿真却不是一个人的事情,仿真成功与否与软硬件都有很大的关系,所以负责这两面的人员都要参与仿真,仿真不是一个人的事情,更不是一个不管前期,只负责仿真的事情。
我自己负责电路原理图的绘制,在完成这份任务的过程中,我也学到了很多东西。首先是基本学会了Proteus这款电子制作软件。这是一款很好用的软件,不仅可以在这个平台上画电路原理图、PCB版图,还可以仿真运行单片机程序,使设计者在制作实物之前尽可能多的获取相关信息。我们此次设计用51单片机来做控制器,控制测温和显示。虽然在功能上,我我完成了任务,但是后期发觉电路还是有很多可以改进的地方。但是硬件的更改直接关系到程序的编制,由于时间的原因,没有再次更改硬件原理图。但是我觉得应该记录下来。 这些更改主要有以下几个方面:
i.
单片机的能力是十分强大的,但是设计中仅仅是一个测温显示,就
15