当前位置:文档之家› 单片机控制的电子闹钟系统单片机期末课程设计

单片机控制的电子闹钟系统单片机期末课程设计

单片机控制的电子闹钟系统单片机期末课程设计
单片机控制的电子闹钟系统单片机期末课程设计

目录

第1节引言 (1)

1.1 电子闹钟系统概述 (1)

1.2 电子闹钟的功能与设计方案 (2)

第2节系统主要硬件电路设计 (3)

2.1 电子闹钟的硬件系统框架 (3)

2.2 电子闹钟的主机电路设计 (3)

2.2.1 系统时钟电路设计 (3)

2.2.2 系统复位电路设计 (4)

2.2.3 按键与按钮电路设计 (5)

2.2.4 闹铃声光指示电路设计 (5)

2.3 电子闹钟的显示电路设计 (5)

2.4 电源设计 (6)

2.5 硬件电原理图 (7)

第3节系统软件设计 (8)

3.1 软件系统中主程序设计 (8)

3.2 基本显示子系统设计 (10)

3.3 当前编辑位闪烁功能子系统设计 (11)

3.4 时间设定子系统设计 (12)

3.5 秒脉冲发生器原理与走时的子系统设计 (16)

3.6 12小时与24小时制的子系统设计 (19)

3.7 闹铃功能的子系统设计 (21)

3.8 其它源程序 (21)

第4节结束语 (28)

参考文献 (29)

单片机控制的电子闹钟系统

第1节引言

1.1 电子闹钟系统概述

随着社会的不断发展,各种电子产品的不断更新换代,复杂的电子线路已逐步被淘汰,取而代之的是具有智能化功能的单片机,在电子行业,单片机的发展越来越快,日常生活中,有非常多的家用电器用到了单片机,智能化控制正逐步走进人们的生活。

本设计将介绍在生活中运用广泛的电子闹钟,主要利用单片机AT89C2051、主要包括亮度可调串行显示电路的设计,具有编辑位闪烁功能的编辑软件的设计,闹铃功能的软件设计等组成一个具有智能化功能的电子闹钟。具有随意设定走时起始时间、能设定闹铃时间、能指示秒节奏、具有走时误差修正能力等功能。

智能化电子闹钟在生活中的应用是非常广泛的。主要由硬件设计和软件设计两大部分实现,以AT89C2051单片机为核心,配备显示模块、时钟芯片、闹铃设置等,通过数码管进行显示计时,设有按键以便人工定时和修改当前时间。用户可以通过按键来修改时间,以便达到用户所要实现的功能。软件采用汇编语言程序设计来实现程序控制、时钟显示和闹铃的设置。

用单片机来实现这些功能,简化了电路,使用方便,实现了智能化,利用微处理器的智能性,可方便实现具有智能的电子钟。由于微处理器均具有时钟振荡系统,利用系统时钟借助微处理器的定时/计数器可实现电子钟功能。在未来的发展进程中,单片机占有重要的地位

1.2 电子闹钟的功能与设计方案

1.2.1 电子闹钟的功能:

1)能随意设定走时起始时间。对电子钟而言,最基本的功能是具有对时功能,

即能随意设定走时起始时间。

2)能设定闹铃时间。电子钟一般都具有闹铃功能,即预设定一个时间,一旦走

时到该时间,电子钟能以声或光的形式告警提示(俗称“闹铃”、“打铃”)。

3)12小时/24小时两种制式可选,以适应不同的需要。

4)采用交直流供电电源。与石英钟不同的是,电子钟一般采用数码管等显示介

质,因而必须以交流供电为主,以直流电源为后备辅助电源,并能自动切换。

5)能指示秒节奏,即秒指示,具有走时误差修正能力。

1.2.2 电子闹钟的设计方案:

1)微处理器

采用ATMEL的AT89C2051微处理器,是基于以下几个因素:

a)89C2051为51内核,仿真调试软硬件资源丰富,性价比高,货源充足;

b)DIP20封装,体积小,便于产品小型化;

c)为EEPROM程序存储介质,1000次以上擦/写周期,便于编程调试;

d)工作电压范围宽:2.7~6V,便于交直流供电。

2)显示电路

就时钟而言,通常可采用液晶显示或数码管显示。由于一般的段式液晶屏,需要专门的驱动电路,而且液晶显示作为一种被动显示,可视性相对较差;对于具有驱动电路和微处理器接口的液晶显示模块(字符或点阵),一般多采用并行接口,对微处理器的接口要求较高,占用资源多。另外,89C2051本身无专门的液晶驱动接口,因此,本时钟采用数码管显示方式。数码管作为一种主动显示器件,具有亮度高、价格便宜等优点,而且市场上也有专门的时钟显示组合数码管。

3)按键电路

考虑到对时和设定闹铃时间这两种操作的使用频率不是很高,为了精简系统和节省成本,本时钟系统只设两个按键:

a)SET键,对应系统的不同工作状态,具有3个功能:

●在复位后的待机状态下,用于启动设定时间参数(对时或定闹);

●在设定时间参数状态而且不是设定最低位(即分个位)的状态下,用

于结束当前位的设定,当前设定位下移;

●在设定最低位(分个位)的状态下,用于结束本次时间设定。

b)+1键,用于对当前设定位(编辑位)进行加1操作,根据12/24小时

工作模式和正在编辑的当前位的含义(时十位、时个位、分十位、分个位)

自动进行数据的上限和下限判断。例如,对12小时制,小时的十位只能

是0、1,如果当前值为0,则按+1键后为1,再按+1键则又回复到0。

第2节电子闹钟系统主要硬件电路设计

电子闹钟至少应包括秒信号发生器、时间显示电路、按键电路、供电电源以及闹铃指示电路等几部分。

2.1 电子闹钟的硬件系统框架

电子闹钟的系统框架如图2-1示。在系统中,除了按键电路以外,还设计了“是否设定闹铃”、“12/24小时制选择”等按钮电路。

图2-1 时钟系统电路原理框图

2.2 电子闹钟的主机电路设计

电子闹钟的主电路指的是图2-1中虚线框内部分,主要涉及到微处理器电路和按键按钮电路。主机的设计具体地说有: 1) 系统时钟电路设计; 2) 系统复位电路设计; 3) 按键与按钮电路设计; 4) 闹铃声光指示电路设计。 2.2.1 系统时钟电路设计

系统时钟电路的设计如图2-2。对于时间要求不是很高的系统,只要按图进行设计就能使系统可靠起振并稳定运行。但由于图中的C1、C2电容起着系统时钟频率微调和稳定的作用,因此,在本闹钟系统的实际应用中一定要注意正确选择参数(30±10 PF ),并保证对称性(尽可能匹配),选用正牌厂家生产的瓷片或云母电容,如果可能的话,温度系数要尽可能低。实验表明,这2个电容元件对闹钟的±走时误差有较大关系。

XTAL1

XTAL2

图2-2 系统时钟电路

2.2.2 系统复位电路设计

智能系统一般应有手动或上电复位电路。复位电路的实现通常有两种方式:1)

RC 复位电路;2)专用μP监控电路。前者实现简单,成本低,但复位可靠性相对较低;后者成本较高,但复位可靠性高,尤其是高可靠重复复位。对于复位要求高、并对电源电压进行监视的场合,大多采用这种方式。 1) 专用μP监控电路

专用μP监控电路又称电源监视电路,具有上电时可靠产生复位信号和电源电压跌落到“门槛值”时可靠产生复位信号等功能。按有效电平分,有高电平输出、低电平输出两种;按功能分,有简单的电源监视复位电路、带“看门狗”定时器(WATCH DOG ,又简称“WDT ”)的监控电路、和WDT +EEPROM 的监控电路等多种类型。比较常见的生MAX813L 、MAX809、X25043/5等。 2) RC 复位电路

