当前位置:文档之家› 电子设计毕业设计-单片机定时闹钟论文资料-

电子设计毕业设计-单片机定时闹钟论文资料-

电子设计毕业设计-单片机定时闹钟论文资料-
电子设计毕业设计-单片机定时闹钟论文资料-

单片机定时闹钟

一、[电路概述]该时钟电路主要以单片机AT89S52为核心而设计的,通过单片

机对信息的分析与处理控制外围设备。电路整体设计思想是想把它做成一个实用的器件,所以在题目要求的前提下,我们又加入了星期程序,温度程序,年、月、日程序以及时间的12—24转换程序。

[关键字]:单片机数码显示温度传感器光识电路

二、[题目分析与方案论证]按照系统设计功能的要求,初步确定设计系统由

复位模块、时钟模块、温度模块、音乐模块、光识模块及显示模块共五个模块组成,后来在时钟模块的基础上又加载了日历、星期的模块

从单片机AT89S52入手,通过使用AT89S52的内部的可编程定时器/计数器,结合对外接晶振的调节来确定一个合适的振荡周期,从而确定出内部的机器周期。再通过对内部中断程序的设置来设计出时钟程序,即设计出了电子时钟的核心。根据题目的要求,我们设计了以下方案:

[方案一]设计中加载了年、月、日的设计,刚开始时打算用18个共阳数码管,

考虑到数码管太多是毕会给硬件电路带来麻烦,经过考虑后,决定把年、月、日与时间设置到一组数码管上来,即六个数码管即能显示时间又能显示年、月、日,这样一来就方便了硬件电路;

[方案二]主控芯片使用51系列AT89S52单片机设计时温度模块设计温度元件用

AD590,利用AD590以及接口电路把温度转换成模拟电压,经由ADC0804转换成数字信号,然后经AT89S52处理显示温度。但由于AD590价钱比较贵,且只能转换成模拟电压,这样一来硬件就要增加更多的器件且又不经济,经查找发现18B20温度传感器价钱便宜且可以直接把温度转换成数字量测温范围为-55—125度,最大分辨率可达0.0625度,采用3线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点,所以我们选择了18B20温度传感器。

附18B20温度传感器工作原理:DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并可根据实际要求通过简单的编程实现9—12位的数字值读数方式。温度传感器DS18B20采集温度信号送该给单片机处理,存储器通过单片机对某些时间点的数据进行存储;,DS18B20的性能特点如下:

1、独特的单线接口仅需要一个引脚进行通信;

2、多个DS18B20可以并联在唯一的三线上,实现多点组网功能;

3、无须外部器件;

4、可通过数据线供电,电压范围为3.0---5.5V;

5、零待机功耗;

6、温度以9或12位数字量读出;

7、用户可定义的非易失性温度报警设置;

8、报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;

9、负电压特性,电源极性接反是,温度计不会因发热而烧毁,但不能正常工作。

三、[系统总体结构框图]

[按键功能]

a 键:P2.1口12---24转换

b 键:P2.3口调整定时、计时的时、调整年

c 键:P2.5口调整计时的秒和定时状态及日

d 键:P2.7口判断定时到否

e 键:P2.0口调整星期

f 键:P2.2口定时、计时转换

g 键:P2.4口调整定时、计时的秒和判断定时状态、调整日 h 键:P2.6口调整定时的报警音乐、省电模式 i 键:复位键

j 键:P3.6口年、月、日的显示

四、[主要电路原理与设计]

(1)系统硬件电路的设计:

电路是由控制部分和显示部分两大部分组成。利用单片机程序进行控制,单片机以晶体振荡器的振荡周期(或外部引入的时钟周期)为最小的时序单位,片内的各种微操作都以此周期为时序基准。振荡频率二分频后形成状态周期或称s 周期,所以,1个状态周期包含有2个振荡周期。振荡频率foscl2分频后形成机器周期MC 。所以,1个机器周期包含有6个状态周期或12个振荡周期。1个到4个机器周期确定一条指令的执行时间,这个时间就是指令周期。AT89S52单片

AT89S52 主控模块

光识电路 温度电路

音乐电路

显示电路

时钟电路 复位电路

机指令系统中,各条指令的执行时间都在1个到4个机器周期之间。

,并通过数码管进行显示单片机普遍采用锁相环技术,使单片机的时钟频率可由程序控制。锁相环允许用户在片外使用频率较低的晶振,可以很大地减小板级噪声;而且,由于时钟频率可由程序控制,系统时钟可以在一个很宽的范围内调整,总线频率往往能升得很高。但是,使用锁相环也会带来额外的功率消耗。单就时钟方案来讲,使用外部晶振且不使用锁相环是功率消耗最小的一种。AT89S52单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。内部振荡方式的外部电路如下图所示。图中,电容器C01,C02起稳定振荡频率、快速起振的作用,其电容值一般在5-30pF。晶振频率的典型值为12MH2,采用6MHz的情况也比较多。内部振荡方式所得的时钟情号比较稳定,实用电路中使用较多。

外部振荡方式是把外部已有的时钟信号引入单片机内。这种方式适宜用来使单片机的时钟与外部信号保持同步。外部振荡方式的外部电路如下图所示。

如图所示:

9V/5W

50HZ 220V Speak er

S T B

1A 2B 3C 21D

22I N H

23Y 011Y 19Y 210Y 38Y 47Y 56Y 65Y 74Y 818Y 917Y 1020Y 1119Y 1214Y 1313Y 1416Y 15

15

V D D

24

G N D

12CD4515BCN

B I /R B O 4R B I 5L T

3A 07A 11A 22A 3

6a 13b 12c 11d 10e 9f 15g

14V C C

16G N D

8DM74LS47N

V S

6

G N D

4

G A I N

83

2

5B Y P 7G A I N 1LM386N-1

12LED

9012

9012

9012

9012

9012Bridge

30pF

30pF 104J

3300UF

I N

13

O U T 2

G N D

L7805

1000UF

104J

e i

c b a f

d j

g h 12CY12.000GND

P 1.01P 1.1/T 2E X 2P 1.23P 1.34P 1.45P 1.56P 1.67P 1.78R E S E T 9P 3.0(R X D )10P 3.1(T X D )11P 3.2(/I N T 0)12P 3.3(/I N T 1)13P 3.4(T 0)14P 3.5(T 1)15P 3.6(/W R )16P 3.7(/W D )17X T A L 218

X T A L 119V S S

20P 2.021

P 2.122P 2.223P 2.324P 2.425P 2.526P 2.627P 2.728/P S E N 29A L E 30

/E A ,V P P 31

P 0.732P 0.633P 0.534P 0.435P 0.336P 0.237P 0.138P 0.039V D D 40

AT89S52

4.7k

100

g f e d c b a *g

f e d c b a *

+5V

10k

470

GND GND 0.0047U

0.1U

10U 47U GND

GND

GND

+5V

+5V

12LED

12LED

1

2LED

12LED

12LED

12LED

1

2

LED

1

2LED

1

2LED

1

2LED

1

2LED

1

2LED

1

2LED

1

2LED

12LED

GND

1K

1

2318b20 4.7k GND

1

2

LED2

470

+5v

+5v

GND

1K

8.2K

106GND

GND

GND g f e d c b a *9012901290129012901290129012

各模块分析:

显示模块——电路先通过电源电路送出+5V电压,单片机AT89S52通过74LS47和CD4515(4—16译码器)驱动数码管显示数值, 显示部分采用普通共阳极数码管显示,采用动态扫描,以减少硬件电路。考虑到一次扫描12位数码管显示时会出现闪烁情况,设计时分两排显示,一排显示时间和年月日,一排显示星期和温度,共阳极数码管中8个发光二极管的阳极(二极管正端)连在一起。通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路的输入端为低电平时,该端所连接的字段导通并点亮。根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。采用动态显示方式,比较节省I/O口,硬件电路也较静态显示简单,但其亮度不如静态显示方式,而且在显示位数较多时,CPU要依次扫描,占用CPU较多时间。

为了提供共阳LED数码管的驱动电压,用三极管9012作电源驱动输出。采用12MHz晶振,有利于提高秒计时的精确性。三极管采用9012。数码管采用红色的共阳型LED数码管,亮度高些,因为是扫描的显示方式,所以各个数码管的abcdefg各脚采用了总线并联,改动510欧姆的电阻可以改变显示亮度;

