基于51单片机系统设计.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《基于51单片机系统设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机系统设计.docx(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于51单片机系统设计 基于51单片机的多路温度采集控制系统设计 言: 随着现代信息技术的飞速发展,温度测量控制系统在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集控制系统的设计与研究有十分重要的意义。 本次设计的目的在于学习基于51单片机的多路温度采集控制系统设计的基本流程。本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。单片机数据处理之后,发出控制信息改变报警和控制执行模块的状态,同时将当前温度信息发送到LED进行显示。本系统可以实现多路温度信号采集与
2、显示,可以使用按键来设置温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和继电器的目的。 我所采用的控制芯片为AT89c51,此芯片功能较为强大,能够满足设计要求。通过对电路的设计,对芯片的外围扩展,来达到对某一车间温度的控制和调节功能。 关键词:温度多路温度采集驱动电路 正文: 1、温度控制器电路设计 本电路由89C51单片机温度传感器、模数转换器ADC0809、窜入并出移位寄存器74LS164、数码管、和LED显示电路等组成。由热敏电阻温度传感器测量环境温度,将其电压值送入ADC0809的IN0通道进行模数转换,转换所得的数字量由数据端D7-D0输出到89C51的P0口,
3、经软件处理后将测量的温度值经单片机的RXD端窜行输出到74LS164,经74LS164 窜并转换后,输出到数码管的7个显示段,用数字形式显示出当前的温度值。89C51的P2.0、P2.1、P2.2分别接入ADC0809通道地址选择端A、B、C,因此ADC0809的IN0通道的地址为F0FFH。输出驱动控制信号由p1.0输出,4个LED为状态指示,其中,LED1为输出驱动指示,LED2为温度正常指示,LED3为高于上限温度指示,LED4为低于下限温度指示。当温度高于上限温度值时,有p1.0输出驱动信号,驱动外设电路工作,同时LED1亮、LED2灭、LED3亮、LED4灭。外设电路工作后,温度下降
4、,当温度降到正常温度后,LED1亮、LED2亮、LED3灭、LED4灭。温度继续下降,当温度降到下限温度值时,p1.0信号停止输出,外设电路停止工作,同时LED1灭、LED2灭、LED3灭、LED4亮。当外设电路停止工作后,温度开始上升,接着进行下一工作周期。 2、温度控制器程序设计 本软件系统有1个主程序,6个子程序组成。6个子程序为定时/计数器0中断服务程序、温度采集及模数转换子程序ADCON、温度计算子程序CALCU、驱动控制子程序DRVCON、十进制转换子程序METRICCON 及数码管显示子程序DISP。 (1)主程序 主程序进行系统初始化操作,主要是进行定时/计数器的初始化。 (2
5、)定时/计数器0中断服务程序 应用定时计数器0中断的目的是进行定时采样,消除数码管温度显示的闪烁现象,用户可以根据实际环境温度变化率进行采样时间调整。每当定时时间到,调用温度采集机模数转换子程序ADCON,得到一个温度样本,并将其转换为数字量,传送给89C51单片机,然后在调用温度计算子程序CALCU,驱动控制子程序DRVCON,十进制转换子程序MERTRICCON,温度数码显示子程序DISP。 (3)温度采集及模数转换子程序ADCON 该子程序进行温度采样并将其转换为8位数字量传送给89C51的P0口。采样得到的温度数据存放在片内RAM的20H单元中。 (4)温度计算子程序CALCU 根据热
6、敏电阻的分度值和电路参数计算出出一张温度表,存放在DATATAB数据表中,由于篇幅关系,本程序只给出0-49的温度数据。一个温度有两个字节组成,前一字节为温度值,后一字节为该温度所对应的热敏电阻上的电压的数字量。根据采样值,通过查表及比较的方法计算出当前的温度值,并将其存入片内RAM的21H单元。采用查表法计算温度值时为了克服热敏电阻的阻值温度特性曲线的非线性,提高测量精度。 (5)驱动控制子程序DRVCON 该子程序调节温度,当温度高于上限温度时(本程序设为30),P1.0输出驱动控制信号,驱动外设工作降温;当温度下降到下限温度时(本程序设为25),P1.0停止输出,温度上升,周而复始;工作
7、状态有LED1-LED4指示。 (6)十进制转换子程序METRICCON 将存放于内部RAM21H单元的当前温度值得二进制数形式转换为十进制数(BCD码)形式,以便输出显示,转换结果存放在片内RAM的32H单元(百位)、31H(十位)、30H单元(个位)。 (7)数码显示子程序DISP 该子程序利用89C51串口的方式0串行移位寄存器工作方式,将片内RAM的30H、31H、32H单元的BCD码查表转换为七段码后由RXD端串行发出去,然后经74LS164串并转换,将七段值传送给数码管,以十进制形式显示出当前温度值。 根据以上分析画出的部分程序设计流程图如图1-0至图1-4所示。 开始 在0000
8、H处放置一条长跳转 指令 LJMP MAIN跳转到主程序 在0000H处放置一条长跳转指令 LJMP T0INT跳转到T0中断服务程 序 图1-0 部分程序设计流程图的设计框架 主程序 计数寄存器R1赋初值10 P1口赋初值FFH,所有指示 灯全灭 堆栈指针SP赋初值60H TMOD赋初值01H T0工作于定时方式1软启动 TH0赋初值3CH, TL0赋初值B0H, T0定时100ms IE赋初值82H,T0允许中断 SETB TR0 启动T0工作 动态停机 图1-1 主程序流程图 T0中断服 务程序 N 温度采样时 间间隔到否 Y 调用温度采用及模数转换 子程序ADCON 调用温度计算子程序
9、 CALCU 调用驱动控制子程序 DRVCON 调用十进制转换子程序 METRICCON 调用数码管显示子程序DISP T0重装初值 中断返回 图1-2 T0中断服务程序流程图 温度采样及模数 转换子程序 将ADC0809 启动A/D转换 转换结束否 读取转换数据 将转换数据存于片内 RAM20H单元 返回 图1-3 温度采样及模数转换子程序流程图 图1-4 温度计算子程序流程图 3、具体内容 温度数据表索引值寄存器R2赋初值01H 温度数据表首地址送 DPTR 查表取出某一温度的 电压数据 取出表中前一温 度值 将该温度值存于 21H 单元 查表取出该温度 值 将该温度值存于 21H 单元
10、索引值加2 返回 返回 当前温度电压值与查表取得的某一温度电压值比较 温度计算子程序 相等 小于 大于 (1)温度控制器电器原理图设计 按以上分析及相关知识设计出的温度控制器电路原理图如图1-5所示。 P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7 P2.0 P2.1 P2.2P2.3P2.4P2.5P2.6P2.7RD WR INT0INT1ALE P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7 RST T1 T0 EA/Vp p PSEN RXD TXD IC1 AT89C5112345678151431291011 X T A L 2 X T A L
11、1 D0D1D2D3D4D5D6D7A B C OE ALE SC EOC CLK VR(+)VR(-) IN0IN1IN2IN3IN4IN5IN6IN7 IC2 ADC0809 3938373635343332212223242526272817 1612 13 30 171415818192021252423 9226710 26272812345 1216 11IC3A74LS02 174LS02 4IC3B 63 521 com d p g f e d c b a com 510912467 3 4 5 6 10 11 12 130001020304050607 A B C L K C
12、 L R 74LS164 83C3 30pF C2 30pF 6MHz 18 19 RT R8100k R720k +5V s c110uF + R5470 R6 10k 输出控制 R1200R2200R3200 R4200 LED1绿LED2红LED3黄LED4 IC5 d p g f e d c b a 74LS164 83 IC6 A B C L K C L R d p g f e d c b a 74LS164 83 A B C L K C L R IC7 0001020304050607 0001020304050607 3 4 5 6 10 11 12 133 4 5 6 10 1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 系统 设计
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内