Hi,大家好,这里是大森林老学长的毕设系列文章!
对毕设有任何疑问都可以问学长哦!
这两年开始,各个学校对毕设的要求越来越高,难度也越来越大… 毕业设计耗费时间,耗费精力,甚至有些题目即使是专业的老师或者硕士生也需要很长时间,所以一旦发现问题,一定要提前准备,避免到后面措手不及,草草了事。
以下是学长亲手整理的单片机相关的毕业设计选题,都是经过学长精心审核的题目,适合作为毕设,难度不高,工作量达标,对毕设有任何疑问都可以问学长哦!
第1节 系统硬件设计
1.1系统框图
图1 单片机控制系统原理框图
1.2键盘显示电路
本模块以AT89C2051单片机为核心,利用138译码器对显示器动态扫描及作为键盘的扫描线,采用此方法大大简化了硬件,充分的利用了单片机的资源,这也是本设计的巧妙所在。可同过键盘来设置温度,并显示在数码管上,并通过串口发送出去,另外检测到温度通过串口接收进来,并显示在相应的数码管上键盘的扫描输入与显示器的扫描输出由单片机控制,但考虑到键盘与接口需要较多的I/O口线,如果直接由单片机控制,一方面必须扩充系统I/O口,另一方面,键盘与LED显示的扫描处理占用大量机时,增加软件编程负担。为此在组成系统人机对话通道时采用了可编程的键盘。显示接口芯片8051,由8051负责键盘扫描、消抖处理和显示输出工作。根据认为的要求,8051键盘被设计为2*8行,扫描线有SL0~SL8经译码输出,接入键盘列线,查询RL0~RL1提供,采用键盘扫描法对16个按键进行读取状态。使用行列式,把这16个按键分为82,采用74LS138对8行键盘轮流扫描,再通过P3.2和P3.7这2列读进来,从而判断按键是否按下。
键盘显示图一
键盘显示图二
2系统温度控制
前向通道:
以AT89C51单片机为控制核心,采集到温度,经放大,AD转换后送单片机处理,再通过串行口发送到显示模块因为考虑到PID运算时需要调用浮点数运算程序库,程序需要占用很大的存储空间,8051内部的能满足此要求,所以不需要扩展外部ROM,系统中运行中需要存放的中间变量只有给定温度和实测,PID运算中间结果及输出结果等十几个变量.因而8051片内的RAM能够满足要求,可不必再扩展。
后向通道:
后向通道是实现控制型号输出的通道,单片机系统产生的控制信号经过功率放大器的放大控制电炉的输入功率,以实现水温的控制的目的.根据系统的总误差要求,后向通道的控制精度也要应控制在0.83%之内.
1.3 程序流程图
系统软件由主程序、键盘扫描、LED显示、串行口中断组成。由于本模块就进行键盘与显示任务,且键盘扫描与LED扫描是用同个74LS138来完成,可以将程序精简,即把键盘和显示的程序合在一起放在主程序里。
(1)初始化。设定可编程芯片的工作方式,对内存中的工作参数区进行初始化,显示系统初始状态。
(2)读温度程序. 通过DS18B20的侧温.
(3)调用PID算法子程序通过键盘模块发送过来的数据,即给定值,和测量值进行计算,输出PWM波.对电炉的水温度进行控制.
(4)返回
(2)定时中断服务程序:
采样定时由定时器o的定时操作完成,定时器o的定时初值时间由PID的运算结果控制。程序流程如图所示:
(3)脉宽调制输出子程序:
第2节 CPU软件抗干
2.1 看门狗设计
单片机最易受干扰的是内部计数器PC的值。在受强干扰的时,PC值改变,改变后的值又是随机的,为一不确定值。因此,对系统内核CPU进行R软件抗干扰显得尤为重要,本设计采用的是看门狗设计。
这样, 就可以进行总体调试了。把编写好的程序放在电脑里,使用伟福仿真器来仿真,看看8个数码管显示的数据是否正确,按下按键后能否在数码管上显示设定的值,反复的调试、修改程序,使达到预期的效果。
看门狗(Watchdog)电路是嵌入式系统需要的抗干扰措施之一。本文用X25045芯片设计了一种新的看门狗电路,具有体积小、占用I/O口线少和编程方便的特点,可广泛应用于仪器仪表和各种工控系统中。系统在运行时,通常都会遇到各种各样的现场干扰,抗干扰能力是衡量工控系统性能的一个重要指标。看门狗(Watchdog)电路是自行监测系统运行的重要保证,几乎所有的工控系统都包含看门狗电路。在8096系列单片机和增强型8051系列单片机中,该系统已经做在芯片内部,用户只要用软件开放它就可以,使用很方便。但目前工控系统仍在使用廉价的普通型8051系列单片机,则看门狗电路必须由用户自己建立。
看门狗电路一般有软件看门狗和硬件看门狗两种。软件看门狗不需外接硬件电路,但系统需要出让一个定时器资源,这在许多系统中很难办到,而且若系统软件运行不正常,可能导致看门狗系统也瘫痪。硬件看门狗是真正意义上的“程序运行监视器”,如计数型的看门狗电路通常由555多谐振荡器、计数器以及一些电阻、电容等组成,分立元件组成的系统电路较为复杂,运行不够可靠。
X25045芯片简介
X25045是美国Xicor公司的生产的标准化8脚集成电路,它将EEPROM、看门狗定时器、电压监控三种功能组合在单个芯片之内,大大简化了硬件设计,提高了系统的可靠性,减少了对印制电路板的空间要求,降低了成本和系统功耗,是一种理想的单片机外围芯片。X25045引脚如图1所示
X25045引脚图
其引脚功能如下。
CS:片选择输入;
SO:串行输出,数据由此引脚逐位输出;
SI:串行输入,数据或命令由此引脚逐位写入X25045;
SCK:串行时钟输入,其上升沿将数据或命令写入,下降沿将数据输出;
WP:写保护输入。当它低电平时,写操作被禁止;
Vss:地;
Vcc:电源电压;
RESET:复位输出。
X25045在读写操作之前,需要先向它发出指令,指令名及指令格式如表1所示。
X25045指令及其含义
X25045看门狗电路设计及编程
X25045硬件连接图如图2所示。X25045芯片内包含有一个看门狗定时器,可通过软件预置系统的监控时间。在看门狗定时器预置的时间内若没有总线活动,则X25045将从RESET输出一个高电平信号,经过微分电路C2、R3输出一个正脉冲,使CPU复位。图2电路中,CPU的复位信号共有3个:上电复位(C1、R2),人工复位(S、R1、R2)和Watchdog复位(C2、R3),通过或门综合后加到RESET端。C2、R3的时间常数不必太大,有数百微秒即可,因为这时CPU的振荡器已经在工作。
X25045看门狗电路硬件连接图
看门狗定时器的预置时间是通过X25045的状态寄存器的相应位来设定的。如表2所示,X25045状态寄存器共有6位有含义,其中WD1、WD0和看门狗电路有关,其余位和EEPROM的工作设置有关。