文档库 最新最全的文档下载
当前位置:文档库 › 基于51单片机的温度检测系统_单片机C语言课题设计报告

基于51单片机的温度检测系统_单片机C语言课题设计报告

基于51单片机的温度检测系统_单片机C语言课题设计报告
基于51单片机的温度检测系统_单片机C语言课题设计报告

单片机C语言课题设计报告设计题目:温度检测

电气系2011级通信技术一班

摘要

本课题以51单片机为核心实现智能化温度测量。利用18B20温度传感器获取温度信号,将需要测量的温度信号自动转化为数字信号,利用单总线和单片机交换数据,最终单片机将信号转换成LCD可以识别的信息显示输出。

基于STC90C516RD+的单片机的智能温度检测系统,设计采用18B20温度传感器,其分辨率可编程设计。本课题设计应用于温度变化缓慢的空间,综合考虑,以降低灵敏度来提高显示精度。设计使用12位分辨率,因其最高4位代表温度极性,故实际使用为11位半,而温度测量范围为-55℃~+125℃,则其分辨力为0.0625℃。

设计使用LCD1602显示器,可显示16*2个英文字符,显示器显示实时温度和过温警告信息,传感器异常信息设。计使用蜂鸣器做警报发生器,当温度超过设定值时播放《卡农》,当传感器异常时播放嘟嘟音。

单片机C语言课题设计报告

目录

一、设计功能 (3)

二、系统设计 (3)

三、器件选择 (3)

3.1温度信号采集模块 (3)

3.1.1 DS18B20 数字式温度传感器 (4)

3.1.2 DS18B20特性 (4)

3.1.3 DS18B20结构 (5)

3.1.4 DS18B20测温原理 (6)

3.1.5 DS18B20的读写功能 (6)

3.2 液晶显示器1602LCD (9)

3.2.1引脚功能说明 (10)

3.2.2 1602LCD的指令说明及时序 (10)

3.2.3 1602LCD的一般初始化过程 (10)

四、软件设计 (11)

4.1 1602LCD程序设计流程图 (11)

4.2 DS18B20程序设计流程图 (12)

4.3 主程序设计流程图 (13)

五、设计总结 (2)

六、参考文献 (2)

七、硬件原理图及仿真 (3)

7.1系统硬件原理图 (3)

7.2开机滚动显示界面 (4)

7.3临界温度设置界面 (4)

7.4传感器异常警告界面 (4)

电气系2011级通信技术一班

温度

DS18B20 LCD 显示

过温函数功能模块

传感器异常函数功能模块

D 0

D 1D 2D 3D 4D 5D 6D 7R W

R S

E N

D0D1D2D3D4D5D6D7D 7D 6D 5D 4D 3D 2D 1D 0E N R W R S XT AL2

18

XT AL1

19

ALE 30EA

31

PSEN

29RST 9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.7/A1528

P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78

P3.0/RXD 10

P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD

17

P3.6/WR 16P3.5/T115U1

80C51

X1

CRYST AL

C1

22pF

C2

22pF

GND

V C C

G N D

R1

10k

C3

1uF

V C C

VCC

GND

23456789

1

RP1

RESPACK-8

VCC

0.0

DQ 2VCC 3GND 1

U2

DS18B20

R2

4.7K D 7

14

D 613D 512D 411D 310D 29D 18D 07E

6

R W 5R S 4V S S

1V D D 2V E E

3

LCD1

LM016L

LS2

SOUNDER

MUC

八、程序清单 (5)

一、设计功能

·由单片机、温度传感器以及液晶显示器等构成高精度温度监测系统。 ·温度显示精确到小数点后四位。

·按键设定过温值,过温在液晶屏提示并响铃卡农一次,直到温度正常。 ·设计传感器状态检测函数,传感器工作不正常在液晶屏警告提示,响警告铃, 直到故障排除。

·proteus 做系统硬件电路设计并仿真。

二、系统设计

三、器件选择

3.1温度信号采集模块

传统的温度检测大多以热敏电阻为传感器,采用热敏电阻,可满足 40℃度 至 90℃测量范围,但热敏电阻可靠性差,测量温度准确率低,对于1℃的信号是不适用的,还得经过专门的接口电路转换成数字信号才能由微处理器进行处

单片机C语言课题设计报告

理。

目前常用的微机与外设之间进行的数据通信的串行总线主要有2I C总线,SPI 总线等。其中2I C总线以同步串行 2 线方式进行通信(一条时钟线,一条数据线)。SPI 总线则以同步串行 3 线方式进行通信(一条时钟线,一条数据输入线,一条数据输出线)。这些总线至少需要两条或两条以上的信号线。而单总线( 1-wire bus ),采用单根信号线,既可传输数据,而且数据传输是双向的,CPU 只需一根端口线就能与诸多单总线器件通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。

单总线具有广阔的应用前景,是值得关注的一个发展领域。单总线即只有一根数据线,系统中的数据交换,控制都由这根线完成。主机或从机通过一个漏极开路或三态端口连接到数据线,以允许设备在不发送数据时能够释放总线,而让其它设备使用总线。单总线通常要求外接一个约为 4.7K 的上拉电阻,这样,当总线闲置时其状态为高电平。

3.1.1 DS18B20 数字式温度传感器

DS18B20 数字式温度传感器使用集成芯片,采用单总线技术,其能够有效的减小外界的干扰,提高测量的精度,同时,它可以直接将被测温度转化成串行数字信号供微机处理,接口简单,使数据传输和处理简单化。部分功能电路的集成,使总体硬件设计更简洁,能有效地降低成本,搭建电路和焊接电路时更快,调试也更方便简单化,大大缩短了开发的周期。

3.1.2 DS18B20特性

采用单总线的接口方式,与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。单总线具有经济性好,抗干扰能力强,适合于恶劣环境的现场温度测量,使用方便等优点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。

电气系2011级通信技术一班

(1)适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电。

