毕业论文-基于at89c52单片机的智能散热器的设计内容摘要:

码, E=高脉冲 输出:无 3 读数据:输入: RS=H, RW=H,E=H 输出: D0~D7=数据 4 写数据:输入: RS=H,RW=L, D0~D7=数据, E=高脉冲 输出:无 LCD 显示电路 电路连接如图 8: 串口通信 13 单片机有一个全双工的串行通讯口,所以单片机和计算机之间可以方便地进行串口通讯。 进行串行通讯时 是有 一定条件 的 ,计 算机的串口是 RS232 电平的,而单片机的串口是 TTL 电平的,两者须有一个电平转换电路,采 用专用芯片MAX232 进行转换,更简单可靠。 采用三线制连接串口, 即和 计算机的 9 针串口中的 3 根线 连接,分别是 :第 5脚的 GND、第 2脚的 RXD、第 3 脚的 TXD。 电路如图 9: 图 8 1602 接线图 图 9 MAX232 连接 电路 直流电机驱动电路 采用三级管直接驱动直流电机,电路使三级管工作在饱和或截止区,三极管处于很低的功耗状态,发挥简单的开关作用来控制电机两端电流的 通断,从而达到控制电机的目的。 对于电路的保护采用二极管续流方式并联在电机两端。 C1+1VCC16V+2C13C2+4C25V6T2OUT7R2IN8R2OUT9T2IN10T1IN11R1OUT12R1IN13T1OUT14GND15U10MAX23210uFC410uFC510uFC610uFC7123456789J1VCCTXDRXD 14 图 10 直流电机驱动 连接电路 图 电源芯片连接电路 交流信号经过桥式整流和电容滤波之后送给 LM7805,稳压 5V输出单独供给单片机。 在三端稳压管的输入输出端与地之间连接大容量的滤波电容,使滤掉纹波的效果更好,输出 更稳定 的直流电压。 输出引脚端连接高频电容以减小高频噪声, 接小容量高频电容以抑制芯片自激,提高系统稳定性。 图 11 电源 芯片 连接电路 Vin VoutGNDVR 78051000uFC410uFC51uFC6C7C8VCCVCCVCCVCCVCCVCCDS1LED0电源电路220V AC12V12V 12V470uF 15 图 12 电源电 路原理图 软件设计 硬件设计好 后,加上软件部分 整个系统 才能 得以运行。 本系统的软件部分主要包括主程序和系统初始化子程序、电机控制子程序、温度采集子程序等。 单片机程序设计 .1 总 程序流程图 图 13 总 程序流程图 16 温度采集子程序流程图 图 14 温度采集 子程序流程图 系统 仿真 用 Keil C51 编写程序 Keil C51 是美国 Keil Software 公司开发的 51 系列兼容单片机 C 语言的软 17 件开发系统, 与单片机汇编语言相比, C 语言 语句简单灵活, 编写的函数模块可移植性强,因而易学易用,效率高。 随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil 软件是目前 使用较多的 MCS51 系列单片机 开发 的软件。 Keil C51 软件 不仅 提供 了 丰富的库函数 ,而且它 强大的集成开发调试工具为程序编辑调试带来便利, 在开发大型软件时更能体现高级语言的优势。 在使用时要先建立一个工程,然后添加文件并编写程序,编写好后再编辑调试。 系统软件 调试 用 KEIL 编译器编程调试 , 初步调试的程序一般 按照以下方法调试: 1 单步:一次只执行一条指令,在每步执行后,返回监控调试程序。 2 行:可以从程序的任何一条地址处启动,然后全速运行。 3 点运行:可任意设置断点,当程序执行到此时 控制返回到监控调试程序。 4 查和修改存储器单元的内容。 5 查和修改寄存器的内容。 程序调试可以 逐个模块进行,一个一个子程序的调试,从而 发现程序中的死循环、机器码及转移地址错误,也能发现待测系统中 算法和硬件设计错误。 PROTEUS 软件简介 Proteus 是世界上著名的 EDA 工具 (仿真软件 ),从原理图布图、代码调试到单片 机 与外围电路协同仿真,一键切换到 PCB 设计,真正实现了从概念到产品的完整设计。 它 是目前世界上唯一将 电路仿真 软件、 PCB 设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持 805 HC1 AVR、 ARM、8086 和 MSP430 等, 2020 年又增加了 Cortex 和 DSP 系列处理器,并持续增加其他系列处理器模型。 在编译方面,它也支持 IAR、 Keil 和 MPLAB 等多种 编 18 译器。 利用 Keil C51 软件对源程序进行编译,编译成功后保存编译结果。 然后在PROTEUS 中设计出相应的硬件电路,最后将程序装载到单片机中,通过 PROTEUS仿真,看程序是否能够实现预想的功能。 PROTEUS 电路原理图设计 智能散热系统的 电路原理图设计 : 图 15 智能散热系统的电路原理图 智能散热核心的电路原理图设计: 19 图 16 智能散热核心的电路原理图 PROTEUS 系统仿真与分析 (1) 当温度 25︒ C t=32︒ C 时,电机转速较低,如图: 图 17 25︒ C t=32︒ C 时的仿真电路 ( 2) 当温度 t33︒ C 时,电机转速加快,如图: 20 图 18 t=33︒ C 时的仿真电路 ( 3) 当温度变化时,温度数值变化伴随的波形变化, 原理图 如图 19: 图 19 温度数值变化伴随的波形变化仿真 结论 毕业课题 选择 时 , 因 我的散热器坏了故 对笔 记本散热问题非常感兴趣。 该设计需要 硬件 和 软件设 计 ,利 用传感器、直流电机和单片机来实现。 按 要求 我先 设计硬件电路 ,由 开始 很多 知识 不清楚到 有个大致思路 再后来 参考相关书籍及上网,自己真正设计了一个 仿真 原理图,虽然复杂但 经过不断修改基 本正确 21 了。 软件 设计对我而言很难 ,编程 遇到了很多问题,后来 通过看书 、上网 、请教老师等 才 逐步完成了 C语言 编程, 所以在这次毕业设计中学到了很多。 本系统实现了 对笔记本的 温度监控和散热设备的运行,可将数据上传至电脑进行后期分析处理, 能被广泛 应用到生产和生活中,如带有温度控制的场合、工业温度测量仪表等。 由于温度监控是一个实践应用性很强的课题,要使其产品化,能够经受住实际应用的严格考验,还需要很多细致的改进 和深入的改进。 参考文献 [1]杨欣 王玉凤 刘湘黔 .电子设计从零开始 [M].清华大学出版社 ,2020 [2]求是科技 .单片机典型模块设计实例导航 [M].人民邮电出版社 ,2020 [3]严化南 .数字电路逻辑设计 [M].清华大学出版社 ,1998 [4]何桥 .单片机原理及应用 [M].中国铁道 出版社 ,2020 [5]王志宏 .现代电子技术 [M].2020第 9期 [6]曾喆昭 .国外电子元器件 [M].2020第 2期 [7]汤志成 .电子世界 [M].2020第 12期 [8]郭天祥 .郭天祥单片机教学视频 [CD].2020 22 致 谢 大学的学习已接近尾声,毕业设计是一次检验我大学学习成 果的机会,这次毕业设计不仅把四年来所学知识融会贯通,而且提高了我的动手创造能力,同时在指导教师的悉心帮助下,我的专业技术水平有了很大进步。 从开始加入这个项目的设计到现在项目的完成,我们真正经历了一次自己参与并设计的过程。 我感觉收获非常大,我们获得的不仅是理论上的收获 ,还有实践中的丰收。 这次毕业设计一定会为我们在不久的将来踏上工作岗位打下了良好的实践基础。 在毕业设计及我的大学学习生活即将结束的时候,心中有很多感触,首先我要对我的毕业设计指导老师 李雅莉 老师及所有大学教授过我的老师表示诚心的真挚的感谢。 这个学习 机会 ,为我提供了良好的毕业设计场所和试验条件。 最后,祝愿我校日后蓬勃发展,发展成为一所独具风格的高等院校。 李 老师严谨的治学态度和为人给了我们很大的教育,这将使我终身受益。 23 附录 源程序代码 * 文件名 : 温度采集 * 描述 : 该文件实现了用 DS18B20 对温度的采集,并在 LCD 显示出来。 include define uchar unsigned char define uint unsigned int define jump_ROM 0xCC define start 0x44 define read_EEROM 0xBE sbit DQ = P1^6。 //DS18B20 数据口 sbit dula=P2^6。 sbit wela=P2^7。 sbit PWM = P1^0。 unsigned char CYCLE。 //定义周期 该数字 X基准定时时间 如果是 10 则周期是10 x unsigned char PWM_ON。 //定义高电平时间 unsigned char TMPH,TMPL。 uint temp。 //void dianji(uchar pwm)。 void delay_2(uint N) { int i。 for(i=0。 iN。 i++)。 } 24 void delay(unsigned int t) { while(t)。 } * 名称 : delay() * 功能 : 延时 ,延时时间大概为 140US。 void delay_1() { int i,j。 for(i=0。 i=10。 i++) for(j=0。 j=2。 j++)。 } void Delay_1ms(uint i)//1ms 延时 { uchar x,j。 for(j=0。 ji。 j++) for(x=0。 x=148。 x++)。 } * 名称 : Reset() * 功能 : 复位 DS18B20 uchar Reset(void) { uchar deceive_ready。 DQ = 0。 delay(29)。 DQ = 1。 delay(3)。 deceive_ready = DQ。 delay(25)。 25 return(deceive_ready)。 } * 名称 : read_bit() * 功能 : 从 DS18B20 读一个位值 * 输入 : 无 * 输出 : 从 DS18B20 读出的一个位值 uchar read_bit(void) { uchar i。 DQ = 0。 DQ = 1。 for(i=0。 i3。 i++)。 return(DQ)。 } * 名称 : write_bit() * 功能 : 向 DS18B20 写一位 * 输入 : bitval(要对 DS18B20 写入的位值) * 输出 : 无 void write_bit(uchar bitval) { DQ=0。 if(bitval==1) DQ=1。 delay(5)。 DQ=1。 } * 名称 : read_byte() * 功能 : 从 DS18B20 读一个字节 * 输入 : 无 uchar read_byte(void) 26 { uchar i,m,receive_data。 m = 1。 receive_data = 0。 for(i=0。 i8。 i++) { if(read_bit()) { receive_data = receive_data + (m i)。 } delay(6)。 } return(receive_data)。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。