基于51单片机系统设计

基于51单片机系统设计
基于51单片机系统设计

基于51单片机的多路温度采集控制系统设计

言:

随着现代信息技术的飞速发展,温度测量控制系统在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集控制系统的设计与研究有十分重要的意义。

本次设计的目的在于学习基于51单片机的多路温度采集控制系统设计的基本流程。本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。单片机数据处理之后,发出控制信息改变报警和控制执行模块的状态,同时将当前温度信息发送到LED进行显示。本系统可以实现多路温度信号采集与显示,可以使用按键来设置温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和继电器的目的。

我所采用的控制芯片为AT89c51,此芯片功能较为强大,能够满足设计要求。通过对电路的设计,对芯片的外围扩展,来达到对某一车间温度的控制和调节功能。

关键词:温度多路温度采集驱动电路

正文:

1、温度控制器电路设计

本电路由89C51单片机温度传感器、模数转换器ADC0809、窜入并出移位寄存器74LS164、数码管、和LED显示电路等组成。由热敏电阻温度传感器测量环境温度,将其电压值送入ADC0809的IN0通道进行模数转换,转换所得的数字量由数据端D7-D0输出到89C51的P0口,经软件处理后将测量的温度值经单片机的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灭。外设电路工作后,温度下降,当温度降到正常温度后,LED1亮、LED2亮、LED3灭、LED4灭。温度继续下降,当温度降到下限温度值时,p1.0信号停止输出,外设电路停止工作,同时LED1灭、LED2灭、LED3灭、LED4亮。当外设电路停止工作后,温度开始上升,接着进行下一工作周期。

2、温度控制器程序设计

本软件系统有1个主程序,6个子程序组成。6个子程序为定时/计数器0中断服务程序、温度采集及模数转换子程序ADCON、温度计算子程序CALCU、驱动控制子程序DRVCON、十进制转换子程序METRICCON 及数码管显示子程序DISP。

(1)主程序

主程序进行系统初始化操作,主要是进行定时/计数器的初始化。

(2)定时/计数器0中断服务程序

应用定时计数器0中断的目的是进行定时采样,消除数码管温度显示的闪烁现象,用户可以根据实际环境温度变化率进行采样时间调整。每当定时时间到,调用温度采集机模数转换子程序ADCON,得到一个温度样本,并将其转换为数字量,传送给89C51单片机,然后在调用温度计算子程序CALCU,驱动控制子程序DRVCON,十进制转换子程序MERTRICCON,温度数码显示子程序DISP。

(3)温度采集及模数转换子程序ADCON

该子程序进行温度采样并将其转换为8位数字量传送给89C51的P0口。采样得到的温度数据存放在片内RAM的20H单元中。

(4)温度计算子程序CALCU

根据热敏电阻的分度值和电路参数计算出出一张温度表,存放在DATATAB数据表中,由于篇幅关系,本程序只给出0-49℃的温度数据。一个温度有两个字节组成,前一字节为温度值,后一字节为该温度所对应的热敏电阻上的电压的数字量。根据采样值,通过查表及比较的方法计算出当前的温度值,并将其存入片内RAM的21H单元。采用查表法计算温度值时为了克服热敏电阻的阻值——温度特性曲线的非线性,提高测量精度。

(5)驱动控制子程序DRVCON

该子程序调节温度,当温度高于上限温度时(本程序设为30℃),P1.0输出驱动控制信号,驱动外设工作降温;当温度下降到下限温度时(本程序设为25℃),P1.0停止输出,温度上升,周而复始;工作状态有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所示。

开始

在0000H处放置一条长跳转

指令

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

调用温度计算子程序

CALCU

调用驱动控制子程序

DRVCON

调用十进制转换子程序

METRICCON

调用数码管显示子程序DISP

T0重装初值

中断返回

图1-2 T0中断服务程序流程图

温度采样及模数

转换子程序

将ADC0809

启动A/D转换

转换结束否

读取转换数据

将转换数据存于片内

RAM20H单元

返回

图1-3 温度采样及模数转换子程序流程图

图1-4 温度计算子程序流程图

3、具体内容

温度数据表索引值寄存器R2赋初值01H

温度数据表首地址送

DPTR

查表取出某一温度的

电压数据

取出表中前一温

度值 将该温度值存于

21H 单元 查表取出该温度

将该温度值存于

21H 单元

索引值加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 1

D0D1D2D3D4D5D6D7A B C

OE ALE

SC EOC CLK

VR(+)VR(-)

IN0IN1IN2IN3IN4IN5IN6IN7

IC2

ADC0809

3938373635343332212223242526272817

1612

13

30

171415818192021252423

9226710

26272812345

1216

≥1≥1IC3A74LS02 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 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 11 12 13

510912467

510912467

470x21

1

2

1

2

12

d p g f

e d c b a

74LS164

83

IC8

1

2

9

图1-5 温度控制电路原理图

(2)温度数据表

在图1-5所示的电路中,热敏电阻的连接如图1-6所示。

图1-6 热敏电阻的连接

本设计所使用的热敏电阻的分度表及ADC0809转换后的电压数字量见附表1-1所示 转换后的电压数字量的计算方法为:

热敏电阻与R8并并联后的总电阻:R=(Rt*R8)/(Rt+R8) R 与R7串联电路中R 的分压值(即输入ADC0809的模拟量): V=5R/(R+R7)

5V 被分成256等分(8位量化),则每份的电压值:△=5/256 输入的模拟量电压经8位量化后的数字量:D=V/△

例如,热敏电阻在温度为20℃时的阻值为62.254千欧,则根据上述方法计算出的电压数字量为169,注意在计算中R7用实测值19.6千欧代入进入计算。

在实际做该电路时,可根据自己所选择的热敏电阻的分度表计相关电路参数,按上述方法计算出ADC0809转换后的各温度对应的电压数字量。