(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。

(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。

(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。

(5)温范围-55℃~+125℃。

(6)可编程的分辨率为9~12位,对应的分辨力分别为0.5℃、0.25℃、

0.125℃和0.0625℃,可实现高精度测温。

(7)在9位分辨率时最多在 93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。

(8)测量结果直接输出数字温度信号,以" 1-wire bus "串行传送给CPU,可选择同时传送CRC校验码,具有极强的抗干扰纠错能力。

(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。

3.1.3 DS18B20结构

单片机C语言课题设计报告

DS18B20的内部结构

3.1.4 DS18B20测温原理

DS18B20测温原理框图

图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入.

计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。

3.1.5 DS18B20的读写功能

DS18B20温度值格式表

这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。例如+125℃的数字输出

电气系2011级通信技术一班

为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FE6FH,-55℃的数字输出为FC90H 。

DS18B20温度数据表

DS18B20温度传感器的存储器 DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器 TH、TL和结构寄存器。

TM R1 R0 1 1 1 1 1

配置寄存器结构

低五位一直都是"1",TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表所示:(DS18B20出厂时被设置为12位)

R1 R0 分辨率温度最大转换时间

0 0 9位93.75ms

0 1 10位187.5ms

1 0 11位375ms

1 1 12位750ms

温度分辨率设置表

单片机C语言课题设计报告

寄存器内容字节地址

温度值低位(LS Byte)0

温度值高位(MS Byte) 1

高温限值(TH) 2

低温限值(TL) 3

配置寄存器 4

保留 5

保留 6

保留7

CRC校验值8

DS18B20暂存寄存器分布

根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须

经过三个步骤:每一次读写之前都要对DS18B20进行复位操作,复位成功后发

送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复

位要求主CPU将数据线下拉500微秒,然后释放,当DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示

复位成功。

指令约定代码功能

读ROM 33H 读DS1820温度传感器ROM中的编码(即64位地址)

符合ROM 55H 发出此命令之后,接着发出64 位ROM 编码,访问单总线上与该编码相对应

的DS1820 使之作出响应,为下一步对该DS1820 的读写作准备。

搜索ROM 0FOH 用于确定挂接在同一总线上DS1820 的个数和识别64 位ROM 地址。为操作

各器件作好准备。

跳过ROM 0CCH 忽略64 位ROM 地址,直接向DS1820 发温度变换命令。适用于单片工作。告警搜索命令0ECH 执行后只有温度超过设定值上限或下限的片子才做出响应。

温度变换44H 启动DS1820进行温度转换,12位转换时最长为750ms(9位为93.75ms)。结

果存入内部9字节RAM中。

读暂存器0BEH 读内部RAM中9字节的内容

写暂存器4EH 发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是

传送两字节的数据。

复制暂存器48H 将RAM中第3 、4字节的内容复制到EEPROM中。

重调EEPRO

0B8H 将EEPROM中内容恢复到RAM中的第3 、4字节。

M

读供电方式0B4H 读DS1820的供电模式。寄生供电时DS1820发送“ 0 ”,外接电源供电DS182

0发送“ 1 ”。

电气系2011级通信技术一班

ROM 指令表

3.2 液晶显示器1602LCD

显示容量:16×2个字符,芯片工作电压:4.5—5.5V ,工作电流:2.0mA(5.0V),模块最佳工作电压:5.0V ,字符尺寸:2.95×4.35(W ×H)mm 。

D 0

D 1D 2D 3D 4D 5D 6D 7R W

R S

E N D0D1D2D3D4D5D6D7

D 7D 6D 5D 4D 3D 2D 1D 0

E N R W R S XT AL2

18

XT AL1

19

ALE 30EA

31

PSEN 29

RST

9

P0.0/AD0

39P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.7

8

P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD

17

P3.6/WR 16P3.5/T115U1

80C51

X1CRYST AL

C1

22pF

C2

22pF

GND

V C C

R1

10k C3

1uF

V C C

VCC

GND

23456789

1

RP1

RESPACK-8

VCC

43.0DQ

2VCC

3

GND 1

U2

DS18B20

R2

4.7K

D 7

14

D 613D 512D 411D 310D 29D 18D 07E

6

R W 5R S 4V S S 1V D D 2V E E

3

LCD1

LM016L

单片机C 语言课题设计报告

3.2.1引脚功能说明

1602LCD 采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如图

3.2.2 1602LCD 的指令说明及时序

1602液晶模块内部的控制器共有11条控制指令,如图

3.2.3 1602LCD 的一般初始化过程

延时15mS

写指令38H (不检测忙信号) 延时5mS

写指令38H (不检测忙信号) 延时5mS

写指令38H (不检测忙信号)

以后每次写指令、读/写数据操作均需要检测忙信号 写指令38H :显示模式设置 写指令08H :显示关闭

写指令01H :显示清屏

编号 符号 引脚说明 编号 符号 引脚说明

1 VSS 电源地 9

D2

数据

2 VDD 电源正极 10 D

3 数据 3 VL 液晶显示偏压 11 D

4 数据 4 RS 数据/命令选择 12 D

5 数据 5 R/W 读/写选择 13 D

6 数据 6 E 使能信号 14 D

7 数据 7 D0 数据 15 BLA 背光源正极

8 D1 数据 16 BLK 背光源负极 序号 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 1 清显示 0 0 0 0 0 0 0 0 0 1 2 光标返回 0 0 0 0 0 0 0 0 1 * 3 置输入模式 0 0 0 0 0 0 0 1 I/D S

4 显示开/关控制 0 0 0 0 0 0 1 D C B

5 光标或字符移位 0 0 0 0 0 1 S/C R/L *

* 6 置功能 0 0 0

0 1 DL

N

F

*

*

7 置字符发生存贮器地址 0 0 0 1 字符发生存贮器地址 8 置数据存贮器地址 0 0 1 显示数据存贮器地址

9

读忙标志或地址

1 BF 计数器地址 10 写数到CGRAM 或DDRAM ) 1 0 要写的数据内容 11 从CGRAM 或DDRAM 读数 1

1 读出的数据内容

电气系2011级通信技术一班

写指令06H:显示光标移动设置

写指令0CH:显示开及光标设置

四、软件设计

4.1 1602LCD程序设计流程图

单片机C语言课题设计报告4.2DS18B20程序设计流程图

电气系2011级通信技术一班

4.3 主程序设计流程图

开始

调用滚动子函数

调用温度读取子函数

延时800ms

调用温度读取子函数

18B20初始化是

否完成

是否初始化完成

且不过温

是否初始化完成

且过温

N

N

Y Y 调用Error_Menu 调用Ok_Menu 警铃函数读取温度

18B20初始化是否通过

Y

N

读取温度显示温度

是否初始化完成且不过温

Y

N

Y 调用OVER_TEMP 调用卡农音乐读取温度

是否初始化完成且过温

Y

N

N

五、设计总结

在这课题设计中我学到了很多东西,获益匪浅。本次课题以51单片机为核心实现了智能化温度测量,过温警告,传感器异常警报功能。

利用温度传感器获取被控对象指标,通过温度传感器将需要测量的温度信号转化为数字电信号,通过单总线与MCU进行传输,再经单片机转换成显示器可以识别的信息,最后显示输出。

在一开始,我制订了合理的规划,绘制了与课题相关的硬件原理图,分析了单片机的各I/O端口。然后进行程序设计的分析,设计绘制流程图,并按照流程图,进行程序段的编写。接下来把所有的程序段组合在一起综合分析,最后烧录到单片机上进行硬件调试。

在这整个过程当中,我遇到了重重困难。(1)高位为零时消隐;(2)18B20上电温度误判;(3)LCD显示闪烁;(4)18B20修复温度误判;(5)LCD查表写坐标混合显示。通过一次次的反复分析和调试,查阅互联网资料最终成功解决。这其中的苦泪和欢笑只有自己知道。

通过程序的编写我收获了很多,并总结到大多数故障问题源于程序里括号及分号的错误。通过这次课题设计,我深深意识到学习单片机不是只要学好怎样写程序就够了,还要对硬件有所了解,要把软件与硬件相结合才,期间还要经过多次的失败,需要相当的耐心和细致的思考来排除一切困难,一步一步地解决问题。

在此,我要特别施芸老师给提供给我这次自我锻炼,自我提升的机会。我定会把这次课题设计积累的经验落实到以后的学习中去。

姓名:钟乾鹏

学号:201112020247

班级:2011级通信技术1班六、参考文献

【1】马忠梅等编著.单片机的C语言应用程序设计(第4版).北京[M]:北京航天航空大学出版社,2007

【2】樊明龙等编著.单片机原理与应用.北京[M]:北化学工业出版社,2005 【3】周志德. 单片机原理级应用. 北京[M]:高等教育出版社,2001 鸣谢https://www.wendangku.net/doc/b98886879.html,/

七、硬件原理图及仿真

7.1系统硬件原理图

D 0

D 1D 2D 3D 4D 5D 6D 7R W R S

E N

D0D1D2D3D4D5D6D7

D 7D 6D 5D 4D 3D 2D 1D 0

E N R W R S K 1K 2K 3K1K2K3

XT AL2

18

XT AL1

19

ALE 30EA

31

PSEN 29RST

9

P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78

P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD

17

P3.6/WR 16P3.5/T115U1

80C51

X1

CRYST AL

C1

22pF

C2

22pF

GND

V C C

G N D

R1

10k

C3

1uF

V C C

VCC

GND

23456789

1

RP1

RESPACK-8

VCC

20.0

DQ 2VCC 3GND 1

U2

DS18B20

R2

4.7K D 7

14

D 613D 512D 411D 310D 29D 18D 07E

6

R W 5R S 4V S S 1V D D 2V E E

3

LCD1

LM016L

LS2

SOUNDER

GND

7.2开机滚动显示界面

7.3临界温度设置界面

7.4传感器异常警告界面

D 7D 6D 5D 4D 3D 2D 1D 0

E N R W R S VCC

GND

D 7

14

D 613D 512D 411D 310D 29D 18D 07E

6

R W 5R S 4V S S 1V D D 2V E E

3

LCD1

LM016L

D 7D 6D 5D 4D 3D 2D 1D 0

E N R W R S VCC

GND

D 7

14

D 613D 512D 411D 310D 29D 18D 07E

6

R W 5R S 4V S S 1V D D 2V E E

3

LCD1

LM016L

D 7D 6D 5D 4D 3D 2D 1D 0

E N R W R S VCC

GND D 7

14

D 613D 512D 411D 310D 29D 18D 07E

6

R W 5R S 4V S S 1V D D 2V E E

3LM016L

八、程序清单

#include < reg51.h >

#include < intrins.h >

#include < song.h >

#define uchar unsigned char

#define uint unsigned int

sbit DQ = P3^7 ; //定义DS18B20端口DQ

sbit K5=P2^3;

sbit K6=P2^2;

sbit K7=P2^1;

bit presence ; //初始化标志位

sbit lcdrs = P2^6 ; //加按键

sbit lcdrw = P2^5 ; //减按键

sbit lcden = P2^7 ; //确定

uint T,Temp; //T包含两个单元,用来存储16位温度信息

uchar code cdis1[ ] = {" WELCOM TO USE! "} ;//正常测温显示界面

uchar code cdis2[ ] = {"TEMP: . C"} ;

uchar code cdis3[ ] = {" DS18B20 ERR0R "} ;

uchar code cdis4[ ] = {" PLEASE CHECK "} ;

uchar code cdis5[ ] = {"Zhong Qian Peng"} ; //开始滚动界面

uchar code cdis6[ ] = {"Communication 1"} ;

uchar code cdis7[ ] = {"!!!!Warning!!!!"} ; //过温语句

uchar code cdis8[ ] = {"---OVER TEMP---"} ;

uchar code cdis9[ ] = {"Please set temp!"} ; //设定温度

uchar code cdis10[ ] = {"Max Temp C"} ;//可设两位

uchar

bai,shi,ge,xiaoshu1,xiaoshu2,xiaoshu3,xiaoshu4,fuhao,th_temp,tl_temp; char set=30;//set存有设定的温度,设初值为30

#define delayNOP() ; {_nop_() ;_nop_() ;_nop_() ;_nop_() ;} ;

/*******************************************************************

* 两个延时函数 *

*******************************************************************/

//<----------1us----------->

void Delay(unsigned int num)

{

while( --num ) ;

}

//<----------1ms----------->

void delay1(int ms)

{

unsigned char y ;

while(ms--)

{

for(y = 0 ; y<250 ; y++)

{

_nop_() ;

_nop_() ;

_nop_() ;

_nop_() ;

}

}

}

void warning() //蜂鸣器发声

{speaker=1;delay1(1);speaker=0;delay1(1); }

/******************************************************************

* 检查LCD忙状态 * * lcd_busy为1时,忙,等待。lcd-busy为0时,闲,可写指令与数据。 *

******************************************************************/

bit lcd_busy()

{

bit result ;

lcdrs = 0 ;

lcdrw = 1 ;

lcden = 1 ;

delayNOP() ;

result = (bit)(P0&0x80) ;

lcden = 0 ;

return(result) ;

}

/******************************************************************

* 写指令数据到LCD *

* RS=L,RW=L,E=高脉冲,D0-D7=指令码。 *

******************************************************************/

void lcd_wcmd(uchar cmd)

{

while(lcd_busy()) ;

lcdrs = 0 ;

lcdrw = 0 ;

lcden = 0 ;

_nop_() ;

_nop_() ;

P0 = cmd ;

delayNOP() ;

lcden = 1 ;

delayNOP() ;

lcden = 0 ;

}

/******************************************************************* * 闪动子程序,闪动1次 * *******************************************************************/

void flash()

{

delay1(600); //控制停留时间

lcd_wcmd(0x08); //关闭显示

delay1(200); //延时

lcd_wcmd(0x0c); //开显示

delay1(200);

}

/*******************************************************************

* 写显示数据到LCD *

* RS=H,RW=L,E=高脉冲,D0-D7=数据。 *

*******************************************************************/

void lcd_wdat(uchar dat)

{

while(lcd_busy()) ;

lcdrs = 1 ;

lcdrw = 0 ;

lcden = 0 ;

P0 = dat ;

51系列单片机闭环温度控制 实验报告

成绩: 重庆邮电大学 自动化学院综合实验报告 题目:51系列单片机闭环温度控制 学生姓名:蒋运和 班级:0841004 学号:2010213316 同组人员:李海涛陈超 指导教师:郭鹏 完成时间:2013年12月

一、实验名称: 51系列单片机闭环温度控制实验 ——基于Protuse仿真实验平台实现 基本情况: 1. 学生姓名: 2. 学号: 3. 班级: 4. 同组其他成员: 二、实验内容(实验原理介绍) 1、系统基本原理 计算机控制技术实训,即温度闭环控制,根据实际要求,即加温速度、超调量、调节时间级误差参数,选择PID控制参数级算法,实现对温度的自动控制。 闭环温度控制系统原理如图: 2、PID算法的数字实现 本次试验通过8031通过OVEN 是模拟加热的装置,加一定的电压便开始不停的升温,直到电压要消失则开始降温。仿真时,U形加热器为红色时表示正在加热,发红时将直流电压放过来接,就会制冷,变绿。T端输出的是电压,温度越高,电压就越高。

8031对温度的控制是通过可控硅调控实现的。可控硅通过时间可以通过可控硅控制板上控制脉冲控制。该触发脉冲想8031用软件在P1.3引脚上产生,受过零同步脉冲后经光偶管和驱动器输送到可控硅的控制级上。偏差控制原理是要求对所需温度求出偏差值,然后对偏差值处理而获得控制信号去调节加热装置的温度。 PID控制方程式: 式中e是指测量值与给定值之间的偏差 TD 微分时间 T 积分时间 KP 调节器的放大系数 将上式离散化得到数字PID位置式算法,式中在位置算法的基础之上得到数字PID 增量式算法: 3、硬件电路设计 在温度控制中,经常采用是硬件电路主要有两大部分组成:模拟部分和数字部分,对这两部分调节仪表进行调节,但都存在着许多缺点,用单片机进行温度控制使构成的系统灵活,可靠性高,并可用软件对传感器信号进行抗干拢滤波和非线性补偿处理,可大大提高控制质量和自动化水平;总的来说本系统由四大模块组成,它们是输入模块、单片机系统模块、计算机显示与控制模块和输出控制模块。输入模块主要完成对温度信号的采集和转换工作,由温度传感器及其与单片机的接口部分组成。利用模拟加热的

51单片机课程设计

课程设计说明书
课程设计名称






学生姓名
指导教师
单片机原理及应用课程设计 电子信息工程 140405 20141329 李延琦 胡黄水
2016 年 12 月 26 日

课程设计任务书
课程设计 题目
酒精测试仪
起止日期
2016 年 12 月 26 日— 2017 年 1 月 6 日
设计地点
计算机科学与工程学 院单片机实验室 3409
设计任务及日程安排: 设计任务:分两部分: (一)、设计实现类:进行软、硬件设计,并上机编程、联线、调试、 实现; 1.电子钟的设计 2.交通灯的设计 3.温度计的设计 4.点阵显示 5.电机调速 6.电子音乐发声(自己选曲) 7.键盘液晶显示系统 (二)、应用系统设计类:不须上机,查资料完成软、硬件设计画图。 查资料选定题目。 说明:第 1--7 题任选其二即可。(二)里题目自拟。 日程安排: 本次设计共二周时间,日程安排如下: 第 1 天:查阅资料,确定题目。 第 2--4 天:进实验室做实验,连接硬件并编写程序作相关的模块实验。 第 5--7 天:编写程序,并调试通过。观察及总结硬件实验现象和结果。 第 8--9 天:整理资料,撰写课程设计报告,准备答辩。 第 10 天:上交课程设计报告,答辩。 设计报告要求:
1. 设计报告里有两个内容,自选题目内容+附录(实验内容),每 位同学独立完成。 2. 自选题目不须上机实现,要求能正确完成硬件电路和软件程序 设计。内容包括: 1) 设计题目、任务与要求 2)硬件框图与电路图 3) 软件及流程图 (a)主要模块流程图 (b)源程序清单与注释 4) 总结 5) 参考资料 6)附录 实验上机调试内容
注:此任务书由指导教师在课程设计前填写,发给学生做为本门课程设计 的依据。

