已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河南理工大学本科课程设计报告摘要本设计是以AT89C51单片机为主芯片,电加热炉温控制系统设。该系统采用滑动变阻器模拟加热炉热敏电阻,ADC0832做模数转换采集温度,四个独立键盘完成低温设定,高温设定同时用四位共阴极数码管显示设定温度或当前温度,当前温度高于高温或低于低温时蜂鸣器报警同时继电器有相应的动作。显示部分:数码管动态显示,A,B,C,D,E,F,G分别与译码芯片单片机的P0口相连(PO口加上拉电阻)。单片机P2口的低四位与数码管的1,2,3,4相连输出片选信号。当系统处于工作状态,数码管最高位显示C。当系统处于低温设定状态,数码管最高位显示L。当系统处于高温设定状态,数码管最高位显示H。按键部分:采用4个独立键盘,软件识别键值。键盘分别与单片机的P2口高四位相连。当有按键按下时,相应的端口为低电平,单片机扫描到低电平时,执行相应的程序。报警部分:由蜂鸣器完成,但蜂鸣器不能直接由单片机驱动,需加一个三极管驱动。当当前温度低于设定的低温,或高于设定的高温时蜂鸣器报警。否则停止报警。 执行机构:当低于低温时P3.5置高通过三极管驱动继电器接通开始加热,当高于高温时P3.5复位继电器接断停止加热。温度采集:滑动变阻器模拟热敏电阻随温度变化,通过DAC0832采集。DAC0804采集到得数据送入单片机。目录1 概述1.1 MCS-51单片机简介 31.2掌握单片机仿真软件Proteus的使用方法31.3设计方法31.4基本功能4 1.5系统框图42 系统总体方案及硬件设计 2.1显示部分设计52.2键盘部分设计52.3单片机系统部分设计72.4执行机构及报警部分设计82.5温度采集部分(即AD转换部分)103 软件设计 3.1主程序部分12 3.2键盘扫描程序设计13 3.3读ADC0804程序设计144 Proteus软件仿真4.1当前温度LED显示15 4.2高温设定LED显示15 4.3低温设定LED显示154.4模拟电热炉开始加热164.5开始报警165课程设计体会 17参考文献 17附1:源程序代码 18附2:系统原理图 251 概述1.1 MCS-8051单片机简介:8051单片机是由CPU、震荡器与时序电路、4KB的ROM、256B的RAM、两个16位的定时器/计数器T1与T2、四个8位的I/O端口(PO、P1、P2、P3)、串行口等组成。其中震荡器时序电路与外时钟组成定时控制部件。此单片机有4个I/O端口,共32根I/O线,四个端口都是准双向口。P0口可作为一般的口用,但当应用系统采用外部总线结构时,它分时作为低八位的地址线和高8位的双向数据总线用;P1口每一位均可独立作为I/O;P2口可作为一般的I/O口用,但采用外部数据总线时,它仅作为高八位的地址线;P3口为双功能口既作为第一功能时等同于P1口,每一位均可独立作为I/O口用,作为第二功能时每一位均有其特定功能,其中P3.2(12)、P3.3(13)分别为外部中断0输入和外部中断1输入,同时考虑到P0口的输出级与P1P3口的输出级在结构上的不同,因此要考虑负载能力与接口要求的不同。1.2 掌握单片机仿真软件Proteus的使用方法 Proteus 软件具有强大的多窗口、多文件的编辑器、微控制器的集成开发环境、一系列的集成开发工具、图形界面调试器、混合模式的模拟及数字电路仿真器、代码质量检查器等。硬件和应用软件能进行并发仿真。最主要的一点是它能以单片机为核心仿真出包括模拟元器件在内的一些动态外设(按键,L ED ,液晶显示器等) ,具有图形显示和波形显示的功能。因此,Proteus 不仅仅是一个微处理器的仿真软件,它所支持的大量常用芯片模型为单片机和其他芯片协同仿真复杂的完整系统提供了极大的方便。Proteus 在完整的系统仿真方面是其他单片机仿真软件所不能独立完成的。这时,Proteus 为我们提供的不仅仅是一个单片机的仿真环境,称其为一个虚拟的单片机实验室是完全合适的,只要我们能充分的利用Proteus提供的实验器件就可以完成一个具有相当集成性的单片机系统。1.3设计方法本系统实现电加热炉温控制系统设计的系统。它的硬件部分主要包括一个AT89C51单片机芯片,一个ADCO8O4,一个四位数码管,四个独立按盘,一排上拉电阻。一个蜂鸣器,一个继电器,两个驱动用的三极管(0805)一个模拟热敏电阻的滑动变阻器其他电阻若干。可以采集当前温度,用按键设定低温,高温同时用数码管显示各自状态。当前温度高于高温或低于低温时蜂鸣器报警同时低于低温时继电器接通加热高于高温时继电器断开停止加热。数码管动态显示,A,B,C,D,E,F,G分别与译码芯片单片机的P0口相连(PO口加上拉电阻)。单片机P2口的低四位与数码管的1,2,3,4相连输出片选信号。当系统处于工作状态,数码管最高位显示C。当系统处于低温设定状态,数码管最高位显示L。当系统处于高温设定状态,数码管最高位显示H。动态显示是每次数码管只显示一位,由于人的视觉停留是0.05到0.2秒之间,当数码管依次点亮各个位时,使循环的频率高于人的视觉停留时间,人们就会认为数码管是同时点亮的,就可以达到动态显示的效果。采用4个独立键盘,软件识别键值。键盘分别与单片机的P2口高四位相连。当有按键按下时,相应的端口为低电平,单片机扫描到低电平时,执行相应的程序。采用ADC0804采集温度,ADC0804与单片机接口简单,编程容易,且转换速率满足要求。1.4 基本功能用AT89s52单片机控制温度在可调温度范围内变化。并可用按键设定高温上限和低温下限当温度低于要求温度范围时,报警并加热。当温度高于要求温度范围时,报警并停止加热。1.5 系统框图图(1)系统框图2 系统总体方案及硬件设计2.1 显示部分设计根据设计任务,首先选择显示为LED显示。LED原理简单操作方便,一般LED显示有两种方式:静态显示和动态扫描显示。动态扫描显示工作原理:从一个口送段代码,一个口送位选信号。段码虽同时到达几个LED,但一次仅一个LED被选中。利用“视觉暂留”,每送一个字符并选中相应位线,延时一会儿,再送/选下一个循环扫描即可。静态显示工作原理:每个LED需要一个8位并行口,高电平。保持每个显器位上的字型码不变,即加在对应的段选线上段码电平不变。当选用共阴极的LED显示器时,所有发光二极管的阴极连在一起接地,当某个发光二极管的阳极加入高电平时,对应的二极管点亮。要显示某字形应使此字形的相应段的二极管点亮。为了减少硬件电路的复杂性,同时充分发挥单片机的强大功能,本设计LED显示采用动态显示图(2)显示部分2.2 键盘部分设计一类是编码键盘,即键盘上闭合键的识别由专用硬件来实现;另一类是非编码键盘,即键盘上键入及闭合键的识别由软件来完成。其中非编码键盘可分为独立连接键盘,矩阵连接键盘。键盘的作用是(1)键扫描功能。即检测是否有键按下。(2)键识别功能。确定被按下键所在的行列位置。(3)产生相应键的代码(键值)。(4)消除按键弹跳以及能够识别多键及串键(复合按键)。各种键盘的优缺点:(1)独立连接键盘: 每键相互独立,各自与一条I/O线相连,CPU可直接读取该I/O线的高/低电平状态。特点:占I/O口线多,但判键速度快,多用于设置控制键、功能键。适用于键数少的场合。(2)矩阵连接键盘: 键按矩阵排列,各键处于矩阵行/列的结点处,CPU通过对连在行(列)的I/O线送已知电平的信号,然后读取列(行)线的状态信息。逐线扫描,得出键码。特点:键多时占用I/O口线少,但判键速度慢,多用于设置数字键。适用于键数多的场合。本设计只需要四个按键,所以采用独立连接键盘。每个按键分别与一个I/O口线相连,当一个键被按下是相应的I/O口被拉为低电平,程序扫描到时执行相应的按键程序。由于机械按键会产生抖动脉冲所以必须去机械抖动。去机械抖动的方法是:判别到键盘上有键闭合后,经一段时间延时后再次判别键盘的状态,若仍有键闭合,则认为键盘上有一个键处于稳定的闭合期,否则认为是键的抖动(具体程序见软件设计部分)。图(3)键盘去抖流程图图(4)独立键盘2.3单片机系统部分设计51最小应用系统 其应用特点为:(1)有较多的I/O口线。P0、P1、P2、P3均作为用户I/O口使用。(2)内部存储器容量有限。(3)应用系统开发具有特殊性。应用软件须依靠半导体厂家用半导体掩膜技术置入,故8051应用系统一般用作大批量生产的应用系统。另外,P0、P2口的应用与开发环境差别较大。51最小系统图如图五所示(部分只有振荡电路和复位电路)。图(5)最小系统图(部分)本系统中的复位电路采用的是上电+按钮电平复位电路。在设计复位电路中应注意:(1)要保证加载RST引脚上的高电平持续2个机器周期,才能是单片机有效地复位。(2)在实际的应用系统中,有些外围芯片也需要复位。如果这些复位端的复位电平要求与单片机复位一致,则可以与之相连。(3)在简单的复位电路中,干扰易窜入复位端,在大多数情况下不会造成单片机的错误复位,但会引起内部某些寄存器错误复位。这时,可以在RTS引脚上接一个去耦电容。(4)在应用系统中,为了保证复位电路可靠的工作,常将R、C电路先接施密特电路,然后再介入单片机复位端和外围电路复位。这样,当系统有多个复位端时,能保证可靠的同步复位,且具有抗扰作用。2.4 执行机构及报警部分设计执行机构的任务是控制电加热炉的加热与停止所以选择了继电器对执行机构进行控制。但单片机不能直接驱动继电器,要外加驱动电路,我选用0805三级管作为驱动。当前电炉温度小于设定的低温时P3.4置为高电平三极管导通,继电器线圈通电,触电闭合电加热炉开始加热。当前电炉温度大于设定的高温时P3.4置为低电平三极管截止,继电器线圈失电,触点断开电加热炉停止加热。报警部分的作用是当炉温低于设定的低温或高于设定的高温时报警提醒用户注意。如图七工作指示及报警部分。图(6)执行机构图(7)报警电路2.5温度采集部分(即AD转换部分)ADC0804 是 8 位全 MOS 中速 A/D 转换器、它是逐次逼近式 A/D 转换器,片内有三态数据输出锁存器,可以和单片机直接接口。单通道输入,转换时间大约为100us。ADC0804转换时序是:当CS0许可进行A/D转换。WR由低到高时,A/D开始转换,一次转换一共需要6673个时钟周期。CS与WR同时有效时启动A/D转换,转换结束产生 INTR 信号(低电平有效),可供查询或者中断信号,本设计采用查询方式。在 CS和RD的控制下可以读取数据结果。 图(8)模拟温度采集 3 软件设计软件设计是本设计的一个重要部分,根据硬件已经实现的功能,将软件设计分为以下几个部分:(1)显示程序设计(2)键盘程序设计(3)执行机构与报警控制程序(4)ADCO8O4模数转换程序(5)数值处理程序设计图(9)程序流程图3.1 主程序部分#include #define uint unsigned int #define uchar unsigned char uchar code table13=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x38,0x76,0x39;/数码10为L,11为H,12为C sbit cs=P32; /ADC0804片选 sbit wr=P36; sbit rd=P37; sbit jd=P34;/蜂鸣器 sbit fm=P35;/继电器 sbit k0=P24;/低温设定键 sbit k1=P25;/高温设定键 sbit k2=P26;/增加键 sbit k3=P27;/减少键 sbit intr=P33; uchar bai=0 ,shi=0 ,ge=0 ,fu=0;addata=0;setl=50;seth=100; /setl低温设定初值,seth高温设定初值/主程序 void main() while(1) anjian(); /调用按键程序 adc0804(); /调用ADC0804转换程序 kongzhi(); /调用控制程序 jisuan(addata); /调用计算程序 xianshi(); /调用显示程序 首先宏定义设定初值然后进入主程序,主程序为循环调用五个函数,分别为读ADC0804函数,计算函数,显示函数, 按键函数,控制函数3.2键盘程序设计由硬件电路可以知道当有按键按下,与相应键连接的I/O口被置为低电平,当程序查询到是低电平以后执行相应的按键程序。图(10)键盘程序流程图键盘函数 /低温设定 if(k1=0) delay1ms(20); if(k1=0)while(k1=0);/等待释放while (k1!=0) jisuan(seth);/执行按键程序 xianshih();if(k2=0) delay1ms(20);if(k2=0)seth+;while(k2=0);/增加 if(k3=0) /减少 delay1ms(20);if(k3=0)seth-;while(k3=0); while(k1=0); 3.3读ADCO804程序设计。/ADC0804程序 uchar adc0804() uchar i; rd=1;wr=1;intr=1; / 读ADC0804前的准备 P1=0xff; cs=0;wr=0;wr=1;/启动ADC0804开始测电压 while(intr=1);/查询等待A/D转换完毕产生的INT(低电平有效)信号 rd=0; /读数据 i=i;i=i; addata=P1; rd=1;cs=1; return(addata); 4 Proteus软件仿真 图(11)4.1当前温度显示 图(12)4.2高温设定LDE显示 图(13)4.3低温设定LED显示 图(14)4.4模拟电热炉开始加热 图(15)4.5开始报警(报警部分,高电平开始报警,有耳机可停到报警声)。 图(16)5课程设计体会 做课程设计的过程是一个痛并快乐的的过程,过程是辛苦的,但当看着自己亲手设计的单片机系统,慢慢的一步步的完成的时候,心里有一种说不出的激动。平时老师讲课的时候认为很简单,但到真正自己做的时候总是会遇到这样那样的问题。我们学的是汇编,但私下里我学了一点C51所以就用C编了,因为用C编写程序的时候不需要考虑太多的地址分配等底层问题,编程容易且编程思路比较清晰。 在用Proteus软件仿真时由于对这个仿真环境了解不够遇到不少问题,比如上拉电阻的设置,蜂鸣器的设置以及,继电器的驱动电路等等琐碎的问题让我很苦恼。以前学过word排版,但这次编辑论文时才知道自己用的太不熟练了。 书到用时方恨少;实际问题往往都是一个综合的问题,他不仅需要简单的理解书本理论知识更重要的是要将知识内化。这样在编程的时候遇到问题你才能很快的解决它。 多与大家交流非常重要,在你为一个问题百思不得其解的时候,也需别人的一句话就是你拨云见日,豁然开朗。参考文献1 余发山. 单片机原理及应用技术 徐州:中国矿业大学出版社,20032 赵亮,侯国锐 单片机C语言编程与实例 北京:人民邮电出版社,2003,93 魏立功单片机原理与应用技术 M北京:北京大学出版 社,20044 袁涛,李月香,杨胜利 单片机C高级语言程序设计及其应用 北京:北京航空航天大学出版社,20015戴佳,苗龙,陈斌 51单片机应用系统开发典型实例 北京:中国电力出版社,2005,279297附1 源程序代码#include #define uint unsigned int #define uchar unsigned char uchar code table13=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x38,0x76,0x39;/数码10为L,11为H,12为C sbit cs=P32; /ADC0804片选 sbit wr=P36; sbit rd=P37; sbit jd=P34;/蜂鸣器 sbit fm=P35;/继电器 sbit k0=P24;/低温设定键 sbit k1=P25;/高温设定键 sbit k2=P26;/增加键 sbit k3=P27;/减少键 sbit intr=P33; uchar bai=0 ,shi=0 ,ge=0 ,fu=0;addata=0;setl=50;seth=100; /setl低温设定初值,seth高温设定初值 / 毫秒延时程序void delay1ms(uchar tc) uchar i; while(tc!=0) for(i=0;i100;i+); tc-; /ADC0804程序 uchar adc0804() uchar i; rd=1;wr=1;intr=1; / 读ADC0804前的准备 P1=0xff; cs=0;wr=0;wr=1; /启动ADC0804开始测电压 while(intr=1); /查询等待A/D转换完毕产生的INT(低电平有效)信号 rd=0; /读数据 i=i;i=i; addata=P1; rd=1;cs=1; return(addata); /计算程序 jisuan(uchar shuju) bai=shuju/100;shi=shuju%100/10;ge=shuju%10; /显示程序 xianshi() P2=0xfe; P0=table12;delay1ms(8);P2=0xff;P2=0xfd; P0=tablebai;delay1ms(8);P2=0xff;P2=0xfb; P0=tableshi;delay1ms(8);P2=0xff;P2=0xf7; P0=tablege;delay1ms(8);P2=0xff; /低温设定显示程序 xianshil() P2=0xfe; P0=table10;delay1ms(8);P2=0xff;P2=0xfd; P0=tablebai;delay1ms(8);P2=0xff;P2=0xfb; P0=tableshi;delay1ms(8);P2=0xff;P2=0xf7; P0=tablege;delay1ms(8);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年农业行业农田水利社会化服务体系建设水平考核试卷
- 2025年高中阶段学生学业水平考试与综合素质评价衔接考核试卷
- 2025年公共事业行业智能城市建设探索报告
- 2025年互联网行业元宇宙营销水平考试-DAO社区营销中的品牌话语权管理考核试卷
- 2025年化妆品行业虚假天然成分宣传考核试卷
- 新材料引领汽车未来-探寻轻量化、高强度的驱动力
- 2025重庆高新区公安分局辅警招聘33人笔试考试参考试题及答案解析
- 2025北京市通州区大学生乡村医生招聘5人考试笔试备考题库及答案解析
- 2025呼伦贝尔阿荣旗中蒙医院招聘编外专业技术人员笔试考试备考题库及答案解析
- 2025年11月四川省西南医科大学招聘专职辅导员15人笔试考试参考题库及答案解析
- 导电高分子与其复合材料
- (34)-妇人病证治特点解读《金匮要略》
- 攻略:炎龙骑士团2
- 市北资优六年级分册 第10章 10.6 探索用平面截正方体所得截面形状 郑斌
- 高二物理竞赛力学课件
- GA 423-2015警用防弹盾牌
- 监狱消防安全知识讲座课件
- 中国文化概论(第三版)全套课件
- 材料作文“空白罚单”作文导写
- 农业机械安全操作规程手册课件
- 医院招聘护士考试题库(附答案)
评论
0/150
提交评论