程序中的温度数据表构成:1个温度数据占2个字节,前一字为温度值,后一个字节为该温度下热敏电阻上的模拟电压转换成德8位数字量。如在20℃时,热敏电阻对应的电压数字量为169,则20,169组成一个温度为20℃的温度数据。按这样方法组成的0-49℃的温度数据表如下: DATA TAB :DB 0,194,1 ,193 ,2 ,192, 3, 191,4,190 DB 5,189,6, 188, 7 ,187, 8, 186,9,185 DB10,184,11,182,12,181,13,180,14,178

D0

D1 VR (+) D2 D3 D4

D5 VR (-) D6 D7

IC2 A B

C ADC0809

IN0 OE IN1 ALE IN2 SC IN3 IN4 EOC IN5 IN6 CLK IN7

17 14 15 8 18 19 20 21 25 24 23 9 22 6 7 10

12

16

26 27 28

1 2 3 4 5

Vcc

R7 20k

RT R9

R8 100k

DB 15,177,16,175,17,174,18,173,19,171

DB 20,169,21,168,22,166,23,165,24,163

DB 25,161,26,159,27,158,28,,156,29,154

DB 30,152,31,150,32,149,33,147,34,145

DB 35,143,36,141,37,139,38,147,39,135

DB 40,133,41,131,42,129,43,127,44,125

DB 45,123,46,121,47,118,48,116,49,114

在温度采样机模数转换子程序中,采样得到的当前温度下热敏电阻上的数字电压存于20H单元,在温度计算子程序中通过查表的方法从表中的第一个温度(0℃)下热敏电阻上的数字电压开始,依次取出各温度下热敏电阻上的十字电压,与与存于20H单元的当前温度下热敏电阻上的的数字电压比较,如小于当前温度的数字电压,则在取出下一温度的数字电压与当前温度的数字电压比较;直到大于或等于当前的温度数字电压,比较结束。如大于则取出前一温度作为当前温度存于21H单元,如等于则将该温度作为但前温度存于20H单元。这种温度计算方法,避免了温度特性曲线的非线性对温度计算精确性的影响,计算出的温度非常精确。

(3)温度控制程序设计

在本设计中,晶体振荡器频率为6MHz,T0定时时间为100ms,T0工作于方式1,则T0的初值为:X=(最大计数值M―定时时间t/及其周期Tm)=216 -100ms/2us=15536=3CB0H

按以上任务分析设计出的源程序如下:

ORG 0000H;跳转到主程序

LJMP MAIN;

ORG 000BH;

LJMP T0INT;跳转到T0中断服务程序;

主程序

ORG 0100H;

MAIN:MOV R1,#10; T0 100马上定时溢出计数寄存器R1赋初值10

MOV P1,#0FFH; 所有指示灯灭

MOV SP,#60H; 堆栈指针赋初值60H

MOV TMOD,#01H; T0定时、方式1、软启动

MOV TL0,#0B0H; T0赋初值

MOV TH0,#3CH;

MOV IE,#82H; 开放T0中断

SETB TR0; 启动T0

SJMP $;

定时/计数器0中断服务程序

ORG 0200H;

T0INT:DJNZ R1,NEXT; T0溢出10次,即1s进一次采样处理

LCALL ADCON; 调用温度采样及模数转换子程序

LCALL CALCU; 调用温度计算子程序

LCALL DRVCON; 调用驱动控制子程序

LCALL METRICCON; 调用十进制转换子程序

LCALL DISP; 调用数码管显示子程序

MOV R1,#10; R1重赋值10

NEXT:MOV TL0,#0B0H; T0重装初值

MOV TH0,#3CH;

RETI;

温度采样及模数转换子程序

ORG 0300H;

ADCON:MOV DPTR,#0F0FFH; 选通ADC0809通道0

MOV A,#00H;

MOVX @DPTR,A; 启动A/D转换

HERE:JNB P3.3,HERE; 判断数据转换是否结束,没结束则等待

MOVX A,@DPTR; 读取转换后的数据

MOV 20H,A; 将从ADC0809中读取的当前温度下热敏电阻上的电压值存于20H单元RET ;

温度计算子程序

ORG 0400H;

CALCU:MOV R2,#01H; R2为数据表的索引值寄存器

MOV DPTR,#DA TATAB; 温度数据表首地址送DPTR

NEXT1:MOV A,R2; 索引值送A

MOVC A,@A+DPTR; 查表取出某一温度的数字电压值

CJNE A,20H,K1; 与当前温度的数字电压值比较

DEC R2; 等于当前温度的数字电压值,则查表取出该温度值作为当前温度值MOV A,R2;

MOVC A,@A+DPTR;

LJMP K3;

K1:JNC K2; 大于当前温度的数字电压值,则继续取出下一温度的数字电压进行比较DEC R2; 小于当前温度的数字电压值,则查表取出前一个温度值作为当前温度值DEC R2

DEC R2

MOV A,R2;

MOVC A,@A+DPTR;

LJMP K3;

K2:INC R2;

INC R2;

LJMP NEXT1;

K3:MOV 21H,A; 将当前温度值存于21H单元

RET;

DATA TAB;DB 0,194,1,193,2,192,3,191,4,190;温度数据表

DB 5,189,6,188,7,187,8,186,9,185

DB 10,184,11,182,12,181,13,180,14,178

DB 15,177,16,175,17,174,18,173,19,171

DB 20,169,21,168,22,166,23,165,24,163

DB 25,161,26,159,27,158,28,156,29,154

DB 30,152,31,150,32,149,33,147,34,145

DB 35,143,36,141,37,139,38,137,39,135

DB 40,133,41,131,42,129,43,127,44,125

DB 45,123,46,121,47,118,48,116,49,114

驱动控制子程序

ORG 0500H;

DRVCON:MOV A,21H; 取出当前温度值

CJNE A,#30,J1; 与上限温度值(30℃)比较

LJMP GO;

J1:JNC DRV1; 若高于上限温度,则输出驱动信号,同时高于上限温度指示灯点亮