基于-89C51单片机的秒表课程设计汇本

《单片机技术》 课程设计报告 题目:基于MCU-51单片机的秒表设计班级: 学号: 姓名: 同组人员: 指导教师:王瑞瑛、汪淳 2014年6月17日

目录 1课程设计的目的 (3) 2 课程设计题目描述和要求 (3) 2.1实验题目 (4) 2.2设计指标 (4) 2.3设计要求 (4) 2.4增加功能 (4) 2.5课程设计的难点 (4) 2.6课程设计容提要 (4) 3 课程设计报告容 (5) 3.1设计思路 (5) 3.2设计过程 (6) 3.3 程序流程及实验效果 (7) 3.4 实验效果 (16) 4 心得体会 (17)

基于MCS-51单片机的秒表设计 摘要:单片机控制秒表是集于单片机技术、模拟电子技术、数字技术为一体的机电一体化高科技产品,具有功耗低,安全性高,使用方便等优点。本次设计容为以8051 单片机为核心的秒表,它采用键盘输入,单片机技术控制。设计容以硬件电路设计,软件设计和PCB 板制作三部分来设计。利用单片机的定时器/计数器定时和计数的原理,用集成电路芯片、LED 数码管以及按键来设计计时器。将软、硬件有机地结合起来,使他拥有正确的计时、暂停、清零、并同时可以用数码管显示,在现实生中应用广泛。 关键词:秒表;8051;定时器;计数器 1 课程设计的目的 《单片机应用基础》课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的就是配合本课程的教学和平时实验,以达到巩固消化课程的容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。 2 课程设计题目描述和要求

