ImageVerifierCode 换一换
格式:DOCX , 页数:46 ,大小:1.13MB ,
资源ID:16675477      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16675477.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机温度控制器设计论文Word格式.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机温度控制器设计论文Word格式.docx

1、32条I/O口线。外部数据存储器寻址空间为64KB。外部程序存储器寻址空间为64KB。2个16位的可编程定时/计数器。中断结构:具有5个中断源,2个优先级。一个全双工串行通信口。有位寻址功能,适于布尔处理的位处理机制。1.2.1 8051单片机引脚图图1-1 at89c51单片机第2章 相关编程与仿真软件的介绍常用的单片机语言有很多,如:汇编、C语言、BASIC、C+等,对51单片机而言,使用最为广泛的还是汇编语言和C语言。有经验的程序员用汇编语言可以写出高效率的程序,但每种语言都有自己个子的特点。2.1 从标准C转向Keil CC51是专门为51系列单片机设计的,根据51单片机自身的特点进行

2、了若干扩展,与ANSIC在语法和库函数方面存在稍许差别,但绝大部分是兼容的。但在学习中,使用最多的还是Keil C8.08 u Vision3。2.2 Keil C上机的基本方法2.2.1 uVision 3中编程的基本步骤 在uVision 3集成开发环境中创建一个新项目(Project),并为该项目选定合适的单片机型号。利用uVision 3的文件编译器编写C语言(或者汇编语言)源程序文件,并将文件添加到项目中去。通过uVision 3的各种选项,配置Cx51编译器、Ax51宏编译器、BL51/Lx51连接定位器以Debug 调试器的功能。利用uVision 3的构造功能对项目中的源程序文

3、件进行编译,生成绝对目标代码和可选的HEX格式的可执行文件,如果出现编译错误则返回上一步,修改源程序中的错误后重新构造整个项目。将没有错误的绝对目标代码装入uVision 3调试器进行仿真调试,调试成功后用编程器将可执行文件写入到单片机应用系统的程序存储器或者单片机部的Flash ROM中。2.2.2 uVision 上机注意事项C51源程序汗汉字注释容时,删除、插入汉字会出现乱码。解决方法为:选择Edit|Configuration 菜单项,弹出界面,将C源程序文本字体选择为DotumChe , 此字体可避免出现汉字乱码现象。原版的Keil C编译器会忽略编码为0xFD的字符,当编写中文显示

4、程序时会出现问题,应安装针对这一问题的专用补丁,许多Keil C安装包都含有该补丁程序,安装时间可根据帮助文件安装该补丁。2.3 Proteus简介Proteus是英国Labcenter公司开发的嵌入式系统仿真软件,组合了高级原理图设计工具ISIS、混合模式SPICE仿真、PCB设计以及自动布线而形成了一个完整的电子设计系统。它运行于Windows操作系统上,可以仿真、分析各种模拟和数字电路,并且对机的硬件配置要求不高。2.3.1 Proteus与Keil C 的联合仿真 目前,单片机仿真软件很多,Proteus ISIS 与其他单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能

5、够仿真单片机外围电路或没有单片机参与的其他电路的工作情况。一次在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器容的改变,而是从工程师的角度直接看程序运行和电路工作的过程和结果。同事,当原理图调试成功后,利用Proteus ARES软件,很容易获得PCB图,为今后的制造提供了方便。Keil是美国Keil Software公司开发的,是目前世界上最好的51单片机的汇编和C语言的开发工具。它支持汇编、C语言以及混合编程,同时具备功能强大的软件仿真,在软件模拟仿真方式下不需要任何单片机硬件即可完成用户程序仿真调试;虽然Keil也提供了硬件仿真(用Monitor51协议,需要硬件支持)

6、功能,但我们在利用它的硬件仿真功能的时候,它会受到一定的限制。如果我们将Proteus ISIS与Keil整合起来使用,充分利用各自的仿真功能,单片机软硬件的调试将变的十分有效。打开LED.dsn,删除LED设计页中的ULA2003A驱动部分,在LED设计页新建一个子电路LED_DRIVER,为该子电路见撒谎那个输入/输出端子。移动鼠标指针带子电路上。按Ctrl+C计入子电路所在的设计页,原ULA2003驱动部分加上相应的端子。由于LED的驱动部分有多中方案,将来采用别的方案时不需要做任何的修改。用BUTTON元件绘出键盘的部分,并为行扫描线和列扫描线上的端子命名,此处不采用Proteus中现