CJNE A,#25,J2; 与显现温度(25℃)比较

LJMP GO;

J2:JC DRV2; 弱低于下限温度,则驱动信号停止输出,同时点亮低于下限温度的指示灯LJMP GO;

DRV1:CLR P1.0;

SETB P1.1;

CLR P1.2;

SETB P1.3;

LJMP OVER;

DRV2:SETB P1.0

SETB P1.1;

CLR P1.2;

SETB P1.3;

LJMP OVER;

DRV2:SETB P1.0;

SETB P1.1;

SETB P1.1;

SETB P1.2;

CLR P1.3;

LJMP OVER;

GO:CLR P1.1; 在下线温度(25℃)至上限温度(30℃)之间,则驱动信号保持前面状态,同时温度正常指示灯点亮

SETB P1.2;

SETB P1.3;

OVER:RET;

;十进制转换子程序

ORG 0600H;

METRICCON:MOV R3,#00H; 将存于21H单元中的当前温度转换为BCD码

MOV R4,#00H; 百位存于32H单元,十位存于31H单元,个位存于30H单元

MOV A,21H;

CLR C;

W1:SUBB A,#100;

JC W2;

INC R4;

AJMP W1;

W2:ADD A,#100;

CLR C;

W3:SUBB A,#10;

JC W4;

INC R3;

AJMP W3;

W4:ADD A,#10;

MOV 30H,A;

MOV 31H,R3;

MOV 32H,R4;

RET;

;数码管显示子程序

ORG 0700H;

DISP:MOV R5,#03H; 将存于32H单元、31H单元、30H单元中的温度BCD码查表转换为七段码MOV R0,#30H; 通过串行ORG 0100H;

MAIN:MOV R1,#10; T0 100马上定时溢出计数寄存器R1赋初值10

MOV P1,#0FFH; 所有指示灯灭

MOV SP,#60H; 堆栈指针赋初值60H

MOV TMOD,#01H; T0定时、方式1、软启动

MOV TL0,#0B0H; T0赋初值

MOV TH0,#3CH;

MOV IE,#82H; 开放T0中断

SETB TR0; 启动T0

SJMP $;

定时/计数器0中断服务程序

ORG 0200H;

T0INT:DJNZ R1,NEXT; T0溢出10次,即1s进一次采样处理

LCALL ADCON; 调用温度采样及模数转换子程序

LCALL CALCU; 调用温度计算子程序

LCALL DRVCON; 调用驱动控制子程序

LCALL METRICCON; 调用十进制转换子程序

LCALL DISP; 调用数码管显示子程序

MOV R1,#10; R1重赋值10

NEXT:MOV TL0,#0B0H; T0重装初值

MOV TH0,#3CH;

RETI;

温度采样及模数转换子程序

ORG 0300H;

ADCON:MOV DPTR,#0F0FFH; 选通ADC0809通道0

MOV A,#00H;

MOVX @DPTR,A; 启动A/D转换

HERE:JNB P3.3,HERE; 判断数据转换是否结束,没结束则等待

MOVX A,@DPTR; 读取转换后的数据

MOV 20H,A; 将从ADC0809中读取的当前温度下热敏电阻上的电压值存于20H单元RET ;

温度计算子程序

ORG 0400H;

CALCU:MOV R2,#01H; R2为数据表的索引值寄存器

MOV DPTR,#DA TATAB; 温度数据表首地址送DPTR

NEXT1:MOV A,R2; 索引值送A

MOVC A,@A+DPTR; 查表取出某一温度的数字电压值

CJNE A,20H,K1; 与当前温度的数字电压值比较

DEC R2; 等于当前温度的数字电压值,则查表取出该温度值作为当前温度值MOV A,R2;

MOVC A,@A+DPTR;

LJMP K3;

K1:JNC K2; 大于当前温度的数字电压值,则继续取出下一温度的数字电压进行比较DEC R2; 小于当前温度的数字电压值,则查表取出前一个温度值作为当前温度值DEC R2

DEC R2

MOV A,R2;

MOVC A,@A+DPTR;

LJMP K3;

K2:INC R2;

INC R2;

LJMP NEXT1;

K3:MOV 21H,A; 将当前温度值存于21H单元

RET;

DATA TAB;DB 0,194,1,193,2,192,3,191,4,190;温度数据表

DB 5,189,6,188,7,187,8,186,9,185

DB 10,184,11,182,12,181,13,180,14,178

DB 15,177,16,175,17,174,18,173,19,171

DB 20,169,21,168,22,166,23,165,24,163

DB 25,161,26,159,27,158,28,156,29,154

DB 30,152,31,150,32,149,33,147,34,145

DB 35,143,36,141,37,139,38,137,39,135

DB 40,133,41,131,42,129,43,127,44,125

DB 45,123,46,121,47,118,48,116,49,114

驱动控制子程序

ORG 0500H;

DRVCON:MOV A,21H; 取出当前温度值

CJNE A,#30,J1; 与上限温度值(30℃)比较

LJMP GO;

J1:JNC DRV1; 若高于上限温度,则输出驱动信号,同时高于上限温度指示灯点亮CJNE A,#25,J2; 与显现温度(25℃)比较

J2:JC DRV2; 弱低于下限温度,则驱动信号停止输出,同时点亮低于下限温度的指示灯LJMP GO;

DRV1:CLR P1.0;

SETB P1.1;

CLR P1.2;

SETB P1.3;

LJMP OVER;

DRV2:SETB P1.0

SETB P1.1;

CLR P1.2;

SETB P1.3;

LJMP OVER;

DRV2:SETB P1.0;

SETB P1.1;

SETB P1.1;

SETB P1.2;

CLR P1.3;

LJMP OVER;

GO:CLR P1.1; 在下线温度(25℃)至上限温度(30℃)之间,则驱动信号保持前面状态,同时温度正常指示灯点亮

SETB P1.2;

SETB P1.3;

OVER:RET;

;十进制转换子程序

ORG 0600H;