51单片机实验报告94890

《单片机与接口技术》实验报告 信息工程学院 2016年9月

辽东学院信息技术学院 《单片机与接口技术》实验报告 姓名:王瑛 学号: 0913140319 班级: B1403 专业:网络工程 层次:本科 2016年9月

目录 实验题目:实验环境的初识、使用及调试方法(第一章) 实验题目:单片机工程初步实验(第二章) 实验题目:基本指令实验(第三章)4 实验题目:定时器/计数器实验(第五章)4 实验题目:中断实验(第六章)4 实验题目:输入接口实验(第八章)4 实验题目:I/O口扩展实验(第九章)4 实验题目:串行通信实验(第十一章)4 实验题目:A/D,D/A转换实验(第十七章)4

实验题目:实验环境的初识、使用及调试方法实验 实验类型:验证性实验课时: 1 时间:2016年10月24日 一、实验内容和要求 了解单片机的基础知识 了解51单片机的组成和工作方法 掌握项目工程的建立、编辑、编译和下载的过程方法 熟练单片机开发调试工具和方法 二、实验结果及分析 单片机最小系统的构成: Keil集成开发环境:

STC-ISP:

实验题目:单片机工程初步实验 实验类型:验证性实验课时: 1 时间:2016 年10 月24 日一、实验内容和要求 点亮一个LED小灯 程序下载到单片机中 二、实验结果及分析 1、点亮一个LED小灯 点亮LED小灯的程序: #include //包含特殊功能寄存器定义的头文件 sbit LED = P0^0; sbit ADDR0 = P1^0; //sbit必须小写,P必须大写 sbit ADDR1 = P1^1; sbit ADDR2 = P1^2; sbit ADDR3 = P1^3; sbit ENLED = P1^4; void main() { ENLED = 0; ADDR3 = 1; ADDR2 = 1; ADDR1 = 1; ADDR0 = 0; LED = 0; //点亮小灯 while (1); //程序停止 } 2、程序下载 首先,我们要把硬件连接好,把板子插到我们的电脑上,打开设备管理器查看所使用的COM 口,如图所示:

单片机课程设计——基于51单片机的温度监控系统设计

单片机课程设计报告 题目:温度监控系统设计 学院:能源与动力工程学院 专业:测控技术与仪器专业 班级: 2班 成员:魏振杰 二〇一五年十二月

一、引言 温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。对于不同场所、不同工艺、所需温度高低范围不同、精度不同,则采用的测温元件、测方法以及对温度的控制方法也将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同,因而,对温度的测控方法多种多样。 随着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。利用微机对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来越显示出其优越性。 作为获取信息的手段——传感器技术得到了显著的进步,其应用领域较广泛。传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。 为了提高对传感器的认识和了解,尤其是对温度传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统。本系统利用传感器与单片机相结合,应用性比较强,本系统可以作为仓库温度监控系统,如果稍微改装可以做热水器温度调节系统、实验室温度监控系统,以及构成智能电饭煲等等。课题主要任务是完成环境温度监测,利用单片机实现温度监测并通过报警信号提示温度异常。本设计具有操作方便,控制灵活等优点。 本设计系统包括单片机,温度采集模块,显示模块,按键控制模块,报警和指示模块五个部分。文中对每个部分功能、实现过程作了详细介绍。整个系统的核心是进行温度监控,完成了课题所有要求。 二、实验目的和要求 2.1学习DS18B20温度传感芯片的结构和工作原理。 2.2掌握LED数码管显示的原理及编程方法。 2.3掌握独立式键盘的原理及使用方法。 2.4掌握51系列单片机数据采集及处理的方法。 三、方案设计

