用单片机实现流水灯的控制设计.docxVIP

  • 83
  • 0
  • 约8.64千字
  • 约 14页
  • 2022-03-02 发布于天津
  • 举报
用单片机实现流水灯的控制设计 引言 当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制 领域,传统的分立元件或数字逻辑电路构成的控制系统, 正以前所未见的速度被 智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点, 可以说,智能控制与自动控制的核心就是单片机。 目前,一个学习与应用单片机 的高潮正在工厂、学校及企事业单位大规模地兴起。学习单片机的最有效方法就 是理论与实践并重,本设计课题是流水灯的控制设计,流水灯是一串按一定的规 律像流水一样连续闪亮。流水灯控制是可编程控制器的一个应用,其控制思想在 工业控制技术领域也同样适用。 硬件组成 2.1总体方案设计分析 要求用8255的A 口和B 口做为输出,接16个发光二极管,从而实现16位流水 灯的显示效果,基本的界限可如下图 A所示,在C 口的地两位接两个开关,实 现两个扩展功能的控制。 i:基本流水灯显示电路 A 口和B 口两个端口不能同时复制,从而在试验中可以用 BX进行需要复制的数 据的存储,因为BX可以分从BH BL两个部分进行独立的操作,在本次试验中用 BH对A 口进行赋值,用BL对B 口进行赋值,通过演示一段时间再对 BH BL进 行移位和输出,实现流水灯的效果。 ii:正反方向选择 把PC.0 口接在开关上,编写程序对 C端口的数据进行读取,并进行判断,使得 当PC.0为高电平的时候则灯进行左移,同时 B 口与A 口相反。 iii :快慢速度控制 把PC.1 口接在开关上,编写程序对 C端口的数据进行读取,并进行判断,使得 当PC.1为高电平的时候则延时的时间缩短,使得流水灯的流水速度加快,低电 平的时候则进行延时的时间变长,使得流水灯的流水速度加快。 3硬件原理设计 A该模块的WR.RD分别练到PC总线接口模块的XIOW和XIOR B该模块的数据(AD0~AD7)、地址线(A0~A7)分别连到PC总线接口模块的数 据(D0~D7)、地址线(A0~A7) C 8255模块选通线CA连到PC总线接口模块的IOY3 D 8255的PA0~PA7连到发光二极管的 L1~L8;8255的PB0~PB7连到发光二极管 的 L9~L16 E 8255的PC0 PC1分别练至U开关 K0 K1 F软件流程框图及程序清单 按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功 耗系统及典型系统等。AT89C51单片机是美国ATMEL公司生产的低电压、高性 能CMOS 8位单片机,具有丰富的部资源:4kB闪存、128BRAM 32根I/O 口 线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具 有4.25?5.50V的电压工作围和0?24MHz工作频率,使用 AT89C51单片机时 无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机 最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成 的单个单片机。其具体硬件组成如图 1所示。 Z9JfFliLIFDAATCKF祖帼业邨tJGFTro/w?■SiuAFZ3*.inT!ET Z 9 JfFliLI FDAATC KF祖 帼业邨 tJGFT ro/w? ■SiuA FZ3*.in T!ET 0 PW.口 吃和4 o工砒用 f F 3Tj Fj.imD If J MJ 叮me ~~ 2心今3牛黑飞3 图1流水灯硬件原理图 2.1硬件组成分析 1)总体方案设计分析 要求用8DC52的P0 口做为输出,接8个发光二极管,从而实现8位流水灯的显 示效果,在C 口的地两位接两个开关,实现两个扩展功能的控制。 :基本流水灯显示电路 如果要让接在P0.0 口的D5亮起来,那么只要把P0.0 口的电平变为低电平就可 以了;相反,如果要接在P0.0 口的D5灯熄灭,就要把P0.0 口的电平变为高电 平;同理,接在P0.1?P0.7 口的其他7个LED的点亮和熄灭的方法同D5。因此, 要实现流水灯功能,我们只要将发光二极管 D1?D8依次点亮、熄灭,8只LED 灯便会一亮一暗的做流水灯了。 A 口和B 口两个端口不能同时复制,从而在试验中可以用 BX进行需要复制的数 据的存储,因为BX可以分从BH BL两个部分进行独立的操作,在本次试验中用 BH对A 口进行赋值,用BL对B 口进行赋值,通过演示一段时间再对 BH BL进 行移位和输出,实现流水灯的效果。 ii:正反方向选择 把PC.0 口接在开关上,编写程序对 C端口的数据进行读取,并进行判断,使得 当PC.0为高电平的时候则灯进行左移,同时 B 口与A 口相反。 iii :快慢速度控制 把PC.1 口接在开关上,编写程序对 C端口的数据进行读取,并进行判断,使得 当PC.1为高电平的时候则

文档评论(0)

1亿VIP精品文档

相关文档