2024年07月03日

微电脑彩灯控制器

2004 年 2 月 4 日
 

  一、特点和用途
  1?用单片机控制,电路简单,制作容易,成本低。2?克服了传统彩灯控制器的通病,即硬件一旦固定,功能就不能改变。3?采用矩阵式输出,使单片机的15根口线可以控制56路彩灯。本控制器在电路不变的条件下,通过更改软件,能极方便地实现各种不同的花样控制。本控制器可以用在广告灯箱控制,大型广告牌背景灯控制,各种“跑灯”“流水灯”控制等场合。
  通过本制作,进一步学习单片机定时器的使用方法,熟练掌握数据传送指令(MOV)、条件转移指令(JBC)等的实用编程方法。
  二、工作原理
  原理图如附图所示。D1为AT89C2051型单片机。C3和R1组成D1的上电复位电路,C1、C2为+5V电源滤波电容。D2是驱动器。从图中可以看出,本彩灯控制器仅由D1、D2和几个外围元件组成,但是它可以驱动56组彩灯且控制规律灵活多变。图中粗实线右边部分是控制执行器件(本例用固态继电器,也可选用可控硅或继电器等)。单片机的控制输出信号由两个I/O完成。采用矩阵式输出方式。由P1口输出8个行驱动信号,由P3口输出7个列驱动信号。如果在P3?0口线上输出高电平时,经过D2反相为低电平,此时为固态继电器SSR1~SSR8导通作好了准备,其中哪一只固态继电器导通取决于P1口的状态。当P1口输出00时,SSR1~SSR8全部熄灭,当P1口输出01H时,在P1?0口线上处于高电平的SSR1导通,由SSR1控制的彩灯(L1)被点亮;当P1口输出02H时,P1?1口线上处于高电平的SSR2导通,由SSR2控制的彩灯(L2)被点亮。以此类推。因此通过编制软件,改变P1口和P3口的状态,达到对彩灯的不同的控制效果。大大减少了硬件的投资,可以达到以不变应万变。
  三、软件设计
  不同的软件实现不同的控制规律,从而达到不同的彩灯显示效果。下面以流水灯为例介绍对前8个灯(L1~L8)控制的软件设计方法。读者掌握了基本方法以后,就可以灵活的变通处理。
  控制要求:彩灯全亮1秒→全灭1秒→L1亮1秒→L1、L2亮1秒→L1~L3亮1秒→L1~L4亮1秒……全亮1秒(循环)
  程序清单如下:
  ORG 0000H ;程序入口地址
  AJMP MAIN
  ORG 001BH;定时器TO中
         断入口地址
  LJMP WTO
  ORG 30H
MAIN:MOV SP,#50H;设置栈
           指针
  MOV 20H,#0
  MOV 21H,#0
  MOV P3,#0
  MOV P1,#0
  MOV THO,#6;TO中断(方式2常数自动装入8位定时器)
  MOV TL0,#6
  MOV TMOD,#02H
  SETB EA
  SETB ETO
  SETB TRO
M:MOV P3,#01H
  MOV P1,#0FHH
  JNB 08H,$
  CLR 08H
  MOV P3,#00H
  MOV P1,#00H
  JNB 08H,$
  CLR 08H
  ACALL DSP
  AJMP M
WTO:PUSH ACC
  PUSH PSW
  INC 22H
  MOV A,22H
  CJNE A,#200,TORETI
  MOV 22H,#0
  INC 23H
  MOV A,23H
  CJNE A,#10,TORETI;Ls
  MOV 23H,#0
  SETB 08H
TORETI:POP PSW
  POP ACC
  RETI
DSP:SETB 00H
  MOV P1,20H
  MOV P3,#1
  JNB 08H,$
  CLR 08H
  SETB 01H
  MOV P1,20H
  JNB 08H,$
  CLR 08H
  SETB 02H
  MOV P1,20H
  JNB 08H,$
  CLR 08H
  SETB 03H
  MOV P1,20H
  JNB 08H,$
  CLR 08H
  SETB 04H
  MOV P1,20H
  JNB 08H,$
  CLR 08H
  SETB 05H
  MOV P1,20H
  JNB 08H,$
  CLR 08H
  SETB 06H
  MOV P1,20H
  JNB 08H,$
  CLR 08H
  SETB 07H
  MOV P1,20H
  MOV 20H,#0
  RET
  END
  四、系统调试
  软件调试:1?将上面源程序输入PC机以后,以“L?ASM”文件名存盘。2?运行“MCS51?EXE”调试软件,待屏幕显示调试窗口以后,按<F3>键,调入“L?ASM”,按<F9>键进行汇编,然后按<F7>键单步运行,在调试窗口的右下角观察P1和P3的状态与软件设计要求完全一致,软件调试结束。3?按<ALT>+<F>键将“L?ASM”转换成编程器需要的格式的文件。这一步操作有两种方法,在第40期已经介绍过其中的一种,在此介绍另一种。即:选择“Save OBJ as…”项,按回车键待出现选择窗口后,按<Esc>键确定文件名和文件格式。文件格式选“(?)ROM”,然后存盘。4?按<Esc>键前退一步。5?按<Alt>+<X>键返回DOS系统。
  用以前介绍的方法将“L?ROM”格式的文件固化在AT89C2051中。
   将AT89C2051插入电路中的IC插座上。当硬件焊接没有错误时,接通电源即可工作。
?成都 夕阳 
  本报编辑部向读者免费提供本文制作的印板图,函索者请填好回邮信封,并贴上邮票。


站内搜索