基于51单片机课程设计

基于51单片机课程设计报告 院系:电子通信工程 团组:电子设计大赛1组 姓名: 指导老师:

目录 一、摘要 (3) 二、系统方案的设计 (3) 三、硬件资源 (5) 四、硬件总体电路搭建 (13) 五、程序流程图 (14) 六、设计感想 (14) 七、参考文献 (16) 附录 (17) 附录 1 程序代码 (17)

一、摘要 本设计以STC89C51单片机为核心的温度控制系统的工作原理和设计方法。温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。文中介绍了该控制系统的硬件部分,包括:温度检测电路、温度控制电路。单片机通过对信号进行相应处理,从而实现温度控制的目的。文中还着重介绍了软件设计部分,在这里采用模块化结构,主要模块有:数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、led控制程序、超温报警程序。 关键词:STC89C51单片机 DS18B20温度芯片温度控制 ,LED报警提示. 二、系统方案的设计 1、设计要求 基本功能: 不加热时实时显示时间,并可手动设置时间; 设定加热水温功能。人工设定热水器烧水的温度,范围在20~70度之间,打开开关后,根据设定温度与水温确定是否加热,及何时停止加热,可实时显示温度; 设定加热时间功能。限定烧水时间,加热时间内超过温度上限或低于温度下限报警,并可实时显示温度。 2、系统设计的框架

本课题设计的是一种以STC89C51单片机为主控制单元,以DS18B20为温度传感器的温度控制系统。该控制系统可以实时存储相关的温度数据并记录当前的时间。其主要包括:电源模块、温度测量及调理电路、键盘、数码管显示、指示灯、报警、继电器及单片机最小系统。 图1 系统设计框架 3 工作原理 温度传感器 DS18B20 从设备环境的不同位置采集温度,单片机STC8951获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,通过加热和降温对当前温度进行调整。当采集的温度经处理后超过设定温度的上限时,单片机通过三极管驱动继电器开启降温设备(压缩制冷器) ,当采集的温度经处理后低于设定温度的下时 , 单片机通过三极管驱动继电器开启升温设备 (加热器) ,这里采用通过LED1和LED2取代!!! 当由于环境温度变化太剧烈或由于加热或降温设备出现故障,或者温度传感头出现故障导致在一段时间内不能将环境温度调整到规定的温度限内的时候,单片机通过三极管驱动扬声器发出警笛声,这里采用HLLED提示。

单片机实验报告书

并行I/O接口实验 一、实验目的 熟悉掌握单片机并行I/O接口输入和输出的应用方法。 二、实验设备及器件 个人计算机1台,装载了Keil C51集成开发环境软件。https://www.wendangku.net/doc/b98886879.html,单片机仿真器、编程器、实验仪三合一综合开发平台1台。 三、实验内容 (1)P1口做输出口,接八只发光二极管,编写程序,使发光二极管延时(0.5-1秒)循环点亮。实验原理图如图3.2-1所示。 图3.2-1单片机并行输出原理图 实验程序及仿真 ORG 0000H LJMP START ORG 0100H START:MOV R2,#8 MOV A,#0FEH LOOP:MOV P1,A LCALL DELAY RL A

DJNZ R2,LOOP LJMP START DELAY:MOV R5,#20 D1:MOV R6,#20 D2:MOV R7,#248 D3:DJNZ R7,D3 DJNZ R6,D2 DJNZ R5,D1 RET END 中断实验 一、实验目的 熟悉并掌握单片机中断系统的使用方法,包括初始化方法和中断服务程序的编写方法。 二、实验设备及器件

个人计算机1台,装载了Keil C51集成开发环境软件。 https://www.wendangku.net/doc/b98886879.html,单片机仿真器、编程器、实验仪三合一综合开发平台1台。 三、实验内容 (2)用P1口输出控制8个发光二极管LED1~LED8,实现未中断前8个LED闪烁,响应中断时循环点亮。 实验程序及仿真 ORG 0000H LJMP MAIN ORG 0003H LJMP INT00 ORG 0010H MAIN: A1:MOV A,#00H MOV P1,A MOV A,#0FFH MOV P1,A SETB EX0 JB P3.2,B1 SETB IT0 SJMP C1 B1:CLR IT0 C1:SETB EA NOP SJMP A1 INT00:PUSH Acc PUSH PSW MOV R2,#8 MOV A,#0FEH LOOP: MOV P1,A LCALL DELAY RL A DJNZ R2,LOOP

基于51单片机的DS18B20温度检测设计报告

课程名称:微机原理课程设计题目:温度检测课程设计

摘要 随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的温度检测仪。本设计使用简便,功能丰富。可以实现温度采集,温度报警,重设上下限温度值等功能。 在现代化的工业生产中,需要对周围环境的温度进行检测和控制。本设计对温控报警问题展开思考,设计一个能根据需求设置低温到高温进行报警并通过数码管显示的系统。该系统使用STC89C51单片机,同时运用单线数字温度传感器DS18B20,四位共阴数码管显示,按键控制等模块可实现温度的检测与设置。课题经过实验验证达到设计要求,具有一定的使用价值和推广价值。本作品使用四位共阴数码管显示,可以清晰地显示当前的报警温度,一定程度避免使用者使用时出错,安全可靠,可使用于各种食品储存室,植物养殖所等地方,实用性很高。 关键字:温度报警器STC89C51单片机数码管DS18B20

目录 一、课程设计目的和要求 (1) 1.1 设计目的 (1) 1.2 设计要求 (1) 二、总体设计方案 (1) 三、硬件设计 (2) 3.1 DS18B20传感器 (2) 3.2 STC89C51功能介绍 (6) 3.3 时钟电路 (8) 3.4 复位电路 (8) 3.5 LED显示系统电路 (9) 3.6 按键控制电路 (11) 3.7 蜂鸣器电路 (11) 3.8 总体电路设计 (12) 四、软件设计 (14) 4.1 keil软件 (14) 4.2 系统主程序设计 (14) 4.3 系统子程序设计 (15) 五、仿真与实现 (18) 5.1 PROTEUS仿真软件 (18) 5.2 STC-ISP程序烧录软件 (19) 5.3 使用说明 (20) 六、总结 (21)

单片机课程设计题目..(DOC)

单片机课程设计题目 1 基于单片机的数字电压表设计 2 基于单片机的智能电压表设计(温度检测器) 3 基于单片机的智能船模设计 4 基于单片机的电梯控制模型设计 5 基于单片机的水位控制系统设计(STC89—51型) 6 基于单片机的多路数据采集系统设计 7 基于单片机的8路抢答器设计 9 基于单片机的数字温度计设计 10 基于单片机的智能小车设计 11 基于单片机的数字温度计设计 12 基于单片机的遥控器设计 13 基于单片机的串行通信发射机设计 14 基于单片机的简易智能电动车设计 15 基于单片机的太阳能热水器控制器设计 16 基于单片机的太阳能热水器控制器设计 17 MCS-51单片机温度控制系统的设计 18 直流电动机的转速检测与脉宽调速 19 基于单片机的智能机器人的设计 20 基于单片机的简易无线竞赛系统的设计 21 基于单片机的车辆闯红灯监控系统设计(89C51) 22 基于单片机控制的井下瓦斯监控系统设计 23 基于单片机的煤气泄漏检测报警装置设计 24 基于单片机的井式渗碳炉控制系统设计 25 基于单片机的蔬菜大棚温湿度智能控制系统设计 26 基于单片机的电子钟设计 27 基于单片机的电力线载波节电群控设计 28 基于单片机的液位控制器设计