时钟模块——利用芯片内部的振荡器,然后在引脚XTAL1和引脚 XTAL2两端接晶体谐振器,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部的时钟电路,如图外接晶振时,C1和C2的值通常选择30pF;C1、C2对频率有微调作用,晶体谐振器的频率12MHz。为了减少寄生电容,更好地保证振荡器稳定、可靠地工作,振荡器和电容应尽可能安装得与单片机芯片靠近。设置了12—24两种显示状态,调整计时的按键、设置定时的按键且定时设置了3次定时、还另

加载了星期、年、月、日的调整及闰年的自动调整;

温度模块——主要由18B20通过单片机AT89S52中的温度程序不断的检测温度来显示温度温度传感器DS18B20采集温度信号送该给单片机处理,存储器通过单片机对某些时间点的数据进行存储;

音乐模块——通过LM386N-1给扬声器信号来发出音乐,这个模块主要是为时

钟定时到时发出音乐闹铃,而在软件部分设置了可以一次设置3次定时,每次定时到时,音乐程序中编了6种音乐,它可以自动选择6种音乐中的任一音乐响1分钟,如果中间不想让闹铃响可以按一按键,闹铃就立刻停止

复位模块——单片机复位电路是使CPU 和系统中的其他功能部件都处在一个确定的初始状态,并从该状态开始工作,例如复位后PC=0000H ,使单片机从第一个单元取指令。无论是在单片机刚接上电源时,还是断电后或者发生故障后都要复位;单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC =0000H ,这表明程序从0000H 地址单元开始执行。单片机冷启动后,片内R AM 为随机值,运行中的复位操作不改变片内RAM 区中的内容,21个特殊功能寄存器复位后的状态为确定值,见下表。

值得指出的是,记住一些特殊功能寄存器复位后的主要状态,对于了解单片机的初态,减少应用程序中的韧始化部分是十分必要的。 说明:表中符号*为随机状态; A =00H ,表明累加器已被清零;

Speaker

VS 6 GND

4 GAIN 8

3 2 5

BYP 7 GAIN 1 LM386N-1 10k

470

GND GND 0.0047U 0.1U 10U

47U GND

GND

GND

+5V 1K GND

AT89S 52 P3.1

特殊功能寄存器初始状态特殊功能寄存器初始状态

A 00H TMOD 00H

B 00H TCON 00H

PSW 00H TH0 00H

SP 07H TL0 00H

DPL 00H TH1 00H

DPH 00H TL1 00H P0~P3 FFH SBUF 不定

IP

***00000

B

SCON 00H

IE

0**00000

B PCON

0*******

B

PSW=00H,表明选寄存器0组为工作寄存器组;

SP=07H,表明堆栈指针指向片内RAM 07H字节单元,根据堆栈操作的先加后压法则,第一个被压入的内容写入到08H单元中;

Po-P3=FFH,表明已向各端口线写入1,此时,各端口既可用于输入又可用于输出;

IP=×××00000B,表明各个中断源处于低优先级;

IE=0××00000B,表明各个中断均被关断;

系统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的硬件状态下。51单片机的复位是由RESET引脚来控制的,此引脚与高电平相接超过24个振荡周期后,51单片机即进入芯片内部复位状态,而且一直在此状态下等待,直到RESET引脚转为低电平后,才检查EA引脚是高电平或低电平,若为高电平则执行芯片内部的程序代码,若为低电平便会执行外部程序。

光识模块——同样也是为定时服务的,只要定时到,组成心字的18只发光二极管就会按程序先做左移位,再全亮全灭3次,然后再右移,再全亮全灭3次如此循环1分钟;

AT89S52

P1

安全省电模式——电源电路上装了保险管只要电流大于额定电流保险就断来保护电路,省电模式:不看时显示不亮,看时,按下一键显示就亮,尽量达到人性化。

五、[软件系统设计]

计时程序是实现电子时钟的核心内容,本程序用中断time0来控制,计时显示的单元从50h开始,50h=秒的个位,51h=秒的十位,52h=分的个位,53h=分的十位,54h=时的个位,55h=时的十位

org 000bh

jmp time0

mov tmod,#00010001b

mov ie,#10001010b

mov ip,#00000010b

mov th0,#(65536-2000)/256

mov tl0,#low(65536-2000)

mov 4fh,#02;两个中断250次为1秒

定时报警程序

作用是判断时间是否与设置的闹钟时间相等,如相等则开启闹钟。

单片机内定时振铃开关使用软件开关,即用标志寄存器,且程序设置了3次定时,可见要使电子时钟定时打铃,必须同时具备两个条件,第一:定时振铃开;第二:当前定时项数不为0项。因为要使电子时钟定时打铃,必须同时具备上述的两个条件,所以在单片机执行查询定时各项的程序之前,主程序会首先查询这两个条件是否同时满足,如果满足的话,则进行一轮查询,所谓一轮查询定时,即将当前时间与定时各项一一比较,看是否相符,如果查到某项相符,则调用音乐程序。每查完一项,寄存器中的值会自动减1(即为定时时间的项数)。当定时时间的项数值自动减为0时,则表示这一轮查询定时时间完毕,只要条件允许(定时音乐开且定时项数不为0),有可以进行一轮新的查询定时时间。

定时1:33h=分,34h=时,定时2:35h=分,36h=时,定时3:37h=分,38h=时,定时状态=39h;定时显示的单元从60h开始,60h=定时状态,61h=此时;定时状态的音乐种类,62h=分的个位,63h=分的十位;64h=时的个位,65h=时的十位

温度程序:

57h=温度的十位,58h=温度的个位,

wendu:CALL REST;调复位

MOV A,#0CCH

CALL WRITE调写程序

MOV A,#4EH

CALL WRITE

MOV A,#00H

CALL WRITE

MOV A,#00H

CALL WRITE

MOV A,#7FH

CALL WRITE

CALL REST

MOV A,#0CCH

CALL WRITE

MOV A,#44H

CALL WRITE

MOV R0,#20

LOOP5:MOV R1,#100 LOOP6:MOV R2,#250

DJNZ R2,$

DJNZ R1,LOOP6

DJNZ R0,LOOP5

CALL REST

MOV A,#0CCH

CALL WRITE

MOV A,#0BEH

CALL WRITE

CALL READ2;调读程

MOV A,#0ECH

CALL WRITE

CALL HUAN

clr 20h.3

ret

******初始化******************************** *****

org 0000h;计时显示的单元从50h开始,50h=秒的个位,51h=秒的十位,52h=

jmp main;分的个位,53h=分的十位,54h=时的个位,55h=时的十位,56h=

org 000bh;星期,57h=温度的十位,58h=温度的个位,30h=秒,31h=分,32h=时,定时1:33h=分,34h=时,

jmp time0;定时2:35h=分,36h=时,定时3:37h=分,38h=时,定时状态=39h

org 001bh

jmp time1

************主程序********************************

开始

系统初始化

显示计时、温度值

判断按键是否有按下

年、月、调整计调整定调整星12--24转省电模

main:mov r0,#00;等待

djnz r0,$

movsp,#6ah ;定时显示的单元从60h开始,60h=定时状态,61h=此时

mov tmod,#00010001b ;定时状态的音乐种类,62h=分的个位,63h= 分的十位

mov ie,#10001010b ;64h=时的个位,65h=时的十位

mov ip,#00000010b

mov th0,#(65536-2000)/256 mov tl0,#low(65536-2000)

mov 4fh,#02;两个中断250次为

1秒mov 4eh,#00;光报警

mov 2dh,#250;中断250次为0.5

秒mov 2fh,#00h;设置计时显示数

码管的编号mov 2eh,#00h;设置定时显示数

码管的编

mov 24h,#00h;设置年月日显示

数码管的编号mov 30h,#00h;设置时间的初值mov 31h,#00h

mov 32h,#12h

mov 56h,#01h;

设置星期初值mov 33h,#00h;

设置定时初值

mov 34h,#01h

mov 35h,#00h

mov 36h,#02h

mov 37h,#00h

mov 38h,#03h

mov 39h,#01h;

设置定时状态初始值mov 3ah,#01h;设置定时状态1时

音乐的初始值

mov 3bh,#02h;设置定

时状态2时音乐

的初始值

mov 3ch,#03h;设置定

时状态3时音

乐的初始值

mov 21h,#00h;设置年

初值,00表示

2000年

mov 22h,#01h;设置月初值

mov 23h,#01h;设置日初值

setb 20h.0;12,24标志

位,1表示12小时制,0表

示24小时制

setb 20h.1;定时,计时

