这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 高校专区 » 毕业设计专区 » 多功能系统设计

共2条 1/1 1 跳转至

多功能系统设计

专家
2013-01-17 14:45:25     打赏

作者:湖北师范学院 张飞 何抗 罗雨龙
指导教师:梅斌

  作品简介

  一、开发背景
  由于单片机在中国的发展越来越快,越来越多功能强大的单片机也随之问世,比如本次大赛的以IAP15F2K61S2为控制核心的单片机功能也是相当完善。同时以单片机为控制系统的各种电器也是越来越多,本设计就是为该单片机设计了一个多功能的实用系统。
  本系统可以用于生活的多方面,比如用于汽车内,该系统设计了倒车雷达,开启后可实时检测倒车情况,可以实时了解车内的温度,当前的时间;比如用于平常生活中的计算,该系统设计了一个科学计算器,带在身上还可以实时了解时间和温度,设置报警温度和闹铃可以实时提醒自己当前气温和时间等... ...所以具有实用的价值及意义。

  二、结构说明
  本系统是基于IAP15F2K61S2单片机开发板的多功能系统设计。使用到开发板上的硬件资源有:DS18B20电路模块、PCF8563电路模块、4*4矩阵键盘(含独立键盘)、蜂鸣器电路、液晶12864显示模块,此外我们还设计了一个倒车雷达。该系统主要是一种模块化的设计,整体硬件框图如下图2.1:  

 

  三、功能与使用说明
  进入主菜单后可以看到四个独立的功能模块:  

 

  4、倒车雷达
  以上功能都是通过对应开发板上的右下方的拨码开关控制。当所有拨码开关向左拨时,可以使用4*4矩阵键盘;当分别将拨码开关K1、K2、K3、K4拨向右时(只有一个拨码开关向右),可以分别使用第四排、第三排、第二排、第一排按键。

  平台选型说明

  以IAP15F2K61S2为控制核心的单片机、LCD12864显示器、自设计的测距模块

  设计说明

  一、系统硬件设计
  1、时钟、温度、显示电路
  这三个电路模块我们直接采用了开发板上的资源,做到资源的合理化利用。
  原理图3.1a、3.1b、3.1c如下:  

   

  2、主控制电路、按键电路、蜂鸣器电路和倒车雷达电路
  本设计的主控制电路就以本次竞赛的核心控制芯片IAP15F2K61S2控制,按键电路也采用了开发板上合理的按键设计电路,包括独立按键、矩阵键盘的切换,在程序设计中很好的实现了人机交互。该系统还使用到了上面自带的蜂鸣器电路,用于定时、定温以及倒车雷达的报警。  

 

  其中P0口接12864液晶的数据口7~14脚,P45、P55、P54分别接显示屏的4脚(RS)、5脚(R/W)、6脚(E);P3口接4*4矩阵按键(含独立按键),RADAR_R和RADAR_T还分别分别接倒车雷达模块电路的信号输入(单片机检测雷达反射回来的信号)和输出(单片机输出40KHZ的方波给雷达装置),使用的时候采用分时复用的方式,互不干扰;P16-SCL和P17-SDA分别接时钟芯片PCF8563的6脚(SCL)和5脚(SDA);P12接温度温度传感器的数据引脚2脚;单片机的P22脚通过一达林顿管芯片ULN2003转接到了蜂鸣器,使用时需先将拨码开关正确设置才可控制发声。

  3、按键电路  

 

  对应开发板上的右下方的拨码开关,当所有拨码开关向左拨时,可以使用4*4矩阵键盘;当分别将拨码开关K1、K2、K3、K4拨向右时(只有一个拨码开关向右),可以分别使用第四排、第三排、第二排、第一排按键。

  4、蜂鸣器电路  

 

  使用蜂鸣器时需将开发板上右上方的拨码开关2、4脚向右拨,其他向左即可打开。

  5、倒车雷达电路  

 

  单片机输出40KHZ方波经一片74LS04增大驱动电流即可控制打车雷达的输出部分电路简单性能稳定。  

 

  本设计系统用到了CX20106A 作为超声波接收处理,简单易用,性能稳定,内置放大、滤波、检波、积分、比较电路,完全替代了制作一个放大电路和滤波电路的麻烦。

  二、系统软件设计
  1、整体流程和控制图
  本系统设计的最大亮点就是程序,系统程序的实现采用了复杂多任务程序的实现方式。因为CPU的运行速度非常快,但很多任务又不是同时使用的,也不需要同时发生,所以采用定时器中断的方式,定时的进行任务切换,实现不同的任务。多任务复杂流程图如下:  

 



