当前位置:文档之家› 基于单片机的太阳能热水器控制系统的设计

基于单片机的太阳能热水器控制系统的设计

基于单片机的太阳能热水器控制系统的设计
基于单片机的太阳能热水器控制系统的设计

基于单片机的太阳能热水器控制系统的设计

摘要

目前,太阳能热水器控制器还一直处于研究与开发阶段,市面在售的控制器绝大部分只具备温度和水位显示功能,不具备温度水位的自动控制功能。虽然有的控制器配有电加热辅助装置,但都不是全智能型的,给用户使用带来许多不便。

关键词:单片机、太阳能热水器、温控系统

第1章绪论

1.1 本设计的目的和意义

本设计具有很强的实用性,用成本低廉的电阻式传感器以及电极配以单片机技

术对生产实际中的太阳能热水器的水温的控制以及水位的显示。本装置电路简单、实用性强、性价比高、水温控制灵活,水位显示直观醒目。可广泛应用于家庭生活对太阳能热水器的水位显示与水温控制。具有良好的市场前景。

1.2 控制系统设计要求

1、能够根据水位和水温两个条件控制是否需要进水,每次只进整个水箱的四分之一水量,也可以在手动状态下自由进水(上满时自由停止)或停止进水。

2、控制系统具有手动和自动切换功能;

3、具有水温和水位显示功能;

4、具有进水超水位和超水温报警指示;

5、用水时若水温达不到设置值时,可手动起动加热装置,这样可在很大程度上节约电能;

6、用水时可自由调节水温;

7、控制系统具体管道排空功能,这样防止冬天时因水管内有积水而在夜间冻裂水管。

1.3 本设计实现思路及方法

水位由潜入储水容器不同深度的水位电极和潜入容器底部的公共电极(导线)检测;并由四个绿色LED发光二极管显示:若无水则绿灯不亮;若有四分之一储水箱的水亮一盏绿灯;通过观察绿灯点亮的数量可识别水位的高低,这里取5段显示,也可根据需要进行增减。

水温由四个LED数码管显示,前三个数码管显示的为温度最后一个数码管我们只用到了四段码显示为温度的符号C,水温有效值最多可显示为99.9℃。

第2章 硬件设计

2.1 控制系统组成及工作原理

2.1.1 系统的组成

如图2-1所示,本系统主要由控制器、自动控制阀、手动控制阀、水位检测电极、水温检测传感器、电阻加热丝、储水箱等组成。

控制器:主要通过里面的电磁阀控制YV1和YV2的通断,控制水温检测传感器检测水温、控制水位检测传感器检测水在水箱中的位置以及控制电阻加热丝加热。

自动控制阀:主要通过控制器控制,当水箱中的水的实际温度大于所设置的温度时,自动阀就自动打开往水箱中上水,直到上到上一个目标水位为止。

手动控制阀:当自动阀损坏时,可以通过手动阀进行上下水。

水位检测电极:主要用来检测水箱中水的位置,主要把水箱分成四等分,一共有五个电极,接地的电极放在最水箱的最底下,其余分别放在四等分点上,比如当水箱中的水在第一等分和第二等分之间,则显示水箱中有四分之一的水,当超过第二等分,则显示二分之一的水。

水温检测传感器:主要用来检测水箱中水的实际温度。

电阻加热丝:主要用来加热水箱中水,使其达到用户所需要的温度。

2.1.2 控制装置的工作原理

图 2-1 系统组成示意图

图 2-1 系统组成示

意图

本控制系统分为手动和自动两种控制方式,在系统处于自动状态下,当检测温度高于设置温度,且水位未达到最高时,控制器打开电磁水阀YV1和YV2进行上水,同时点亮上水指示灯,当水位上至上一目标水位时,自动停止上水(即关闭电磁水阀YV1和YV2),若水箱内无水,则自动上水至最低水位处。

在系统处于手自动状态下,可自由上水或停止上水(上水时水箱水位必须未满),若水位达到最高则自动停止上水;若需要启动加热器则必须先设定加热温度,然后按下加热键进行加热;若需洗浴时,则需打开手动阀YV4,系统自动打开电磁水阀YV2,可通过YV5自由调节水温;当电磁水阀YV1和YV2损坏或停电时,可通过打开YV5和YV6进行上下水解决燃眉之急;此系统设置YV3是为了防止冬天气温过低引起水管因内有积水而冻裂(即手动打开此阀放完水管中的积水)。

2.2 主要原器件介绍

2.2.1 AT89S51高性能8位单片机

AT89S51是一个低功耗高性能CMOS 8位单片机,4k Bytes Flash 只读程序存储器(ROM),512 Bytes 内部数据存储器(RAM),该微处理器采用ATMEL 公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,引脚兼容80C51和80C52芯片,片内的Flash 存储器可以像常规程序存储器一样进行烧写,AT89S51片内总共有256字节的用户数据区,而128字节的内部扩展数据区需通过清SFR(8EH)的位1并用MOVX 指令访问,片内置通用8位中央处理器和Flash 存储单元,另一个256BytesRAM 区与ATMEL 之AT89系列8052兼容的单片机是一致的,AT89C51结合通用的8位微处理器和Flash 存储技术构成功能强大单片微处理器,可提供许多高性能低价位的系统控制应用场合。

(1)、AT89S51主要特点: 40个引脚,32kBytes 的程序存储器,32个外部双向输入/输出(I/O )端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,内置时钟振荡器,其Flash 存储器,可反复擦写1000次的Flash 存储器可有效地降低开发成本。软件设置

电 源省电模式,睡眠其间,定时/计数器,串行口和中断口均停止工作,RAM 中的数据被“冻结”,直到下次被中断激活或硬件复位方可恢复工作。 (2)、AT89S51主要功能特性

兼容MCS51指令系统 32k 可反复擦写(>1000次)Flash ROM 32个双向I/O 口

硬件看门狗WDT 电路 3个16位可编程定时/计数器

时钟频率0-33MHz

图2-2 AT89S51引脚图

两个串行中断 512×8bit 内部RAM 2个外部中断源 内置时钟振荡器 中断激活睡眠模式 3级加密位

双重数据存储器

软件设置睡眠和唤醒功能

2.2.2数码管显示原理

由单片机的定时器To 做16位计数器(为便于数据处理,这里只用低8位计数值,即寄存器TL0中的值)。一边记录脉冲数量,一边以厘米为单位由四位数码管显示出来。四位数码管采用动态扫描方式显示。

长度计量仪采用0.5英寸共阳极连接的LED 数码管。 LED 数码管由发光二极管作为显示字段的

数码型显示器件。右图为LED 数码管外形和引

脚图,其中7只发光二极管分别对应a-g 笔段,构成“日”字形,另一只发光二极管DP 作为小数点,因此这种LED 显示器称为八段数码管。(如图2-3所示)

共阳极型LED 数码管,是将各段发光二极管的阳极连在一起,作为公共端com,应接高电平。a ——g 、Dp 各笔段中,某笔段接低电平时发光,高电平时不发光。

为了节省单片机I/O 口的数量,将各位数码管的a ——g 对应笔画并联起来分别与单片机的P2.0——P2.7引脚连接。显示时,由P2口依次输出各位数字的笔段码,并依次由P1.0、P1.1、P1.2、P1.3输出低电平位选信号接通数码管的公共端,轮流进行,循环不止,由于循环的频率较高(约50Hz ),加上人眼的视觉暂留,既保障了各位数字的对应显示,又不会出现闪烁现象,实现动态扫描显示。

2.3 AT89S51单片机的最小系统