METRICCON:MOV R3,#00H; 将存于21H单元中的当前温度转换为BCD码

MOV R4,#00H; 百位存于32H单元,十位存于31H单元,个位存于30H单元

MOV A,21H;

CLR C;

W1:SUBB A,#100;

JC W2;

INC R4;

AJMP W1;

W2:ADD A,#100;

CLR C;

W3:SUBB A,#10;

JC W4;

INC R3;

AJMP W3;

W4:ADD A,#10;

MOV 30H,A;

MOV 31H,R3;

RET;

;数码管显示子程序

ORG 0700H;

DISP:MOV R5,#03H; 将存于32H单元、31H单元、30H单元中的温度BCD码查表转换为七段码MOV R0,#30H; 通过串行通信方式0输出驱动3个数码管,显示当前温度

MOV DPTR,#TAB;

LOOP:MOV A,@R0;

MOVC A,@A+DPTR;

MOV SBUF,A;

WAIT:JNB T1,WAIT;

CLR T1;

INC R0;

DJNZ R5,LOOP;

RET;

TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;通信方式0输出驱动3个数码管,显示当前温度MOV DPTR,#TAB;

LOOP:MOV A,@R0;

MOVC A,@A+DPTR;

MOV SBUF,A;

WAIT:JNB T1,WAIT;

CLR T1;

INC R0;

DJNZ R5,LOOP;

RET;

TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;七段码数据表

附表:1-1

热敏电阻分度表及经ADC0809转换后的电压数字量

温度(℃)热敏电阻阻值(千欧)转换后的电压数字量

0 161.608 194

1 153.6308 193

2 146.083

3 192

3 138.9435 191

4 132.01901 190

5 125.8025 189

6 119.7608 188

7 114.046 187

8 108.6397 186

9 103.5243 185

10 98.6833 184

11 94.1006 182

12 89.7613 181

13 85.6511 180

14 81.7564 178

15 78.0646 177

16 74.5637 175

17 71.2425 174

18 68.0903 173

19 65.0972 171

20 62.254 169

21 59.5519 168

22 56.9829 166

23 54.5392 165

24 52.2138 16

25 50 161

26 47.8916 159

27 45.8829 158

28 43.9683 156

29 42.1428 154

30 40.4017 152

31 38.7405 150

32 37.1552 149

33 35.6418 147

34 34.1967 145

35 32.8164 143

36 31.4979 141

37 30.238 139

38 29.0339 137

39 27.883 135

40 26.7828 133

41 25.7308 131

42 24.725 129

43 23.763 127

44 22.843 125

45 21.9629 123

46 21.1211 121

47 20.3158 118

48 19.5453 116

49 18.8082 114

50 18.1028 112

51 17.4241 110

52 16.7787 108

53 16.1643 104

54 15.5788 102

55 15.0199 100

56 14.4861 99

57 13.9754 97

58 13.4866 95

59 13.018 93

60 12.5686 91

基于51单片机系统设计

基于51单片机的多路温度采集控制系统设计 言: 随着现代信息技术的飞速发展,温度测量控制系统在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集控制系统的设计与研究有十分重要的意义。 本次设计的目的在于学习基于51单片机的多路温度采集控制系统设计的基本流程。本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。单片机数据处理之后,发出控制信息改变报警和控制执行模块的状态,同时将当前温度信息发送到LED进行显示。本系统可以实现多路温度信号采集与显示,可以使用按键来设置温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和继电器的目的。 我所采用的控制芯片为AT89c51,此芯片功能较为强大,能够满足设计要求。通过对电路的设计,对芯片的外围扩展,来达到对某一车间温度的控制和调节功能。 关键词:温度多路温度采集驱动电路 正文: 1、温度控制器电路设计 本电路由89C51单片机温度传感器、模数转换器ADC0809、窜入并出移位寄存器74LS164、数码管、和LED显示电路等组成。由热敏电阻温度传感器测量环境温度,将其电压值送入ADC0809的IN0通道进行模数转换,转换所得的数字量由数据端D7-D0输出到89C51的P0口,经软件处理后将测量的温度值经单片机的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灭。外设电路工作后,温度下降,当温度降到正常温度后,LED1亮、LED2亮、LED3灭、LED4灭。温度继续下降,当温度降到下限温度值时,p1.0信号停止输出,外设电路停止工作,同时LED1灭、LED2灭、LED3灭、LED4亮。当外设电路停止工作后,温度开始上升,接着进行下一工作周期。 2、温度控制器程序设计 本软件系统有1个主程序,6个子程序组成。6个子程序为定时/计数器0中断服务程序、温度采集及模数转换子程序ADCON、温度计算子程序CALCU、驱动控制子程序DRVCON、十进制转换子程序METRICCON 及数码管显示子程序DISP。 (1)主程序 主程序进行系统初始化操作,主要是进行定时/计数器的初始化。 (2)定时/计数器0中断服务程序 应用定时计数器0中断的目的是进行定时采样,消除数码管温度显示的闪烁现象,用户可以根据实际环境温度变化率进行采样时间调整。每当定时时间到,调用温度采集机模数转换子程序ADCON,得到一个温度样本,并将其转换为数字量,传送给89C51单片机,然后在调用温度计算子程序CALCU,驱动控制子程序DRVCON,十进制转换子程序MERTRICCON,温度数码显示子程序DISP。

基于-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单片机课程设计

基于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提示。

基于51单片机的数字频率计_毕业设计

毕业论文声明 本人郑重声明: 1.此毕业论文是本人在指导教师指导下独立进行研究取得的成果。除了特别加以标注地方外,本文不包含他人或其它机构已经发表或撰写过的研究成果。对本文研究做出重要贡献的个人与集体均已在文中作了明确标明。本人完全意识到本声明的法律结果由本人承担。 2.本人完全了解学校、学院有关保留、使用学位论文的规定,同意学校与学院保留并向国家有关部门或机构送交此论文的复印件和电子版,允许此文被查阅和借阅。本人授权大学学院可以将此文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本文。 3.若在大学学院毕业论文审查小组复审中,发现本文有抄袭,一切后果均由本人承担,与毕业论文指导老师无关。 4.本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。论文中凡引用他人已经发布或未发表的成果、数据、观点等,均已明确注明出处。论文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究成果做出重要贡献的个人和集体,均已在论文中已明确的方式标明。 学位论文作者(签名): 年月