本系统采用的是这种复位方式。RC 复位电路的实质是一阶充放电电路,现结合图2-3说明这种复位电路的特点。系统上电时该电路提供有效的复位信号RST (高电平)直至系统电源稳定后撤销复位信号(低电平)。理论上说,51系列单片机复位引脚只要外加2个机器周期的有效信号即可复位,即只要保证t =RC>2M (机器周期)便可,但实际设计中,通常取C1为10μF以上,R1通常取10K 左右。实践发现R1如果取值太小,例如1K,则会导致RST 信号驱动能力变差而无法使系统可靠复位。另外,从图2-4的复位信号波形图可以明显看出,图2-3中的虚线所接的续流二极管D1对于改善复位性能,起到了重要作用,它的作用是在电源电压瞬间下降时使电容迅速放电,因此一定宽度的电源毛刺(如波形中A 点)也可令系统可靠复位。图2-4为未加二极管和加二极管的复位信号特性对比。

C1

22uF

VCC

图2-3 RC复位电路

图2-4 加二极管前后的复位信号特性对比

2.2.3 按键与按钮电路设计

按键与按钮电路的设计参见系统电原理图中的S1、S2和S3对应部分。按键与按

钮电路设计中关键要考虑的就是按键去抖动问题(简称“去抖”),一般有硬件去抖和软件去抖两种方式。过去硬件去抖电路通常采用分立元件或触发器实现,目前市场上已有硬件去抖专用接口芯片,例如:MAXIM 公司MAX6816~6818,均为单电源供电,电压为+2.7~5.5V,分别为单输入、双输入和八输入,输出端具有欠压锁定功能。这里考虑到系统的硬件简化和成本没有采用硬件去抖,而采用软件去抖。 2.2.4 闹铃声光指示电路设计

闹铃指示可以有声或光两种形式。本系统采用声音指示。关键元件是蜂鸣器。蜂鸣器有无源和有源两种,前者需要输入声音频率信号才能正常发声,后者则只需外加适当直流电源电压即可,元件内部已封装了音频振荡电路,在得电状态下即起振发声。市场上的有源蜂鸣器分为3V、5V、6V等系列,以适应不同的应用需要。其电路设计参见系统电原理图2-7。其中PNP 小功率三极管Q2采用9012,其最大集电极电流为800m A,完全满足蜂鸣器驱动的需要。适当调节基极电阻可改变蜂鸣器的发声功率(即响度)。

2.3 电子闹钟的显示电路设计

显示采用共阳数码管,其目的是为了简化限流电路的设计和实现亮度可调的要求。4位数码管显示电路见图2-5。从图中可知,该显示电路采用了与一般的段电流电阻限流方式不同的实现方式,由此减少了4×8=32个限流电阻,简化了硬件系统。每一笔画段二极管正常发光时的电流一般为10m A左右(当然,电流大小取决于选用的数码管是普亮、高亮还是超高亮类型的不同),其两端压降约为2.0V,也就是说,只要数码管的公共端(COM )加+2.0V以上电压,即可满足每笔画段发光二极管的发光要求,而且适当调节此电压值即可改变发光二极管的电流,从而达到调节亮度的目的。此电压采用三端可调稳压电路W1(LM317)来实现。其输入为+5V,按照图中参数,其输出电压由公式2-1决定:

?

??

??++654125.1R R R (2-1)

图2-5 4位共阳数码管显示电路

公式1-1中,R5为200Ω,R6可调,R4为220Ω,因此输出电压为2.17~2.63V。但由于输入输出压差至少为2.5V,因此极限电压为2.5V。为了节约CPU的口线,显示采用了串行通信口的串行显示接口方式,利用串口的0工作方式在发送TXD 端口(P31)的时钟信号的作用下通过接收RXD端口(P30)将显示段码串行数据送入8位串入并出移位寄存器74LS164,控制相应的数码管。图2-5只画出了一个数码管的连接。端口P32的作用是通过LM317控制数码管显示的开启与关闭,当P32为低电平时Q1关断,317的输出电压低于1.5V,不足以发光,避免了在显示数据刷新时显示的抖动现象。

2.4 电源设计

由于89C2051通常有-12和-24两种型号,对应的时钟频率分别为12M和24M Hz,前者的工作电压为2~6V,后者的工作电压为4~6V,这点在设计选用时应当予以注意。考虑到交直流两用的要求和三端稳压电路选用的方便(通常的系列为5V,6V,…),选择工作电压为5V。电源系统设计如图2-6示。

图2-6 闹钟的电源系统原理图

应当说明的是,尽管有很多型号的7805三端稳压集成芯片,其标称最大输出电流均为1.5A,但在实际应用中,该最大输出电流值往往取决于两个方面:1)足够的散热面积;2)不同的生产厂家。按照很多开发者的经验,ST公司的7805三端稳压芯片能接近标称值。在设计中,必须保证7805的输入电压Vi和输出电压Vo 的压差大于2.5V,即Vi-Vo≥2.5V,否则失去稳压能力,同时考虑到功耗问题,此压差又不宜太,太大则增加7805本身的功率消耗,增加芯片的温升,不利于安全。因此,选为9V。当交流电源失电或失效时,电压为6V的直流电源(电池组或蓄电池)通过二极管投入作用,硅二极管的导通电压降约为0.2V左右,因此满足系统的电源要求。

2.5 硬件电原理图

系统的硬件电原理图如下图:

图2-7 电子闹钟的系统电原理图

第3节电子闹钟的软件系统设计

软件设计的重点在于秒脉冲信号的产生、显示的实现、以及按键的处理等方面。关于显示实现和按键处理的软件设计参见本节相应小节。这里主要讨论秒脉冲的产生原理。基于软件的秒脉冲信号通常有延时法和定时中断法。延时法一般采用查询方式,在延时子程序前后必然需要查询和处理的程序,导致误差的产生,因此其秒脉冲的精度不高;中断法的原理是,利用单片机内部的定时器溢出中断来实现。例如,设定某定时器每100ms中断1次,则10次的周期为1s。这种实现法的特点是精度高,秒脉冲的发生和其他处理可以并行进行。本系统采用这种方式,实现的关键是定时器工作方式的选择和定时参数的计算设定。具体内容参见源程序中的相关说明。本系统中所使用的晶振频率为6MHz。

3.2 软件系统中的主模块设计

主模块是系统软件的主框架。结构化程序设计一般有“自上而下”和“自下而上”两种方式,“自上而下”法的核心就是主框架的构建。它的合理与否关系到程序最终的功能的多少和性能的好坏。本系统的主模块的程序框图用图3-1的表示。具体代码实现以下分别讨论,注意,代码中的有关变量的含义和作用要参阅源程序清单部分的说明。

图3-1 主程序流程框图

以下程序为上述主模块的51汇编语言实现,有关设计思想在程序中均作了详细分析说明。

MAIN: MOV SP, #60H ;堆栈设置

LCALL SYS_INIT ;系统初始化

LCALL T0_INIT ;定时器初始化

LCALL T1_INIT ;闪烁用定时器初始化

LCALL UART_INIT ;串口初始化

LCALL DISPLAYP ;显示待机符P.

LCALL SETTIME ;等待设置当前时间

JB S3, MAIN_00 ;判是否设置闹铃

LCALL SETWARN ;是,则设定闹铃时间

SETB WARNSETTED ;设置已设定闹铃时间标志

MOV WARNCNT,#0 ;闹铃次数清0(否则会闹1分钟)

CLR TFIX ;误差开始修正标志初始化

MOV COUNT, #0

MAIN_00:LCALL DISPLAY1 ;必须再次刷新,否则会出现尾位不显示的情况MAIN_0:SETB TR0 ;设置完后开始走时,启动定时器T0

SETB ET0 ;允许T0溢出中断

MAIN_1:JB FRESH, MAIN_2 ;时(分)有变化,则刷新显示

SJMP MAIN_3 ;否则,不更新显示