29 基于单片机的串行通信发射机设计 30 基于单片机的智能八路抢答器设计 32 基于单片机的水位监控器设计(STC12C2052AD) 32 基于单片机的点阵电子显示屏设计 33 基于单片机的智能温度控制系统设计 34 基于单片机的智能时钟控制器设计 35 基于单片机的智能温控系统设计 36 基于单片机的智能寻迹避障小车设计 37 基于单片机的家用太阳能热水器控制器设计 38 基于单片机的新型抢答计分器设计 39 基于单片机的热敏电阻测温系统设计 40 基于单片机的林火监测系统-飞艇姿态控制系统设计 41 基于单片机的人性化时钟控制器设计 42 基于单片机的智能型电话远程遥控器设计 43 基于单片机的远程通讯控制器设计 45 基于单片机的智能水位控制器设计 46 基于单片机的水位控制系统设计 47 基于单片机的智能电动小车设计 48 基于单片机的数码电子时钟设计 49 -基于单片机的数控直流电源设计 50 基于单片机的交通灯控制器设计 51 基于单片机的数字温度计设计(STC89C51) 52 基于单片机的智能小车设计 53 基于单片机的温度控制器设计 54 基于单片机的串行通信发射机设计(版本3) 55 基于单片机的温度控制系统设计(版本1) 56 基于单片机的交通灯控制系统设计 D58-基于单片机的电子万年历设计 D59-基于单片机的水位控制器设计 D60-基于单片机的水位控制系统设计(版本2)

51单片机数字电压表实验报告

微控制器技术创新设计实验报告 姓名:学号:班级: 一、项目背景 使用单片机AT89C52和ADC0808设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码显示。在单片机的作用下,能监测两路的输入电压值,用8位串行A/D转换器,8位分辨率,逐次逼近型,基准电压为 5V;显示精度伏。 二、项目整体方案设计 ADC0808 是含8 位A/D 转换器、8 路多路开关,以及与微型计算机兼容的控制逻辑的CMOS组件,其转换方法为逐次逼近型。ADC0808的精度为 1/2LSB。在AD 转换器内部有一个高阻抗斩波稳定比较器,一个带模拟开关树组的256 电阻分压器,以及一个逐次通近型寄存器。8 路的模拟开关的通断由地址锁存器和译码器控制,可以在8 个通道中任意访问一个单边的模拟信号。

三、硬件设计 四、软件设计#include<> #include""

#define uchar unsigned char #define uint unsigned int sbit OE = P2^7; sbit EOC=P2^6; sbit START=P2^5; sbit CLK=P2^4; sbit CS0=P2^0; sbit CS1=P2^1; sbit CS2=P2^2; sbit CS3=P2^3; uint adval,volt; uchar tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, 0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E}; void delayms(uint ms) {

51单片机温度采集系统设计需要说明的问题以及设计的心得体会

51单片机温度采集系统设计需要说明的问题以及设计的心得体会 篇一:单片机温度采集系统设计 摘要:本设计为基于单片机8 05l设计的实时温度采集仪。采用一个以单片机为核心的重小系统。访问系统有:单片机.显示器,键盘、串口通讯、模拟开关、A/D转换器等以及整个系统中所要需要的电源组成的一个系统,对于超过此限的温度数据将产生报警信号。 关键词:单片机温度采集 A/D转换器 引言: 近年来,随着大规模集成电路的发展,单片机继续朝快速,高性能方向发展,从位、8位单片机发展到16位,32位单片机。单片机主要用于控制,它的应用领域遍及各行各业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显其能。单片机在家用电器业中应用得十分广泛:例如全自动冼衣机、智能玩具;除了上述传统领域外,汽车、电子工业在国外也是单片机应用十分广泛的一个领域。它成本低、集成度高j功耗低、控制功能多、能灵活的组装成各种智能控制装置,由它构成的智能仪表解决了长期以来测量仪器中的误差的修正、线性处理等问题。 本文设计的就是利用805l单片机进行管理和控制的,具有能采集并显示温度,对于超出范围的温度发出蜂鸣声警

报的温度采集系统。 1 系统设计 采用Intel公司生产的805l单片机作为主控制器进行对采集到的信号处理再输送给八段数码显示。Intel公司生产的8051是一个低功耗,字长为8位的单片微型计算机,由中央处理器、片内128B RAM、片内4KBROM、两个16位的定时计数器、四个8位的I/O口(P 0、P l、P 2、P 3)、一个全双工的串行口、五个中断源以及时钟等组成。它具有体积小,重量轻,抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好。 本设计是以单片机为核心的最小温度采集系统。它主要是采用热敏传感器采集温度并进行信号处理。再经过A/D 转换电路转换成数字信号后,送给单片机进行信号处理与计算。计算的结果从显示台上显示出来。。 本设计中模块的功能如下: (1)温度采集电路:将被测温度量经过温度传感器转换为供给A/D转换的电量。 (2)A/D转换电路:是将电量转换成可供单片机识别接收的二进制数值。 (3)单片机:对接收到的二进制数值按照设计目的进行相应的处理。 (4)显示器:是将采集到的温度并经过单片机的处理完

单片机课程设计题目

1.电子秒表设计:设计一个4位LED数码显示“秒表”,显示时间为00.00~99.99秒,每0.01 秒自动加一。另设计一个“开始”按键和一个“复位”按键。(2人) 2.简易4位(0—9999)计算器(+、-、*、/、四种运算)设计:设计一个能实现0-9整数 加法运算的计算器,利用LCD显示。键盘包括0-9及“+、-、*、/”和“=”及“清除” 16个按键。(除法应保留足够的的小数,满足共4位的显示)要有错误显示Err。(2人) 3.频率数显表:设计一个能实现对脉冲频率测量显示的电路。输入频率范围(0-10k),显 示为xxx.xx,用两个指示灯指示显示数字的单位,Hz和KHz两档,根据输入频率自动切换显示档。(脉冲信号是由外部信号发生器提供)(2人) 4.信号灯控制系统:南北线有红黄绿三只信号灯,东西线有红黄绿三只信号灯。 要求:(闪烁3次,每次亮灭时间各1s)时序要求如下(原始状态) 设计一个递增键和一个递减键,用于调节功能键选定的方向的绿灯时间,时间范围(10s-50s),每次以0.5S为增量。(2人) 5.简易电子时钟:用4位LED数码管分别显示小时数分钟和秒数,两个按键,一个为功能 键,用于切换显示界面(两个显示界面,一个是小时分钟,一个是秒数)长按此键3S 进入当前界面的参数修改界面。另一个按键用于参数修改(参数递增或递减),长按此键3s退参数修改,时间要求用单片机自带的定时器得到。(2人) 6.智能电子钟(LCD显示):以A T89C51单片机为核心,制作一个LCD显示的智能电子 钟:(1) 计时:秒、分、时、天、周、月、年。(2) 闰年自动判别。(3) 五路定时输出,可任意关断(最大可到16路)。(4) 时间、月、日交替显示。(5) 自定任意时刻自动开/关屏。(6) 计时精度:误差≤1秒/月(具有微调设置)。(7) 键盘采用动态扫描方式查询。所有的查询、设置功能均由功能键K1、K2完成。采用时钟芯片DS1302进行制作 7.多路报警器设计。用AT89C51单片机设计报警系统,用16个开关模拟报警点,当有 开关闭合时,用P1.0产生方波信号驱动蜂鸣器作为报警信号,同时用2位数码管显示报警点(即是第几个开关)。(2人) 8.简易数字电压表设计。利用单片机AT89S51与AD设计一个数字电压表,能够测量0- 36V之间的直流电压值,用LCE显示(根据测量精度,自定显示的位数)。(2人) 9.波形发生器。三种信号:正弦波、方波、三角波。利用DA转换器设计一波形发生器,