关键词: 多功能     系统     设计     单片机     电路     拨码     开关    

专家
2013-01-17 14:46:44     打赏
2楼

  1、主程序流程图  

 

  os_delay[x]是各任务需要定时处理的周期,os_delay[x]的参数乘于5毫秒就是处理每个任务所隔时间长度。在定时中断里面(这里不做流程图说明了)每隔5毫秒对每个os_delay[x]参数做自减处理,当哪个延时为0,而主程序又恰好扫描到这个程序,则对这个任务进行处理。

  2、任务0(task0)程序流程——PCF8563时钟运行程序  

 

  调整时间标志gtimeflag在任务4(task4)中产生,任务4(task4)主要是菜单和调整控制程序,在每次进入任务0时判断是否要重新设置一下时间;闹铃的开启通过每次进入本任务与修改后的闹铃时间进行对比,相等就将which_alarm置1,之后会在任务5处理相应的闹铃标志。

  3、任务1(task1)程序流程——12864显示程序  

 

  任务1主要是显示桌面的程序,通过判断timemode的值选择显示的桌面。

  4、任务2(task2)程序流程——DS18B20温度程序  

 

  任务2的任务主要是实时读取当前的温度,并保存在数组gettemp[4]中,其中包含两位整数,两位小数;同时通过与自己设定的报警温度上下限进行对比,溢出就置相应标志位为1,之后会在任务5处理相应的温度报警标志。

  5、任务4(task4)程序流程——菜单显示及控制程序
  这个任务是所有任务中的核心任务,通过任务4可以选择菜单项,调整时间、设置闹铃时间、设置温度报警上下限、调用计算器模块、调用倒车雷达模块。

  (1)菜单显示控制程序流程图
  说明:拨码开关4向右拨时(P34接地),选择第一排独立按键,其他按键不使用,按键返回值为赋值给了keyvalue0,键值'e'表示进入,'c'表示返回,'u'表示向上翻,'d'表示向下翻;拨码开关3向右拨时(P35接地),选择第二排独立按键,其他按键不使用,按键返回值为赋值给了keyvalue1,键值'r'和'l'表示循环选中,'+'表示调整的数值加,'-'表示调整的数值减。  

 

  (2)温度上下限调整流程图  

 

  rlflag是选中要调整温度值的标志.同理,时钟、闹铃等的调整方式均按这种流程进行的编码,在此不再一 一绘制流程图。

  (3)计算器模块的流程图
  前面没有看到task3,而task3就是计算器模块,我将他放在了task4中调用,当eflag=3,dflag=3,uflag=1同时满足时,调用计算器,下面是计算器的程序流程图  

 

  x和y分别是每次计算的两个操作数,每次键入值通过处理放入sumxy,然后通过运算符判断给哪个变量(x、y),该科学计算器能实现加、减、乘、除、三角函数(cos、sin、tan)、对数(log10)、倒数、平方、开方的功能,同时还支持小数点运算和累加功能运算。
  此外,在本系统中我们还设计了二进制转十进制、十六进制,十进制转二进制、十六进制,十六进制转二进制、十进制等运算。设计方法与科学计算器的设计类似,在此不再一 一绘制程序流程图。

  作品特色

  该多功能系统设计集多功能模块于一体,具有集成度高,应用广泛,由于本设计系统用到了CX20106A 作为超声波接收处理,简单易用,性能稳定,减少了生产调试的麻烦,内置放大、滤波、检波、积分、比较电路,完全替代了制作一个放大电路和滤波电路的麻烦因而结构设计简单,成本低廉,而且采用国产芯片,不用畏惧芯片供货的影响,适合大规模量产。

系统演示视频:http://v.eepw.com.cn/video/play/id/2484


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]