MAIN_2:LCALL DISPLAY1 ;先对时分数据进行HEX2BCD转换后显示SJMP MAIN_3 ;进入死循环,只有复位才能重新设置

MAIN_3:JBC SEC, MAIN_4 ;判秒到否

SJMP MAIN_1

MAIN_4:CPL L1 ;到则进行秒指示

CPL L2

JNB WARNING,MAIN_5

CPL BEEP ;开始闹铃

INC WARNCNT ;闹铃次数+1

MOV A, WARNCNT

XRL A, #08

JNZ MAIN_5 ;到8次(实际是4次),则停止

CLR WARNING

MOV WARNCNT,#0

MAIN_6:SETB BEEP

MAIN_5:MOV R6, #60

LCALL DEL20_0 ;点亮时间(不能太长,否则影响秒指示,短则太暗)

SJMP MAIN_1

3.2 基本显示子系统设计

基本显示模块设计的重点是由显示代码取得相应的段码、显示段码数据的串行发送,程序流程如图3-2所示。其中时个位的段码必须加上小数点,即带小数点显示时个位,目的是以小数点符代替时间分割符“:”(因为一般的数码管无法显示字符“:”)。

图3-2 基本显示模块的程序流程图

以下代码为基本显示模块的51汇编语言实现。

DISPLAY:LCALL HEX2BCD ;数据转换

DISPLAY1:SETB DISPCON ;关闭显示

MOV A, HOURH ;取出小时数据

ADD A, #30H ;加上偏移量

MOVC A, @A+PC ;取出段码

MOV SBUF, A ;送入74LS164

DL1: JNB TI, DL1 ;等待发送完成

CLR TI

MOV A, HOURL

ADD A, #24H

MOVC A, @A+PC

ANL A, #0FEH ;显示时分分隔符:(这里用.代替)

MOV SBUF, A

DL2: JNB TI, DL2

CLR TI

MOV A, MINUH ;分

ADD A, #16H

MOVC A, @A+PC

MOV SBUF, A

DL3: JNB TI, DL3

CLR TI

MOV A, MINUL

ADD A, #0AH

MOVC A, @A+PC

MOV SBUF, A

DL4: JNB TI, DL4

CLR TI

CLR DISPCON ;打开显示

RET

;0到9的段码(共阳数码管)

SEGTAB:DB 03H,9FH,25H,0DH,99H

DB 49H,41H,1FH,01H,09H

DB 0FFH

3.3 当前编辑位闪烁功能的实现

当前编辑位闪烁功能能使时间设定编辑模块的人机环境更加友善,其实现的原理是:利用定时器1每100ms的溢出中断,实现每0.5s将闪烁位标志求反;在时间设定模块中根据此标志的状态,分别显示当前时间参数或关闭显示,达到每0.5s亮-灭交替的效果,即闪烁。上述思想用程序框图表示为图3-3。定时器1的中断程序思想参见下面代码中的注释说明。

图3-3 当前编辑位闪烁功能实现的程序流程

以下代码为当前编辑位闪烁功能的51汇编语言实现,是从时间设定模块中截取的一部分。

SET_0: JNB SS, SET_06 ;判闪烁标志(一亮一灭)

JNB HH, SET_02 ;为真,则当前位灭

MOV HHBACK, #0AH ;灭的代码

MOV HLBACK, HOURL ;其他显示位送该缓冲区

MOV MHBACK, MINUH

MOV MLBACK, MINUL

SJMP SET_01

SET_02:JNB HL, SET_03

MOV HHBACK, HOURH

MOV HLBACK, #0AH ;灭的代码

MOV MHBACK, MINUH

MOV MLBACK, MINUL

SJMP SET_01

以下为定时器1的100ms定时溢出中断子程序。

TIMER1:PUSH ACC

MOV TH1, #3CH ;100ms定时常数

MOV TL1, #0B0H

INC COUNT ;中断次数加1

MOV A, COUNT

XRL A, #5 ;判到5次(0.5s)否,不到直接返回

JZ TIMER1_0

POP ACC

RETI

TIMER1_0:CPL SS ;ss闪烁标志求

MOV COUNT, #0

POP ACC

RETI

3.4 时间设定子程序设计

时间设定模块的设计要点是按键的去抖处理与“一键多态”的处理。即只涉及2个键完成了4位时间参数的设定。软件法去抖动的实质是软件延时,即检测到某一键状态变化后延时一段时间,再检测该按键的状态是否还保持着,如是则作为按键处理,否则,视为抖动,不予理睬。去抖中的延时时间一般参考资料多描述为10ms左右,实际应用中,应大于20ms,否则,会导致按一次作多次处理,影响程序正常执行。“一键多态”即多功能键的实现思想是,根据按键时刻的系统状态,决定按键采取何种动作,即何种功能。其实现流程如图3-4。

图3-4 时间设定模块流程图

时间设定模块的51汇编语言程序实现如下,按键去抖问题在程序中已有清晰阐述,需要注意的是,这里的代码是基于12小时制的。

SETTIME:LCALL S1KEY ;先等待S1按键

MOV SECOND,#00H

MOV MINUTE,#00

MOV HOUR, #00

MOV HOURH, #00 ;00.00显示数据送缓冲区

MOV HOURL, #00

MOV MINUH, #00

MOV MINUL, #00

MOV SETFLAG,#00

SETB HH ;设置当前位标志

CLR SS ;闪烁标志初始化(清除)

SETB TR1 ;启动定时器T1

SETB ET1 ;允许T1溢出中断

MOV COUNT, #0

SET_0: JNB SS, SET_06 ;判闪烁标志(一亮一灭)

JNB HH, SET_02 ;为真,则当前位灭

MOV HHBACK, #0AH ;灭的代码

MOV HLBACK, HOURL ;其他显示位送该缓冲区

MOV MHBACK, MINUH

MOV MLBACK, MINUL

SJMP SET_01

SET_02:JNB HL, SET_03

MOV HHBACK, HOURH

MOV HLBACK, #0AH ;灭的代码

MOV MHBACK, MINUH

MOV MLBACK, MINUL

SJMP SET_01

SET_03:JNB MH, SET_04

MOV HHBACK, HOURH

MOV HLBACK, HOURL

MOV MHBACK, #0AH ;灭的代码

MOV MLBACK, MINUL

SJMP SET_01

SET_04:MOV HHBACK, HOURH

MOV HLBACK, HOURL

MOV MHBACK, MINUH

MOV MLBACK, #0AH ;灭的代码

SET_01:MOV R0, #HHBACK ;备份区数据送显

SJMP SET_05

SET_06:MOV R0, #HOURH ;时钟数据送显

SET_05:LCALL DISPLAYNEW

JB S1, SET_1 ;循环扫描S1,S2键,并进行相应处理

LCALL DELAY20MS

JB S1, SET_1

JB ML, SET_00 ;当前位是分各位,按S1键结束设定状态,开始走时MOV A, SETFLAG

RL A ;当前位右移1位(标志左移1位)

MOV SETFLAG,A ;回存(否则,标志位不改变导致编辑不移位)

SJMP SET_0

SET_00:CLR TR1 ;关T1及中断

CLR ET1

LCALL SETVALUE

RET

SET_1: JB S2, SET_0

LCALL DELAY20MS

JB S2, SET_0

JNB HH, SET_2 ;根据当前位标志,对当前位变量进行+1处理

INC HOURH

MOV A, HOURH

XRL A, #2 ;小时高位只能0~1

JZ SET_10

LJMP SET_0

SET_10:MOV HOURH, #0 ;否则,回0

LJMP SET_0

SET_2: JNB HL, SET_3

INC HOURL

MOV A, HOURH

JNZ SET_20

MOV A, HOURL

XRL A, #0AH ;小时低位只能是0~2

JZ SET_21

LJMP SET_0

SET_21:MOV HOURL, #0 ;高于则回0

LJMP SET_0