所谓最小系统,即指使单片机能正常工作的所需的最少的电路,即应包含CPU 及辅助电路、ROM 、RAM 及I/O 端口等电路。由于AT89S51内部已经包含4KB 的Flash Memory 程序存储器,所以无需再扩展片外程序存储器。在AT89S51的基础上,加复位电路、时钟电路、EA 引脚信号及电源即可。结合

图2-3 LED 数码管

g f C o m a b 10 9 8 7 6

1 2 3 4 5

e d C o m c Dp

Dp

( a ) ( b ) Dp

g f e d c b a

+5v

4. 4.7F 10K 6M

20p f +5V

V c c E A G N D

A T 89S 51

R S T 3 AT89S51单

X T A L 1 X T A L 2

20p f +5V 图2-4 AT89S51单片机最小系统

资料及所学过的内容,得到如图2-4所示的单片机最小系统。

图2-4中,晶体振荡器的频率选6MHZ ,复位电路采用上电复位,电路参数如图中所示,以满足系统复位时两个机器周期的高电平的要求。由于CPU 的内部已含有程序存储器,所以EA 引脚接高电平。

2.4 AT89S51单片机时钟电路

该水位自动显示控制器采用AT89C51单片机,机内有一高增益反相放大器,构成自激振荡电路,振荡频率取6MHz,外接6MHz 晶振,两个电容C1、C2取20pF ,以便于起振荡的作用。

右图中XTAL1为内部时钟工作电路的输入,XTAL2为来自反向振荡器的输出。

2.5 AT89S51单片机复位电路

该水位自动显示控制器采用上电复位电路,由R14、C3

构成复位电路,在

上电瞬间,产生一个脉冲,AT89S51将复位。为保证可靠复位,脉冲宽度应大于两个机器周期,这取决于R 、C 时间长数。取电容C=10uF ,电阻R=10K 。

2.6水位检测电路的硬件设计

实验证明,纯净水几乎是不导电的,但自然界存在的以及人们日常使用的水都会含有一定的Mg 2+、Ca 2+

等离子,它们的存在使水导电。

我们把储水箱大致分为四个等份,水位由

图2-5 时钟电路

潜入太阳能热水器的储水箱不同深度的水位电极和潜入储水箱底部的公共电极(导线)进行检测;由单片机依次使各水位电极呈现高电平,由公共电极所接的三极管进行电位转换,水位到达的电极,转换电位为低(0);水位没有到达的电极,转换电位为高(1);每检测一位便得到一位数据,5个电极检测一遍以后便得到了5个串行数据,然后把这5个数据转化为字节一路送发光二极管;在这里我们可以用发光二极管亮的盏数来显示水位的高低。(若没有发光二极管亮则表示箱内没有水或者只有少量的水,若有一个发光二极管灯亮则表示箱内有四分之一箱的水,以此类推,若有四个发光二极管亮,则表示水箱水是满的。)

2.7水温检测电路的硬件设计

本设计温度传感器选用AD590。AD590属于半导体集成电路温度传感器,测温范围-55℃- +150℃,在其二端加上一定的工作电压,其输出电流与温度变化成线性

图2-8 水温检测电路图

关系,1uA/°K,误差有几种等级:±1、±0.5、±0.3℃,本设计中选取±0.5℃品种。OP07为高精度运算放大器,AD590电流流经R1、RP1转换为电压信号,R2、RP2为运算负反馈电阻,成反相比例放大器,将温度信号转换成0-5V的电压信号,ADC0832再将其转换为数字信号,输入CPU。图2-8为温度检测和A/D转换电路图。

2.8 键盘电路的硬件设计

P1.0- P1.7口作为按键的信号输入端,键按下,就执行该键的功能。其电路如图2-9所示。(为了编程简单、方便,采用独立式键盘电路)

2.9 驱动电路的硬件设计

在单片机控制系统中,需要用开关量去控制和驱动一些执行元件,如发光二极管、继电器、电磁

阀、晶闸管等。但

AT89S51单片机驱

动能力有限,且高

电平比低电平驱动

低那六小。一般情

况下,需要加驱动

接口电路,且用低

电平驱动。如图

2-10所示

图 2-10 驱动电路图

2.10显示电路的硬件设计

本设计采用共阳型数码管,8个LED灯如图2-11中接法,灯的负极依次接到数码管的a-f段,采用动态扫描电路,并把显示程序作为主程序。数码管的段用P0口控制,P2.0口、P2.3口作为数码管的位控制,P2.4作为指示灯的控制。

P01

P02

P03

P04

P05

P06

P07

P20

P21

P22

P23

P24

A T89S51

R X D

T X D

图2-11 显示电路图

第3章软件设计

3.1 主程序流程图

主程序:

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP CT0;转定时器0中断服务程序

ORG 0030H;主程序

MAIN: MOV 30H,#00H;0.1秒单元

MOV 20H,#00000100B;置相应标志位

MOV P2,#0FFH;P2口不显示,电磁阀不通电,不加热

MOV SP,#5FH;设置堆栈深度

SETB EA;开中断

SETB ET0;允许T0中断

MOV TMOD,#01010001B;T0方式1定时,T1工作于方式1计数MOV TH0,#3CH;定时常数

MOV TL0,#0B7H

MOV TH1,#00H;清计数单元

MOV TL1,#00H

SETB TR0;启动定时定时器0

SETB TR1;启动T1

MOV 28H,#60;设置初始温度为60度

MOV 40H,#0FFH;转显示状态为全灭

MOV 36H,#0;清温度存放单元

MOV 37H,#0

MOV 2FH,#1;目标水位为1

LOOP:LCALL WATER;水位检测

LCALL DISP;显示程序

LCALL KEY;键盘处理程序

SJMP LOOP

3.2 中断子程序

CT0: MOV TH0,#3CH;重置时间初值MOV TL0,#0B0H

PUSH ACC;保护现场

图3-1 主程序流程图调水位检测程序

调显示程序

调键盘处理程序

初始化

主程序

PUSH PSW

SETB RS0;选工作寄存器1组

MOV R1,#30H;指向0.1秒单元

INC @R1

CJNE @R1,#10,RET_TIME

MOV @R1,#00H

CPL 00H

LCALL TEST_TEMP;调温度处理程序

RET_TIME:POP PSW;恢复现场

POP ACC

RETI;中断返回

3.3温控进水程序

3.3.1温度检测程序

T EST_TEMP:;温度处理程序,将温度存放在27H单元,

设置的温度存放于28H单元

JB 01H,RE_AD;若为设置状态,则不进处理

MOV SCON,#00H ;置串口方式0,禁止接收

CLR ES ;串口禁中

CLR P3.6 ;片选0832

MOV A,#06H ;置CH0通道配置

ADC0: MOV SBUF,A ;启动A/D

ADC1: JNB TI,ADC1 ;串行发送启动及通道配置信号

CLR TI ;清发送中断标志

SETB REN ;允许(启动)串行接收

ADC2: JNB RI,ADC2 ;接收第一字节

CLR RI ;清接收中断标志,同时启动接收第二字节

MOV A,SBUF ;读第一字节数据

MOV B,A ;暂存

ADC3: JNB RI,ADC3 ;接收第二字节

CLR RI ;清接收中断标志

MOV A,SBUF ;读第二字节数据

ANL A,#0FH ;第二字节屏蔽高4位

ANL B,#0F0H ;第一字节屏蔽低4位

ORL A,B ;组合

SWAP A ;高低4位互换,组成正确的A/D数据

MOV 36H,A ;存A/D 数据

CLR REN ;两通道A/D 完毕,禁止接收 SETB P3.6 ;清0832片选 RET

3.3.2水温控制上水程序

程序: MOV 27H,36H MOV 42H,#00H JNC N05

MOV 42H,#05H;显示小数0.5 N05: JNB ACC.7,OK

图3-2 水温控制流程图

水温控制上水

是否正在上水?

