2009年智能化电子系统设计_系统软件设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

西华大学电气信息学院1智能温度电压监测系统软件设计2020/4/30智能温度、电压监测系统2009年智能化电子系统设计智能化电子系统设计题目西华大学电气信息学院2智能温度电压监测系统软件设计2020/4/30◆智能温度、电压监测系统组成原理一、系统组成原理2009年智能化电子系统设计单片机计算机温度检测按键电路串口RS232串口调试助手进行监测值显示数码管显示电路1数码管显示电路2A/D转换Vin供电电路EEPROM存储电路报警电路西华大学电气信息学院3智能温度电压监测系统软件设计2020/4/302009年智能化电子系统设计1、按键电路键盘电路,P1.1、P1.5、P1.6、P1.7作行线,P3.2、P3.7作列线。定义了8个键,分别是“+(S2)”、“-(S3)”、“左移(S4)”、“右移(S5)”、“确定(S6)”、“设温度上限状态(S7)”、“设电压上限状态(S8)”、“启动/停止(S9)”。列线:P3.2/INT0P3.7/RDP1.1P1.5P1.6P1.7西华大学电气信息学院4智能温度电压监测系统软件设计2020/4/302009年智能化电子系统设计按键的行值设为1列值设为0是否有键按下延时去抖动确认是否按下进行列扫描第一列为0判断键值并执行相应功能该列是否有键按下该列是否有键按下第二列为0判断键值并执行相应功能YNYNYNYN判断键是否松开,直到松开按键才返回本实验选用P1.1、P1.5、P1.6、P1.7作行线,P3.2、P3.7作列线。行线初始状态全为“1”。先让列线全部为低电平“0”,如果没有键按下,行线全部为高电平“1”状态,若有任何一个键按下,行线上为非全“1”状态。在有键按下后,通过列线逐个送“0”,然后逐行检查哪根行线为“0”状态,即可查出是哪个按键。西华大学电气信息学院5智能温度电压监测系统软件设计2020/4/30西华大学电气信息学院6智能温度电压监测系统软件设计2020/4/302009年智能化电子系统设计西华大学电气信息学院7智能温度电压监测系统软件设计2020/4/302009年智能化电子系统设计西华大学电气信息学院8智能温度电压监测系统软件设计2020/4/302、显示电路2009年智能化电子系统设计数码管显示电路采用共阳极数码管,P0作位选,P2作段选。010xF7:11110111LED2LED1段码:hgfedcba0xC0:11000000位码:P0.7…P0.0西华大学电气信息学院9智能温度电压监测系统软件设计2020/4/30位码送P0段码送P2延时有小数点的位P2赋0x7fP0=0xff消影2009年智能化电子系统设计注意:这里对有小数点的位要多扫描一次这是显示一位的子程序,如多位则多次循环即可!西华大学电气信息学院10智能温度电压监测系统软件设计2020/4/302009年智能化电子系统设计西华大学电气信息学院11智能温度电压监测系统软件设计2020/4/302009年智能化电子系统设计西华大学电气信息学院12智能温度电压监测系统软件设计2020/4/302009年智能化电子系统设计西华大学电气信息学院13智能温度电压监测系统软件设计2020/4/303、AD转换:A/D转换采用8位分辨率A/D转换芯片ADC0832,其最高分辨可达256级。其内部电源输入与参考电压的复用。使得芯片的模拟电压输入在0~5V之间,8位分辨率时的电压精度为19.53mV。芯片转换时间仅为32uS。通过Dl数据输入端,可以轻易的实现通道功能的选择。2009年智能化电子系统设计西华大学电气信息学院14智能温度电压监测系统软件设计2020/4/302009年智能化电子系统设计正常情况下ADC0832与单片机的接口应为4条数据库线,分别是/CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时工作,且与单片机的接口是双向的,所以电路设计时可以将DO和DI并联在一根数据线上使用。西华大学电气信息学院15智能温度电压监测系统软件设计2020/4/302009年智能化电子系统设计西华大学电气信息学院16智能温度电压监测系统软件设计2020/4/302009年智能化电子系统设计当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK和DO/DI的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI端则DI端输入通道功能选择的数据信号。在第1个时钟脉冲的下降沿之前DI端必须是高电平,表示启始信号。在第2、3个脉冲下降沿之前DI端应输入2位数据用于选择通道功能,如下表所示:西华大学电气信息学院17智能温度电压监测系统软件设计2020/4/302009年智能化电子系统设计差分模式单端模式通道选择通道通道选择通道SGL/DIFODD/SIGN01SGL/DIFODD/SIGN0100+10+01+11+其功能项见表如表所示,当此2位数据为“1”、“0”时,只对CH0进行单通道转换。当2位数据为“1”、“1”时,只对CH1进行单通道转换。当2位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-时行输入。当2位数据为“0”、“1”时,将CH0作为负输入端IN-,CH1作为正输入端IN+时行输入。西华大学电气信息学院18智能温度电压监测系统软件设计2020/4/30到第3个脉冲的下降沿之后DI端的输入电平就失去输入作用,此后D0/DI端则开始利用数据输出DO进行转换数据的读取。从第4个脉冲下降沿开始由DO端输出转换数据最高位DATA7,随后每一个脉冲下降沿DO端输出下一位数据。直到第11个脉冲时发出最低位数据DATA0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下降沿输出DATD0.随后输出8位数据,互第19个脉冲时数据输出完成,也标志着一次A/D转换的结束。最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了。2009年智能化电子系统设计西华大学电气信息学院19智能温度电压监测系统软件设计2020/4/30AD转换子程序判断输入通道启始信号ADDI=1ADCS=0芯片使能ADCLK产生第一个下降沿在ADCLK第二和第三个下降沿输入通道数ADDI=1控制命令结束在ADCLK第4~11个下降沿输出第一个字节转换数据(第一位为最高位)在ADCLK第12~19个下降沿输出第二个字节转换数据(第一位为最低位)AD转换结束,ADCS=1ADCLK=0ADD0=1回到初始状态返回AD转换的字节2009年智能化电子系统设计初始化DI写操作DO读操作结束AD转换并返回转换值西华大学电气信息学院20智能温度电压监测系统软件设计2020/4/302009年智能化电子系统设计西华大学电气信息学院21智能温度电压监测系统软件设计2020/4/302009年智能化电子系统设计西华大学电气信息学院22智能温度电压监测系统软件设计2020/4/30西华大学电气信息学院23智能温度电压监测系统软件设计2020/4/302009年智能化电子系统设计西华大学电气信息学院24智能温度电压监测系统软件设计2020/4/302009年智能化电子系统设计西华大学电气信息学院25智能温度电压监测系统软件设计2020/4/302009年智能化电子系统设计调AD转换子程序对CH0输入的电压值进行AD后,通过计算,算出它实际的输入电压,并通过数码管显示出来。由于AD转换最大量程为5V,AD精度为8位则转换器的输出数据可以用个二进制数进行量化,所以可以利用以下公式算出实际输入电压。在程序中乘上500表示输出三位整数,乘上5000表示输出四位整数,方便下面显示程序的编写。转换后输出的二进制数实际输入电压=ADV256582西华大学电气信息学院26智能温度电压监测系统软件设计2020/4/302009年智能化电子系统设计4、DS1820温度传感器DS1820数字温度计以9位数字量的形式反映器件的温度值。最高有效(符号)位被复制充满存储器的高MSB位,由这种“符号位扩展”产生出了示于上表的16bit温度读数。测量结果放在DS1820的暂存器里,用一条读暂存器内容的存储器操作命令可以把暂存器中数据读出。西华大学电气信息学院27智能温度电压监测系统软件设计2020/4/30二进制中的前面1位是符号位,如果测得的温度大于0,这位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。例如-25.0625℃的数字输出为FF6FH。程序中乘的是6.25,则显示四位数.温度与数据的关系如下表西华大学电气信息学院28智能温度电压监测系统软件设计2020/4/302009年智能化电子系统设计通过单线总线端口访问DS1820的协议如下:(2)ROM操作命令:CCH表示允许总线控制器不用提供64位ROM编码就使用存储器操作命令。即跳过ROM.(3)存储器操作命令:BEH表示读取暂存器的内容。(4)执行/数据:44H表示开始温度转换.(1)初始化:由复位脉冲和其后的存在脉冲组成。西华大学电气信息学院29智能温度电压监测系统软件设计2020/4/302009年智能化电子系统设计调写字节子程序读取暂存器的内容调读字节子程序将温度低字节读出调读字节子程序将温度高字节读出计算温度值并取整aaa=(tem2*256+tem1)*6.25取温度值各位温度采集子程序调复位子程序调写字节子程序执行跳过ROM调写字节子程序执行温度转换延时显示温度值调复位子程序调写字节子程序执行跳过ROM初始化ROM操作命令存储器操作指令执行/数据初始化ROM操作命令西华大学电气信息学院30智能温度电压监测系统软件设计2020/4/30西华大学电气信息学院31智能温度电压监测系统软件设计2020/4/30复位子程序St=1DQ=1DQ=0,延时DO=1DQ==1?St=1St=0复位成功延时St==1?返回YNYN西华大学电气信息学院32智能温度电压监测系统软件设计2020/4/30ROM操作命令:写0xCC到DS1820,执行跳过ROM执行/数据:写0x44到DS1820,开始温度转换存储器操作指令:写0xBE到DS1820,读取暂存器的内容。西华大学电气信息学院33智能温度电压监测系统软件设计2020/4/302009年智能化电子系统设计写字节子程序DQ=1i=8i0取一位数DQ=0该位数是否为1DQ=1延时DQ=1数据右移1位i--YN返回西华大学电气信息学院34智能温度电压监测系统软件设计2020/4/30执行完写0xBE到DS1820读取暂存器的内容后,开始读出数据西华大学电气信息学院35智能温度电压监测系统软件设计2020/4/302009年智能化电子系统设计读位子程序i=8i0数据右移一位DQ=1并延时DQ=0产生下降沿DQ=1产生读信号DQ==1?该位数据为1延时并i--YYN返回读出的数据N该位数据为0西华大学电气信息学院36智能温度电压监测系统软件设计2020/4/30西华大学电气信息学院37智能温度电压监测系统软件设计2020/4/302009年智能化电子系统设计采用基于IIC总线的EEPROM:24LC02芯片。其引脚说明如下:5、EEPROM存储电路西华大学电气信息学院38智能温度电压监测系统软件设计2020/4/302009年智能化电子系统设计EEPROM采用24C02存储器。串行时钟SCL接P3.4,串行数据输入输出端SDA接P3.5,地址输入端A0~A2接地。WP(写保护位)接地,表示允许正常的读写操作。在使用此芯片时将J14用冒线短接,给芯片提供电源。西华大学电气信息学院39智能温度电压监测系统软件设计2020/4/302009年智能化电子系统设计写位子程序开始传送数据SCL=1SDA由高到低SCL=0写数据到2402将写入操作命令送2402写数据到2402将指定地址送2402写数据到

1 / 52
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功