《智能仪器课程设计(1).docx》由会员分享,可在线阅读,更多相关《智能仪器课程设计(1).docx(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、智能仪器课程设计(1) 智能仪器设计 课程设计报告书 专业:电子信息工程 班级:电子0811 姓名:还传俊 学号:0820226123 基于51单片机的温度检测 一、设计目的及原理 1.1设计题目和目的 1.1.1设计题目 采用ATmega16单片机实现智能数字显示仪表。要求8位数码管显示(4位显示测量值,4位显示设定值),4输入按钮(功能选择、数码管选择、数字增加、数字减少),可设定上下限报警(蜂鸣器报警)。适配Cu100热电阻,测温范围为0150。采用比例控制、并用晶闸管移相驱动1000W电加热器(电源电压为AC220V)。 1.1.2设计目的 单片机综合练习是一项综合性的专业实践活动,目
2、的是让学生将所学的基础理论和专业知识运用到具体的工程实践中,以培养学生综合运用知识能力、实际动手能力和工程实践能力,为此后的毕业设计打下良好的基础。 1.2设计原理 由热电阻传感器送来的电信号在测量桥路进行冷端自动补偿后,送入放大器,一面把信号进行放大,同时把非线性信号校正为线性信号,经线性放大信号一路转换电路把模拟量转换成数字信号进行数字显示,另一路传输到调节网络,进行规定的比较运算,同时输出一个需要的控制信号和进行工作状态指示。 二、硬件设计 2.1系统原理框图 本设计智能温度数显表由温度监测、信号处理、输出控制三部分组成。其系统框图如图1所示,它通过Cu100热电阻传感器获取绕组温度值,
3、经信号调理电路处理后直接送入控制器的A/D转换输入端。微控制器根据信号数据及设定的各种控制参数,按照嵌入的软件控制规律执行计算与处理,自动显示智能仪表数显表可测的温度范围、并根据当前状态输出正常、设定上下线报警等 2.2基本模块简介 2.2.1 Atmega16单片机 温控仪控制核心采用Atmega16单片机, 具有16KB 系统内可编程Flash的8 位微控制器 ATmega16 有如下特点:16K字节的系统内可编程Flash(具有同时读写的能力,即RWW), 512 字节EEPROM,1K 字节SRAM,32 个通用I/O 口线,32 个通用工作寄存器,用于边界扫描的JTAG 接口,支持片
4、内调试与编程,三个具有比较模式的灵活的定时器/ 计数器 (T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP 封装) 的ADC ,具有片内振荡器的可编程看门狗定时器,一个SPI 串行端口,以及六个可以通过软件进行选择的省电模式。工作于空闲模式时CPU 停止工作,而USART、两线接口、A/D 转换器、SRAM、T/C、SPI 端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态; ADC
5、噪声抑制模式时终止CPU 和除了异步定时器与ADC 以外所有I/O 模块的工作,以降低ADC 转换时的开关噪声;Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby 模式下则允许振荡器和异步定时器继续工作。 2.2.2 Cu100热电阻传感器及电路 铜电阻在测温范围内电阻值和温度呈现线性关系,温度系数大适用于无腐蚀介质,超过150易被氧化,铜电阻有R0=100和R0=50两种,本次课程设计采用的是Cu100的热电阻,Cu100热电阻测温范围为0-150,其分度表如下: T() 80 90 100 110 1
6、20 130 140 150 R() 134.24 138.52 142.80 147.08 151.37 155.67 156.96 164.27 热电阻输入电路: 该电路采用Cu100热电阻进行测温,1N4148二极管对热电偶冷端进行补偿,采用TLV2252M放大器对输入信号进行放大。 2.2.3数码管显示及指示电路 A :显示电路 . RSM0 510510510510510510510RSM7 510 b c d e f g h a 设定值显示 实际值显示 . a 11 b 7 c 4 d 2 e 1 f 1 0g 5 h 3 L 12LM 9RM 8R 6 SMG1 . a 11 b
7、 7 c 4 d 2 e 1 f 10 g 5h 3 L 12LM 9RM 8R 6 SMG2 n1 n2n3n4n5 n6n7n8 data RCK SRCK +5 HQw b c d e f g h a 1 23J5951 G 13R C K 12 S E R 14S R C L R 10S R C K 11 Q A 15 Q B 1 Q C 2Q D 3Q E 4Q F 5Q G 6Q H 7Q H 1 9 g n d 8 V c c 16 Uy1 HC 595 G 13R C K 12 S E R 14S R C L R 10S R C K 11 Q A 15 Q B 1 Q C 2Q
8、 D 3Q E 4Q F 5Q G 6Q H 7Q H 1 9 g n d 8 V c c 16 Uy2HC 595 PB4PB5MOSI PB7SCK 1 23JSPI n1 n2n3n4n5n6n7n8 SM1显示的是热电偶测的电加热器的实际温度值,SM2显示的是人工设计的电加热器的期望温度值。数码管是有HC595芯片来驱动的,HC595接在SPI 通信的3个接口上。 B :指示电路 指示电路是指示按键的输入状态的。D1、D2、D3、D4与S1、S2、S3、S4一一对应,当某个按键按下时,单片机相应的引脚将置低电平,使该按键相对应的二极管发光。 4个按键与单片机的接线图及个按键的作用如上图
9、所示;当单片机的引脚输入为低电平时,表示该引脚所对应的按键按下,单片机实现相应的功能。 2.2.5报警电路 当温度超过报警限时,单片机相应管脚输出一定频率的电平。蜂鸣器发出响声。 2.2.6下载电路 下载程序代码用的是SPI接口,用ISP电缆对单片机进行编程。 该模块用到跳线,不通信时D0、D1口作为常规I/O口使用;通信时其作为通信口使用,实现单片机与单片机或是其它上位机的通信。 2.2.8输出驱动电路 采用光控过零驱动晶闸管,进而控制电加热器的通断电。 2.2.9电源电路 2.3 总原理图 2.4系统PCB图 电源连接口,连接时注意极性,接错将损坏单片机 作为电源开关的跳线 短路7805的
10、跳线DX2 10k电位器 模拟电源输出JMN1 LED灯与模拟输入的跳线DA1、DA2 电源指示灯 按钮共阳数码管外晶体跳线 外参考电压跳线晶体 编程接口ATmega16单片机 三、软件设计语言 #include /Atmega16单片机头文件 #include Flash unsigned char SHUMA=0xC0,0xF9,0xA4,0XB0,0x99,0x92 0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,;/定义数码管译码数组定义数码管位选数组; SPI初始化; Void SPI_MasterInit(void) DDRB|=
11、(15)|(17); SPCR=(16)|(14) |(15)|(11)| (10); Void SPI_595_Out(unsigned char i) SPDR=i; While(!SPDR&(17); Void main(void) unsigned char saomiao=0; Unsigned char w10; DDRA=0x00; PORTA=0X00; DDRB=0XB0; PORTB=0Xff; DDRC=0XFC; PORTC=0XFF; PORTD=0X00; DDRD=0XFF; SPI_Masterlnit(); While(1) data0=1234;data1=5678; W0=data0%10; W1=data0/10%10; W2=data0/100%10; W3=data0/1000%10; W4=data0%10; W5=data0/10%10; W6=data0/100%10; W1=data0/1000%10; PORTB&=(14); SPI_595_Out(weizhisaomiao); SPI_595_Out(dispwsaomiao;
限制150内