测量值 设置值?

是否最高?

赋目标水位值

打开上水阀

水位是否为目标值?

关闭上水阀

返回

赋实际水位值

Y

N

Y

N

MOV A,#0

OK: CJNE A,#64H,EAD

EAD: JNC ERRAD;温度超过100则显示99

EAD1:MOV B,#10;转换成十进制数,送显示单元

DIV AB

MOV 44H,A

MOV 43H,B

MOV 41H,#0CH;最后一位显示C

CLR 05H

JNB 02H,RE_AD MOV A,27H

CJNE A,28H,EADD

EADD:JC BSH;未到设定温度,不上水

MOV A,2EH

CJNE A,#04H,SW

SW: JNC RE_AD

JB 03H,RE_AD

MOV 2FH,2EH;未到设定温度,

上至高一档水位

INC 2FH;目标水位

CLR P2.6

CLR P2.7

SETB 03H

RE_AD: RET

ERRAD: MOV A,#63H;温度超过100则显示99

SJMP EAD1

BSH: SETB P2.6;

SETB P2.7

CLR 03

SJMP RE_AD

3.4 温度显示子程序

DISP:MOV R0,#44H;显示温度及状态信息

MOV DPTR,#TAB

DISP1:MOV A,@R0

MOVC A,@A+DPTR

JNB 01H,NDOT1 JNB 00H,NDOT1 MOV R5,45H

CJNE R5,#44H,NDOT1 MOV A,#0FFH NDOT1:MOV P0,A

CLR P2.0 LCALL D1MS SETB P2.0 DEC R0 MOV A,@R0 MOVC A,@A+DPTR JB 05H,NDOT22 CLR ACC.7 NDOT22:JNB 01H,NDOT2

JNB 00H,NDOT2 MOV R5,45H

CJNE R5,#43H,NDOT2 MOV A,#0FFH

NDOT2:MOV P0,A

CLR P2.1 LCALL D1MS SETB P2.1 DEC R0 MOV A,@R0 MOVC A,@A+DPTR JNB 01H,NDOT3 JNB 00H,NDOT3 MOV R5,45H

CJNE R5,#42H,NDOT3 MOV A,#0FFH NDOT3:MOV P0,A

CLR P2.2 LCALL D1MS SETB P2.2

水温显示

取十位值

DPTR ←#TAB

查表的字段码

判断是否闪烁? 字段码→P0

使十位LED 有效

延时1ms

使十位LED 无效

取个位值

. . . . .

使温度字母C 的LED 无效

返回

图3-3 温度显示流程图

DEC R0

MOV A,@R0

MOVC A,@A+DPTR

MOV P0,A

CLR P2.3

LCALL D1MS

SETB P2.3

D1MS:MOV R7,#25

DJNZ R7,$

RET

TAB: DB 0C0H,0F9H,0A4H,0B0H,99H

DB 92H,82H,0F8H,80H,90H,0FFH,0afH,0C6H,00h,86H END

其它显示程序参见附录1

3.5 键盘处理程序

K EY:ORL P1,#0FFH;键处理程序

MOV A,P1

CPL A

JZ RET_KEY;无键返回

J N LCALL DISP;有键,延时去抖动

ORL P1,#0FFH

MOV A,P1

CPL A

JZ RET_KEY;无键返回

ORL P1,#0FFH;有键,延时去抖动

MOV A,P1

JNB ACC.0,S1

JNB ACC.1,S2

JNB ACC.2,S3

JNB ACC.3,S4

JNB ACC.4,S5

JNB ACC.5,S6

JNB ACC.6,S7

JNB ACC.7,S8

RET_KEY:RET

N Y

N Y

有键闭合?

KEY

延时去抖动

有键闭合?

是何键?

转相应键处理程序返回

K E

Y Y

Y

图3-4 键处理流程图

S1: CPL 01H; 置预置标志

JNB 01H,SAVE_TEM;01H=0,存储当前预置的温度

MOV 45H,#44H; 01H=1,为预置状态,当前预置对象存放于45H单元S11: LCALL DISP

ORL P1,#0FFH;等待按键释放

MOV A,P1

CPL A

JNZ S11; 未释放,继续等待

RET

SAVE_TEM:MOV A,44H

ANL A,#0FH

MOV B,#10

MUL AB

ADD A,43H

MOV 28H,A

SJMP S11

基于单片机的太阳能热水器控制系统的设计程序

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP CT0;转定时器0中断服务程序

ORG 0030H;主程序

MAIN:MOV 30H,#00H;0.1秒单元

MOV 20H,#00000100B;置相应标志位

MOV P2,#0FFH;P2口不显示,电磁阀不通电,不加热

MOV SP,#5FH;设置堆栈深度

SETB EA;开中断

SETB ET0;允许T0中断

MOV TMOD,#01010001B;T0方式1定时,T1工作于方式1计数

MOV TH0,#3CH;定时常数

MOV TL0,#0B0H

SETB TR0;启动定时定时器0

MOV 28H,#60;设置初始温度为60度

MOV 40H,#0FFH;转显示状态为全灭

MOV 36H,#0;清温度存放单元

MOV 2FH,#1;目标水位为1

LOOP:LCALL WATER;水位检测

LCALL KEY;键盘处理程序

LCALL DISP;显示程序

JMP LOOP

CT0: MOV TH0,#3CH;重置时间初值

MOV TL0,#0B0H

PUSH ACC;保护现场

PUSH PSW

SETB RS0;选工作寄存器1组

MOV R1,#30H;指向0.1秒单元

INC @R1

CJNE @R1,#10,RET_TIME

MOV @R1,#00H

CPL 00H

LCALL TEST_TEMP;调温度处理程序

RET_TIME:POP PSW;恢复现场

POP ACC

RETI;中断返回

T EST_TEMP:温度处理程序,将温度存放在27H单元,

设置的温度存放于28H单元

JB 01H,RE_AD;若为设置状态,则不进处理

MOV SCON,#00H ;置串口方式0,禁止接收

CLR ES ;串口禁中

CLR P3.6 ;片选0832

MOV A,#06H ;置CH0通道配置

ADC0: MOV SBUF,A ;启动A/D

ADC1: JNB TI,ADC1 ;串行发送启动及通道配置信号CLR TI ;清发送中断标志

SETB REN ;允许(启动)串行接收

ADC2: JNB RI,ADC2 ;接收第一字节

CLR RI ;清接收中断标志,同时启动接收第二字节

MOV A,SBUF ;读第一字节数据

MOV B,A ;暂存

ADC3: JNB RI,ADC3 ;接收第二字节

CLR RI ;清接收中断标志

MOV A,SBUF ;读第二字节数据

ANL A,#0FH ;第二字节屏蔽高4位

ANL B,#0F0H ;第一字节屏蔽低4位

ORL A,B ;组合

SWAP A ;高低4位互换,组成正确的A/D数据

MOV 36H,A ;存A/D数据

CLR REN ;两通道A/D完毕,禁止接收

SETB P3.6 ;清0832片选

RET

MOV 27H,36H

MOV 42H,#00H

JNC N05

MOV 42H,#05H;显示小数0.5

N05: JNB ACC.7,OK

MOV A,#0

OK: CJNE A,#64H,EAD

EAD: JNC ERRAD;温度超过100则显示99

EAD1:MOV B,#10;转换成十进制数,送显示单元

DIV AB

MOV 44H,A

MOV 43H,B

MOV 41H,#0CH;最后一位显示C

CLR 05H

JNB 02H,RE_AD

MOV A,27H

CJNE A,28H,EADD

EADD:JC BSH;未到设定温度,不上水

MOV A,2EH

CJNE A,#04H,SW

SW:JNC RE_AD

JB 03H,RE_AD