关于毕业论文使用授权的声明 本人在指导老师的指导下所完成的论文及相关的资料(包括图纸、实验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属华北电力大学。本人完全了解大学有关保存,使用毕业论文的规定。同意学校保存或向国家有关部门或机构送交论文的纸质版或电子版,允许论文被查阅或借阅。本人授权大学可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存或编汇本毕业论文。如果发表相关成果,一定征得指导教师同意,且第一署名单位为大学。本人毕业后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为大学。本人完全了解大学关于收集、保存、使用学位论文的规定,同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存或汇编本学位论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入学校有关数据 库和收录到《中国学位论文全文数据库》进行信息服务。在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。 论文作者签名:日期: 指导教师签名:日期:

(完整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口线的前提下选用方案一的静态显示。

基于51单片机简易电子琴的课程设计

基于51单片机简易电子琴 1 课题背景 单片微型计算机室大规模集成电路技术发展的产物,属于第四代电子计算机它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。他的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘扬声器等模块组成核心主控制模块,在主控模块上设有8个按键,和一个复位按键。 主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴硬件的组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏要表达的音符。并且分别从原理图,主要芯片,个模块原理及各莫奎的程序的调试来详细阐述。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,构成我们想演奏的那首曲目。当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系编写正确就可以达到我们想要的曲目。 2 任务要求与总体设计方案 2.1 设计任务与要求 利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出7个不同的音调,而且有一个按键可以自动播放歌曲,要求按键按下时发声,松开延时一小段时间,中间再按别的键则发另外一音调的声音,当系统扫描到键盘按下,则快速检测出是哪一个按键被按下,然后单片机的定时器启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。如果在前一个按下的键发声的同时有另一个按键被按下,则启动中断系统。前面的发音停止,转到后按的键的发音程序。发出后按的键的音调。 2.2 设计方案 2.2.1 播放模块 播放模块是由喇叭构成,它几乎不存在噪声,音响效果较好,而且由于所需驱动功率较小,且价格低廉,所以,被广泛应用。 2.2.2 按键控制模块

基于51单片机的温度控制系统的设计

基于单片机的温度控制系统设计 1.设计要求 要求设计一个温度测量系统,在超过限制值的时候能进行声光报警。具体设计要求如下: ①数码管或液晶显示屏显示室内当前的温度; ②在不超过最高温度的情况下,能够通过按键设置想要的温度并显示;设有四个按键,分别是设置键、加1键、减1键和启动/复位键; ③DS18B20温度采集; ④超过设置值的±5℃时发出超限报警,采用声光报警,上限报警用红灯指示,下限报警用黄灯指示,正常用绿灯指示。 2.方案论证 根据设计要求,本次设计是基于单片机的课程设计,由于实现功能比较简单,我们学习中接触到的51系列单片机完全可以实现上述功能,因此可以选用AT89C51单片机。温度采集直接可以用设计要求中所要求的DS18B20。报警和指示模块中,可以选用3种不同颜色的LED灯作为指示灯,报警鸣笛采用蜂鸣器。显示模块有两种方案可供选择。 方案一:使用LED数码管显示采集温度和设定温度; 方案二:使用LCD液晶显示屏来显示采集温度和设定温度。 LED数码管结构简单,使用方便,但在使用时,若用动态显示则需要不断更改位选和段选信号,且显示时数码管不断闪动,使人眼容易疲劳;若采用静态显示则又需要更多硬件支持。LCD显示屏可识别性较好,背光亮度可调,而且比LED 数码管显示更多字符,但是编程要求比LED数码管要高。综合考虑之后,我选用了LCD显示屏作为温度显示器件,由于显示字符多,在进行上下限警戒值设定时同样可以采集并显示当前温度,可以直观的看到实际温度与警戒温度的对比。LCD 显示模块可以选用RT1602C。

3.硬件设计 根据设计要求,硬件系统主要包含6个部分,即单片机时钟电路、复位电路、键盘接口模块、温度采集模块、LCD 显示模块、报警与指示模块。其相互联系如下图1所示: 图1 硬件电路设计框图 单片机时钟电路 形成单片机时钟信号的方式有内部时钟方式和外部时钟方式。本次设计采用内部时钟方式,如图2所示。 单片机内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别为此放大器的输入端和输出端,其频率范围为~12MHz ,经由片外晶体振荡器或陶瓷振荡器与两个匹配电容一 起形成了一个自激振荡电路,为单片机提供时钟源。 复位电路 复位是单片机的初始化操作,其作用是使CPU 和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作,以防止电源系统不稳定造成CPU 工作不正常。在系统中,有时会出现工作不正常的情况,为了从异常状态中恢复,同时也为了系统调试方便,需要设计一个复位电路。 单片机的复位电路有上电复位和按键复位两种形式,因为本次设计要求需要有启动/复位键,因此本次设计采用按键复位,如图3。复位电路主要完成系统 图2 单片机内部时钟方式电路 图3 单片机按键复位电路

基于51单片机的电子琴设计课程设计

目录 前言 (2) 第1章基于51单片机的电子琴设计 (3) 1.1 电子琴的设计要求 (3) 1.2 电子琴设计所用设备及软件 (3) 1.3 总体设计方案 (3) 第2章系统硬件设计 (5) 2.1 琴键控制电路 (5) 2.2 音频功放电路 (6) 2.3 时钟-复位电路 (6) 2.4 LED显示电路 (6) 2.5 整体电路 (6) 第3章电子琴系统软件设计 (7) 3.1 系统硬件接口定义 (7) 3.2 主函数 (8) 3.2.1 主函数程序 (8) 3.3 按键扫描及LED显示函数 (9) 3.3.1 键盘去抖及LED显示子程序 (10) 3.4 中断函数 (11) 3.4.1 中断程序 (12) 第4章电子琴和调试 (12) 4.1 调试工具 (12) 4.2 调试结果 (13) 4.3 电子琴设计中的问题及解决方法 (14) 第5章电子琴设计总结 (15) 参考文献 (16) 附录 (17)

前言 音乐教育是学校美育的主要途径和最重要内容,它在陶冶情操、提高素养、开发智力,特别是在培养学生创新精神和实践能力方面发挥着独特的作用。近年来,我国音乐教育在理论与实践上都取得了有目共睹的成绩,探索并形成了具有中国特色的、较为完整的音乐教育教学体系。但我国音乐教育的改革力度离素质教育发展的要求还存在一定距离。如今,电子琴作为电子时代的新产物以其独特的功能和巨大的兼容性被人们广泛的接受和推崇。而在课堂教学方面,它拥有其它乐器无法比拟的两个瞬间:瞬间多元素思维的特殊的弹奏方法;瞬间多声部(包括多音色)展示的乐队音响效果的特点。结合电子琴自身强大的功能及独特的优点来进行音乐教育的实施,这样就应该大力推广电子琴进入音乐教室,让电子琴教学在音乐教育中发挥巨大的作用。现代乐器中,电子琴是高新科技在音乐领域的一个代表,体现了人类电子技术和艺术的完美结合。电子琴自动伴奏的稳定性、准确性,以及鲜明的强弱规律、随人设置的速度要求,都更便于人们由易到难、深入浅出的准确掌握歌曲节奏和乐曲风格,对其节奏的稳定性和准确性训练能起到非常大的作用。电子琴所包含的巨量的音乐信息和强大的音乐表现力可以帮助音乐教学更好地贯彻和落实素质教育,更有效地提高人们的音乐素质和能力。目前,市场上的电子琴可谓琳琅满目,功能也是越来越完备。以单片机作为主控核心,设计并制作的电子琴系统运行稳定,其优点是硬件电路简单、软件功能完善、控制系统可靠、性价比较高等,具有一定的实用与参考价值。这就为电子琴的普及提供了方便。 二、电子琴设计要求本设计主要是用AT89C51单片机为核心控制元件,设计一台电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有7个按键和1个复位按键。本系统主要是完成2大功能:音乐自动播放、电子琴弹奏。关于声音的处理,使用单片机C语言,利用定时器来控制频率,而每个音符的符号只是存在自定义的表中。

基于51单片机的数字频率计毕业论文

基于51单片机的数字频率计 目录 第1节引言 (2) 1.1数字频率计概述 (2) 1.2频率测量仪的设计思路与频率的计算 (2) 1.3基本设计原理 (3) 第2节数字频率计(低频)的硬件结构设计 (4) 2.1系统硬件的构成 (4) 2.2系统工作原理图 (4) 2.3AT89C51单片机及其引脚说明 (5) 2.4信号调理及放大整形模块 (7) 2.5时基信号产生电路 (7) 2.6显示模块 (8) 第3节软件设计 (12) 3.1 定时计数 (12) 3.2 量程转换 (12) 3.3 BCD转换 (12) 3.4 LCD显示 (12) 第4节结束语 (13) 参考文献 (14) 附录汇编源程序代码 (15)

基于51单片机的数字频率计 第1节引言 本应用系统设计的目的是通过在“单片机原理及应用”课堂上学习的知识,以及查阅资料,培养一种自学的能力。并且引导一种创新的思维,把学到的知识应用到日常生活当中。在设计的过程中,不断的学习,思考和同学间的相互讨论,运用科学的分析问题的方法解决遇到的困难,掌握单片机系统一般的开发流程,学会对常见问题的处理方法,积累设计系统的经验,充分发挥教学与实践的结合。全能提高个人系统开发的综合能力,开拓了思维,为今后能在相应工作岗位上的工作打下了坚实的基础。 1.1数字频率计概述 数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信号,方波信号及其他各种单位时间变化的物理量。在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,经常要用到频率计。 本数字频率计将采用定时、计数的方法测量频率,采用一个1602A LCD显示器动态显示6位数。测量围从1Hz—10kHz的正弦波、方波、三角波,时基宽度为1us,10us,100us,1ms。用单片机实现自动测量功能。 基本设计原理是直接用十进制数字显示被测信号频率的一种测量装置。它以测量周期的方法对正弦波、方波、三角波的频率进行自动的测量。 1.2频率测量仪的设计思路与频率的计算 频率测量仪的设计思路主要是:对信号分频,测量一个或几个被测量信号周期中已知标准频率信号的周期个数,进而测量出该信号频率的大小,其原理如右图1所示。 1 图可知: T=NT o 为标准信号的周期,所以T为分频后信号的周期,则可以算出被测量信(注:T o

基于51单片机最小系统设计

基础强化训练任务书 学生姓名:董勇涛专业班级:电子0902 指导教师:洪建勋工作单位:信息工程学院 题目:基于51单片机最小系统设计 一、训练目的 主要目的就是对学生进行基础课程、基本技能、基本动手能力的强化训练,提高学生的基础理论知识、基本动手能力,提高人才培养的基本素质。 二、训练内容和要求 1、基础课程和基本技能强化训练 (1)设计一个基于51单片机最小系统电路; (2)对所设计电路的基本原理进行分析; 2、文献检索与利用、论文撰写规范强化训练 要求学生掌握基本的文献检索方法,科学查找和利用文献资料,同时要求学生获得正确地撰写论文的基本能力,其中包括基本格式、基本排版技巧和文献参考资料的写法、公式编排、图表规范制作、中英文摘要的写法等训练。 3、基本动手能力和知识应用能力强化训练 (1)学习PROTEL软件; (2)绘制电路的原理图和PCB版图,要求图纸绘制清晰、布线合理、符合绘图规范; 4、查阅至少5篇参考文献,按《武汉理工大学课程设计工作规范》要求撰写基础强化训练报告书,全文用A4纸打印。 三、初始条件 计算机;Microsoft Office Word 软件;PROTEL软件 四、时间安排 1、20011年7 月 11日集中,作基础强化训练具体实施计划与报告格式要求的说明; 学生查阅相关资料,学习电路的工作原理。 2、2011年7 月 12日,电路设计与分析。 3、2011年7 月 13日至2010年7 月 14日,相关电路原理图和PCB版图的绘制。 4、2011年7 月15日上交基础强化训练成果及报告,进行答辩。 指导教师签名:年月日系主任(或责任教师)签名:年月日 目录 摘要.................................................................................................................... 错误!未定义书签。

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单片机的温度监控系统设计

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

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

基于51单片机的数字频率计的设计

1 前言 频率测量是电子学测量中最为基本的测量之一。由于频率信号抗干扰性强,易于传输,因此可以获得较高的测量精度。随着数字电子技术的发展,频率测量成为一项越来越普遍的工作,测频原理和测频方法的研究正受到越来越多的关注。 1.1频率计概述 数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信号、方波信号及其他各种单位时间内变化的物理量。在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,经常要用到频率计。传统的频率计采用测频法测量频率,通常由组合电路和时序电路等大量的硬件电路组成,产品不但体积大,运行速度慢而且测量低频信号不准确。本次采用单片机技术设计一种数字显示的频率计,测量准确度高,响应速度快,体积小等优点。 1.2频率计发展与应用 在我国,单片机已不是一个陌生的名词,它的出现是近代计算机技术的里程碑事件。单片机作为最为典型的嵌入式系统,它的成功应用推动了嵌入式系统的发展。单片机已成为电子系统的中最普遍的应用。单片机作为微型计算机的一个重要分支,其应用范围很广,发展也很快,它已成为在现代电子技术、计算机应用、网络、通信、自动控制与计量测试、数据采集与信号处理等技术中日益普及的一项新兴技术,应用范围十分广泛。其中以AT89S52为内核的单片机系列目前在世界上生产量最大,派生产品最多,基本可以满足大多数用户的需要。

2 系统总体设计 2.1测频的原理 测频的原理归结成一句话,就是“在单位时间内对被测信号进行计数”。被测信号, 通过输入通道的放大器放大后,进入整形器加以整形变为矩形波,并送入主门的输入端。由晶体振荡器产生的基频,按十进制分频得出的分频脉冲,经过基选通门去触发主控电路,再通过主控电路以适当的编码逻辑便得到相应的控制指令,用以控制主门电路选通被测信号所产生的矩形波,至十进制计数电路进行直接计数和显示。若在一定的时间间隔T内累 计周期性的重复变化次数N,则频率的表达式为式: N fx= T 频率计数器严格地按照 N f= T 公式进行测频。由于数字测量的离散性,被测频率在计数 器中所记进的脉冲数可有正一个或负一个脉冲的1 ±量化误差,在不计其他误差影响的情况下,测量精度将为: 1 () fA N δ= 应当指出,测量频率时所产生的误差是由N和T俩个参数所决定的,一方面是单位时间内计数脉冲个数越多时,精度越高,另一方面T越稳定时,精度越高。为了增加单位时间内计数脉冲的个数,一方面可在输入端将被测信号倍频,另一方面可增加T来满足,为了增加T的稳定度,只需提高晶体振荡器的稳定度和分频电路的可靠性就能达到。 上述表明,在频率测量时,被测信号频率越高,测量精度越高。 2.2总体思路 频率计是我们经常会用到的实验仪器之一,频率的测量实际上就是在单位时间内对信号进行计数,计数值就是信号频率。本文介绍了一种基于单片机AT89S52 制作的频率计的设计方法,所制作的频率计测量比较高的频率采用外部十分频,测量较低频率值时采用单片机直接计数,不进行外部分频。该频率计实现10HZ~2MHZ的频率测量,而且可以实现量程自动切换功能,四位共阳极动态显示测量结果,可以测量正弦波、三角波及方波等各种波形的频率值。 2.3具体模块 根据上述系统分析,频率计系统设计共包括五大模块:单片机控制模块、电源模块、放大整形模块、分频模块及显示模块。各模块作用如下:

基于stc89c51单片机温控系统设计与制作学位论文

commonly used circuit, makes the whole design is more complete, more flexible. Keywords: DS18B20; STC89C51; MCU; control; simulation

1.绪论 1.1 温度控制系统设计的背景及意义 随着社会的发展,科技的进步,以及测温仪器在各个领域的应用,智能化已是现代温度控制系统发展的主流方向。特别是近年来,温度控制系统已应用到人们生活的各个方面,但温度控制一直是一个未开发的领域,却又是与人们息息相关的一个实际问题。针对这种实际情况,设计一个温度控制系统,具有广泛的应用前景与实际意义。 温度是科学技术中最基本的物理量之一,物理、化学、生物等学科都离不开温度。在工业生产和实验研究中,像电力、化工、石油、冶金、航空航天、机械制造、粮食存储、酒类生产等领域内,温度常常是表征对象和过程状态的最重要的参数之一。比如,发电厂锅炉的温度必须控制在一定的范围之内;许多化学反应的工艺过程必须在适当的温度下才能正常进行;炼油过程中,原油必须在不同的温度和压力条件下进行分馏才能得到汽油、柴油、煤油等产品。因此,各行各业对温度控制的要求都越来越高。可见,温度的测量和控制是非常重要的。 单片机在电子产品中的应用已经越来越广泛,在很多的电子产品中也用到了温度检测和温度控制。随着温度控制器应用范围的日益广泛和多样,各种适用于不同场合的智能温度控制器应运而生。 1.2 饮水机温度控制系统的目的 饮水机的温度控制系统,能有效的利用水资源和电源。过低的温度或者过高的温度都会使水资源造成浪费,在全球水资源缺乏的今日,我们更应该掌握好水温的控制。本设计为一个单片机的饮水机的温度控制系统,此系统可以实时检测饮水的水温,并且可以通过液晶管显示饮水机的温度,可以通过键盘对饮水机的水进行加热,当低于设定的温度下限时进行加热,本设计是对温度进行实时监测与控制,设计的系统主要实现了以下功能: 1.在液晶显示当前温度的大小,精度为四分之一度,并显示温度控制的上限值和下限值。 2.单位转换,把显示温度的单位从摄氏温标与华氏温标进行互换。 3.温度控制,当温度超出上限值就关闭继电器,当温度低于下限值就启动继电器。 4.温度控制的上限和下限的设置,通过矩阵键盘的输入修改上限值和下限值。 5.蜂鸣器报警,当温度超出上限值蜂鸣器进行报警。 1.3 系统总体设计思想 方案一:使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电

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)附录 实验上机调试内容
注:此任务书由指导教师在课程设计前填写,发给学生做为本门课程设计 的依据。

单片机课程设计——基于C51简易计算器

单片机双字节十六进制减法实验设计 摘要 本设计是基于51系列的单片机进行的双字节十六进制减法设计,可以完成计 算器的键盘输入,进行加、减、3位无符号数字的简单运算,并在LED上相应的显示结果。 设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用5个键盘。显示采用3位7段共阴极LED动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C语言和汇编语言进行比较分析,针对计算器四则运算算法特别是乘法和除法运算的实现,最终选用KEIL公司的μVision3软件,采用汇编语言进行编程,并用proteus 仿真。 引言 十六进制减法计算器的原理与设计是单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。 单片机课程设计既要让学生巩固课本学到的理论,还要让学生学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,十进制加法计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。 关键词:单片机、计算器、AT89C51芯片、汇编语言、数码管、加减

目录 摘要 (01) 引言 (01) 一、设计任务和要求............................. 1、1 设计要求 1、2 性能指标 1、3 设计方案的确定 二、单片机简要原理............................. 2、1 AT89C51的介绍 2、2 单片机最小系统 2、3 七段共阴极数码管 三、硬件设计................................... 3、1 键盘电路的设计 3、2 显示电路的设计 四、软件设计................................... 4、1 系统设计 4、2 显示电路的设计 五、调试与仿真................................. 5、1 Keil C51单片机软件开发系统 5、2 proteus的操作 六、心得体会.................................... 参考文献......................................... 附录1 系统硬件电路图............................ 附录2 程序清单.................................. 一、设计任务和要求

51单片机_频率计_1602

电子产品设计与开发 结课论文 题目:其于51单片机的频率计设计与仿真 班级:电子1104班 姓名:陈** (组员)学号:03 电话:1376****** 成员:曾* (组长)学号:29 电话:13726****** 成员:孙* (组员)学号:21 电话:137*******

目录 一、需求分析 二、方案设计 1设计基本原理 (4) 1.1测量频率的原理 (4) 1.2系统设计框图 (4) 三、软件设计 (5) 1资源分配表 (5) 2程序流程框图 (6) 四、系统硬件线路设计图 (7) 1 单片机最小系统设计 (7) 2 液晶LCD1602显示电路 (8) 3 频率测量电路 (11) 五.系统仿真、测试结果及性能分析 (12) 1系统仿真、测试结果 (12) 2性能分析 (13) 六、心得与体会 (14) 七、参考文献 (14)

摘要 本设计提出了一种基于AT89C51单片机开发的数字频率测量仪的设计。系统以单片机AT89C51为核心,构成完备的测量系统。可以对信号进行频率的精确测量,测频在1Hz至10kHZ。采用液晶LCD1602显示被测信号的频率。与传统的电路系统相比,其有处理速度快、稳定性高、性价比高、硬件结构简单的优点。 关键词:单片机;低频;绝对误差

一、需求分析 频率测量在科技研究和实际应用中的作用日益重要。传统的频率计通采用组合电路 和时序电路等大量的硬件电路构成,产品不但体积较大,运行速度慢,而且测量低频信号 时不宜直接使用。频率信号抗干扰性强、易于传输,可以获得较高的测量精度。同时,频率 测量方法的优化也越来越受到重视.并采用AT89C51 单片机和相关硬软件实现。MCS—51 系列单片机具有体积小,功能强,性能价格比较高等特点,因此被广泛应用于工业控制和 智能化仪器,仪表等领域。我们研制的频率计以89c51单片机为核心,具有性能优良,精 度高,可靠性好等特点。 二、设计方案 此次课程设计采用间接测量法来测量。要用到GATE信号,GATE=1时,TR0=1,INTO=1 才能启动计数器,而计数器0是通过外部中断INTO的下降沿开始触发的,计时器从0开 始计时,计数器只能测高电平,因此测得的时间为半个周期。当计数器0计时溢出,执行 m加1的操作。则测量时间为:t1=TH0*256+TL0+m*65536 ,所求频率F=1000000/(2*t1) 1设计基本原理 1.1测量频率的原理 定时/计数器工作在方式1,每产生一次定时器0中断,计数65536个脉冲,此时的 脉冲来自振荡器的12分频后的脉冲,其周期为1uS。根据产生外部中断0时,定时器0中 断的次数u,以及此时定时/计数器0计数寄存器的数值X,即可求得待测方波的周期为: T=(65536*u+X)us ,取其倒数即可求得待测方波的频率,小数点后保留两位,即可使得频 率精度为0.1HZ。 1.2系统设计框图 经过方案论证和比较后,最终确定的系统框图如图1所示,主要由AT89C51单片机、异或 器件、LCD1602、电源等组成。

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信号即有效,把转换数据送上数据总线,供单片机接受。 采用中断可以减轻单片机负担。并可以使程序有更多的空间作二次开发。

相关文档
最新文档