2013年第1期 信息通信 2O13 (总第123期) INFORMAT10N&COMMUNICATIONS (Sum.No 123) 单片机花样流水灯设计 张灿 (杭州师范大学钱江学院,浙江杭州310012) 摘要:单片机是世界上应用最多的计算机,现代人生活中几乎每件电子产品和机械产品都会集成有单片机。手机、电话、 计算器等都会配有1—2部单片机,复杂的工业控制系统上可能有百台单片机同时在工作。在流水灯控制系统中,单片机 更是取代了由齿轮调节延迟时间的旧式发展速度,成为日后此系统中的核心部分。由于单片机具有一些突出的优点,因 此很有必要针对单片机花样流水灯进行研究,以促进单片机技术的运用和发展。 关键词:单片机;花样流水灯;计算机 中图分类号:TP368.12 文献标识码:A 文章编号:1673.1131(2(】13)O1.0042—02 随着人们生活环境的不断改善和美化,在许多场合可以 PI. 、√VI2C 看到彩色霓虹灯。LED彩灯由于其丰富的灯光色彩,低廉的 P1.1 P O 造价以及控制简单等特点而得到了广泛的应用。用彩灯来装 P1.2 pO.1 饰已经成为一种时尚。但是目前市场上各式各样的LED彩灯 p1.3 po.2 pl pD.3 控制器大多数是用全硬件电路实现,电路结构复杂、功能单一, p1 po.4 这样一来制成品只能按照固定的模式闪亮,不能根据不同场 P1.6 5 PI.7 6 合、不同时间段的需要来调节亮灯时间、模式等动态参数。这 种彩灯控制结构往往芯片过多、电路复杂、功率损耗大。此外 辣× 咯-0 嚣 E ,、r _3.1 :坌AU P蛋laHD 从功能效果上看,亮灯模式少而且样式单调,缺乏用户的可操 门广I)P3 ∞ S 作性,影响亮灯效果,因此有必要对现有的彩灯控制器进行改 l_rl P3.3 p 7 11D P3。4 宝 6 进。 I l’3.5 I.2.5 l设计方案 限l’3l 6 p ● 翼6p3.7 3 本次设计有下列要求:第一,自动控制多路彩灯按预设的 ×TAI 2 P 2 X ALl l 花型进行变换,按下不同开关要求变换不同的花型,例如从上 !;S O 到下一盏一盏点亮;第二,花型种类不少于五种,花型自拟;第 三,分别用快慢两种节拍实现花型交换,总清零开关控制电路 图1 89C51芯片引脚图 的初始状态。 1.1.3引脚说明 1.1硬件设计 引脚是单片机和外界进行通信的通道连接点,用户只能 1.1.1硬件说明 通过引脚组建控制系统。从应用的角度来看,引脚的应用是 按照单片机系统扩展与系统配置情况,单片机应用系统 单片机应用的一个重要基础。因此熟悉引脚是学习应用单片 可分为最小系统、最小功耗系统以及典型系统等。89C51单片 机的基础。 主电源引脚:VCC(40脚):接+5V电源。VSS(20脚):接 机是本次设计运用的主要元件,流水灯控制设计是用单片机 地。时钟引脚(18,19脚):提供单片机的时钟控制信号,18脚 最小应用系统,即为有LED、晶振、复位电路、电源等电路和软 件组成的单个单片机。电路焊接:制造电子产品的重要手段。 为片内晶振电路的输入端,19脚为片内晶振电路的输出端。可 编程输 输出引脚(32根):AT89C51单片机有4组8为可编 主要涉及到的硬件有AT89C51单片机、LED、晶振、电阻、开 关、电容等。 程UO口,分别为P0、P1、P2、P3口,每个口有8位(8根引脚), 1.1.2芯片介绍一AT89C51(见图1) 共32根。每一根引脚都可以编程,比如用来控制电机、交通灯 等,开发产品时就是利用这些可编程引脚来实现我们想要的功 ・—‘+一一—。+一”—‘+一”—‘。卜oo—‘卜一—‘+一一—。’一”— 一”——+一”—■一”—。・+一“— 一”—+一”+“+一+”—‘+一”+一+oo+”+”+“+“+“+”+一+一+ +*+oo+“+”+一+一+一+”+*+w+一+・ 电压经二级管1N4001和RC电路构成包络检波器检波后, 线路语音电平自动压扩控制器的研制及使用效果: 输出一个随音频平均电压变化的电压,用此电压控制工作于 根据设计电路,我们采用元器件横排结构,输入、输出采 恒流区的场效应管2sk30ATM的栅极,改变场效应管的静态 用音频接插件,共制作六路。每一路之间采用金属挡板隔离, 工作电流,使运算放大器的放大倍数受音频信号大小控制。 以避免每路音频信号之间的相互干扰。经测试:当输入电平 当音频信号强时自动减小放大倍数,信号弱时自动增大放大 在7dbm之间变化时,输出电平能够控制在1.5dbm的变化范 倍数,从而实现音量自动调节。在自动增益控制器的后端接 围内,且每路之间的相互隔离度符合要求,引入躁声和信躁 有一个有源二阶低通滤波器,其截止频率为3400Hz,满足语 比满足要求,达到了设计设想和指标要求。后经实际工作使 音输入的频率范围。由于此时的信号幅度较大,因此在电路 用,效果良好,基本解决了发信机输出功率不一致的难题,线 的最后端接有一反向放大电路,通过调整电位器的阻值来控 路语音电平自动压扩控制器的设计与研制取得了成功。 制电压放大倍数。只需满足R11+VR2<R10即可实现语音 信号的压扩,经过适当调整之后就可满足输出电压幅度要求。 作者简介:殷永红(1963.),女,天津塘沽人,工程师。 信息通信 能。控制引脚(4根),RST/VPD(9脚):复位引脚,引脚上出现 2个机器周期的高电平将使单片机复位;ALE/.PROG(30脚): 地址所存允许信号;.PSEN(29脚):外部存储器读选通讯信 数据为0FFH。 张灿:单片机花样流水灯设计 2.2硬件程序设计 硬件工作原理。单片机:①XTAL1、XTAL2接外部晶 振。②P1.0~P1.4端口外接开关,为输入信号的接收;P2.0~ 号;一EA/VPP(31脚):程序存储器的内外部选通,接低电平从 外部程序存储器读指令,如果接高电平则从内部程序存储器 读指令。 P2.7端口外接LED串联电阻,为外部信号的输出。低电平有 效。③RST接复位信号。晶振电路:由两个电容和一个1MHZ 的晶振部分,主要给单片机提供基本的时钟信号。复位电路: 由两个电阻,一个开关,一个电容组成,主要用于电路的复位部 分。开关电路:由6个开关组成,一端接地,另一端接单片机的 I/O口,用于控制单片机输出的选择。LED电路:由8个LED 和电阻组成,一端接高电平,另一端接单片机的输出部分;电阻 用来保护LED,为保护电阻。P2口输出的高低电平来控制LED 的点亮或熄灭。 1.2软件编程设计 本次花样流水灯设计主要基于单片机的设计,通过编写 汇编语言进行编译、输出hex文件。 本次程序主要用CJNE来判断哪个按键被按下,然后跳 到相应的程序入口地址,执行指令。程序最开始将0FFH赋 值给Pl口、寄存器A,应用比较不跳转指令将A和0FEH进 行比较,若Key1键被按下,即P1.0 12为低电平,则程序继续 执行下去,LcALL K1,跳转到K1子程序,将07FH赋给A, 3结语 经过努力,我终于完成了这次课程设计。花样流水灯的 A传到P2口,所以第一盏灯先亮,再将数值进行右移一位, 就实现了第二盏灯点亮,一次执行下去,从上到下每盏灯一 制作相对于别的设计来说,已经相当简单,既没有中断的设置, 也没有计数、定时部分,子程序之间的跳转也是比较简单的, 仿真效果图出来了,当时还是比较高兴的。 通过设计,我增强了对单片机的理解,学会查找资料,遇 到问题,解决问题,学会单片机的设计。更加详细地了解了5l 单片机内部结构以及个I/O口的应用,信号的输入输出等,并 次点亮,为保证时间上的足够,必须调用延时子程序。再用 JNB指令比较,如果Key2键被按下,则再跳转到相应的子程 序下去,否则继续持续第一种花型。如若需要增大或减小灯 光闪烁的时间,则需按下Key6键,本次设计只能变换2种间 隔时间。 2详细方案设计 2.1软件程序设计介绍 单片机的应用系统由硬件和软件组成,需要编写程序控 制单片机管脚电平的高低变化,来实现LED的一亮一灭。软 件编程是单片机应用系统中的一个重要组成部分,也是本次 且参与实物的制作,动脑又动手,在制作实物的过程中,布线 以及焊接,以及可能由于焊锡过多会导致电路被短的问题,都 让我学到了很多知识,很多经验。 这次的设计,问题还是有的,比如LED灯高低电平的选 择,以及保护电阻的选取,刚开始在LED灯外接了1K左右电 阻,可是发现灯不会亮,但是P2口有信号输出,然后我以为是 高低电平接反了,换了方向后LED依旧没有亮,又考虑到是 LED可能接错,换了别样颜色的LED灯,还是没亮,最后查了 资料,才知道可能是保护电阻的问题,改小电阻值,LED亮起, 设计的重点和难点。下面着重介绍本次设计的工作原理。程 序开始就将0FFH给Pl口,即将信号输入给Pl口,Pl口又将 数据送入寄存器A,再将A中数据和给定数据0FEH相比较。 如果Key1键被按下则不跳转,直接执行下面的程序,即跳转 到K1子程序中去;如果Key1键没被按下,即P1 12输入的信 号与0FEH不一样,则进行跳转,程序会跳转到S1子程序,在 Sl子程序中依旧是比较输入信号与0FDH是否相等。总的来 我想这就是一个实验的过程。 在此单片机的设计中,我还设想能加入中断和定时部分, 比如按下其中一个键后,在闪烁一定的花型后自动跳入另外 一种花型,过一段时间又跳到再一种花型按下别的键又是别 说,这里应用的CJNE指令是用来判断KeyI—Key5哪个键被 按下,以跳到相应的子程序中去,硬件电路表现为由开关控制 花样的变换。以下是Key1.Key5被按下的判断:Key1是否被 样的花型组合,使该花样流水灯更加完善,更加绚烂!或者 是,设计一个图案,随着时间,一个图案会在一个屏幕上流动。 参考文献: [1] 肖洪兵.跟我学用单片机[M].北京:北京航空航天大学出 版社,2002.8. 按下,则P1口输入数据与样11111110b进行比较,相同则继续 Kl,否则跳转到sl;sl:Key2是否被按下,则P1口输入数据 与 11111101b进行比较,相同则执行K1,否则跳转到s2;S2: Key3是否被按下,则P1口输入数据与 1111101lb进行比较, 相同则执行K2,否则跳转到s3;S3:Key4是否被按下,则Pl 口输入数据与#1111011lb进行比较,相同则执行K3,否则跳转 到S4;S4:Key5是否被按下,则P1口输入数据与#11110111b进 行比较,相同则执行K5,否则跳转到MAIN主程序;此时P1口 ・—【2】夏继强.单片机实验与实践教程【M】.北京:北京航空航天 大学出版社,2001 作者简介:张灿(1991一),女,湖北随州人,主要研究方向为电子信 息工程。 +一一—+一一—-+一oo—-+-”—・+一”—--卜* 卜”---卜“+“—●一一--十一一—●一”—+-”—・+一*—--卜”—-・卜“—●一一—+一”—+一”—-+一*—+一”—・●一“—・+一”——+一“—-+一一・-+一”—+一-—+一*--—卜”—・●一“ (上接第91页) 计,广泛学习网络知识,提高业务水平,保证网络的可靠运行。 4结语 网络中的软件故障种类多并且难以避免,在一个网络建成 运行后,网络的维护、网络故障的诊断是很重要的工作,除了本 文所述及的软件故障诊断,技术人员还应该注意避免引入软件 缺陷,预防软件故障发生,加强软件开发过程管理,进行避错设 参考文献: [1】黄望宗等.IP网络故障诊断与排除方法探讨[J].计算机工 程与设计,2007(7) [2】包东飞.计算机网络通讯技术故障分析与处理[J].系统安 全,2010(12) 43