基于51单片机的温度控制系统论文内容摘要:
路中采用的共阴极的 LED 数码管,所以在设计电路时加了一个达林顿电路 ULN2020对信号进行放大,产生足够大的电流驱动数码管显示。 由于 4511 只能进行 BCD 十进制译码,只能译到 0 至 9,所以在这里我们利用 4511 译 码输出我们所需要的温度。 报警电路简介 图 3 温度在七段数码管上显示连接图 本文中所设计的报警电路较为简单,由一个自我震荡型的蜂鸣器(只要在蜂鸣器两端加上超过 3V 的电压,蜂鸣器就会叫个不停)和一个发光二极管组成(如图 3 所示)。 在这次设计中蜂鸣器是通过 ULN2020 电流放大 IC 来控制。 在我们所要求的温度达到一定的上界或者下界时(在文中我们设置的上界温度是 45℃ ,下界温度是 5℃ ),报警电路开始工作,主要程序设计如下: main()//主函数 {unsigned char i=0。 unsigned int m,n。 while(1) {i=ReadTemperature()。 //读温度 } if(i0 amp。 amp。 i=10) //如果温度在 0 到 10 度之间直接给七段数码管赋值 {P1=designP1[i]。 } else//如果温度大于 10 度 {m=i。 //先给第一个七段数码管赋值 D1=1。 D2=0。 P1=designP1[m]。 n=i/10。 //再给第二个七段数码管赋值 D1=0。 D2=1。 P1=designP1[n]。 if(n=4amp。 amp。 m=5)%%(m=5)//判断温度的取值范围,如果大于 45 或小于 5 度,则蜂鸣器叫,发光二极管闪烁 { int a,b。 Q1=1。 //蜂鸣器叫 for(a=0。 a1000。 a )//发光二极管闪烁 for(b=0。 b1000。 b ) Q2=1。 for(a=0。 a1000。 a ) for(b=0。 b1000。 b ) Q2=0。 }}} 二 .系统软件设计 图 4 系统程。基于51单片机的温度控制系统论文
相关推荐
引脚( 4 个) RST/VPD:复位信号输入引脚 /备用电源输入引脚。 ALE/PROG: 地址锁存允许信号输出引脚 /编程脉冲输入引脚。 EA/VPP:内、外存储器选择引脚 /片内 EPROM(或 Flatiron)编程电压输入引脚。 PSEN: 片外程序存储器读选通信号输出引脚。 16 第三章 ADC0809 ADC0809 引脚功能 ADC0809 的引脚如图所示
e(busy==1)。 //判断是否为空闲, 1 为忙, 0为空闲 } void write_(uchar ) // 写指令函数 { P0=。 // 指令付给 P0口 rs=0。 //0 0 写指令 无输出 rw=0。 lcden=0。 //关闭 lcd 使能 check()。 //检验按键 lcden=1。 //开启 lcd 使能 哈尔滨华德学院课程设计用纸 11 } void
寄生 (电容 )电源为止。 此外,还可外接 5 V 电源,给 DSl8820 供电。 DSl8820 的供电方式灵活,利用外接电源还可增加系统的稳定性和可靠性。 图 7 为读取数据流程图。 读取 DS18B20 数据的部分 程序代码为: 4 数据测试 将温度传感器与冰水混合物接触,经过充分搅拌达到热平衡后调节系统,使显示读数为0. 00(标定 0℃ );利用气压计读出当时当地的大气压强
P0口具有内部上拉电阻。 在 EPROM 编程时, P0 口接收指令字节,同时输出指令字节在程序校验时。 程序校验时需要外接上拉电阻。 P1 口: P1 口是一带有内部上拉电阻的 8位双向 I/O 口。 P1 口的输出缓冲能接受或输出 4 个 TTL 逻辑门电路。 当对 P1 口写 1 时,它们被内部的上拉电阻拉升为高电平,此时可以作为输入端使用。 当作为输入端使用时, P1
EDDirection = !LEDDirection。 LEDIndex = (LEDIndex+1)%16。 } //Mode 7 void Mode_7(void) { if(LEDDirection) LEDShow(0x003FLEDIndex)。 else LEDShow(0xFC00LEDIndex)。 if(LEDIndex==9) LEDDirection =
)。 一般情况下,ALE是以晶振频率的1/6输出,可以用作外部时钟或定时目的。 但也要注意,每当访问外部数据存储器时将跳过一个ALE脉冲。 • :程序存储允许时外部程序存储器的读选通信号。 当AT89C52执行外部程序存储器的指令时,每个机器周期 两次有效,除了当访问外部数据存储器时, 将跳过两个信号。 • /VPP:外部访问允许。