SET_20:MOV A, HOURL

XRL A, #03H ;小时低位只能是0~2

JZ SET_22

LJMP SET_0

SET_22:MOV HOURL, #0 ;高于则回0

LJMP SET_0

SET_3: JNB MH, SET_4

INC MINUH

MOV A, MINUH

XRL A, #6 ;分高位只能是0~5

JZ SET_30

LJMP SET_0

SET_30:MOV MINUH, #0

LJMP SET_0

SET_4: INC MINUL

MOV A, MINUL

XRL A, #0AH

JZ SET_40

LJMP SET_0

SET_40:MOV MINUL, #0

LJMP SET_0

3.5 秒脉冲发生器有所不同与走时的实现

软件秒脉冲发生器其实质是利用了定时器0的定时溢出中断,将它设定为100ms 溢出中断,则10次中断的时间正好为1s。将时间参数设计为100ms的原因有两个:1)根据系统时钟主频为6M的特点,16位定时器最大定时时间为65536×2M(M为机器周期,这里是2μS),即131ms,取整数100便于计次数;2)如取的太短,如10ms,则定时器频繁中断,干扰系统正常运行效果。

有了秒脉冲发生器,10次中断为1s,秒指示灯闪亮1次,秒变量单元加1,60后分变量单元加1,如果为60分则时变量单元加1。任何一个变量的变化,则显示刷新一次(更新)。上述思想的实现均集成在定时器0的中断子程序中,流程见图3-5。

图3-5 T0的中断子程序流程

秒脉冲发生器与走时处理的51汇编语言实现如下:

TIMER0:PUSH ACC ;A压栈保护

CLR FRESH ;清刷新标志

CLR SEC ;清秒指示标志

MOV TH0, #3CH ;100ms定时常数

MOV TL0, #0B0H

INC COUNT

MOV A, COUNT

JB TFIX, T0_00 ;如要修正时间,则将计次调整为N

XRL A, #10

SJMP T0_01

T0_00: XRL A, #N ;

T0_01: JZ T0_1

POP ACC

RETI

T0_1: CLR TFIX ;修正后清除修正标志

SETB SEC ;设置秒指示

MOV COUNT, #00H

INC SECOND

MOV A, SECOND

XRL A, #60

JZ T0_2

POP ACC

RETI

T0_2: SETB FRESH ;设置刷新标志(分或时发生变化)

MOV SECOND, #00H

INC MINUL

MOV A, MINUL

XRL A, #0AH

JZ T0_3

LJMP ADJUST

T0_3: MOV MINUL, #00H

INC MINUH

MOV A, MINUH

XRL A, #06

JZ T0_30

LJMP ADJUST

T0_30: MOV MINUH, #00H

INC HOURL ;判小时高位,如为0,则小时低位可以到9,否则,只能是0~2 MOV A, HOURH

JZ T0_300

MOV A, HOURL

XRL A, #03

JZ T0_4

LJMP ADJUST

T0_300:MOV A, HOURL

XRL A, #0AH

JZ T0_4

LJMP ADJUST

T0_4: MOV HOURL, #00

INC HOURH

MOV A, HOURH

XRL A, #02

JZ T0_40

LJMP ADJUST

T0_40: MOV HOURH, #00 ;12点进位后是1点

MOV HOURL, #01

SETB TFIX ;设置修正标志

ADJUST:JB WARNSETTED, ADJUST_1 ;如果没设定闹铃,则不判断POP ACC

RETI

ADJUST_1:MOV A, HOURH ;否则,与设定闹铃时间比较XRL A, WARNHH

JNZ ADJUST_2

MOV A, HOURL

XRL A, WARNHL

JNZ ADJUST_2

MOV A, MINUH

XRL A, WARNMH

JNZ ADJUST_2

MOV A, MINUL

XRL A, WARNML

JNZ ADJUST_2 ;一致,则设置闹铃标志

SETB WARNING ;设置开始闹铃标志

POP ACC

RETI

ADJUST_2:CLR WARNING ;清闹铃标志

POP ACC ;否则,不设置闹铃标志

RETI

3.6 12小时与24小时制的实现

12小时制/24小时制制式可以采取固定或可选两种形式,所谓固定形式即程序代码固定设计为某一种制式,一旦烧入芯片就只能按一种制式走时;而可选形式可以选择两种制式中任一种,是通过一个按键或按钮来实现的。这里所说的按键即无自锁的按键,从程序设计的方便性考虑,一般只能在走时开始前判断按键状态实现制式选择;而这里所说的按钮是指带自锁的按键,由于其有两个稳态,可以方便地实现在走时前和走时后的制式选择。图2-7的系统电原理图中没有涉及到制式选择的功能电路,要实现的话,只需在CZ1扩展口的2脚(地)与3脚(P33)之间跨接一按钮即可。

系统中与制式有关的代码主要分布在时间设定模块和定时器0中断程序模块(走时处理)。现通过定时器0的中断子程序的两种代码形式来说明具体区别与实现问题。这里列写的24小时制式的定时器0中断程序的51汇编语言代码。

TIMER0:PUSH ACC ;A压栈保护

CLR FRESH ;清刷新标志

CLR SEC ;清秒指示标志

MOV TH0, #3CH ;100ms定时常数

MOV TL0, #0B0H

INC COUNT

MOV A, COUNT

XRL A, #10

JZ T0_1

POP ACC

RETI

T0_1: SETB SEC ;设置秒指示

MOV COUNT, #00H

INC SECOND

MOV A, SECOND

XRL A, #60

JZ T0_2

POP ACC

RETI

T0_2: SETB FRESH ;设置刷新标志(分或时发生变化)

MOV SECOND, #00H

INC MINUL

MOV A, MINUL

XRL A, #0AH

JZ T0_3

LJMP ADJUST

基于单片机的电子钟C语言程序

基于 5 1 单片机的电子钟 C 语言程序 #include #include #defineucharunsignedchar #defineuintunsignedint /* 七段共阴管显示定义*/ ucharcodedispcode[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F, 0xBF,0x86,0xCB,0xCF,0xEF,0xED,0xFD,0x87,0xFF,0xDF}; /* 定义并初始化变量*/ ucharseconde=0; ucharminite=0; ucharhour=12; ucharmstcnt=0; sbitP1_0=PM0;//seco nd 调整定义 sbitP1_ 仁P1A1;//mi nite 调整定义 sbitP1_2=P1A2;//hour 调整定义 /* 函数声明*/ voiddelay(uintk);// 延时子程序 voiddelay1(ucharh); voidtime_pro();// 时间处理子程序 voiddisplay();// 显示子程序 voidkeyscan();// 键盘扫描子程序 /*****************************/ /* 延时子程序*/ voiddelay1(ucharh) { ucharj; while((h--)!=0) { for(j=0;j<125;j++) {;} } } voiddelay(uintk) { uinta,b,c; for(c=k;c>0;c--) for(b=38;b>0;b--) for(a=130;a>0;a--); } /************************* /* 时间处理子程序*/ */ voidtime_pro(void) { if(seconde==60)// 秒钟设为60 进制 {seconde=0; minite++; if(minite==60)// 分钟设为60 进制 {minite=0; hour++;

单片机课程设计报告模板资料

哈尔滨远东理工学院 课题名称 专业班级 学号 学生姓名 指导教师 2015年10月14日

1、例举设计过程中遇到的问题及其解决方法(至少两例)。答:(1)问题说明: 解决方法: (2)问题说明: 解决方法: 2、教师现场提的问题记录在此(不少于2个问题)。

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

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

单片机课程设计报告书----电子秤