标志位,1表示计时,0

表示定时

clr 20h.2;定时到否标

志位,1表示到,0

表示不到

setb 20h.3;是否允许检

测温度标志位,1

表示允许

clr 20h.4;

年标志位,1表示闰年

setb 20h.5;

1表示31天,0表示30天

clr 20h.6;1表示显示年月日

setb p3.0;上下午标志

位,1表示上午,

0表示下午

clr p1

setb tr0

*************星期设置程序******************************** *****

start:jb p2.0,q1;调整星期

call del;消除抖动

mov a,56h

add a,#01h

cjne a,#07h,z1

mov 56h,#08h

jmp a1

z1:cjne a,#09h,z2

mov 56h,#01h

jmp a1

z2:mov 56h,a

a1:call del

jnb p2.0,a1

jmp start

*************设置12--24小时转换程序******************************** q1:jb p2.1,q2;

12,24小时制转换

call del; 消除抖动

jnb 20h.0,b1

jnb p3.0,b2;将12小时制转换为

24小时制

jmp a2

b2:mov a,32h

add a,#12h

da a

cjne a,#24h,b3

mov 32h,#00h

setb p3.0

jmp a2

b3:mov 32h,a

setb p3.0

jmp a2

b1:mov a,32h;将24小时制转换为

12小时制

cjne a,#00h,b7

mov 32h,#12h

clr p3.0

jmp a2

b7:cjne a,#20h,b8

mov 32h,#08h

clr p3.0

jmp a2

b8:cjne a,#21h,b9

mov 32h,#09h

clr p3.0

jmp a2

b9:cjne a,#12h,b4

jmp a2

b4:jnc b5

jmp a2

b5:subb a,#12h

mov 32h,a

clr p3.0

a2:cpl 20h.0

b6:call del

jnb p2.1,b6

jmp start

*************定时计时调整程序******************************** *****

q2:jb p2.2,q3;定时,计时转换

call del;

cpl 20h.1

a3:call del

jnb p2.2,a3

jmp start

q3:jb p2.3,q4;调整定时,

计时的时,年

call del;消除抖动

jnb 20h.6,c00

call yearyear

jmp a4

c00:jnb 20h.1,c1

jb 20h.0,c2;计时调整

mov a,32h

add a,#01h

da a

cjne a,#24h,c3

mov 32h,#00h

jmp a4

c3:mov 32h,a

jmp a4

c2:mov a,32h

add a,#01h

da a

mov 32h,a

cjne a,#13h,c4

mov 32h,#01h

cpl p3.0

jmp a4

c4:mov 32h,a

jmp a4

c1:mov a,39h;定时调整

cjne a,#01h,c5

mov r0,#34h

jmp c10

c5:cjne a,#02h,c6

mov r0,#36h

jmp c10

c6:mov r0,#38h

c10:jb 20h.0,c7

mov a,@r0

add a,#01h

da a

cjne a,#24h,c8

mov @r0,#00h

jmp a4

c8:mov @r0,a

jmp a4

c7:mov a,@r0

add a,#01h

da a

cjne a,#13h,c9

mov @r0,#01h

jmp a4

c9:mov @r0,a

a4:call del

jnb p2.3,a4

jmp start

q4:jb p2.4,q5;调整定时,

计时的分,月

call del

jnb 20h.6,d00

call yueyue

jmp a5

d00:jnb 20h.1,d1

mov a,31h;计时分调整

add a,#01h

da a

cjne a,#60h,d2

mov 31h,#00h

jmp a5

d2:mov 31h,a

jmp a5

d1:mov a,39h ;定时分调整cjne a,#01h,d3

mov r0,#33h

jmp d5

d3:cjne a,#02h,d4

mov r0,#35h

jmp d5

d4:mov r0,#37h

d5:mov a,@r0

add a,#01h

da a

cjne a,#60h,d6

mov @r0,#00h

jmp a5

d6:mov @r0,a

a5:call del

jnb p2.4,a5

jmp start

q5:jb p2.5,q6;调整计时的秒

和定时的状态,日

call del

jnb 20h.6,e00

call ri

jmp a6

e00:jnb 20h.1,e1

mov a,30h;调整计时的秒

add a,#01h

da a

cjne a,#60h,e2

mov 30h,#00h

jmp a6

e2:mov 30h,a

jmp a6

e1:mov a,39h;调整定时状态

add a,#01h

da a

cjne a,#04h,e3

mov 39h,#01h

jmp a6

e3:mov 39h,a

a6:call del

jnb p2.5,a6

jmp start

*************调整定时的报警音乐,省电模式******************************** *

q6:jb p2.6,q7

call del

jnb 20h.1,gh

cpl p3.4

jmp i3

gh:mov a,39h

cjne a,#01h,i1

mov a,3ah

add a,#01h

mov 3ah,a

cjne a,#07h,i3

mov 3ah,#01h

jmp i3

i1:cjne a,#02h,i2

mov a,3bh

add a,#01H

mov 3bh,a

cjne a,#07h,i3

mov 3bh,#01h

jmp i3

i2:mov a,3ch

add a,#01h

mov 3ch,a

cjne a,#07h,i3

mov 3ch,#01h

i3:call del

jnb p2.6,i3

jmp start

************定时报警**************************

q7:jnb 20h.2,q8

call yinyue

jmp start

q8:jnb 20h.3,q9

call wendu;检测温度

jmp start

q9:jb p3.6,q10

cpl 20h.6

q11:call del

jnb p3.6,q11

q10:jmp start

***********闰年判断******************************** ****************

nian:mov a,21h

cjne a,#00h,nian0

jmp year

nian0:cjne a,#04h,nian1

jmp year

nian1:cjne a,#08h,nian2

jmp year

nian2:cjne a,#12h,nian3

jmp year

nian3:cjne a,#16h,nian4

jmp year

nian4:cjne a,#20h,nian5

jmp year

nian5:cjne a,#24h,nian6

jmp year

nian6:cjne a,#28h,nian7

jmp year

nian7:cjne a,#32h,nian8

jmp year

nian8:cjne a,#36h,nian9

jmp year

nian9:cjne a,#40h,nian10

jmp year

nian10:cjne a,#44h,nian11

jmp year

nian11:cjne a,#48h,nian12

jmp year

nian12:cjne a,#52h,nian13

jmp year

nian13:cjne a,#56h,nian14

jmp year

nian14:cjne a,#60h,nian15

jmp year

nian15:cjne a,#64h,nian16

jmp year

nian16:cjne a,#68h,nian17

jmp year

nian17:cjne a,#72h,nian18

jmp year

nian18:cjne a,#76h,nian19

jmp year

nian19:cjne a,#80h,nian20

jmp year

nian20:cjne a,#84h,nian21

jmp year

nian21:cjne a,#88h,nian22

jmp year

nian22:cjne a,#92h,nian23

jmp year

nian23:cjne a,#96h,nian24

year:setb 20h.4

jmp year1

nian24:clr 20h.4

year1:ret

yue:mov a,22h;大月31天,小月30天

cjne a,#04h,yue0

jmp yue4

yue0:cjne a,#06h,yue1

jmp yue4

yue1:cjne a,#09h,yue2

jmp yue4

yue2:cjne a,#11h,yue3

yue4:clr 20h.5

jmp yue5

yue3:setb 20h.5

yue5:ret

yearyear:mov a,21h;年加1

add a,#01h

da a

mov 21h,a

ret

yueyue:mov a,22h;月加1

add a,#01h

da a

mov 22h,a

cjne a,#13h,yueyue0

mov 22h,#01h yueyuye0:ret

ri:mov a,23h;日加1

add a,#01h

da a

mov 23h,a

cjne a,#29h,ri0

mov a,22h

cjne a,#02h,ri1

call nian

jb 20h.4,ri1

mov 23h,#01h

jmp ri1

ri0:cjne a,#31h,ri2

call yue

jb 20h.5,ri1

mov 23h,#01h

jmp ri1

ri2:cjne a,#32h,ri1

mov 23h,#01h

ri1:ret

**************计时子程序************************

jishi:mov a,30h;秒加一

add a,#01h

da a

mov 30h,a

cjne a,#60h,f4

mov 30h,#00h

setb 20h.3;允许检测温度

mov a,31h;分加一

add a,#01h

da a

mov 31h,a

cjne a,#60h,f4

mov 31h,#00h

mov a,32h;时加一

add a,#01h

da a

mov 32h,a

jb 20h.0,f1

cjne a,#24h,f4