MOV 2FH,2EH;未到设定温度,上至高一档水位

INC 2FH;目标水位

CLR P2.6

CLR P2.7

SETB 03H

RE_AD:RET

ERRAD: MOV A,#63H;温度超过100则显示99

SJMP EAD1

BSH: SETB P2.6

SETB P2.7

CLR 03

SJMP RE_AD

W ATER:;水位检测后存放于2EH单元,目标水位2FH单元 JNB P3.2,KS1

JNB P3.3,KS2

JNB P3.4,KS3

JNB P3.7,KS4

MOV 2EH,#0;无水

CLR P2.6

CLR P2.7

SETB 03H

MOV 2FH,#1

RE_WAT:JNB 02H,RRE_WAT;手动方式则返回

MOV A,2EH

CLR C

SUBB A,2FH

JNZ RRE_WAT

CLR 03H;清上水标志

SETB P2.6;关电磁阀

SETB P2.7

RRE_WAT:RET

KS1:MOV 2EH,#4H

JNB 03H,RE_WAT1

SETB P2.6;若水满则关电磁阀

SETB P2.7

CLR 03H;

SJMP RE_WAT

RE_WAT1:SETB 05H

SJMP RE_WAT

KS2:MOV 2EH,#3H

SJMP RE_WAT

KS3:MOV 2EH,#2H

SJMP RE_WAT

KS4:MOV 2EH,#1H

SJMP RE_WAT

KEY: ORL P1,#0FFH;键处理程序

MOV A,P1

CPL A

JZ RET_KEY;无键返回

LCALL DISP;有键,延时去抖动

ORL P1,#0FFH

MOV A,P1

CPL A

JZ RET_KEY;无键返回

ORL P1,#0FFH;有键,延时去抖动

MOV A,P1

JNB ACC.0,S1

JNB ACC.1,S2

JNB ACC.2,S3

JNB ACC.3,S4

JNB ACC.4,S5

JNB ACC.5,S6

JNB ACC.6,S7

JNB ACC.7,S8

RET_KEY:RET

S1: CPL 01H; 置预置标志

JNB 01H,SAVE_TEM;01H=0,存储当前预置的温度

MOV 45H,#44H; 01H=1,为预置状态,当前预置对象存放于45H单元

S11: LCALL DISP

ORL P1,#0FFH;等待按键释放

MOV A,P1

CPL A

JNZ S11; 未释放,继续等待

RET

SAVE_TEM:MOV A,44H

ANL A,#0FH

MOV B,#10

MUL AB

ADD A,43H

MOV 28H,A

SJMP S11

S2: JNB 01H,S11;未按预置键,不处理

DEC 45H

MOV R0,45H

CJNE R0,#41H,S11

MOV 45H,#44H

SJMP S11

S3: JNB 01H,S11;未按预置键,不处理

MOV R0,45H

INC @R0;相应单元加1

CJNE @R0,#0AH,S11

MOV @R0,#00H;加到10清零

SJMP S11

S4: JNB 01H,S11;未按预置键,不处理

MOV @R0,#09H;减到0后变为9

SJMP S11

S5: SETB P2.7

CPL P2.6

SJMP S11

S6: CPL 02H;自动标志,02H=1自动,02H=0手动SETB P2.6

SETB P2.7

CLR 03H

单片机作品设计报告

2017—2018学年度第一学期 《单片机原理及应用》作品考试 模拟电梯 提交文档 姓名黄任军朱子豪 年级 专业通信工程 系(院)信息科学与工程学院 任课教师 2018 年 1月2日

2017-2018-1《单片机原理及应用》作品设计提交文档 一、作品设计目的 高温警报器在生活中应用非常广泛,比如,汽车的水箱高温警报,假如汽车水箱一直处于高温情况下又不能及时散热,这会对汽车的安全性能有极大的影响。假如有高温警报器的话,可以将报警温度设置在水箱最高温度以下10摄氏度,这样可以让车主意识到水箱温度已经快要到达极限温度了,必须赶快降温。 二、作品设计内容 1、总电路图显示 2、总程序 #include <> #define uchar unsigned char #define uint unsigned int sbit DS=P2^2; //定义温度传感器端口 uint temp; uchar flag1; // 温度的正负 sbit dula=P2^6;

sbit wela=P2^7; sbit beep=P2^0; unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; unsigned char code table1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd, 0x87,0xff,0xef}; void delay(uint count) //delay { uint i; while(count) { i=200; while(i>0) i--; count--;

单片机课程设计 秒表计时器(DOC)

课程设计名称:单片机原理及接口技术 题目:基于单片机的秒表计时器设计 学期:2014-2015学年第一学期 专业:电气技术 班级: 姓名: 学号: 指导教师:

辽宁工程技术大学 课程设计成绩评定表

课程设计任务书 一、设计题目 秒表计时器 二、设计任务 本课题以单片机为核心,设计和制作一个秒表计时器。 三、设计计划 课程设计一周 第1天:查找资料,方案论证。 第2天:各部分方案设计。 第3天:各部分方案设计。 第4天:撰写设计说明书。 第5天:校订修改,上交说明书。 四、设计要求 1、绘制软件流程图并利用汇编语言编写软件程序; 2、绘制系统硬件原理图; 3、形成设计报告。 指导教师: 教研室主任: 2014年5月26 日

本设计利用89C51单片机设计秒表计时器,通过LED显示秒十位和个位,在设计过程中用一个存储单元作为秒计数单元,当一秒到来时,就让秒计数单元加一,通过控制使单片机秒表计时,暂停,归零。设计任务包括控制系统硬件设计和应用程序设计。 关键词:51单片机;74HC573;LED数码管

综述 (1) 1 程序方案 (2) 1.1方案论证 (2) 1.2总体方案 (2) 2部分设计 (3) 2.1 89C51单片机 (3) 2.2晶体振荡电路 (4) 2.3硬件复位电路 (5) 2.4显示电路 (6) 2.5整体电路图 (7) 3程序设计 (8) 3.1程序流程框图 (8) 3.2显示程序流程图 (9) 3.3汇编源程序 (10) 4调试说明 (13) 4.1概述 (13) 4.2电路原理图 (13) 心得体会 (15) 参考文献 (16)

简单51单片机数字时钟设计

题目:简单51单片机数字时钟设计 院系: 物理与电气工程学院 专业:自动化专业 班级:10级自动化 姓名:苏吉振 学号:2 老师:李艾华

引言 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。 目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS 化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。 单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 数字钟是采用数字电路实现对时,分,秒数字显示的计时装置,广泛用于个 人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。

单片机原理及应用 设计报告

单片机设计报告 编写:HUBU2015级通信工程xmx 2017年5月23日 一、设计的目的与要求 利用8*8LED点阵动态显示汉字的字样。采用STC89C52单片机作为整个控制搭电路的核心,并编制软件程序,实现汉字的显示。通过此设计来巩固单片机硬件系统的设计及软件系统的编程,通过设计将平时所学知识付诸实践,提高动手能力。 1、设计一个8*8点阵LED电子显示屏。 2、要求在目测条件下LED显示屏各点亮度均匀、充足,可显示一个“大”字。 二、总体方案设计 2.1 硬件电路的总体设计 1、设计总体框图 硬件电路的设计框图如图1所示。硬件电路结构由8个部分组成:时钟电路、复位电路、按键接口电路、电源电路、点阵显示阳极电路、点阵显示阴极电路和8*8点阵显示电路。 2、工作原理 由于是8*8点阵屏设计,需要端口16个,可采用静态显示模式,用P0口控制行,P1口控制列,通过软件编程,即可实现汉字的显示。