一、设计任务及要求: 设计任务: 完成一个简单的使用数字电子秤的硬件与软件部分的设计。 设计要求: 1.利用单片机实现对所设计的电子秤的各项功能的控制。 2.电子秤能够LCD液晶显示出商品的名称、价格,重量、总价等信息。 3.电子秤具有储存几种简单商品价格的功能。 4.电子秤的测量范围要求达到5KG,测量精度要求达到0.001。 5.电子秤能够自动完成商品的价格计算。 指导教师签名: 2010 年6月16 日二、指导教师评语: 指导教师签名: 2010 年7月3日三、成绩 验收盖章 2010 年7 月日

基于单片机的实用电子秤的设计 1 设计目的 单片机以其功能强,体积小,功耗低,易开发等很多优势被广泛应用。本 次数字电子秤的设计就是需要通过选择合适的单片机来进行主控,再结合A/D 转换、键盘、液晶显示、复位电路和蜂鸣器报警驱动电路的知识,同时在软件 的设计过程中用到键盘扫描、液晶显示驱动、模数转换程序及汉字库的的设计, 做到对我们所学数电、模电、单片机等知识的综合应用,最终实现所设计数字 电子秤的各项功能,达到“巩固知识,培养技能,学而用之”的实践目的。通过这次课程设计,不但要提高我们在工作中的学习能力、探究能力、应用能力和动 手能力,还要历练我们不畏艰难、不懂便学、有漏必补的认真严谨的工作态度,强化我们的社会适应力和社会竞争力,为走向社会提前试水,完善自我。 2 设计的主要内容及要求 本设计主要完成一个简单实用数字电子秤的硬件电路部分和软件部分的设计。硬件部分包括数据采集、最小系统板、人机交互界面三大部分。其中,数 据采集部分由压力传感器和A/D 转换部分组成;人机界面部分为键盘输入、 液晶显示。软件部分应用单片机 C 语言实现了本设计的全部控制功能。本设 计的数字电子秤要求能够显示商品的名称、价格、总量、总价等;能够自动完 成商品的价格计算;能够储存几种简单商品的价格;能够具有超重提醒功能, 一旦重量超出了自身重量的测量的范围,发出警报;同时对数字电子秤的测量 范围要达到5KG,测量精度要求达到0.001。 3 整体设计方案 整个数字电子秤电路由压力传感电路(ADC0832采样)、模数转换系统、单 片机主控制电路、LM4229显示电路、蜂鸣器报警电路和4*4键盘电路6 个部

基于单片机的电子时钟课程设计报告

目录 一、引言········ 二、设计课题········· 三、系统总体方案········· 四、系统硬件设计······ 1.硬件电路原理图 2.元件清单 五、系统软件设计········· 1.软件流程图 2.程序清单 六、系统实物图········ 七、课程设计体会········ 八、参考文献及网站········· 九、附录·········

一.引言 单片机因将其主要组成部分集成在一个芯片上而得名,就是把中央处理器、随机存储器、只读存储器、中断系统、定时器/计数器以及I/O接口电路等部件集成在一个芯片上。 基于单片机设计的数字钟精确度较高,因为在程序的执行过程中,任何指令都不影响定时器的正常计数,即便程序很长也不会影响中断的时间。 数字钟是采用数字电路实现对日期、时、分、秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学习、工作带来极大的方便。不仅如此,在现代化的进程中,也离不开电子钟的相关功能和原理,比如机械手的控制、家务的自动化、定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。而且是控制的核心部分。因此,研究数字钟及扩大其应用,有着非常现实的意义。 本设计使用12MHZ晶振与单片机AT89C51相连接,以AT89C51芯片为核心,采用动态扫描方式显示,通过使用该单片机,加之在显示电路部分使用HD74LS373驱动电路,实现在8个LED数码管上显示时间,通过4个按键进行调时、复位等功能,在实现各功能时数码管进行相应显示。软件部分用C语言实现,分为显示、延迟、调时、复位等部分。通过软硬件结合达到最终目的。

基于单片机的电子闹钟设计

基于单片机的电子闹钟设计 摘要 本设计以AT89C51芯片为核心,辅以必要的外围电路,设计了一个结构简单,功能齐全的电子时钟,它由5V直流电源供电。 关键词:单片机;led;闹钟;定时器 Abstract This design, adopting AT89C51 chip as the core part with some necessary peripheral circuits, is a simple electronic clock which uses 5V DC as the power supply. Keywords:single chip machine ,in fixed time machine, alarm clock,LED 1 引言 1.1设计目的 此次课程设计是在学习先修课程《单片机原理与系统设计》之后,为加强对学生系统设计和应用能力的培养而开设的综合设计训练环节。本课程设计应结合《单片机原理与系统设计》课程的基础理论,重点强调实际应用技能训练,包括单片机系统设计的软件和硬件两部分。其课程设计任务是使学生通过应用单片机系统设计的基本理论,基本知识与基本技能,掌握单片机应用系统各主要环节的设计、调试方法,初步掌握并具备应用单片机进行设备技术改造和产品开发的能力,培养学生的创新意识,提高学生的动手能力和分析问题、解决问题的能力。 1.2设计要求 结合单片机知识,以AT89C51单片机为核心,利用七段LED数码管实现计时、校时及闹钟功能。 1.3设计方法 以AT89C51单片机为核心,外加晶振电路,使用8个七段数码管显示,LED 采用动态扫描,用74ls245芯片作为驱动电路。通过四个独立按键对时间进行定时、校时,从而实现闹钟提醒功能。 2 设计方案及原理 2.1设计方案 选AT89C51单片机作为系统核心,辅助外部产生时钟信号的晶振电路,再加上四个独立按键作为输入信号,使用8个七段数码管显示时间,芯片74ls245为数码管段选线的驱动,最后用蜂鸣器实现闹铃功能。使用单片机的定时器T0计时时间为50ms,计时20次作为1s的时间基准。第一部分,12MHz的晶振连接至单片机的时钟信号输入端;第二部分,四个独立按键加上四个上拉电阻连接至单片机

智能小车单片机课程设计报告

题目: 智能小车设计 打开命令行终端的快捷方式: ctr+al+t:默认的路径在家目录 ctr+shift+n:默认的路径为上一次终端所处在的路径. linux@ubuntu:~$ linux:当前登录用户名. ubuntu:主机名 :和$之间:当前用户所处在的工作路径. windows下的工作路径如C:\Intel\Logs linux下的工作路径是:/.../..../ ~:代表的是/home/linux这个路径.(家目录). ls(list):列出当前路径下的文件名和目录名. ls -a(all):列出当前路径下的所有文件和目录名,包括了隐藏文件. .:当前路径 ..:上一级路径 ls -l:以横排的方式列出文件的详细信息 total 269464(当前这个路径总计所占空间的大小,单位是K) drwxr-xr-x 3 linux linux 4096 Dec 4 19:16 Desktop 第一个位置:代表的是文件的类型. linux系统下的文件类型有以下几种. b:块设备文件 c:字符设备文件 d:directory,目录 -:普通文件. l:连接文件. s:套接字文件. p:管道文件. rwxr-xr-x:权限 r:读权限-:没有相对应的权限 w:写权限

x:可执行权限 修改权限: chmod u-或者+r/w/x 文件名 chmod g-或者+r/w/x 文件名 chmod o-或者+r/w/x 文件名 第一组:用户权限 第二组:用户组的权限 第三组:其他用户的权限. chmod 三个数(权限) 文件名 首先根据你想要的权限生成二进制数,再根据二进制数转换成十进制的三位数 rwxr-x-wx 111101011 7 5 3 chmod 753 文件名 rwx--xr-x 第二个位置上的数字:对应目录下的子文件个数,如果是非目录,则数字是1 第三个位置:用户名(文件创造者). 第四个位置:用户组的名字(前边的用户所处在的用户组的名字). 第五个位置:对应文件所占的空间大小(单位为b) 第六~八个位置:Dec 4 19:16时间戳(最后一次修改文件的时间) 最后一个位置:文件名 操作文件: 1.创建一个普通文件:touch 文件名 2.删除一个文件:rm(remove) 文件名 3.新建一个目录:mkdir(make directory) 目录名 递归创建目录:mkdir -p 目录1/目录2/目录3 4.删除一个目录:rmdir 目录名.//仅删除一个空目录 rm -rf 目录名//删除一个非空目录 5.切换目录(change directory):cd 路径 linux下的路径分两种 相对路径:以.(当前路径)为起点. 绝对路径:以/(根目录)为起点, 用相对路径的方式进入Music:cd ./Music 用绝对路径的方式进入Desktop:cd /home/linux/Desktop 返回上一级:cd ..

