基于AVR单片机的电梯控制系统.docVIP

  • 6
  • 0
  • 约1.1千字
  • 约 6页
  • 2017-08-11 发布于重庆
  • 举报
基于AVR单片机的电梯控制系统

基于AVR Atmega128 设计的小型电梯控制系统 一 实验目的 本实验是一个综合性的实验,用到了实验箱上的大多数资源,能很好的检验学习的情况,对熟悉实验箱的应用和操作有很大的好处。 二 实验内容 本实验是基于AVR ATmegal128开发的电梯控制系统,由于本系统的硬件主要是依靠实验箱,所以所实现的功能没有实际的客运电梯的强大,但是本系统可以应用于运行条件不是特别严格的环境下,如小型货运电梯。 三 硬件原理 为了加强自己对硬件部分的了解,提高自己的编程水平,尽可能多的使用现有实验箱资源,在这个系统中,加入了以下硬件:1、4*4键盘 2、8*8 LED点阵(LDM) 3、TEXT LCD 4、7段led数码管 5、外部中断 6、音频输出 7、步进电机 下面是各部分的硬件PCB: ATmegal128 2、8*8 LED点阵(LDM) 3、TEXT LCD 4、外部中断 5、音频输出 7、步进电机 8、4*4键盘和7段led数码管 四 程序流程图 TEXT LCD初始化,其上显示欢迎字幕,并要求用户进行楼层选择 调用键扫描函数key_scan(); 通过扫描出来的键值来确定用户所要到的楼层数 将上次运行的楼层数保存到参数d中 并判断当前所选楼层bin与上次楼层之间的大小情况 If(bind) If(bin=1) If(bind) 调用print_message();TEXT LCD显示“THE LIFT IS RUNNING!” 调用initializemotor();初始化电机,电机开始正转 调用matrix(font_A);进行LDM显示,楼层数每变化一次,参数f自动加一(f用来存放当前电梯运行处的楼层数) 判断当前楼层数是否与目标楼层数相等 是 调用function();电机停转,TEXT LCD显示,提醒语音响起,点阵 静态现实当前已到楼层数 否ou 调用键扫描函数key_scan();扫描到关门键(数字'f') (bind) 调用initializemotor();初始化电机,电机开始反转 调用matrix(font_A);进行LDM显示,楼层数每变化一次,参数f自动减一(f用来存放当前电梯运行处的楼层数) (bin=1) 判断当前楼层数是否为1 否ou 调用function();电机停转,TEXT LCD显示,提醒语音响起,点阵 静态现实当前已到1层 是 系统主函数流程图 电机中断流程图 中断初始化 给定中断初值 内部计数器控制,中断初值自动加1,达到溢出值时触发中断 给电机送入相序,使电机旋转

文档评论(0)

1亿VIP精品文档

相关文档