3、元器件清单 2.2系统软件的设计 软件程序主要由开始、初始化、主程序、字库和延时子程序组成。 三、系统硬件电路的具体设计 3.1 时钟电路 STC89C52单片机内部的振荡电路是一个高增益反向放大器,引线X1和X2分别是放大器的输入端和输出端。单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。STC89C52的时钟产生方式有两种:内部时钟电方式和外部时钟方式。由于外部时钟方式用于多片单片机组成的系统中,所以此处选用内部时钟方式。

内部时钟方式:利用其内部的振荡电路在X1和X2引线上外接定时元件,内部振荡电路产生自激振荡。最常用的是在 X1和X2之间接晶体振荡器与电路构成稳定的自激振荡器,如图4所示电路所示为单片机最常用的时钟振荡电路的接法,其中晶振可选用振荡频率为12MHz的石英晶体,电容器一般选择30PF 左右 3.2 复位电路 单片机在启动运行时需要复位,使CPU以及其他功能部件处于一个确定的初始状态,并从这个状态开始工作。另外,在单片机工作过程中,如果出现死机时,也必须对单片机进行复位,使其重新开始工作。本设计中采用按键复位电路,上电瞬间,RC电路充电,RST引线端出现正脉冲,只要RST端保持10ms以上的高电平,就能使单片机有效地复位。其中R1选择10KΩ左右的电阻,电容器一般选择10μF。 3.3显示电路的设计 本次设计中采用8*8点阵LED显示器,简称LED点阵板或LED矩阵板。它是以发光二极管为像素,按照行与列的顺序排列起来,用集成工艺制成的显示器件。有单色和双色之分,这种显示器有共阳极接法和共阴极接法两种。设计中用到的是“列共阳,行共阴”,即“列用高电平控制,行用低电平控制”。图中画

推荐-单片机课程设计多功能定时器 精品 精品

单片机课程设计 多功能定时器 一、设计目的: 1、在理论学习的基础上,通过完成一个涉及MCS-51单片机多种资源应用并具 有综合功能的小系统目标板的设计与编程应用; 2、能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识, 在软件编程、排错调试、相关仪器设备的使用技能等方面得到较全面的锻炼和提高; 3、使学生增进对单片机的感性认识,加深对单片机理论方面的理解。使学生掌 握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通信等; 4、使学生了解和掌握单片机应用系统的软硬件设计过程、方法及实现,为以后 设计和实现单片机应用系统打下良好基础。 二、设计功能说明 数字钟是采用数字电路实现对时,分,秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品,本设计可实现如下功能: 1、使用实时时钟芯片写入及读取时间 2、用LCD显示,可显示年、月、日、时、分、秒、星期、农历日期、节日 3、选择蜂鸣器电路,实现两个闹钟设置和事件提示功能 4、实现时钟校正功能,12小时/24小时切换功能 5、显示当前时间为上午时间或下午时间 6、整点报时功能 按键功能如下: 1、对显示时间的设置 按键0:进入设置模式,实现秒(S)、分(M)、时(H)、年(Y)、月(m)、日(D)、星期(W)设置的切换,并在LCD右下角显示所设置的项目,当各项目设置完毕后,再按下按键0则返回主界面正常显示时间; 按键1:每按一次按键1,对所设置的时间加1,当设置的时间超过它的最大值时,该项自动为0,例如:当设置秒为59时,秒自动清零; 按键2:每按一次按键:2,对所设置的时间减1,当设置的时间小于0时,该项自动为它的最大值; 按键3:设置完成后的确认键并可按此键中途退出设置,时间按用户设置值正常计时;

基于单片机的数字钟设计-(1)

基于单片机的数字时钟摘要 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 本课题主要研究的是基于单片机的数字钟设计,采用AT89C51单片机作为系统的主控芯片,外接LED显示电路,按键电路,晶振电路,复位电路模块构成一个简单的数字钟。通过按键电路能对时、分、秒分别进行设置和实时调整,并将结果显示在数码管上。 关键词:数字钟,单片机,数码管

Abstract Author:cheng dong Tutor:wang xin Electronic technology has been developed rapidly in the 20 century,with its modern electronic products, pushed by almost permeated every area of society has vigorously promoted social productive forces development and improvement of social informatization level, also make modern electronic product performance further improved, and the rhythm of upgrade its products is becoming more and more quickly. The most common SCM module is a digital clock, a digital clock is a kind of digital circuit technology implementation, minutes and seconds, the timing device with mechanical clock compared with higher accuracy and intuitive and no mechanical device, has more longer service life, so it has been widely used. This topic research is the digital clock design based on SCM, AT89C51 SCM as the main control chip system, external LED display circuit, key circuits, crystals circuit, reset circuit module constitute a simple digital clock. Through the key circuits can respectively the diffculties, minutes and seconds setting and real-time adjustment, and the result showed that in the digital tube. Key words:digital clock SCM ; digital

基于单片机的简易计时器设计

南华大学电气工程学院课程设计 摘要:单片机自70年代问世以来得到蓬勃发展,目前单片机功能正日渐完善:单片机集成越来越多资源,内部储存资源日益丰富,用户不需要扩充资源就可以完成项目开发,不仅是开发简单,产品小巧美观,同时抗干扰能力强,系统也更加稳定,使它更适合工业控制领域,具有更广阔的市场前景;提供在线编程能力,加速了产品的开发进程,为企业产品上市赢得了宝贵时间。本设计通过STC89C51单片机以及单片机最小系统和三极管驱动以及外围的按键和数码管显示等部件,设计一个基于单片机的简易计时器。设计通过四位一体共阳极数码管显示,并能通过按键对秒进行设置。 关键词:STC89C51单片机,驱动,四位一体数码管

南华大学电气工程学院课程设计 Abstract:SCM be booming since since the 70 s, MCU functions are increasingly perfect at present: single chip microcomputer integrated more and more resources, internal storage resource increasingly rich, users do not need to expand resources can complete the project development, is not only the development of simple, small beautiful products, at the same time, strong anti-jamming capability, system is more stable, make it more suitable for industrial control field, has a broad market prospect; Provide online programming ability, speeded up the process of product development, product for the enterprise to win the precious time. This design and triode driven by STC89C51 microcontroller and the single chip microcomputer minimum system and peripheral keys and digital tube display components, design a simple timer based on single chip microcomputer. Design through the four digital tube display, a total of anode, and can through the button to set the seconds. Keywords: STC89C51 microcontroller, drive, Four digital tube

单片机课程设计总结报告

单片机课程设计 频率计 总结报告 姓名:陈艺端 学号:08292003 班级:电气0809 所在组:陈艺端 白英杰

【实验准备】 在实验前,我通过上网、上图书馆查找了一些关于频率计的资料,结合单片机所学的中断和定时器的知识,并对电路板各个元器件、接线等的清楚认识,完成了对电路板仿真图的绘制,以及初步的程序,并实现了初步的仿真效果。 【设计内容】 设计一个频率计。 【设计要求】 分频段(高频、低频),在10k~20kHz范围做切换。 CPU为AT89S51,利用内部T0、T1的定时计数器或外部INT0中断功能来完成对输入的信号进行频率计数或脉宽计时,计数(计时)的频率结果通过6位七段LED数码管显示出来。 数字式频率计原理框图: 【设计方案】 一、实验原理: 1、测频方式 利用单片机计数器T0和定时器T1中断。定时器T1中断产生闸门时间,在闸门时间Ts内,用计数器记录输入脉冲的个数N,从而计算出被测频率Fx =N/Ts。

2、测周方式 利用单片机外部中断INT0和定时器T1中断。定时器T1中断产生时标信号Ts,用外部中断INT0控制定时器T1的计数,计算出在被测信号的一个周期内定时器T1计得的数N,从而计算出被测频率Fx =NTs。 二、电路结构: ① NE555构成多谐振荡器,产生频率可调的方波信号; ②74HC74里的一个D触发器连成计数器,用来对555产生的方波分频; ③74HC14非门做驱动,防止产生的信号不能驱动单片机的I/O口;