单片机电子秤设计报告

基于单片机的电子秤 单片机电子秤设计报告 秤是一种在实际工作和生活中经常用到的测量器具。随着计量技术和电子技术的发展,传统纯机械结构的杆秤、台秤、磅秤等称量装置逐步被淘汰,电子称量装置电子秤、电子天平等以其准确、快速、方便、显示直观等诸多优点而受到人们的青睐。 和传统秤相比较,电子秤利用新型传感器、高精度AD转换器件、单片 机设计实现,具有精度高、功能强等特点。本课题设计的电子秤具有基本称重、键盘输入、计算价格、显示、超重报警功能。该电子秤的测量范围为 0-10Kg,测量精度达到 5g,有高精度,低成本,易携带的特点。电子秤采用液晶显示汉字和测量记过,比传统秤具有更高的准确性和直观性。另外,该电子秤电路简单,使用寿命长,应用范围广,可以应用于商场、超市、家庭等场所,成为人们日常生活中不可少的必需品。 一、功能描述 1、采用高精度电阻应变式压力传感器,测量量程 0-10kg ,测量精度可 达 5g 。 2、采用电子秤专用模拟 / 数字( A/D)转换器芯片 hx711 对传感器信号进行调理转换, HX711 采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的 24 位 A/D 转换器芯片

3、采用 STC89C52单片机作为主控芯片,实现称重、计算价格等主控功 4、采用 128*64 汉字液晶屏显示称重重量、单价、总价等信息。 5、采用 4*4 矩阵键盘进行人机交互,键盘容量大,操作便捷。 6、具有超量程报警功能,可以通过蜂鸣器和 LED灯报警。 7、系统通过 USB电源供电,单片机程序也可通过 USB线串行下载。 二、硬件设计 1、硬件方案 单片机电子秤硬件方案如图 1 所示: 图 1 单片机电子秤硬件方案称重传感器感应被测重力,输出微弱的毫伏级电压信号。该电压信号经过电子秤专用模拟 /数字(A/D)转换器芯片hx711 对传感器信号进行调理转换。 HX711 采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的 24 位 A/D 转换器芯片,内置增益控制,精度高,性能稳定。 HX711芯片通过 2 线串行方式与单片机通信。单片机读取被测数据,进行计算转换,再液晶屏上显示出

单片机课程设计--简易电子钟.doc

单片机课程设计报告设计课题:简易电子时钟的设计 专业班级:07通信1班 学生姓名:黎捐 学号:0710618134 指导教师:曾繁政 设计时间:2010.11.5—2010.12.20

一、设计任务与要求 (1)设计任务: 利用单片机设计并制作简易的电子时钟,电路组成框图如图所示。 (2)(2) 设计要求:1)制作完成简易的电子时钟,时间可调整。 2)有闹钟功能。 二、方案设计与论证 简易电子时钟电路系统由主体电路和扩展功能电路两主题组成,总体功能原理是以STC89C52单片机为主要的控制核心,通过外接4个独立式键盘作为控制信号源,八个七段数码管作为显示器件,蜂鸣器作为定时器件,单片机实时的去执行相应的功能。在数码管上显示出来,此时通过不同的按键来观看和调节各种数据。CPU 控制原理图如图1所示。 图1. CPU 控制原理图 三、硬件系统的设计 3.1 STC89C52控制模块 STC89C52是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O )端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,STC89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash 存储器结合在一起,特别是可反复擦写的Flash 存储器可有效地降低开发成本。 MCS-52单片机内部结构 8052单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明: 中央处理器: 中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU 负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。 数据存储器(RAM): 8052内部有128个8位用户数据存储单元和128 个专用寄存器单元,它们是统一编 时间显示显示 主控器(51单片机) 时间 调整 声音报 时 (选做)

基于单片机的电子时钟设计报告(LCD显示)

单片机原理及应用课程设计任务书 题目:电子时钟(LCD显示) 1、设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间: 使用字符型LCD显示器显示当前时间。显示格式为“时时:分分:秒秒”。用3个功能键操作来设置当前时间。功能键K1~K4功能下。 K1—设置小时。 K2—设置分钟。 K3—设置秒。 程序执行后工作指示灯LED发光,表示程序开始执行,LCD显示“23:59:00”,然后开始计时。 2、工作原理 本课题难点在于键盘的指令输入,由于每个按键都具有相应的一种功能,程序中有较多的循环结构用以判断按键是否按下,以及判断按键是否抬起,以及LCD显示器的初始化。 3、参考电路 硬件设计电路图如下图所示: 硬件电路原理图 单片机原理及应用课程设计任务书

题目:电子时钟(LCD显示) 1、设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间: 使用字符型LCD显示器显示当前时间。显示格式为“时时:分分:秒秒”。用3个功能键操作来设置当前时间。功能键K1~K4功能下。 K1—设置小时。 K2—设置分钟。 K3—设置秒。 程序执行后工作指示灯LED发光,表示程序开始执行,LCD显示“23:59:00”,然后开始计时。 2、工作原理 本课题难点在于键盘的指令输入,由于每个按键都具有相应的一种功能,程序中有较多的循环结构用以判断按键是否按下,以及判断按键是否抬起,以及LCD显示器的初始化。 3、参考电路 硬件设计电路图如下图所示: 硬件电路原理图 基于AT89C51单片机的电子时钟设计报告

一、设计要求与目的 1)设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间。 2)、使用字符型LCD显示器显示当前时间。显示格式为“时时:分分:秒秒”。3)、用3个功能键操作来设置当前时间。 4)、熟悉掌握proteus编成软件以及keil软件的使用 二、本设计原理 本设计以AT89C51单片机为核心,通过时钟程序的编写,并在LCD显示器上显示出来。该编程的核心在于定时器中断及循环往复判断是否有按键操作,并对每个按键的操作在LCD显示器上作出相应的反应。由于LCD显示器每八位对应一个字符,故把秒、分、时的个位和十位分开表示。 该课题中有三个控制开关KM1、KM2、KM3分别控制时、分、秒的调整,时间按递增的方式调整,每点一次按钮则相应的时间个位加以,且时间调整不干扰其他为调整时间的显示。 三、硬件设计原理(电路) 硬件电路原理图

单片机课程设计报告

课程设计报告 课程名称单片机原理及应用 设计题目电子琴的设计 专业班级自动化1142 姓名周太永 学号1104421242 指导教师蔡长青张卓 起止时间2014.6.23-2014.7.11 成绩评定 考核内容设计 表现 设计 报告 答辩 综合 评定 成绩 电气与信息学院