mov 32h,#00h

jmp f2

f1:cjne a,#13h,f4

mov 32h,#01h

cpl p3.0

jnb p3.0,f4

f2:mov a,56h; 星期加一

add a,#01h

mov 56h,a

cjne a,#07h,f3

mov 56h,#08h

jmp f4

f3:cjne a,#09h,f4

mov 56h,#01h

f4:call day;更新年月日

jb p2.7,f7;定时到否子程序段mov a,31h

cjne a,33h,f5

mov a,32h

cjne a,34h,f8

setb 20h.2

mov a,3ah

mov 2ch,a

jmp a7

f8:mov a,31h

f5:cjne a,35h,f6

mov a,32h

cjne a,36h,f9

setb 20h.2

mov a,3bh

mov 2ch,a

jmp a7

f9:mov a,31h

f6:cjne a,37h,f7

mov a,32h

cjne a,38h,f7

setb 20h.2

mov a,3ch

mov 2ch,a

jmp a7

f7:clr 20h.2

a7:ret

day:mov a,23h;日加1

add a,#01h

da a

mov 23h,a

cjne a,#29h,rri0

mov a,22h

cjne a,#02h,wan

call nian

jb 20h.4,wan

mov 23h,#01h

jmp yuey

rri0:cjne a,#31h,rri2

call yue

jb 20h.5,wan

mov 23h,#01h

jmp yuey

rri2:cjne a,#32h,wan

mov 23h,#01h

yuey:mov a,22h;月加1

add a,#01h

da a

mov 22h,a

cjne a,#13h,wan

mov 22h,#01h

mov a,21h;年加1

add a,#01h

da a

mov 21h,a

wan:ret

************计时扫描子程序******************************** scan1:mov r0,#2fh

inc @r0

cjne @r0,#0ch,g1

mov @r0,#00h

g1:mov a,@r0

add a,#50h

mov r1,a

mov a,@r0

swap a

orl a,@r1

mov p0,a

ret

***********定时扫描子程序******************************** scan2:mov r0,#2eh

inc @r0

cjne @r0,#06h,g2

mov @r0,#00h

g2:mov a,@r0

add a,#60h

mov r1,a

mov a,@r0

swap a

orl a,@r1

mov p0,a

ret

scan3:mov r0,#24h;定时扫描子程序

inc @r0

cjne @r0,#06h,gg2

mov @r0,#00h

gg2:mov a,@r0

add a,#40h

mov r1,a

mov a,@r0

swap a

orl a,@r1

mov p0,a

ret

**************计时显示子程序************************** xianshi1:mov r1,#50h

mov a,30h

mov b,#10h

div ab

mov @r1,b

inc r1

mov @r1,a

inc r1

mov a,31h

mov b,#10h

div ab

mov @r1,b

inc r1

mov @r1,a

inc r1

mov a,32h

mov b,#10h

div ab

mov @r1,b

inc r1

mov @r1,a

ret

********定时显示子程序******* xianshi2: mov a,39h

mov 60h,a

cjne a,#01h,h1

mov a,3ah

mov 61h,a

mov r1,#62h

mov a,33h

mov b,#10h

div ab

mov @r1,b

inc r1

mov @r1,a

inc r1

mov a,34h

mov b,#10h

div ab

mov @r1,b

inc r1

mov @r1,a

jmp h3

h1:cjne a,#02h,h2 mov a,3bh

mov 61h,a

mov r1,#62h

mov a,35h

mov b,#10h

div ab

mov @r1,b

inc r1

mov @r1,a

inc r1

mov a,36h

mov b,#10h

div ab

mov @r1,b

inc r1

mov @r1,a

jmp h3

h2:mov a,3ch

mov 61h,a

mov r1,#62h

mov a,37h

mov b,#10h

div ab

mov @r1,b

inc r1

mov @r1,a

inc r1

mov a,38h

mov b,#10h

div ab

mov @r1,b

inc r1

mov @r1,a

h3:ret

xianshi3:mov r1,#40h;计时显示子程序

mov a,21h

mov b,#10h

div ab

mov @r1,b

inc r1

mov @r1,a

inc r1

mov a,22h

mov b,#10h

div ab

mov @r1,b

inc r1

mov @r1,a

inc r1

mov a,23h

mov b,#10h

div ab

mov @r1,b

inc r1

mov @r1,a

ret

time0:mov

th0,#(65536-2000)/256

mov

tl0,#low(65536-2000)

push a

push psw

setb rs0

clr rs1

djnz 2dh,h4

mov 2dh,#250

djnz 4fh,h4

mov 4fh,#02

call jishi

h4:jnb 20h.6,hh4

call xianshi3

call scan3

jmp h6

hh4:jb 20h.1,h5

call xianshi2

call scan2

jmp h6

h5:call xianshi1

call scan1

h6:pop psw

pop a

reti

del:mov r6,#40

j1:mov r5,#248

djnz r5,$

djnz r6,j1

ret

***************音乐程序***** yinyue:push a

push psw

setb rs1

clr rs0

main1:mov 2bh,#00h

m:mov a,2ch

cjne a,#01,q

mov dptr,#song1

jmp pu

q:cjne a,#02,w

mov dptr,#song2

jmp pu

w:cjne a,#03,e

mov dptr,#song3

jmp pu

e:cjne a,#04,r

mov dptr,#song4

jmp pu

r:cjne a,#05,t

mov dptr,#song5

jmp pu

t:mov dptr,#song6

pu:jnb 20h.2,jj

mov a,2bh

movc a,@a+dptr

mov r0,a

jz end0

anl a,#0fh

mov r7,a

mov a,r0

swap a

anl a,#0fh

jnz sing

clr tr1

jmp dd1

sing:dec a

mov 2ah,a

mov dptr,#table1

movc a,@a+dptr

mov 29h,a

mov th1,a

mov a,2ah

mov dptr,#table2

movc a,@a+dptr

mov 28h,a

mov tl1,a

setb tr1

dd1:call yanshi

inc 2bh

inc 4eh

mov a,4eh

cjne a,#60,www;????

mov 4eh,#00

www:mov dptr,#table3

mov a,4eh

movc a,@a+dptr

mov p1,a

jmp m

end0:clr tr1

jmp main1 yanshi:mov r6,#02

dd2:mov r5,#125

dd3:mov r4,#248

djnz r4,$

djnz r5,dd3

djnz r6,dd2

djnz r7,yanshi

ret

jj:jmp mmm

time1:push a

push psw

cpl p3.1

mov th1,29h

mov tl1,28h

pop psw

pop a

reti

song1:db

42h,42h,42h,52h,64h,04h

db

62h,62h,62h,72h,84h,04h

db

92h,92h,82h,72h,64h,04h

db

82h,82h,52h,62h,44h,04h

db

42h,42h,42h,52h,64h,04h

db

62h,62h,62h,72h,84h,04h

db

92h,92h,82h,72h,64h,04h

db

82h,82h,52h,62h,44h,04h

db 00h

song2:db 82h,01h,81h,94h,84h

db 0b4h,0a4h,04h

db 82h,01h,81h,94h,84h

db 0c4h,0b4h,04h

db

82h,01h,81h,0f4h,0d4h

db 0b4h,0a4h,94h

db

0e2h,01h,0e1h,0d4h,0b4h

db 0c4h,0b4h,04h

db 00h

song3:db 84h,94h,88h

db 64h,54h,68h

db 84h,64h,54h,44h

db 62h,82h,42h,62h,58h

db 84h,94h,88h

db 64h,54h,68h

db 84h,64h,54h,44h

db 52h,42h,52h,62h,48h

db 00h

song4:db 84h,02h,82h,64h,54h

db 64h,54h,48h,

db 64h,02h,52h,44h,24h

db 14h,24h,18h

db 24h,02h,22h,42h,24h

db 44h,54h,68h

db 54h,02h,52h,84h,84h

db 54h,64h,48h

db 00h

song5:db 44h,54h,64h,44h

db 44h,54h,64h,44h

db 64h,74h,88h

db 64h,74h,88h

db

82h,92h,82h,72h,64h,44h

db

82h,92h,82h,72h,64h,44h

db 44h,84h,48h

db 44h,14h,48h

db 00h

song6:db 62h,82h,82h,62h,98h

db

92h,0b2h,0b2h,82h,98h

db 62h,82h,82h,52h,68h

db

92h,0b2h,0b2h,82h,98h

db

62h,82h,82h,62h,92h,92h,94h