④方波信号连接在单片机的INT0和T0口上。 ⑤单片机的P1口做字位,连接74HC245驱动数码管的共阴端; ⑥P0口做字形,连接74HC573锁存器和74HC245驱动数码管的a~dp端。 三、测频测周转换的讨论以及试验参数: 1、测频方式和测周方式的转换频率 依要求来说在10kHz~20kHz之间做切换。 2、转换频率过程中产生的问题 当被测信号频率与转换频率非常接近,并且抖动时,容易产生两种方式一直跳变的现象,进入死循环,可以利用迟滞比较器的原理进行解决。通常将测频方式和测周方式的转换频率设为程序判断测频还是测周的比较点,但为避免在转换频率附近产生死循环,设置两个比较点,分别为f1和f2,从高频测频方式向低频测周方式变化时,比较点为f1,从低频测周方式向高频测频方式变化时,比较点为f2,使f1

单片机课程设计定时器控制4只LED滚动闪烁系统解析

目录

1设计目的 1.1设计目的 1、通过单片机课程设计,熟练掌握单片机C语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。 2、通过定时器控制两个LED显示器显示10秒秒表系统的设计,掌握定时/计数器和LED显示器的使用方法,同时掌握简单程序的编写,最终提高我们的逻辑抽象能力。 1.2设计内容和要求 内容:设计一个能够控制两个LED显示器显示10秒秒表的模拟系统。 要求:利用单片机的定时器定时,控制LED显示器显示。 1.3 设计思路 1.先熟悉实验原理,了解4只LED滚动闪烁系统灯的工作过程,组成滚动闪烁系统需要的组件。 2.了解各个硬件的工作原理, 3.绘制电路原理图,编写程序,并进行仿真,基本实现LED滚动闪烁系统灯的功能。

2设计原理分析 2.1十秒秒表的系统设计 通过编写程序,实现对发光二极管的控制,来4只LED 滚动闪烁灯的管理。每延时一段时间,灯的显示情况都会按LED 灯的显示规律进行状态转换。采用单片机内部的I/O 口上的P0口中的4个引脚即可来控制4个LED 灯。 2.2十秒秒表的功能要求 本设计能模拟基本的LED 滚动闪烁系统,是用中断的方式定时控制LED 定的闪烁及滚动。 2.2.1计时显示 定时/计数器工作方式寄存器,定时器采用T0定时器0工作于模式2 位数:8位计数范围:0-255 具有自动加载功能 2.2.2中断设置 每累计若干次定时器中断才执行一次闪烁。 2.3定时器控制4只LED 滚动闪烁制系统的基本构成及原理 单片机设LED 灯闪烁系统,可用单片机直接控制信号灯的状态变化可以广泛的应用到商业和工业的流程控制测电路当中。 图2.1 系统的总体框图 据此,本设计系统以单片机为控制核心,连接成最小系统。系统的总体框图如上所示。因为它能够准确地划分成时钟频率,与UART(通用异步接收器/发送器)量常见的波特率相关。特别是较高的波特率(19600,19200),不管多么古怪的值,这些晶振都是准确,常被使用的。当定时器1被用作波特率发生器时,波特率工作于方式1和方式3是由定时器1 的溢出率和SMOD 的值(PCON.7------双倍速波特率)决定:

课程设计-单片机定时器的设计

摘要 单片机是一种集成在电路芯片,是采用超大范畴集成电路技能把具有数据处理本事的中心处理器CPU 随机存储器RAM、只读存储器ROM、多种I/O 口和间断系统、定时器/计时器等成果(大要还包括表现驱动电路、脉宽调制电路、模拟多路转换器、A/D 转换器等电路)集成到一块硅片上构成的一个小而完竣的计较机系统。单片机具有特点具有良好的性能价格比;低电压、低功耗;集成度高、体积小、可靠性高;控制成果强等优点。 计算机暂时中止正在执行的主程序,转去执行中断服务程序,并在中断服务程序执行完了之后能自动回到原主程序处继续执行,这个过程叫做“中断”。中断需要解决两个主要问题:一是如何从主程序转到中断服务程序;二是如何从中断服务程序返回主程序。 关键词:单片机,中断,延时

目录 1.设计目的 (1) 2.设计任务的内容和要求 (1) 3.设计原理 (1) 4.程序说明 (3) 5.心得体会 (6)

定时器试验 1.设计目的 (1)熟练运用汇编语言编程,并且掌握键盘查表来运行相应的功能 (2)熟悉启东硬件仿真系统,熟练应用该系统调试软件 (3)熟悉单片机应用系统的组成,并能运用程序控制外部流水灯 2.设计任务的内容和要求 (1)初始化定时器,使之采用定时器0,方式2,定时100us时间 (2)通过设置中断,产生总时间为1秒 (3)1秒时间到,控制发光二极管点亮 3.设计原理 在实际的控制系统中常要求有外部实时时钟,以实现定时或延时控制;还要求有外部计数器,以实现对外界事件进行计数。 MCS-51单片机由两个可编程定时/计数器(以下简称T/C)。T0,T1 T/C的核心是1个加1计数器,它的输入脉冲有两个来源:一个是外部脉冲源,另一个是系统机器周期(时钟振荡器经12分频以后的脉冲信号)。T0,T1是2 个16位寄存器。加1到满溢出产生中断 T0(TH0,TL0);8CH,8AH地址不连续 T1(TH1,TL1);8DH,8BH 都具有定时或者计数功能。 图一 图一有2个模拟的位开关,前者决定了T/C的工作状态:当开关处于上方时为定时状态,处于下方时为计数状态。工作状态的选择由特殊功能寄存器TMOD的C/T位来决定。C/T=0表示定时,C/T=1表示计数。 当T/C处于定时方式时,加1计数器在每个机器周期加1,因此,也可以把它看作在累计机器周期。由于一个机器周期包含12个振荡周期,所以它的计数速率是振荡频率的1/12。 如果主频12M,机器周期为1us,每1us定时寄存器完成1次加1操作。一旦振荡周期确定,机

单片机课程设计报告模板

单片机系统课程设计报告 专业:自动化 学生姓名: 学号: 指导教师: 完成日期:2011 年 3 月17 日

目录 1 设计任务和性能指标 (3) 1.1设计任务............................................................................ 错误!未定义书签。 2 设计方案 (4) 2.1任务分析 (4) 2.2方案设计 (4) 3 系统硬件设计 (5) 3.1时钟的电路设计 (5) 3.2复位电路设计 (5) 3.3灯控电路设计 (5) 3.4倒计时电路设计 (6) 3.5按键控制电路设计 (7) 4 系统软件设计 (8) 4.11秒定时 (8) 4.2定时程序流程 (8) 4.3交通灯的设计流程图 (9) 4.4定时器0与中断响应 (10) 5 仿真及性能分析 (10) 5.1仿真结果图 (11) 5.2仿真结果与分析 (12) 6 心得体会 (13) 参考文献 (14) 附录1 系统原理图 (15) 附录2 系统PCB图 .................................................................. 错误!未定义书签。附录3 程序清单 (17)