7、成的键盘模型是为了是读者更透彻的理解键盘的设计和按键识别的原理,但在商业产品的开发中可购买现成的键盘模块。第3章 基于单片机的PID温度控制系统3.1 PID温控器简介图3-1 PID温控器原理图电炉的热电阻温度传感器测出的温度信号经运算放大器放大和模/数转换后,由8051读出电阻炉炉温,控制程序根据当前炉温和目标温度的偏差,按照一定的控制方法控制开关K的开与断,提供适当的加热功率,以使炉温尽快趋近目标温度。 本设计是接口技术、应用系统设计、Proteus仿真的结合,介绍存储系统、数据采集、串口通信等知识及其在PID温控器设计中的应用于仿真,从个子系统开始,设计并逐步完善,直至整个应用系统的实

8、现。3.2 8051存储系统扩展和PID温控器的存储系统设计3.2.1 PID温控器存储系统设计PID温控器的存储系统设计中使用了一片3-8译码器74LS138来产生各芯片所需的片选信号。要是为低电平选中6264,则C、B、A的输出应为011,由此可以计算出6264的二进制地址围为0110 0000 0000 0000 0111 1111 1111 1111,写成十六进制为0x60000x7fff,2764的地址围为0x00000x1fff。图3-2 温控系统扩展图3.3 人机接口和PID温控器的输入/输出设计及仿真键盘和显示器是最常用的人机交互设备,在单片机系统中显示器常用笔段式LED或者多

9、段式液晶LCD做显示设备,如微波炉、洗衣机、DVD等家用电器采用此类显示方式。输出容较复杂的系统也有才有字符型点阵式LED、字符型LCD等,这里只介绍八段LED显示器,可用于数字和部分字符显示。3.3.1 八段LED显示器下图为笔段式八段LED数码管原理图。LED显示器有共阴极和共阳极之分,其中的每段为一个发光二极管,常用的有红绿两种。共阴极LED的com公共端应接低电平,割断引脚接高电平则该段点亮,接低电平则该段熄灭。共阳极LED与其相反。图3-3 笔段式八段LED数码管原理图不考虑com端,可知共阳极显示字符0时的各段二进制编码为1100 0000 ,写成十六进制为0xC0。C语言形式给出

10、的共阳极LED能显示的部分数字和字符编码,可直接用在C51程序中。图3-4 段位置及编号图3-5 共阳极LED图3-6 共阴极LED3.3.2 LED显示器的显示方式实际使用LED时,一般将几个八段显示器排列成一组使用,其中的一个LED显示器被称为一位。多位LED显示器的显示方式分为静态方式和动态扫描方式。静态方式中各LED的段引脚和com端都独立接线,这种方式的好处是程序相对简单,显示无闪烁;缺点是功耗大。采用动态扫描时,各LED的段引脚在一起,而com段独立,程序是通过控制各LED的com端的电平来决定点亮某一位LED。其优点是功耗小,缺点为编程相对复杂,当CPU负担较重时可能达不到理想的

11、刷新速度,导致效果变差。图3-7 试验硬件图图3-8 LED静态显示仿真图试验程序#includeabsacc.h unsigned char code LED_CODES= 0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90, 0x88,0x83,0xc6,0xa1,0x86, 0x8e,0xff,0x0c,0x89,0x7f,0xbf;void main() XBYTE0x0000= LED_CODES1; XBYTE0x0200= LED_CODES2; XBYTE0x0400= LED_CODES8; while(1); 图3-9 试验