51单片机红绿灯课程设计

1 电源提供方案 为使模块稳定工作,须有可靠电源。因此考虑了两种电源方案:方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。 方案二:采用单片机控制模块提供电源。改方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。综上所述,选择方案二。 2 显示界面方案 该系统要求完成倒计时功能。基于上述原因,我考虑了二种方案:方案一:采用数码管显示。这种方案只显示有限的符号和数码字符,简单,方便。方案二:采用点阵式LED 显示。这种方案虽然功能强大,并可方便的显示各种英文字符,汉字,图形等,但实现复杂,成本较高。 综上所述,选择方案一。 3 输入方案: 设计要求系统能调节灯亮时间,并可处理紧急情况,我研究了两种方案:方案一:采用8155扩展I/O 口及键盘,显示等。 该方案的优点是:使用灵活可编程,并且有RAM,及计数器。若用该方案,可提供较多I/O 口,但操作起来稍显复杂。 方案二:直接在I/O口线上接上按键开关。 由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O 口就可实现,且本身的计数器及RAM已经够用。

综上所述,选择方案二。 3.1单片机交通控制系统的通行方案设计 设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下图所示。说明:黑色表示亮,白色表示灭。交通状态从状态1开始变换,直至状态6然后循环至状态1,周而复始,即如图2.1所示: 图1 交通状态 本系统采用MSC-51系列单片机AT89C51作为中心器件来设计交通灯控制器。实现以下功能:

51单片机实验报告

51单片机实验报告

实验一 点亮流水灯 实验现象 Led灯交替亮,间隔大约10ms。实验代码 #include void Delay10ms(unsigned int c); void main() { while(1) { P0 = 0x00; Delay10ms(50); P0 = 0xff; Delay10ms(50); } }

void Delay10ms(unsigned int c) { unsigned char a, b; for (;c>0;c--) { for (b=38;b>0;b--) { for (a=130;a>0;a--); } } } 实验原理 While(1)表示一直循环。 循环体首先将P0的所有位都置于零,然后延时约50*10=500ms,接着P0位全置于1,于是LED全亮了。接着循环,直至关掉电源。延迟函数是通过多个for循环实现的。 实验2 流水灯(不运用库函数) 实验现象 起初led只有最右面的那一个不亮,半秒之后从右数第二个led

也不亮了,直到最后一个也熄灭,然后led除最后一个都亮,接着上述过程 #include #include void Delay10ms(unsigned int c); main() { unsigned char LED; LED = 0xfe; while (1) { P0 = LED; Delay10ms(50); LED = LED << 1; if (P0 == 0x00) { LED = 0xfe; } } } void Delay10ms(unsigned int c)

(完整word版)基于51单片机的温度控制系统设计

基于51单片机的水温自动控制系统 0 引言 在现代的各种工业生产中 ,很多地方都需要用到温度控制系统。而智能化的控制系统成为一种发展的趋势。本文所阐述的就是一种基于89C51单片机的温度控制系统。本温控系统可应用于温度范围30℃到96℃。 1 设计任务、要求和技术指标 1.1任务 设计并制作一水温自动控制系统,可以在一定范围(30℃到96℃)内自动调节温度,使水温保持在一定的范围(30℃到96℃)内。 1.2要求 (1)利用模拟温度传感器检测温度,要求检测电路尽可能简单。 (2)当液位低于某一值时,停止加热。 (3)用AD转换器把采集到的模拟温度值送入单片机。 (4)无竞争-冒险,无抖动。 1.3技术指标 (1)温度显示误差不超过1℃。 (2)温度显示范围为0℃—99℃。 (3)程序部分用PID算法实现温度自动控制。 (4)检测信号为电压信号。 2 方案分析与论证 2.1主控系统分析与论证 根据设计要求和所学的专业知识,采用AT89C51为本系统的核心控制器件。AT89C51是一种带4K字节闪存可编程可擦除只读存储器的低电压,高性能CMOS 8位微处理器。其引脚图如图1所示。 2.2显示系统分析与论证 显示模块主要用于显示时间,由于显示范围为0~99℃,因此可采用两个共阴的数码管作为显示元件。在显示驱动电路中拟订了两种设计方案: 方案一:采用静态显示的方案 采用三片移位寄存器74LS164作为显示电路,其优点在于占用主控系统的I/O口少,编程简单且静态显示的内容无闪烁,但电路消耗的电流较大。 方案二:采用动态显示的方案 由单片机的I/O口直接带数码管实现动态显示,占用资源少,动态控制节省了驱动芯片的成本,节省了电 ,但编程比较复杂,亮度不如静态的好。 由于对电路的功耗要求不大,因此就在尽量节省I/O口线的前提下选用方案一的静态显示。

单片机课程设计题目11级1

题目1 电子时钟(LCD显示) 设计要求 以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间: ●使用字符型LCD显示器显示当前时间。 ●显示格式为“时时:分分:秒秒”。 ●用4个功能键操作来设置当前时间,4个功能键接在P1.0~P1.3引 脚上。 功能键K1~K4功能如下。 ●K1—进入设置现在的时间。 ●K2—设置小时。 ●K3—设置分钟。 ●K4—确认完成设置。 程序执行后工作指示灯LED闪动,表示程序开始执行,LCD显示“00:00:00”,然后开始计时。 题目2 基于数字温度传感器的数字温度计 设计要求 利用数字温度传感器DS18B20与单片机结合来测量温度。利用数字温度传感器DS18B20测量温度信号,计算后在LED数码管上显示相应的温度值。其温度测量范围为?55℃~125℃,精确到0.5℃。所测量的温度采用数字显示,控制器使用单片机AT89C51,测温传感器使用DS18B20,用3位共阳极LED数码管以串口传送数据,实现温度显示。 题目3 十字路口交通灯控制 设计要求 设计一个十字路口交通灯控制器。用单片机控制LED模拟交通灯。东西