db

92h,0b2h,0b2h,92h,84h,94h

db 0b8h,0b4h,04h

db 00h

table1: db 251,251,251,252

db 252,253,253,253

db 253,254,254,254

db 254,254,254

table2: db 004,144,248,068

db 172,009,052,130

db 200,006,034,086

db 131,154,193

table3: db 0feh,0fdh,0fbh,0f7h

db 0efh,0dfh,0bfh,7fh

db 00h,0ffh,00h,0ffh

db 7fh,0bfh,0dfh,0efh

db 0f7h,0fh,0fdh,0feh

db 00h,0ffh,00h,0ffh

db 81h,0c3h,0e7h,0ffh

db 0e7h,0c3h,81h,00h

db 81h,42h,24h,18h,00h

mmm:clr tr1

clr p1

pop psw

pop a

ret

**************温度程序****** wendu:CALL REST

MOV A,#0CCH

CALL WRITE

MOV A,#4EH

CALL WRITE

MOV A,#00H

CALL WRITE

MOV A,#00H

CALL WRITE

MOV A,#7FH

CALL WRITE

CALL REST

MOV A,#0CCH

CALL WRITE

MOV A,#44H

CALL WRITE

MOV R0,#20

LOOP5:MOV R1,#100 LOOP6:MOV R2,#250

DJNZ R2,$

DJNZ R1,LOOP6

DJNZ R0,LOOP5

CALL REST

MOV A,#0CCH

CALL WRITE

MOV A,#0BEH

CALL WRITE

CALL READ2

MOV A,#0ECH

CALL WRITE

CALL HUAN

clr 20h.3

ret

rest:SETB P3.3

NOP

CLR P3.3

MOV R0,#0ffH;

DJNZ R0,$; 延时

基于ATC单片机定时闹钟设计

塔里木大学信息工程学院 《单片机原理与外围电路》课程论文 题目:单片机定时闹钟设计 姓名:海热古丽·依马木 学号: 15 班级:计算机15-1班

摘要:本设计是单片机定时闹钟系统,不仅能实现系统要求的功能,而且还有附加功能,即还能设定和修改当前所显示的时间。?本次设计的定时闹钟在硬件方面就采用了AT89C51芯片,用6位LED数码管来进行显示。LED用P0口进行驱动,采用的是动态扫描显示,能够比较准确显示时时—分分—秒秒。通过S1、S2、S3、和S4四个功能按键可以实现对时间的修改和定时,定时时间到喇叭可以发出报警声。在软件方面采用汇编语言编程。整个定时闹钟系统能完成时间的显示,调时和定时闹钟、复位等功能,并经过系统仿真后得到了正确的结果。 关键词:单片机、AT89C51、定时闹钟、仿真? Abstract:T his design is a single-chip timing alarm system, can not only realize the function of system requirements, and there are additional functions, which can set up and modify the display time. Timing alarm clock this design adopts the AT89C51 chip on the hardware side, with 6 LED digital tube to display. LED P0 export driven, by using dynamic scanning display, can accurately display always - sub - seconds seconds. Through the S1, S2, S3, and S4 four function keys can be achieved on the time changes and timing, timing to the horn can send out alarm sound. Using assembly language programming in the software. The timing clock system has functions of time display, timing and timing alarm clock, reset and other functions, and the system simulation to obtain correct results. Keywords: single chip microcomputer, AT89C51, alarm clock,

基于51单片机实现的简单闹钟设计

【摘要】众所周知闹钟对我们日常生活来讲是一个很重要的工具,因而我利用单片机AT89C52制作一个简单的倒计时定时闹钟。本设计利用单片机的内部中断资源和按键的基本使用方法构思而成。利用按键设定需要定时的时间长短,利用中断设置20次中断定义一秒,然后利用程序设计时间倒数。并使用4个8段数码管显示分和秒,并且定时结束后使用电铃警示。硬件系统利用proteus仿真,在仿真中就能观察到系统的实际运行情况。 【关键字】 单片机AT89C51 倒计时定时中断 protues仿真 一、设计项目简介 基于51单片机进行简单闹钟设计。四位数码管从左往右分别代表十分位,分位,十秒位,秒位。按动对应按键能增加各个位的数值,按动开始计时按键能开始倒计时。 二、硬件设计 1.总体设计思路 控制芯片使用比较熟悉的AT89C52单片机芯片,数码管使用四位相连的8段共阴数码管,并且使用74HC573锁存器控制数码管的显示。在定时过程使用s1控制十分位,s2控制分位,s3控制十秒位,s4控

制秒位,s5开始倒计时。 基本思路设计如下: 2. AT89C52芯片介绍 80C52是INTEL 公司MCS-51系列单 片机中基本的产品,它采用INTEL 公司可靠的CHMOS 工艺技术制造的 高性能8 位单片机,属于标准的MCS-51的HCMOS 产品。它结合了HMOS 的高速和高密度技术及CHMOS 的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属于80C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。 80C52内置8位中央处理单元、256字节内部数据存储器RAM 、8k 片内程序存储器(ROM )32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡

(完整版)单片机的电子时钟设计毕业设计

以下文档格式全部为word格式,下载后您可以任意修改编 辑。 济源职业技术学院 毕业设计 题目单片机的电子钟设计 系别电气工程系 专业应用电子技术 班级电技0801 姓名肖见 学号 指导教师苗绍强 日期 2010年12月

设计任务书 设计题目: 单片机的电子钟设计 设计要求: 1.设计一个具有特定功能的电子钟。该电子钟上电或按键复位后能自动显示系统提示符“P.”,进入时钟准备状态;第一次按电子钟启动调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动调整键再次进入时钟运行状态。 2.设计完成上述功能的相应的硬件调试和软件调试。 3.完成焊接和实物电路的调试。 设计进度要求: 第一周:选定设计题目,查找、搜集相关资料。 第二周:了解各元器件、模块的功能及使用方法。 第三周:硬件电路的设计。 第四周:相应软件设计(程序设计)。 第五周:利用相关的仿真软件测试并记录相关的数据和错误。 第六周:焊接实物电路,并且在实物电路上调试并且记录相关的数据和问题。 第七周:写毕业论文。 第八周:毕业答辩。指导教师(签名):

摘要 时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。 数字电子钟的设计方法有多种,其中,利用单片机实现的电子钟具有编程灵活,便于电子钟功能的扩充,即可用该电子钟发出各种控制信号,精确度高等特点,同时可以用该电子钟发出各种控制信号。 本设计主要介绍用单片机内部的定时计数器来实现电子时钟的方法,本设计由单片机AT89C52芯片和LED数码管为核心,辅以必要的电路,构成了一个单片机电子时钟。与传统机械表相比,它具有走时精确,显示直观等特点。它的计时周期为24小时,显满刻度为“23时59分59秒”,另外具有校时功能等特点。 关键词:电子钟,单片机,汇编

定时闹钟设计 课程设计报告

定时闹钟设计 摘要: 本设计目的是利用单片机设计制作一个简易的定时闹铃时钟,可以放在宿舍或教室使用,在夜晚或黑暗的场合也可以使用。可以设置现在的时间以及闹铃的时间并且显示出来,若时间到则发出一阵声响。 本次设计的定时闹钟在硬件方面就采用了AT89C52芯片,用6位LED数码管进行显示。LED用P0口进行驱动,采用的是动态扫描显示,能够比较准确显示时时—分分—秒秒。通过五个功能按键可以实现对时间的修改、定时和闹铃终止,闹钟设置的时间到时蜂鸣器可以发出声响。在软件方面用C51编程。整个定时闹钟系统能完成时间的显示,调时和设置闹钟、停止响铃等功能,并经过系统仿真后得到了正确的结果。 关键词:定时闹钟;蜂鸣器;AT89C52;74HC245;

目录 第1章绪论 (1) 1.1设计目的 (1) 1.2设计要求和任务 (1) 1.2.1设计要求: (1) 1.2.2设计任务: (1) 1.3论文主要内容 (1) 第2章系统总体设计 (2) 2.1系统设计需求 (2) 2.2总体设计方案 (2) 2.3系统软件 (3) 2.4系统硬件 (3) 第3章系统硬件设计 (4) 3.1系统硬件模块及功能 (4) 3.2主控模块 (4) 3.2.1主芯片AT89C52 (4) 3.2.2时钟电路设计 (7) 3.2.3 74HC245芯片 (7) 3.3 LED显示模块 (9) 3.4 按键模块 (9) 3.5警报模块 (10) 第4章系统软件设计 (11) 4.1系统软件设计概述 (11) 4.2主程序设计 (11) 4.3单片机的中断系统 (11) 4.3.1中断源 (11) 4.3.2中断的优先级别 (12) 4.4主程序 (12) 第5章系统测试 (13) 5.1测试内容 (13) 5.2测试环境 (13) 5.3测试步骤 (13) 5.3.1测试环境的构建 (13) 5.3.2测试内容 (14) 5.4测试结果 (14)

