《单片机原理及应用课程设计.docx》由会员分享,可在线阅读,更多相关《单片机原理及应用课程设计.docx(27页珍藏版)》请在金锄头文库上搜索。
1、智能仪器设计基础课程设计目录摘要-3题目-3整体设计及系统原理-3主要硬件介绍-4 STC89C51单片机特点-4STC89C51引脚说明-4硬件设计-6单片机最小系统-6数码管显示电路-7键盘电路-8AD转换电路-9 信号调理电路-924C02电路-10报警电路-11加热电路-11电源电路-12软件设计-12数码管显示程序-1224C02读写程序-14AD转换程序-18算数平均滤波程序-18热电阻非线性校正算法-19按键子程序-20报警子程序-23PID子程序-23主程序-23课程设计总结-27参考文献-27附录: 系统原理图 系统PCB图摘要:随着电子技术的飞速发展,单片机在国民经济生产各
2、行业发挥了重要的作用。它因为集成度高、体积小、运行可靠、应用灵活、价格低、面向控制等特点得到了广大工程技术人员和客户的好评。在温度控制方面,单片机能够代替常规的模拟调节器。本文主要设计了单片机炉温控制系统硬件电路和软件程序。系统具有工作可靠、实时性强等特点,满足控制精度的要求。本着在满足系统性能要求的前提下,尽可能的减少硬件成本。本文主要涉及到控制系统的硬件设计和单片机的控制软件编程。本系统选用热电阻Cu50对炉温进行检测,在AD0804完成模数转换之后,STC89C51单片机对数据进行处理。人机接口电路部分能实现温度设定、温度显示、超温报警等功能。题目:20. 试设计智能仪表实现智能数字显示
3、仪表。要求8位数码管显示(4位显示测量值,4位显示设定值),4输入按钮(功能选择、数码管选择、数字增加、数字减少),可设定上下限报警,蜂鸣器报警。适配Cu50热电阻,测温范围为0130。采用比例控制、并用晶闸管移相驱动1000W电加热器(电源电压为AC220V)。整体设计及系统原理:电源在系统中,利用热电阻测得电阻炉实际温度并转换成毫伏级电压信号。该电压信号经过温度检测电路转换成与炉温相对应的数字信号进入单片机,单片机进行数据处理后,通过LED数码管显示温度并判断是否报警,同时将温度与设定温度比较,根据设定的P算法计算出控制量,根据控制量通过控制双向晶闸管的导通和关闭从而控制电阻丝的导通时间,
4、以实现对炉温的控制。该系统中的时钟电路可以根据要求进行准确计时。数码管键盘STC89C51单片机信号调理电路AD080424C02晶闸管主要硬件介绍:STC89C51是改进型的51内核单片机,它比人们常用的AT89S51单片机编程更简单。STC89C51单片机特点:12时钟/6时钟机器周期的8051CPU;工作电压3.4-5.5V;工作频率0-40MHz;程序存储器容量4KB;RAM容量512B;I/O端口与AT89S51相同;通过串口(P3.0 P3.1)直接下载用户程序到代码存储器中(ISP功能),可下载10万次以上;具有EEPROM;具有看门狗,冷启动后未关闭状态,一旦启动无法关闭;3个
5、定时计数器;2个外部中断,掉电模式可由外部中断低电平触发唤醒;一个异步串行口;温度范围0-75(商业),-40-85(工业);具有PDIP-40、PLCC-44、PQFP-44封装。STC89C51引脚说明:VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲
6、器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输
7、出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口) P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入)P3.6 /WR(外
8、部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是
9、ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。硬件设计:单片机最小系统:时钟电路采用12MHz的晶振和两个30pF的电容连接
10、而成,是单片机的机器周期为1us左右,在使用定时器时便于计算和设置定时器的初始值。复位电路:由于机器周期为2us,所以RESET引脚上产生一个2us以上的高电平脉冲,即可产生复位动作。电源接上瞬间,电容上没有电荷,相当于短路,所以复位引脚直接连到VCC,单片机复位,随时间增加,电容上电压逐渐变大,RESET引脚上电压逐渐降低至低电平时,单片机恢复正常状态,在此使用10k电阻,10uF电容,时间常数远大于2us,高电平能保持2us以上,足以使系统复位。串口可以用来向单片机里下载程序,以及和计算机通讯等。数码管显示电路:此电路采用8个数码管和一个74LS245,一个74LS138和一个排阻组成。74LS245是一个8双向总线接收器,与单片机的P0口相接,控制数码管的段选端。由于P0口内部没有上拉电阻,所以做输出口时,必须外接上拉电阻。74LS138是一个3-8译码器,与P2口的高三位相接,经过译码控制数码管的位选端,数码管都是共阳数码管。键盘电路: 4个按键分别与单片机的P3.3、P2.2、P2.3、P2.4相接,功能分别为功能选择、数码管选择,加数字、减数字,都是低电平有效,都接上拉电阻是保证没有键按下时,均为高电平,其中功能键按下时会触发外部中断。AD转换