12、仿真图3.3.3 PID温控器LED显示及仿真图3-10 LED程序流程图下图为PID温控器LED显示部分的Proteus仿真原理图。8255A是一个教复杂的并行接口芯片,在PID温控器主要用作I/O口扩展,用于LED的显示。在编程时应注意,由于8255A的复位时间较长,字应用程序访问8255A之前,应有足够的延时保证8255A已正确复位。图3-11 PID温控器LED显示仿真原理图图3-11中有6位动态扫描共阴极LED,它们的段引脚AG、DP是并联在一起的;引脚16位是各位LED的com端,相互独立。8255A端口C经74LS244的相同输出S0S7作为LED的段驱动信号,当某位LED各段全

13、部点亮时,com端电流会达到120150mA,所以,选用驱动能力较强的ULN2003A作为驱动器件。8255端口的经反相后的输出,作为的位选信号,排阻作为的下拉电阻。实验程序DISPLAY.H程序#define BASE 0x0000#define PORT_A (BASE)#define PORT_B (BASE+ 1)#define PORT_C (BASE+ 2)#define PORT_CONTROL (BASE+ 3)#define LEDS 6#define CA 0#define CC 1void turn_on(char led,char ChNumber,char mode)

14、;void LedsOff();void oneByone (char datas);extern void Init8255();unsigned char code Setect;unsigned char code LED_CODES;DISPLAY.C程序 #include #include reg51.hdisplay.hunsigned char code Select=0x01,0x02,0x04,0x08,0x10,0x20;unsigned char code LED_CODES=0xc0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x9

15、0,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xFF,0x0C,0x89,0x7F,0xBFvoid Init8255()unsigned char i,j;for(j=0;j10;j+) for(i=0;i1;t1= t1|0x0f;P1=t1;t2= 0x08;for(i=4; if(t3!=0)*row=i-1;else t2= t2 1;exit: return Result;mian源程序extern char keyCheck(char*row,char*col);void main()char row,col,r; char strIndexs6=20,20,

16、20,20,20,20; unsigned char i,k;while(1) r=keyCheck(&row,&col);if(r= 0)strIndexs5=20;strIndexs4=20;strIndexs1=20;strIndexs0=20;strIndexs5=0;strIndexs1=0;strIndexs4=row;strIndexs0=col;for(k= 6;k!k-)LedsOff();for(i= 250;turn_on(k-1,strIndexsk-1,CC) ;for(i=250;图3-17 程序仿真图第4章 PID温控器的炉温采样接口及仿真在计算机实时测量和智能化

17、仪表等应用系统中,经常会遇到从时间到数值均连续变化的模拟量,如温度、压力、位移、速度等,与此相对应的电信号称为模拟信号。因单片机只能处理数字量,因此这些模拟电信号必须转化为离散的数字信号,才能被送给单片机进行相应的处理。将模拟信号转化为数字量的器件称为A/D转换器,简称A/D。4.4.1 A/D转化器的主要技术指标a.分辨率 分辨率是指输出数字量变化的一个相邻数码所需要输入模拟电压的变化量。习惯上用输出的二进制位数或BCD码位数表示。例如,分辨率为12位的A/D转换器,表示该转化器的输出数据可以用212个二进制数进行量化。分辨率用呗分数表示如下:1/212 *100%=1/4096 *100%

18、=0.0244%故一个满刻度为10V的12位A/D转换器能够分辨输入电压变化的最小值为2.4V。b.量化误差 量化误差是指由A/D转换器的优先分辨率多引起的误差。若不考虑其他误差的影响,一个分辨率有限的A/D转换器的阶梯状转移特性曲线与具有无限分辨率的A/D转换器转移特性曲线(直线)之间的最大误差,称为误差量化。提高分辨率能够减少量化误差。c.转换精度 转换精度是指A/D转换器的时间量化值与理想A/D转换器的差值。转换精度可以分为绝对精度和相对精度,是由非线性、零点刻度、满量程刻度以及温漂等因素所引起的误差。d.转换速率 转换速率就是指能够重复进行数据转换的速度,即每秒转换的次数。而完成一次的A/D转换所需要的时间,则是转换速率的倒数。4.4.2 PID温控器A/D转换编程方法采用的是端口查询方式,先向51单片机P3.3写入1,然后读入P3口。检查P3.3是为位0,不为0则重新读入P3在检测,直到P3.3为0 ,此时表示数据转换过程已结束,读片外地址0x2XXX,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1