1.1设计任务 利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。用红、绿、黄发光二极管作信号灯。如图5.1所示。设东西向为主干道,南北为支干道。 图5.1 交通灯示意图 1. 基本要求 (1) 主干道处于常允许通行的状态,支干道有车来时才允许通行。主干 道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。 (2) 主、支干道均有车时,两者交替允许通行,主干道每次放行30秒, 支干道每次放行20秒,设立30秒、20秒计时、显示电路。 (3) 在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡。 黄灯亮时,原红灯按1Hz 的频率闪烁。 (4) 要求主支干道通行时间及黄灯亮的时间均可在0~99秒内任意设置。 2. 选做 (1) 可设置紧急按钮,在出现紧急情况时可由交警手动实现全路口车辆 禁行而行人通行状态,即主干道和支干道均为红灯亮。 (2) 实现绿波带。所谓‘绿波带’,是指在一定路段,只要按照规定时速, 就能一路绿灯畅行无阻。“绿波带”将根据道路车辆行驶的速度和路口间的距离,自动设置信号灯的点亮时间差,以保证车辆从遇到第一个绿灯开始,只要按照规定速度行驶,之后遇到的信号灯将全是绿灯。 南 北 东 西

单片机的课程设计_30秒定时器

目录 一、篮球计时器作用 (1) 二、设计的具体实现 (1) 1.系统概述 (1) 1.1总体设计思路及方案 (1) 1.2流程图 (3) 1.3计数原理 (3) 1.4定时器工作方式 (4) 2.单元电路设计 (6) 2.1 8051单片机 (6) 2.2两个基本电路 (8) 2.3八段数码管的驱动方式.......................错误!未定义书签。 3.软件程序设计 (9)

单片机的定时器设计 一、篮球计时器的作用 在篮球比赛中,规定了球员的持球时间不能超过24秒,否则就视为犯规。本课程设计的“篮球竞赛24秒定时器”,可用于篮球比赛中对球员持球时间作24秒时间限制。一旦球员的持球时间超过了24秒,它自动报警,从而判定此球员犯规。 二、设计的具体实现 1.系统概述 1.1总体设计思路及方案 图1.1.1 总设计图

流程图:

最小系统,就是最简单的输出/输入构成,并且能实现最基本的运行条件,如应有供电、时钟附属电路等。单片机的最小系统包括晶振电路复位电路和电源,这时最小系统基本组成当然还可以添加矩阵键盘数码管等。 此实验的原理是,利用单片机的最小系统,通过锁存器74HC573控制数码管,来实现30秒定时器的功能。 图1.1.2最小系统 1.2计数原理 80C51单片机部设有两个16位的可编程定时器/计数器。在定时器/计数器中除了有两个16位的计数器之外,还有两个特殊功能寄存器(控制寄存器和方式寄存器)。 1.2.1定时器/计数器的结构 16位的定时/计数器分别由两个8位专用寄存器组成,即:T0由TH0和TL0构成;T1由TH1和TL1构成。每个寄存器均可单独访问。这些寄存器是用于存放定时或计数初值的。此外,其部还有一个8位的定时器方式寄存器TMOD和一个8位的定时控制寄存器TCON。这些寄存器之间是通过部总线和控制逻辑电路

基于单片机的数字钟设计毕业设计

基于单片机的数字钟设计毕业设计 目录 1. 引言 (1) 2. 关于单片机 (3) 2.1单片机的发展 (3) 2.2 单片机的开发背景 (5) 2.2 单片机的开发背景 (6) 2.3 AT89S52单片机 (7) 2.3.1 AT89S52单片机引脚功能 (8) 2.3.2 AT89S52单片机硬件结构的特点 (9) 2.3.3 AT89S52单片机的硬件原理 (11) 3. 方案设计与论证 (13) 4. 系统总体结构框图 (14) 5. 系统的硬件设计 (14) 5.1 显示部分电路的设计 (14) 5.1.1 LED数码显示管的基本原理 (14) 5.1.2 数码管显示模块分析 (15) 5.1.3 LED显示电路 (16) 5.2 控制部分电路的设计 (16) 5.2.1 时钟模块 (16) 5.2.2 温度模块 (16) 5.2.3 音乐模块 (17) 5.2.4 复位模块 (17) 5.2.5 光识模块 (18) 6. 系统的软件设计 (19) .参考资料.

6.1 各模块的程序设计 (19) 6.1.1 计时程序 (19) 6.1.2 定时闹钟程序 (19) 6.1.3 温度程序 (19) 6.2 系统程序设计的总体框图 (20) 7. 系统电路的制作与调试 (21) 7.1 电路硬件焊接制作 (21) 7.2 调试的主要方法 (21) 7.3 系统调试 (21) 7.3.1 硬件调试 (21) 7.3.2 软件调试 (21) 7.3.3 联机调试 (22) 7.3.4调试中遇到的问题及解决方法 (22) 结论 (24) 参考文献 (25) 附录1 数字钟电路图 (27) 附录2 程序清单 (27) 附录3 英文资料 (65) 附录4 英文资料翻译 (76) 致谢 (84) .参考资料.

基于单片机的定时器设计.

电气信息学院 课程设计任务书 课题名称基于单片机的定时器设计 姓名Front专业班级学号 校内指导老师企业指导老师 课程设计时间2017年3月6日-2017年3月17日(3、4周) 教研室意见意见:审核人: 一、设计任务及要求 1、设计任务: 以单片机为核心设计一个音乐提示定时器,具备倒数计时、时间修改、音乐演奏等功能。可作为微电脑倒数计数器,做一小段时间计时,放在家中使用,例如煮泡面、煮开水或小睡片刻等;用于全自动洗衣机洗涤完毕音乐提示定时器。设计4个按键设置现在想要倒数的时间:K1--可调整倒数时间为1-60分钟;K2—设置倒数计时时间为5分钟,显示为“05”;K3—设置倒数计时时间为20分钟,显示为“20”;K4—设置倒数计时时间为60分钟,显示为“60”;一旦按键后则开始倒计时,当计时为0则演奏一曲音乐;内定倒数计时时间为5分钟,显示为05。 2、设计要求: 1)设计方案要合理、正确; 2)系统硬件设计; 3)系统软件设计及调试; 4)系统联调; 5)写出设计报告。 二、进度安排 第一周: 周一:集中布置课程设计任务和相关事宜,查资料确定系统总体方案。 周二~周三:完成硬件设计和电路连接 周四~周日:完成软件设计 第二周: 周一~周三:程序调试 周四~周五:设计报告撰写。周五进行答辩和设计结果检查。

三、参考文献 1)《微型计算机原理及应用》许立梓编机械工业出版社 2002 2)《微型计算机接口技术及应用》刘乐善编华中理工大学出版社 2000 3)《计算机硬件技术基础试验教程》邹逢兴编高等教育出版社 2000 4)《16位微型计算机原理接口及其应用》周佩玲编中国科学技术大学出版社2000 5)《微型计算机原理与接口技术》吴秀清编中国科学技术出版社 2001 6)《微型计算机接口技术》邓亚平编清华大学出版社 2001 7)《单片机原理及及应用》王迎旭编机械工业出版社 2001 8)《单片机应用程序设计技术》周航慈著北京航空航天大学出版社 2002 9)《单片机实用技术问答》谢宜仁主编人民邮电出版社 2002

单片机设计报告

单片机原理及系统课程设计 专业:自动控制 班级:动1001 姓名:武明强 学号: 201008430 指导教师: 兰州交通大学自动化与电气工程学院