(完整word版)基于单片机电子时钟的制作

毕业综合实训概述 实训目的: 对单片机电子时钟的制作及设计原理的掌握,利用本次实训对所学的理论课程进行实际论证,更好的掌握理论知识。能够更好的运用在实践当中。 实训时间: 2015年9月21日-2015年11月8日 实训要求: 1.独立完成实物的制作及理解设计原理; 2.分析及制作程序流程图; 3. 绘制电路图; 4.了解个元器件在电路中的作用。

目录 1 引言 (1) 1.1选题背景 (1) 1.2设计原理 (1) 1.3单片机简介 (2) 1.4单片机的发展历史 (2) 1.5单片机的应用领域及发展趋势 (2) 2 方案议论 (5) 2.1 设计要求 (5) 2.2 系统描述 (5) 2.3 设计方案 (5) 2.3.1 集成电路 (5) 2.3.2 单片机的最小系统 (6) 2.3.3结论 (7) 3 硬件设计 (8) 3.1硬件结构 (8) 3.2中心控制模块 (8) 3.3电源模块 (11) 3.4控制电路 (12) 3.5复位电路 (12) 4软件设计 (15) 4.1电子时钟的设计原理 (15) 4.2 软件设计流程 (15) 5 总结 (17) 致谢 (18) 参考文献 (18) 附录电子时钟程序 (19)

1 引言 1.1选题背景 单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。 INTEL的8080是最早按照这种思想设计出的处理器,当时的单片机都是8位或4位的。其中最成功的是INTEL的8051,此后在8051上发展出了MCS51系列单片机系统。因为简单可靠而性能不错获得了很大的好评。尽管2000年以后ARM 已经发展出了32位的主频超过300M的高端单片机,直到现在基于8051的单片机还在广泛的使用。现代人类生活中所用的几乎每件有电子器件的产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电子产品中都含有单片机。汽车上一般配备40多片单片机,复杂的工业控制系统上甚至可能有数百片单片机在同时工作! 利用单片机实现电子时钟有很多优点,例如外部电路简单,控制方便等,因而备受广大单片机爱好者的喜爱。通过电子时钟的制作方案,掌握C语言的编程方法。并熟练的运用89S52单片机定时器准确的实现时间的递进,按下按键可以设置时间,最重要的是自己还可以通过程序设计输入自己需要的定点时间。 1.2设计原理 通过单片机对时间准确的控制,实现时间的递进。 定时器:时钟周期T是时序中最小的时间单位,具体计算的方法是1/时钟源频率,我们KST-52单片机开发板上用的晶振是11.0592M,那么我们对于这个单

单片机课程设计 电子定时闹钟

学号:************ HEBEI UNITED UNIVERSITY 单片机课程设计说明书 设计题目:电子定时闹钟 学生姓名: 专业班级: 学院: 指导教师: **年**月**日

成绩评定表

摘要 本设计是采用单片机技术的电子定时闹钟,近年来集成电路技术的出现和应用,是推动了人类文明的突飞猛进。基于集成电路技术的单片机产品更是方便了人们的生活和工作,目前以单片机技术的应用为核心的产品种类非常丰富。应用我们所学过的知识和查阅相关资料,我制作了这个单片机技术为基础的LCD可校时可定时电子闹钟,这是一个简单的实用的单片机电子设计产品。 本“LCD定时电子闹钟’设计采用AT89C51为主控芯片。在充分理解了设计的要求后,准确的定位了设计的目的,然后构思了总体的方案。在选择和合适的硬件完成了电路的设计后,又进行了软件的设计和调试。本系统的硬件组成以及工作原理都有详细的图文说明,所应用的软件技术和各个模块设计的功能及工作过程也有详细的介绍,最后的部分则详细描述了了软件仿真及调试过程。

Abstract This design is the use of single-chip computer technology electronic timing alarm clock, in recent years, integrated circuit technology and applications, is to promote the human civilization make a spurt of progress. Based on the integrated circuit single chip computer product is more convenience to people's life and work, the single chip technology as the core of the products is very rich. Apply what we have learned the knowledge and access to relevant information, I produced the single chip technology based on LCD timing timing electronic alarm clock, which is a simple and practical single chip electronic product design. The" LCD electronic timing alarm clock ' design uses AT89C51as the main control chip. In the full understanding of the design requirements, accurate positioning of the design objective, then the overall scheme design. In the choice and appropriate hardware circuit design, and software design and debugging. The system hardware composition and working principle of a detailed graphic shows, by the application of the software technology and each module function and the working process is also introduced in detail, the last part is a detailed description of the software simulation and debugging process.

(完整版)单片机毕业课程设计—带有LCD的定时闹钟

郑州轻工业学院 软件学院 单片机与接口技术课程设计总结 报告 设计题目:带有LCD的定时闹钟 学生姓名: 系别: 专业: 班级: 学号: 指导教师:

2011年12月16日

郑州轻工业学院 课程设计任务书 题目带有LCD的定时闹钟 专业、班级学号姓名 主要内容: 设使用89C51单片机结合字符型LCD显示器设计一个简易的定时闹钟LCD时钟,若LCD选择有背光显示的模块,在夜晚或黑暗的场合中也可以使用。 基本要求: .字符型LCD(16*2)显示器 .显示格式“时时分分”。 .由LED闪动来做秒计数表示。 .一旦时间到侧发动声响,同时继电器启动,可以扩充控制家电开启和关闭。 .程序执行后工作指示灯LED闪动,表示程序开始执行,LCD 显示“00 00”,按下操作键K1-k4动作如下: (1)K1—设置现在的时间。 (2)K2—显示闹钟设置的时间。

(3)K3—设置闹铃的时间。 (4)K4—闹铃ONOFF的状态设置,设置ON时连续三次发出“哗”的一声,off置为哗的一声。设置当前时间或闹 铃时间如下: (1)K1—时的调整。 (2)K2—分的调整。 (3)K3—设置完成。 (5)OFF发出“哗”K4---闹铃时间到时,发出一阵声响,按下本键可以停止声响。 除了显示当前时间的功能外,还可以扩充如下功能; .增加秒表计数。 .闹铃时间到侧产生音乐声。 .增加减计数功能。 .增加多组计数的功能。 参考文献 郭天祥 51单片机C语言教程-入门。 余发山单片机原理及应用技术。中国矿业大学出版社。 涂世亮,张友德。单片微机控制技术。清华大学出版社。

基于单片机的定时闹钟课程设计报告书

任务书 一、设计目的 本设计主要是对51单片机的一个方面的扩展,是能实现一般定时闹钟功能的设计。需要实现某一功能时,按对应的按键即可,经过多次验证,此设计灵活简便,可以实现显示、定时、修改定时、定时时间到能发出报警声的功能。 二、设计要求 1、能显示时时—分分—秒秒。 2、能够设定定时时间,并修改定时时间。 3、定时时间到能发出警报声。

目录 1.绪论 (1) 2.方案论证 (1) 3.方案说明 (2) 4.硬件方案设计 (2) 4.1单片机STC89C52 (2) 4.2 时钟电路 (4) 4.3数码管显示电路 (4) 4.4键盘电路 (6) 4.5报警电路 (7) 5.软件方案设计 (7) 5.1系统软件设计 (7) 5.2键盘程序 (7) 5.3 LED (8) 5.4音响报警电路 (8) 5.5 程序流程图 (8) 6.调试 (9) 7.小结 (10) 8.参考文献 (11) 9.附录:定时闹钟源程序 (12)