2013/2014学年第二学期 《单片机控制系统设计与调试》课程设计任务书 指导教师:蔡长青班级:自动化1141、2班 地点:机房、单片机实验室(实训中心415) 课程设计题目:基于单片机原理的电子琴设计 一、课程设计目的 1.灵活运用单片机的基础知识,依据课程设计内容,能够完成从硬件电路图设计, 到PCB制版,再到软件编程及系统调试实现系统功能,完成课程设计,加深对单片机基础知识的理解,并灵活运用,将各门知识综合应用。 2.能够上网查询器件资料,培养对新知识新技术的独立的学习能力和应用能力。 3.独立完成一个小的系统设计,从硬件设计到软件设计,增强分析问题、解决问 题的能力,为日后的毕业设计及科研工作奠定良好的基础。 二、课程设计内容(包括技术指标) 1.焊接。认真、仔细,避免缺焊、漏焊。 2.频率计算。会计算脉冲值与频率的关系。 3.工作过程。开机时,第一步是对定时器T0进行初始化,设定它的工作状态(对 于本系统将T0设定为工作方式0);然后判断是否有键按下,如果没有按键按下,继续判断,如果有按键按下,则判断是哪个键按下;再根据按键的功能将计数初值装入定时器T0中中并启动T0,当T0定时完毕后,重新装入计数初值继续定时并将P3.3取反,再次定时完毕后再一次的装入计数初值 继续定时并将P3.3取反,一直循环此操作直到按键释放为止,按键释放后 停止T0工作并再次判断是否又有按键按下,并继续执行以前的过程。 三、时间安排 1.布置任务、查资料1天 2.硬件电路图设计及PCB制版3天 3.硬件电路图及PCB制版验收、电路板焊接1天 4.软件编程设计3天 5.系统调试3天 6.调试验收1天 7.完成设计报告3天 四、基本要求 1.画出硬件电路图,完成PCB制版; 2.画出软件流程图,编写程序(C51语言/汇编语言); 3.完成系统调试; 4.提交设计报告。

单片机电子秤设计报告共28页文档

单片机电子秤设计报告 秤是一种在实际工作和生活中经常用到的测量器具。随着计量技术和电子技术的发展,传统纯机械结构的杆秤、台秤、磅秤等称量装置逐步被淘汰,电子称量装置电子秤、电子天平等以其准确、快速、方便、显示直观等诸多优点而受到人们的青睐。 和传统秤相比较,电子秤利用新型传感器、高精度AD转换器件、单片机设计实现,具有精度高、功能强等特点。本课题设计的电子秤具有基本称重、键盘输入、计算价格、显示、超重报警功能。该电子秤的测量范围为0-40Kg,测量精度达到5g,有高精度,低成本,易携带的特点。电子秤采用液晶显示汉字和测量记过,比传统秤具有更高的准确性和直观性。另外,该电子秤电路简单,使用寿命长,应用范围广,可以应用于商场、超市、家庭等场所,成为人们日常生活中不可少的必需品。 一、功能描述 1、采用高精度电阻应变式压力传感器,测量量程0-40kg,测量精度可达5g。 2、采用电子秤专用模拟/数字(A/D)转换器芯片hx711对传感器信号进行调理转换,HX711 采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的24 位A/D 转换器芯片。 3、采用STC89C52单片机作为主控芯片,实现称重、计算价格等主控功能。 4、采用128*64汉字液晶屏显示称重重量、单价、总价等信息。 5、采用4*4矩阵键盘进行人机交互,键盘容量大,操作便捷。 6、具有超量程报警功能,可以通过蜂鸣器和LED灯报警。 7、系统通过USB电源供电,单片机程序也可通过USB线串行下载。

二、硬件设计 1、硬件方案 单片机电子秤硬件方案如图1所示: 图1 单片机电子秤硬件方案 称重传感器感应被测重力,输出微弱的毫伏级电压信号。该电压信号经过电子秤专用模拟/数字(A/D)转换器芯片hx711对传感器信号进行调理转换。HX711 采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的24 位A/D 转换器芯片,内置增益控制,精度高,性能稳定。HX711芯片通过2线串行方式与单片机通信。单片机读取被测数据,进行计算转换,再液晶屏上显示出来。 矩阵键盘主要用于计算金额。当被测物体重量得到后,用户可以通过矩阵键盘输入单价,电子秤自动计算总金额并在液晶屏显示。电源系统给单片机、HX711电路及传感器供电。 2、称重传感器 传感器是测量机构最重要的部件。称重传感器本身具有单调性,其主要参数指标是灵敏度、总误差和温度漂移。 (1) 灵敏度 称重传感器的电灵敏度为满负荷输出电压与激励电压的比值,典型值是2mV/V。当使用2 mV/V灵敏度和5 V激励电压的传感器时,其满度输出电压为10 mV。通常,为了使用称重传感器线性度最好的一段称重范围,应当仅使用满度范围的三分之二。因此满度输出电压应当大约为6mV。当电子秤应用于工业环境时,在6mV满度范围内测量微小的信号变化并非易事。 (2) 总误差 总误差是指输出误差和额定误差的比值。典型电子秤的总误差指标大约是0.02%,这一技术指标相当重要,它限制了使用理想信号调节电路所能达到的精确度,决定了ADC分辨率的选择以及放大电路和滤波器的设计。

51单片机电子时钟课程设计实验报告

《单片机原理与应用》课程设计 总结报告 题目:单片机电子时钟(带秒表)的设计 设计人员:张保江江润洲 学号:2012197213 2012118029 班级:自动化1211 指导老师:阮海容

目录 1.题目与主要功能要求 (2) 2.整体设计框图及整机概述 (3) 3.各硬件单元电路的设计、参数分析及原理说明 (3) 4.软件流程图和流程说明 (4) 5.总结设计及调试的体会 (10) 附录 1.图一:系统电路原理图 (11) 2.图二:系统电路PCB (12) 3.表一:元器件清单 (13) 4.时钟程序源码 (14)

题目:单片机电子时钟的设计与实现 课程设计的目的和意义 课程设计的目的与意义在于让我们将理论与实践相结合。培养我们综合运用电子课程中的理论知识解决实际性问题的能力。让我们对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立完成某些单片机应用系统的开发和设计打下一个坚实的基础。 课程设计的基本任务 利用89C51单片机最小系统,综合应用单片机定时器、中断、数码显示、键盘输入等知识,设计一款单片机和简单外设控制的电子时钟。 主要功能要求 最基本要求 1)使用MCS-51单片机设计一个时钟。要求具有6位LED显示、3个按键输入。 2)完成硬件实物制作或使用Pruteus仿真(注意位驱动应能提供足够的电流)。3)6位LED数码管从左到右分别显示时、分、秒(各占用2位),采用24小时标准计时制。开始计时时为000000,到235959后又变成000000。 4)使用3个键分别作为小时、分、秒的调校键。每按一次键,对应的显示值便加1。分、秒加到59后再按键即变为00;小时加到23后再按键即变为00。在调校时均不向上一单位进位(例如分加到59后变为00,但小时不发生改变)。 5) 软件设计必须使用MCS-51片内定时器,采用定时中断结构,不得使用软件延时法,也不得使用其他时钟芯片。 6)设计八段数码管显示电路并编写驱动程序,输入并调试拆字程序和数码显示程序。 7)掌握硬件和软件联合调试的方法。 8)完成系统硬件电路的设计和制作。 9)完成系统程序的设计。 10)完成整个系统的设计、调试和制作。 11)完成课程设计报告。 基本要求 1)实现最基本要求的1~10部分。 2)键盘输入可以控制电子时钟的走时/调试。 3)设计键盘输入电路和程序并调试。 4)掌握键盘和显示配合使用的方法和技巧。 提高发挥部分

基于单片机电子时钟的设计说明

单片机课程设计 姓名:韶辉 学号: 1402250232 班级:自动化11402 成绩: 指导老师:吴玉蓉 设计时间:2016年12月26日~2017年1月5日

目录 1.设计要求 (1) 2.系统总体方案 (2) 3.硬件电路设计 (3) 4.系统软件设计. (4) 5.课程设计体会 (15) 6.参考文献 (15) 7.系统实物图 (16) 附录1 电路原理图 (17) 附录2 原件清单 (18)