基于单片机的数字电压表设计 一、 引言 数字电压表(Digital V oltmeter )简称DVM ,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等领域,显示出强大的生命力。与此同时,由DVM 扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。 二、 设计方案及原理 2.1 设计要求 以单片机为核心,设计一个数字电压表。采用中断方式,对2路0~5V 的模拟电压进行循环采集,采集的数据送LED 显示,并存入内存。超过界限时指示灯闪烁。 2.2 设计思路 本题目本质上是以单片机为控制器,ADC0809为ADC 器件的AD 转换电路,设计要求的电压显示,是对ADC 采集所得信号的进一步处理。 为得到可读的电压值,需根据ADC 的原理,对采集所得的信号进行计算,并显示在LED 上。本项目中ADC0809的参考电压为+5V ,根据定义,采集所得的二进制信号data 所指代的电压值为: 而若将其显示到小数点后两位,不考虑小数点的存在(将其乘以100),其计算的数值为: 将小数点显示在第二位数码管上,即为实际的电压 2.3 数字电压表原理 数字电压表的基本工作原理是利用A/D 转换电路将待测的模拟信号转换成数字信号,通过相应换算后将测试结果以数字形式显示出来的一种电压表。较之于一般的模拟电压表,数字电压表具有精度高、测量准确、读数直观、使用方便等优点。 电压表的数字化测量,关键在于如何把随时连续变化的模拟量转化成数字量, V 5256 data ?V 1.96data V 5256 100data ?≈??

单片机课程设计音乐闹钟定时器

目录: 0、任务书 (2) 1、系统总体设计方案规划与选定 (2) 2、硬件设计 (5) 3、软件设计 (6) 4、调试 (8) 5、新增功能及实现方法 (8) 6、小结与体会 (9) 7、参考文献 (9) 8、附录 (10)

0.任务书 基于51单片机设计一个电子数字钟,显示时、分、秒,且具有闹钟功能。用8255接口实现4*8键盘及8位LED显示。 32个键:0~9共10个键,调时(设置当前时间)键;设定闹钟(定时)键;走时键;光标左右移动各一个键。 要求键复位后,应该最后面的LED上显示H(待命状态)。 1. 系统总体设计方案规划与选定 1.1主控制芯片选择 方案一:采用ARM微处理,做主控芯片,计算速度快,缺点;成本高,控制较复杂,不容易焊接。 方案二:采用80C51单片机做主控制器,由单片机来完成采集和信号处理等底层的核心计算,做主控芯片,成本低,易控制,易实现。 经过以上两个方案比较,在此题方案二明显优于方案一,故采用80C51单片机做主控制器。 1.2定时模块选择 方案一:采用时钟芯片DS1302。 DS1302 可以用于数据记录,特别是对某些具有特殊意义的数据点的记录,能实现数据与出现该数据的时间同时记录,且较单片机计时简单节约硬件资源,但存在时钟精度不高,易受环境影响,出现时钟混乱等缺点。 方案二:采用单片机内部的定时系统,外接晶振进行分频脉冲计数。

此系统采用12MHz晶振。 由于方案二使用简单,比方案一更适用该系统设计,所以选择方案二。 1.3 LED显示及计时模块选择 方案一:74LS192计数器——74LS47七点显示译码器 74LS192芯片是一块可预置数可逆计数芯片,功能强大。将74LS192芯片CPU引脚接高电平可实现减法计数,以倒计时显示。可通过74LS47与LED共阳极数字显示器配合使用。 方案二:使用移位寄存器74HC595与译码器相连 74HC595具有8位移位寄存器和一个存储器,使用时可直接与数字显示器相连。 方案三:使用8255扩展LED显示计时模块 8255是一个可编程并行接口芯片,有一个控制口和三个8位数据口,外设通过数据口与单片机进行数据通信,各数据口的工作方式和数据传送方向是通过用户对控制口写控制字控制的。我们用到了A与B口分别进行对数码显示管的片选和段选,且B口同时作为键盘扫描模块的输入口,与数码显示模块分时复用。故采用方案三 1.4蜂鸣器的选择 方案一:电磁式蜂鸣器 电磁式蜂鸣器主要是利用通电导体会产生磁场的特性,用一个固定的永久磁铁与通电导体产生磁力推动固定在线圈上的鼓膜。电磁式由于音色好,所以多用于语音、音乐等设备。对于不同提示音且考虑实际,此种较好。 方案二: 压电式蜂鸣器

基于单片机的数字钟设计

基于单片机的数字钟设计及时间校准研究﹡ 陈姚节戴泽军 (武汉科技大学计算机学院 430081 ) 摘要用单片机来设计数字钟,软件实现各种功能比较方便。但因软件的执行需要一定的时间,所以就会出现误差。对比实际的时钟,查找出误差的来源,并作出调整误差的方法,使得误差近可能的小,使得系统可以达到实际数字钟的允许误差范围内。 1 , 串 使用。采用一个频率为 11.0592 MHz 的晶振构成时钟电路。系统原理图如图 1 : 图1 系统原理图 2.软件实现与流程 2.1 主程序

由于系统的主要功能都是有程序中断来完成的,主程序基本上没什么事可做,但因键盘扫描是通过程序查询的方式实现的,所以主程序只循环扫描键盘。主程序流程图如图2所示: 2.2 定时和串口程序 2.3 数据的显示与刷新 更新显示器涉及到两个操作:发数据和改片选信号。但实践发现,代码中无论是先改片选信号还是先发数据信号,都会出现重影(即相邻两位显示差不多)这也是动态扫描引起的。实践先该片选,则前一位的数据会在下一位显示一段时间;先发数据,则后一位的数据会在前一位显示一段时间。因而出现重影。解决这个问题的办法是先进行一个消影操作,然后再发片选,最后发数据。这样就很好地解决了重影问题。这样做的关键在于,在极短

的一段时间内让显示器都不亮,等一切准备工作都做好了以后再发数据,只要显示频率足够快,是看不出显示器有闪烁的(程序用定时中断频率作为显示更新频率,在表 1 中,只当更新率??00 赫兹时,才发现显示器有闪烁)。这段显示程序代码如下: P1=0 x00; // 消影 作为一次还是多次处理,必须有一个标准。程序中我用到了一个标志位,相当于中断系统的中断标志。当用户按下键时,标志清零,松开键时,标志恢复;键按下超过一定时间(靠一扫描计数器判定)后,恢复标志,则经过一定的时间延迟(也靠一扫描计数器判定)可以响应一次按键(即一次按键的多次响应)。而事实上,键盘响应程序就是一个事件触发器,键盘的每一个状态(按下,松开, 点击)都可能引发一段响应程序(如:重新设定键按下 =>

单片机定时器设计报告

第一章绪论 1.1系统背景 ◆ 1.1.1单片机的介绍 单片微型计算机简称单片机,是典型的嵌入式微控制器,常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性! ◆ 1.1.2单片机的应用 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说

单片机课程设计报告书模板

. .. . .. .. 西南科技大学 2011级微机原理与接口技术 课程设计报告 课题名称微机原理与接口技术 姓名 学号 院、系、部制造科学与工程学院 专业 指导教师 2014年月日

目录 一、绪言 (1) 二、系统设计 (1) 2.1系统整体流程图 (1) 2.2日历时钟的控制方案论证 (1) 2.3单片机的选择方案论证 (2) 2.4键盘选择方案论证 (2) 2.5显示模块的选择方案论证 (2) 2.6模块的选择方案论证 (2) 三、硬件电路设计 (2) 3.1日历时钟的控制电路图 (2) 3.2行列式键盘的设计 (3) 3.3数码管显示电路的设计 (3) 3.4蜂鸣器驱动电路的设计 (4)

3.5主要元器件选择 (4) 四、程序流程图 (5) 五、c语言程序设计 (5) 六、日历时钟的控制器仿真 (19) 6.1K e i l调试 (19) 6.2P r o t e u s调试 (19) 七、结束语 (20) 八、参考文献 (21) 1、绪言 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。电子时钟是现代社会中的主要计时工具之一,广泛应用于手机,电脑,汽车等社会生活需要的各个方面,及对时间有要求的场合。本设计采用AT89C51单片机作为主要核心部件,附以上电复位电路,时钟电路及按键调时电路组成。数字钟已成为人们日常生活中:必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。

相关主题
文本预览
相关文档 最新文档