1.绪论 系统采用单片机STC89C52作为本设计的核心元件,在其基础上外围扩展芯片和外围电路,附加时钟电路,复位电路,键盘接口及LED显示器。键盘采用独立连接式。还有定时报警系统,即定时时间到,通过扬声器发出报警声,提示预先设定时间时间到,从而起到定时作用。 外围器件有LED显示驱动器及相应的显示数字电子钟设计与制作可采用单片机来完成。由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,所以在该设计与制作中采用单片机STC89C52,它是低功耗、高性能的CMOS型8位单片机。片内带有8KB的Flash 存储器,且允许在系统内改写或用编程器编程。另外, STC89C52的指令系统和引脚与8051完全兼容,片内有512B的RAM、32条I/O口线、3个16位定时计数器、4个外部中断、一个7向量4级中断结构(兼容传统51的5向量2级中断结构)等。 在LED显示器中,分成静态显示和动态显示两类,在这个设计的最小系统中主要用了它的动态显示功能,动态显示器利用了人视觉的短暂停留,在数据的传输中是一个一个传输的,且先传输低位。 2.方案论证 单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。 本系统采用单片机STC89C52作为本设计的核心元件,利用两个4位7段共阴LED作为显示器件。接入共阴LED显示器,可显示时,分钟,秒,单片机外围接有定时报警系统,定时时间到,蜂鸣器发出报警声,提示预先设定时间到。 电路由下列部分组成:时钟电路、复位电路、控制电路、LED显示、报警电路,芯片选用STC89C52单片机。 系统基本框图如图2.1所示:

基于单片机的电子时钟系统设计

题目:电子时钟系统设计 班级: 姓名: 专业: 指导教师: 答辩日期:

毕业设计任务书 一、设计题目: 电子时钟系统设计 二、设计要求: 利用8031单片机作为主控器组成一个电子时钟系统。利用4个LED显示管分时显示当前时间和日历;上电或RESET后能自动显示当前时间(时:分),首次上电复位显示为0时0分;以后各次均显示正确的当前时间;利用尽可能少的小键盘(开关)实现;显示选择:时分显示/日历显示/报警显示,利用发光二极管作为报警指示,当报警时间到,二极管发光。 三、设计任务: 1.设计硬件电路,画出电路原理图; 2. 设计软件,编制程序,画出程序流程图; 3.调试程序,写出源程序代码; 4.写出详细毕业设计说明书(10000字以上),要求字迹工整,原理叙述正确,会计算主要元器件的一些参数,并选择元器件。 5.个人总结。 四、参考资料: 1. 教材; 2.《单片机实验指导书》,河南工业职业技术学院内部; 3.《51系列单片机设计实例》,楼然苗、李光飞编著,北京航空航天出版社; 4.《微机控制技术及应用》,韩全立主编,机械工业出版社; 5.《单片机应用技术与实训》,王治刚主编,清华大学出版社; 6.《常用电子电器手册》; 7.《单片机应用技术与实例》,睢丙东主编,电子工业出版社;

8.《单片微型计算机应用技术》,徐仁贵,机械工业出版社。

目录 第一章绪论 (6) 1.1 单片机的概述 (6) 1.2 数字电子钟的简介 (7) 第二章电子时钟硬件电路设计 (9) 2.1 硬件电路设计摘要 (9) 2.2 硬件电路设计来源 (9) 2.3 硬件电路设计原理图 (11) 第三章软件设计及程序编制 (13) 3.1 系统程序设计 (13) 3.2 电子钟的说明 (16) 3.3 中断服务程序 (18) 3.4 设计参数 (21) 3.5 控制源程序代码 (21) 第四章功能调试及分析 (31) 4.1 调试功能的方法 (31) 4.2 电子钟计时说明 (31) 4.3 调试及性能分析 (32)

基于51单片机内部定时器的简易闹钟课程设计论文

基于51单片机内部定时器的简易闹钟 摘要 现代社会电子闹钟已广泛用于各种私人和公众场合,成为我们生活、工作和学习中不可缺少的好帮手,因此研究实用性更强的电子闹钟具有十分重要的意义。本设计是基于单片机的电子钟设计,不仅具有时分秒的显示功能,还具有双闹铃和倒计时的功能,实用性非常强。电子钟的计时部分采用AT89S52单片机内部定时器实现,而显示功能是采用液晶模块LCD1602来实现,该电子闹钟可以让使用者通过按键来轻松选择的功能菜单和调节时间,具有非常良好地人机界面。 关键词:电子闹钟;倒计时;AT89S52;液晶LCD1602;按键 Abstract In modern society, the electronic alarm clock has been widely used in various occasions and become indispensable to life.It is a good helper to our work and learning. So,there is very important significance to research more practical electronic alarm clock.This design is based on single chip microcomputer,It has display function of hours,minutes and seconds,dual alarm and countdown.The internal timer of AT89S52 achieve the part of time.The liquid crystal LCD1602 achieve the part of display.The users can use the push-buttons to choice the menu of functions and adjust the time.The man-machine interface is very good. Key words: electronic alarm; countdown; AT89S52; liquid crystal LCD1602; button

单片机电子时钟的设计设计word版

基于单片机的电子时钟设计 摘要 现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校。数字式电子时钟用集成电路计时,译码代替机械式传动,用LED显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。近年来随着科技的飞速发展。单片机、PLC的应用不断地走向深入。同时带动传统的控制检测技术的不断更新。可以采用早期的模拟电路、数字电路或模数混合电路。 本设计利用单片机实现数字时钟计时功能的主要内容,其中AT89C51是核心元件同时采用数码管动态显示“时”,“分”,“秒”的现代计时装置。与传统机械表相比,它具有走时精确,显示直观等特点。它的计时周期为24小时,显满刻度为“23时59分59秒”,另外具有校时功能,断电后有记忆功能,恢复供电时可实现计时同步等特点。 关键词:单片机,AT89C51,LED,显示器,电子时钟 BASED ON SCM ELECTRONIC CLOCK DISIGN

ABSTRACT Now, most of the high precision tools have used quartz crystals oscillator. As the electron clock, quartz watches and quartz have adopted quartz technique,which is empty and high precision,good stability,andconvenience, there is no need to constantly adjust the use of electronic clock. Digital watches, which have reduced the timing errors and hve the houre、minite and second and can also underway and proofreading and slice of flexibility, have used integrated circuit to count time, in which decoding have replaced michical driven, and led display monitors replaced the pointer to display time. In recent years as technology evolved, microcontroller and PLC applications have go fother. promoting traditional control testing technical updating earlier. You can use the earlier digital circuit or circuit and hybrid circuit . In this complment, we have used the microcontroller to make true the timing of the digital clocks, in which has a core element of AT89c2051, with the morden counting michine digital to display at the "time", "points" and "seconds". Compared to the conventional mechanical watch, it is empty and intuitive . Its characteristics of the time period is 24 hours, and full scale as a "23’59’ 59, and other functions of the school after the electricity supply, to have time to achieve credible a synchronous. KEY WORDS: MICROCONTROLLER,AT89C51,LED,DISPLAY,CLOCK

电子设计毕业设计-单片机定时闹钟论文资料-

单片机定时闹钟 一、[电路概述]该时钟电路主要以单片机AT89S52为核心而设计的,通过单片 机对信息的分析与处理控制外围设备。电路整体设计思想是想把它做成一个实用的器件,所以在题目要求的前提下,我们又加入了星期程序,温度程序,年、月、日程序以及时间的12—24转换程序。 [关键字]:单片机数码显示温度传感器光识电路 二、[题目分析与方案论证]按照系统设计功能的要求,初步确定设计系统由 复位模块、时钟模块、温度模块、音乐模块、光识模块及显示模块共五个模块组成,后来在时钟模块的基础上又加载了日历、星期的模块 从单片机AT89S52入手,通过使用AT89S52的内部的可编程定时器/计数器,结合对外接晶振的调节来确定一个合适的振荡周期,从而确定出内部的机器周期。再通过对内部中断程序的设置来设计出时钟程序,即设计出了电子时钟的核心。根据题目的要求,我们设计了以下方案: [方案一]设计中加载了年、月、日的设计,刚开始时打算用18个共阳数码管, 考虑到数码管太多是毕会给硬件电路带来麻烦,经过考虑后,决定把年、月、日与时间设置到一组数码管上来,即六个数码管即能显示时间又能显示年、月、日,这样一来就方便了硬件电路; [方案二]主控芯片使用51系列AT89S52单片机设计时温度模块设计温度元件用 AD590,利用AD590以及接口电路把温度转换成模拟电压,经由ADC0804转换成数字信号,然后经AT89S52处理显示温度。但由于AD590价钱比较贵,且只能转换成模拟电压,这样一来硬件就要增加更多的器件且又不经济,经查找发现18B20温度传感器价钱便宜且可以直接把温度转换成数字量测温范围为-55—125度,最大分辨率可达0.0625度,采用3线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点,所以我们选择了18B20温度传感器。 附18B20温度传感器工作原理:DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并可根据实际要求通过简单的编程实现9—12位的数字值读数方式。温度传感器DS18B20采集温度信号送该给单片机处理,存储器通过单片机对某些时间点的数据进行存储;,DS18B20的性能特点如下: 1、独特的单线接口仅需要一个引脚进行通信; 2、多个DS18B20可以并联在唯一的三线上,实现多点组网功能; 3、无须外部器件; 4、可通过数据线供电,电压范围为3.0---5.5V; 5、零待机功耗; 6、温度以9或12位数字量读出; 7、用户可定义的非易失性温度报警设置; 8、报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;