向通行时间为80s,南北向通行时间为60s,缓冲时间为3s。 本项目为典型的LED显示和中断定时电路。利用定时器T0产生每10ms 一次的中断,每100次中断为1s。对两个方向分别显示红、绿、黄灯,并显示相应的剩余时间。值得注意的是,A方向红灯时间=B方向绿灯时间+黄灯缓冲时间。 题目4 节日彩灯控制器的设计 设计要求 以单片机为核心,设计一个LED显示的节日彩灯控制器,P1.2~P1.5引脚上接有4个按键,4个按键的各自的功能如下: ●P1.2—开始键,按此键则灯开始流动(由上而下)。 ●P1.3—停止键,按此键则停止流动,所有灯为暗。 ●P1.4—上,按此键则灯由上向下流动。 ●P1.5—下,按此键则灯由下向上流动。 本题目本质上是由按键控制功能的流水灯,LED工作的方式通过键盘的扫描实现。其中的LED采取共阳极接法,通过依次向连接LED的I/O口送出低电平,即可实现所要求的功能。 题目5 数字音乐盒的设计 设计要求 以单片机为核心,设计一个数字音乐盒: 利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲(最少3首乐曲,每首不少于30s)。采用LCD显示信息。开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称)。可通过功能键选择乐曲、暂停、播放。 题目6 单片机控制步进电机 设计要求

C51单片机实验报告

实验报告册 课程名称:单片机原理与应用B 指导老师:xxx 班级:xxx 姓名:xxx 学号:xxx 学期:20 —20 学年第学期南京农业大学工学院教务处印

实验目录实验一:指示灯/开关控制器 实验二:指示灯循环控制 实验三:指示灯/数码管的中断控制 实验四:电子秒表显示器 实验五:双机通信

姓名:学号:班级:成绩: 实验名称:指示灯/开关控制器 一、实验目的: 学习51单片机I/O口基本输入/输出功能,掌握C语言的编程与调试方法。 二、实验原理: 实验电路原理图如图所示,图中输入电路由外接在P1口的8只拨动开关组成;输入电路由外接在P2口的8只低电平驱动的发光二极管组成。此外,还包括时钟电路、复位电路和片选电路。 在编程软件的配合下,要求实现如下指示灯/开关控制功能:程序启动后,8只发光二极管先整体闪烁3次(即亮→暗→亮→暗→亮→暗,间隔时间以肉眼可观察到为准),然后根据开关状态控制对应发光二极管的亮灯状态,即开关闭合相应灯亮,开关断开相应灯灭,直至停止程序运行。 三、软件编程原理为; (1)8只发光二极管整体闪烁3次

亮灯:向P2口送入数值0; 灭灯:向P2口送入数值0FFH; 闪烁3次:循环3次; 闪烁快慢:由软件延时时间决定。 (2)根据开关状态控制灯亮或灯灭 开关控制灯:将P1口(即开关状态)内容送入P2口;无限持续:无条件循环。 四、实验结果图: 灯泡闪烁:

按下按键1、3、5、7:

经检验,其余按键按下时亦符合题目要求。 五、实验程序: #include"reg51.h" void delay(unsigned char time) { unsigned int j=15000; for(;time>0;time--) for(;j>0;j--); } void main(){ key,char i; for(i=0;i<3;i++) { P2=0x00; delay(500); P2=0xff; delay(500) } while(1) { P2=P3;

单片机测体温【课程设计报告】

沈阳航空航天大学 综合课程设计基于单片机的数字温度计设计

课程设计任务书 课程设计的内容及要求: 一、设计说明 1.以单片机芯片为核心,设计一个简易的数字温度计。 2.能够实时测量某一点的环境温度,并具有超限报警功能。 3.可以根据需要设定上下限报警温度,超限后报警提示。 二、设计要求 1. 选择AT89C51单片机为核心器件; 2. 采用LED作为显示模块; 3. 温度传感器采用DS18B20。 三、实验要求 1.根据技术指标制定实验方案;设计具体电路。 2.进行程序仿真和软硬件联调。 四、推荐参考资料 [1] 陈小忠.单片机接口技术实用子程序.北京:人民邮电出版社,2005 [2] 杨恢先,黄辉先. 单片机原理及应用.长沙:国防科技大学出版社,2003 [3] 徐敏.基于AT89C51单片机的数字温度计设计.数字技术与应用,2009.12 [4] 胡天明.基于DS18B20的数字温度计设计及其应用.黑龙江工程学院学报,2008.2 五、按照要求撰写课程设计报告 成绩评定表

一、引言 随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域已经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。 二、设计内容及性能指标 本设计主要是介绍了单片机控制下的温度检测系统,详细介绍了其硬件和软件设计,并对其各功能模块做了详细介绍,其主要功能和指标如下: ●利用温度传感器(DS18B20)测量某一点环境温度 ●测量范围为-50℃~+11℃,精度为±0.5℃ ●用LED进行实际温度值显示 ●按键设定温度报警阀值 三、设计方案 采用数字温度芯片DS18B20 测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。在0—100 摄氏度时,最大线形偏差小于 1 摄氏度。DS18B20 的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89S51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。方案的总体设计框图,如图1所示: 图1 总体设计框图

单片机原理与应用课程设计题目2012

《单片机原理与应用》课程设计题目 1.电子秒表 本设计以MCS-51系列单片机为核心,采用常用电子器件设计,一个电源开关,两个按键,三位数码管显示,打开电源开关后显示8,每秒循环左移一位,即□□8—>□8□—>8□□—>□□8—>…,按A键开始计时,实时显示所经历的时间,按B键停止计时并显示从开始到当前时刻的时间,要求精确到0.1秒,量程为0~99.9秒。 要求按键输入采用中断方式,按键A接INT0,按键B接INT1。 2.智能温控器 本设计以MCS-51系列单片机为核心,采用常用电子器件设计,一个电源开关,两个控制温度设定按键(增大/ 减小),四位数码管分别显示设定温度和实际温度,量程为0~99度,打开电源开关后设定温度值初始化为26度。 按键输入采用中断方式,两个按键分别接INT0和INT1. 采用温度传感器进行温度测量,模数转换采用ADC0809. 单片机根据设定温度S和实测温度P控制继电器R的动作,死区设为2度:当P<=S-1时,控制R接通电加热回路; 当P>S+1时,控制R断开电加热回路; 当S-1

51单片机课程设计 AD转换

课程设计报告 华中师范大学武汉传媒学院 传媒技术学院 电子信息工程2011 仅发布百度文库,版权所有.

AD转换 要求: A.使用单片机实现AD转换 B.可以实现一位AD转换,并显示(保留4位数字)设计框图:

方案设计: AD转换时单片机设计比较重要的实验。模数转换芯片种类多,可以满足不同用途和不同精度功耗等。 外部模拟量选择的是简单的电位器,通过控制电位器来改变模拟电压。显示电压值采用一般的四位七段数码管。而AD转换芯片采用使用最广的ADC0809 ADC0809芯片有28条引脚,采用双列直插式封装,如图所示。 下面说明各引脚功能: ?IN0~IN7:8路模拟量输入端。 ?2-1~2-8:8位数字量输出端。 ?ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。?ALE:地址锁存允许信号,输入端,高电平有效。 ?START: A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。 ?EOC: A/D转换结束信号,输出端,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。 ?OE:数据输出允许信号,输入端,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 ?CLK:时钟脉冲输入端。要求时钟频率不高于640KHz。

?REF(+)、REF(-):基准电压。 ?Vcc:电源,单一+5V。 ?GND:地 工作原理: 首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC 变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。 本次实验采用中断方式 把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。 不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送。 首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。 采用中断可以减轻单片机负担。并可以使程序有更多的空间作二次开发。

相关文档
相关文档 最新文档