您当前的位置:五五电子网电子知识单元电路显示电路-显示屏基于PIC16F84A两位LED计数显示及动态扫描电路 正文
基于PIC16F84A两位LED计数显示及动态扫描电路

基于PIC16F84A两位LED计数显示及动态扫描电路

点击数:7589 次   录入时间:03-04 11:52:58   整理:http://www.55dianzi.com   显示电路-显示屏

  PIC单片机(PeripheralInterfaceController)是一种用来开发去控制外围设备的集成电路(IC)。它有计算功能和记忆内存像CPU并由软件控制运行。然而,处理能力—般,存储器容量也很有限,这取决于PIC的类型。但是它们的最高操作频率大约都在20MHz左右,存储器容量用做写程序的大约1K—4K字节。
  

  下图是用PIC16F84A(ICl)、两位(个位和十位)LED数码管及其驱动器74LS47C(IC2)和相关的元器件等组成的计数显示动态扫描电路。

基于PIC16F84A两位LED计数显示及动态扫描电路


  
  电路中IC1(PIC16F84A)的RB4、RB5、RB6、RB7与IC2(74LS47C)的BCD码输入端相连;IC1的、脚外接的晶振(4MHz)、C1、C2组成IC1的时钟振荡器;Rl、D、C3和微动开关组成单片机手动复位电路。
  
  IC2(74LS47C)是一种BCD(二一十进制)显示译码/驱动器,作为IC1的硬件接口电路。IC2的⑦、①、②和⑥脚,是四位8421BCD代码的输入端;⑨~脚为七个译码输出端,用以控制IED七段数码管的七个(a、b、c、d、e、f、g)发光段。此外,IC2的③脚LT为试灯输入信号、低电平有效,可用来测试LED管的好坏;RBI为灭零输入信号,低电平有效,当IC2输入数码为0000时,可使数码管不显示任何数字;RI/RBO为熄灭输入/灭零输出信号。
  
  其中RI为熄灭输入信号,是为了降低电路功耗,若不需观察时,可熄灭显示器。RB0为灭零输出信号,可用来把有效数码前面的“0”熄灭掉。在图中,LT、RB1和RI/RB0三个控制端的功能未被使用,所以它们全部接人高电平(+5V)。
  
  两位LED数码管采用共阳连接,其公共电极分别为与三极管BG1、BG2管的集电极相连。BG1、BG2管为PNP型管,分别控制LED数码管的个位和十位公共端的起、闭。BG1和BG2的基极直接受PIC16F84A的口RB2、RB3位的控制。两位LED的笔段电极a、b、c、d、e、f、g分别对应并联后再与IC2的笔段电极对应相连。由此可见,可完成两位LED计数显示的图2电路十分简单。此外,只需将图2电路中的LED数码管并联扩展(增加LED数码管的个数)和增加三极管的对应只数,即可把此电路扩展成多位LED数码管计数显示的动态扫描电路。
  
  两位LED数码管计数显示动态扫描流程图如下图所示。

两位LED数码管计数显示动态扫描流程图

  PIC16F84A两位LED计数显示动态扫描源程序
  
  1.电路接通电源后,两位LED会自动递增计数,计数方式:
  
  LED个位数加一,十位数不进位;LED个位数进位,十位数加一;个位数进位,十位数进位;不断从00~99的循环显示。
  
  2.汇编源程序.ASM的特点图2电路是由IC1为LED自动计数时提供主控信号,IC1由汇编程序给RB口的RB4~RB7,产生8421BCD码以供IC2所需的输入信号。由于两位LED数码显示管的个位和十位共用了IClRB4~RB7的8421BCD码信号,所以相关的汇编程序采用了动态扫描方式。
  
  在IC1计数过程中,由于是二进制计数,其计数过程总是从RB口的低位到高位,不能满足图2电路的要求,所以通过汇编程序将二进制数处理成8421BCD码,且从高四位输出。处理二进制数时,主要用了寄存器字节交换指令、W同常数异或和常数与指令等。所以读者在阅读以下源程序时,对程序中的算术或逻辑运算最好动笔运算,方能理解二进制_+8421BCD码的转换和把BCD码送到IClRB口的高四位的方法。通过阅读下述源程序的工作过程,方可理解两位LED数字显示的动态扫描方法。
  
  3.汇编源程序.ASM的标号为了便于读者理解下述汇编源程序,特将指令中的主要标号功能加以说明。
  
  DISPO:两位LED显示00操作;SCAN:计数器自动加1操作;NOCYONE:计数器个位数自动加1操作;NOCYTEN:计数器十位数自动加1操作;DISPLAY:LED个位、十位计数动态扫描显示操作;A7MS:延时操作,作用是关闭数码管后、停顿(延时)后作下次显示;B5MS:延时操作,作用是数码管显示的持续时间。
  
  4.汇编源程序.ASM指令注释下述源程序,由于是LED计数显示动态扫描工作过程,所以源程序各条指令的注释,只代表静态显示的注释。以下源程序中是以个位加1,显示个位数时的注释;当个位数自动计数到9+1时,对十位进位加1,显示十位数时的注释,这里特此说明。若需观察计数的动态过程,可用模拟调试方法实现之,今后笔者会对模拟调试方法作详释。
  
  5.关于汇编源程序的格式下列汇编源程序.ASM在书写时,改变了过去的格式,没有用伪指令EQU对PIC芯片内的RAM赋值和命名,而是采用了直接寻址的方式,书写了有关的指令。该方法的优点是按直接寻址书写指令,可使源程序简化。
  
  PIC16F84A两位LED计数显示动态扫描的汇编源程序,命名为PIC15.ASM,其源程序清单如下:

 




本文关键字:动态  显示电路-显示屏单元电路 - 显示电路-显示屏