定时闹钟课程设计

扬州大学水利与能源动力工程学院课程设计报告 题目:定时闹钟 课程:单片机原理及应用课程设计 专业:电气工程及其自动化 班级:电气1201 姓名:陈明飞 学号:121704102

第一部分 任 务 书

《单片机原理及应用》课程设计任务书 一、课题名称 详见《单片机课程设计题目(一)》:主要是软件仿真,利用Proteus软件进行仿真设计并调试; 《单片机课程设计题目(二)》:主要是硬件设计,利用单片机周立功实验箱进行设计并调试。 二、课程设计目的 课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。 《单片机原理及应用》是一门理论性、实用性和实践性都很强的课程,课程设计环节应占有更加重要的地位。单片机原理及应用课程设计的目的是让学生在理论学习的基础上,通过完成一个涉及MCS-51单片机多种资源应用并具有综合功能的小系统目标板的设计与编程应用,使学生不但能将课堂上学到的理论知识与实际应用结合起来,而且能进一步加深对电子电路、电子元器件等知识的认识与理解,同时在软件编程、排错调试、相关软件和仪器设备的使用技能等方面得到较全面的锻炼和提高。为今后能够独立进行某些单片机应用系统的开发设计工作打下一定的基础。通过单片机硬件和软件设计、调试、整理资料等环节的培训,使学生初步掌握工程设计方法和组织实践的基本技能,逐步熟悉开展科学实践的程序和方法。 三、课程设计内容 设计以89C51单片机和外围元器件构成的单片机应用系统,并完成相应的软硬件调试。 1. 系统方案设计:综合运用单片机课程中所学到的理论知识,学生根据所选课题的任务、要求和条件进行总体方案的设计。 2. 硬件电路设计:对方案中以单片机为核心的电路进行设计计算,包括元器件的选择和电路参数的计算,并画出总体电路图。 3. 软件设计:根据已设计出的软件系统框图,用汇编语言或C51编制出各功能模块的子程序和整机软件系统的主程序。 4. 调试:在单片机EDA仿真软件环境Proteus下进行仿真设计并调试;或在单片机周立功实验箱上进行相关设计并调试。 四、课程设计要求 详见《单片机课程设计题目(一)》 《单片机课程设计题目(二)》 五、进度安排

毕业设计(论文)-基于单片机的语音报时电子钟设计

毕业设计(论文)-基于单片机的语音报时电子钟设计语音报时电子钟设计 摘要: 语音报时电子钟,以AT89S52单片机为核心,由键盘控制、录放音模块、温度 采集、液晶显示等功能模块组成。单片机通过时钟芯片DS1302获取时间数据,对数据处理 后送到中文液晶12864显示输出,并可通过按键对时间进行调整。基于题目基本要求,本 系统对时间显示和语音报时进行了重点设计,通过ISD4004语音芯片把声音录进去,单片 机读取时间数据后再把语音芯片里的录音段取出来,进行语音报时。此外,扩展单片机外 围接口、温度采集、语音报时等功能。 关键词: 语音报时; 单片机;中文液晶; 时钟芯片 Design of electronic clock with speech broadcast Abstract: The design of speech tick electronic clock,base on chip microcomputer AT89S52, is composed by the following functional modules: keyboard displaying ,sound phonating., temperature gathering ,LCD display.The microcomputer get time data from time chip DS1302,then data processing and the output is displayed on a Chinese character LCD 12864,and process time get across the keystroke. According to the basic requirements of the subject ,our system stresses on the realization of time displaying and sound timing,

电子定时闹钟毕业论文

电子定时闹钟毕业论文智能定时闹钟硬件设计

摘要 随着科技的快速发展和生活水平的不断提高,人们对时钟的精确度和实用性要求越来越高。本文采用宏晶单片机STC10F08XE,通过DS1302时钟芯片进行定时,并通过LCD 1602字符液晶显示器显示。采用C语言程序编写,将设计出更准确定时、更省电的数字时钟。单片机数字时钟具有设置时间、日期、星期的基本功能,并且能够显示年、月、日、时、分、秒、星期,温度。单片机数字钟不管在性能还是在样式上都发生了质的变化,实践证明单片机数字时钟具有更加准确性、精密性等功能。本设计是定时闹钟的设计,由单片机 AT89C51 芯片和宏晶单片机STC10F08XE为核心,辅以必要的电路,构成的一个单片机智能定时闹钟。用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,所以在该设计中采用单片机利用 AT89C51,它是低功耗、高性能的 CMOS 型 8 位单片机。 关键字:数字时钟;DS1302;LCD1602;STC10F08XE

Abstract In daily life, time is science, technology and everyday life is one of the most basic physics, we often deal with temporal clocks, such as hand watch, wall clock, even on a computer program, the clock on the phone can be generalized a clock display on the clock, along with the rapid development of technology and the continuous improvement of living standards, people on the clock's accuracy and practical demand is higher and higher. Based on the single chip microcomputer principle, USES the monolithic integrated circuit STC10F08XE series, through the hardware circuit and software production procedure formulation, will design a more accurate timing, electricity -saving digital clock, SCM in performance or digital clock no matter in style have undergone a qualitative change, digital clock has proved microcontroller more accuracy, precision sex etc. Function. This design is the design of timing alarm clock, the single chip microcomputer AT89C51 single chip microcomputer chip and macro crystal STC10F08XE as the core, with the necessary auxiliary circuit, constitute a single chip microcomputer intelligent timing of alarm clock . By single chip design system to be completed, because its main through the realization of the function of software programming to complete, then reduce the complexity of the hardware circuit, and the cost is reduced, so in this design using AT89C51 single-chip, it is low power, high-performance CMOS type eight microcontroller. Key Words:Digital clock ; DS1302; LCD1602;STC10F08XE

最新毕业设计:基于单片机的电子日历时钟

一课程设计题目:电子日历时钟 二实现的功能: 基本功能: (1)显示北京时间,并且能够校准时间; (2)程序使用汇编语言; (3)显示的时、分、秒之间以及年、月、日间以小数点分隔;(4)显示公历日期,并且能够校准日期; 发挥功能: (5)运动秒表; (6)闹钟功能; (7)自动整点报时。 三课程设计的目的: 课程标志性内容的设计理解和综合运用,对所学内容进行一次实操,学以致用。 四、设计方案说明 1、硬件部分 (1)采用6位LED数码管显示日期或者时间。 (2)显示器的驱动采用“动态扫描驱动”,且采用“一键多用”的设计方案,系统电路大为简化。使用小数点表示闹 钟设置状态; (3)电路连接使用PCB,使电路连接简洁美观

2、软件部分 (1)“时钟”基准时间由单片机内部的定时中断提供,考虑因素:定时时间是“秒”的整除数,且长短适宜。最长不 能超过16位定时器的最长定时时间;最短不能少于中断服 务程序的执行时间。基准时间越短,越有利于提高时钟的 运行精确度。基准时间定为0.05秒。 (2)用一个计数器对定时中断的次数进行计数,由基准时间为0.05秒知计数值为20即可实现实现“秒”定时,同理 进行“分”﹑“时”定时,以及“日”﹑“月”﹑“年” 定时。 (3)LED 数码管显示器采用“动态扫描驱动”考虑问题:驱动信号的维持时间必须大于“起辉时间”(电流大起辉时间 短),而驱动信号的间歇时间必须小于“余辉时间”(电流 大余辉时间长),但驱动电流大小受硬件电路能力和LED 数码管极限功耗的制约。 (4)动态扫描显示方式在更新显示内容时,考虑到因LED数码管余辉的存在可能会造成显示字符的模糊,所以新内容 写入显示器之前将所有的LED数码管熄灭。 (5)关于自动识别“月大﹑月小”和“平年﹑润年”问题的考虑 a)月大和月小 2月另外计算;

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