一、设计要求 利用51单片机开发电子时钟,实现时间显示、调整功能。具体要求如下:(1)按以上要求制定设计方案,并绘制出系统工作框图; (2)按要求设计部分外围电路,并与单片机仿真器、单片机实验箱、电源等正确可靠的连接,给出电路原理图; (3)用仿真器及单片机实验箱进行程序设计与调试; (4)利用键盘输入调整秒、分和小时时刻,数码管显示时间; 二、系统总体方案 1.时钟计数:形成秒、分、小时,系统时间采用24小时制。利用单片机部的定时器/计数器来实现,它的处理过程如下:首先设定单片机部的一个定时器/计数器工作于定时方式,对机器周期计数形成基准时间(如10ms),然后用另一个定时器/计数器或软件计数的方法对基准时间计数形成秒(对10ms计数100次),秒计60次形成分,分计60次形成小时,小时计24次则计满一天。 (如12-25-09)。 2.显示:采用8个LED显示系统当前时间,显示格式为“时-分-秒” 3.设置功能:用户可以对系统的时间进行设置。没有按键时,则时钟正常走时。当按下K0键,进入调分状态,时钟停止走动,此时,按K1或K2键可进行加1或减1操作;继续按K0键可分别进行分和时的调整,此时,按K1或K2键可进行加1或减1操作;最后按K0键将退出调整状态,时钟开始计时运行。 4.系统框图

单片机课程设计报告模板

单片机系统课程设计报告 专业:自动化 学生姓名: 学号: 指导教师: 完成日期: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) 实现绿波带。所谓‘绿波带’,是指在一定路段,只要按照规定时速, 就能一路绿灯畅行无阻。“绿波带”将根据道路车辆行驶的速度和路口间的距离,自动设置信号灯的点亮时间差,以保证车辆从遇到第一个绿灯开始,只要按照规定速度行驶,之后遇到的信号灯将全是绿灯。 南 北 东 西

基于单片机的电子秤的设计样本

四川信息职业技术学院 毕业设计阐明书(论文) 设计(论文)题目: 基于单片机电子秤设计 专业:应用电子技术 班级:应电12-3 学号: 1111111 姓名:某某某 指引教师:某某某

二〇一四年十一月二十五日

四川信息职业技术学院毕业设计(论文)任务书

目录 摘要................................................................................................... 错误!未定义书签。绪论................................................................................................... 错误!未定义书签。第一章方案设计与论证................................................................... 错误!未定义书签。 1.1方案选取 ............................................................................ 错误!未定义书签。 1.2方案论证 ............................................................................ 错误!未定义书签。第二章硬件设计与分析................................................................... 错误!未定义书签。 2.1单片机最小系统 ................................................................ 错误!未定义书签。 2.1.1 芯片简介.............................................................. 错误!未定义书签。 2.1.2 时钟电路设计...................................................... 错误!未定义书签。 2.1.3 复位电路设计...................................................... 错误!未定义书签。 2.2信号采集模块 .................................................................... 错误!未定义书签。 2.2.1 传感器选取.......................................................... 错误!未定义书签。 2.2.2 传感器选取.......................................................... 错误!未定义书签。 2.3数据转换电路 .................................................................... 错误!未定义书签。 2.3.1 A/D转换器选取................................................... 错误!未定义书签。 2.3.2 ADC0832简介 ..................................................... 错误!未定义书签。 2.3.3单片机对ADC0832控制原理 ............................ 错误!未定义书签。 2.4声光报警电路 .................................................................... 错误!未定义书签。 2.5显示电路 ............................................................................ 错误!未定义书签。 2.6整机电路 ............................................................................ 错误!未定义书签。

单片机课程设计 电子日历时钟显示器设计

目录 1.题目设计要求 (1) 2.开发平台简介 (1) 3.系统硬件设计 (2) 3.1设计原理 (2) 3.2器件的功能与作用 (2) 3.2.1 MCS51单片机AT89C51 (2) 3.2.2复位电路 (3) 3.2.3晶振电路 (4) 3.2.4 DS1302时钟模块 (4) 3.2.5 引脚功能及结构 (4) 3.2.6 DS1302的控制字节 (5) 3.2.7 数据输入输出(I/O) (5) 3.2.8 DS1302的寄存器 (6) 3.2.9 液晶显示LCD1602 (6) 3.2.10 串行时钟日历片DS1302 (8) 4.系统软件设计 (10) 4.1程序流程 (10) 4.2程序代码 (10) 5.系统仿真调试 (20) 5.1仿真原理图设计 (20) 5.2仿真运行过程 (21) 5.3仿真运行结果 (21) 6.总结 (21) 7.参考文献 (22)

1.题目设计要求 通过串行日历时钟芯片DS1302生成当前日期和是时间,通过IO口传输到AT89c52芯片中,然后再将AT89c52接收到的数据输出到LCD上。要求LCD上显示的日期和时间与当前系统时间保持一致。 2.开发平台简介 2.1系统仿真平台Proteus Proteus软件是由英国Labcenter Electronics公司开发的EDA工具软件,已有近20年的历史,在全球得到了广泛应用。Proteus软件的功能强大,它集电路设计、制版及仿真等多种功能于一身,不仅能够对电工、电子技术学科涉及的电路进行设计,还能够对微处理器进行设计和仿真,并且功能齐全,界面多彩。和我们手头其他的电路设计仿真软件,他最大的不同即它的功能不是单一的。另外,它独特的单片机仿真功能是任何其他仿真软件都不具备的。 2.2软件开发平台Keil C Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。Keil C51生成的目标代码效率之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。

电子称课程设计

1.前言 电子称重技术是现代称重计量和控制系统工程的重要基础之一,电子衡器经过40年的不断改进和完善,从60年代的机电结合型发展到现在的全电子型和数字化智能型。由于它具有称量准确、快速,读取方便,环境适应性强,便于与电子计算机结合而实现称重计量与过程控制自动化等特点,在工商贸易、能源交通、轻工食品、医药卫生、航空航天等部门得到了广泛的应用。本课题本着电子秤向高精度、高可靠方向研究,讲述了用单片机控制A/D转换、键盘输入和数据显示,对如何实现键盘中断、A/D采样进行研究。设计特别适用于测量精度要求较高的场合, 具有较高的实用价值和推广价值。本文中第一章讲述了电子秤的发展情况及其工作原理,第二章讲述了电子秤的硬件电路组成部分,第三章介绍了电子秤各部分功能实现的软件设计。 1.1研究本文的意义 物料计量是工业生产和贸易流通中的重要环节。称重装置或衡器是不可缺少的计量工具。随着工农业生产的发展和商品流通的扩大,衡器的需求也日益增多,过去沿用的机械杠杆秤己不能适应生产自动化和管理现代化的要求。自六十年代以来,由于传感器技术和电子技术的迅速发展,电子称重技术日趋成熟,并逐步取代机械秤。尤其是七十年代初期,微处理机的出现使电子称重技术得到了进一步的发展。快速、准确、操作方便、消除人为误差、功能多样化等方面已成为现代称重技术的主要特点。称重装置不仅是提供重量数据的单体仪表,而且作为工业控制系统和商业管理系统的一个组成部分,推进了工业生产的自动化和管理的现代化,它起到了缩短作业时间、改善操作条件、降低能源和材料的消耗、提高产品质量以及加强企业管理、改善经营管理等多方面的作用。称重装置的应用已遍及到国民经济各领域,取得了显著的经济效益。同时对称重仪表的要求也越来越高,要求仪表有更高抗干扰能力、更高的精度。 基于电子秤的现状,本文拟研究一种用单片机控制的高精度数字电子秤设计方案。这种高精度数字电子秤计量准确、携带方便,集质量称量功能与价格计算功能于一体,能够满足商业贸易和居民家庭的使用需求。 1.2 电子秤的发展 1.电子技术渗入衡器制造业 随着第二次世界大战后的经济繁荣,为了把称重技术引入生产工艺过程中去,对称重技术提出了新的要求,希望称重过程自动化,为此电子技术不断渗入衡器制造业。在1954年使用了带新式打印机的倾斜杠杆式秤,其输出信号能控制商用结算器,并且用电磁铁机构与代替人工操作的按键与办公机器联用。在1960年开发出了与衡器相联的专

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