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

舵手 范文 报告范文
精选回答

数字时钟

汇编

目录

第一章

系统设计要求2

1.1

设计要求2

第二章

系统的组成及工作原理3

2.1

系统的组成3

2.2

系统的工作原理3

第三章

系统硬件电路方案设计6

3.1

电子时钟方案6

3.2

数码显示方案6

3.3

单元电路设计7

3.3.1

晶体振荡电路7

3.3.2

复位电路7

3.3.3

显示电路7

3.3.4

键盘电路7

3.3.5

控制电路8

第四章

系统的软件设计9

4.1

程序流程图9

4.2

源程序10

第五章

系统调试和测试结果与分析25

5.1

实验仪器与工具25

5.2

调试闹钟25

5.3

调试按键子程序25

第六章

结论26

参考文献27

第1章

系统设计要求

1.1做一个基于AT89S52的简易的单片机数字钟。该数字钟有6个共阴极七段数码管,分别显示时分秒,其显示方式为:**时**分**秒。利用8255扩展键盘和显示接口,时间可以任意修改。

1.1课程设计要求

(1)掌握AT89S52实验开发系统中的实验模块原理,画出电路原理图。

(2)综合运用实验模块,用89S52开发设计具有一定功能的单片机控制系统,进行软、硬件设计及调试。

(3)写出完整的设计任务书:摘要、目录、正文、结论、参考文献、附录。

(4)时间以24小时为一个周期;电子钟的格式为:**时**分**秒,由左向右分别为:时、分、秒。完成显示由秒由00一直加1至59,再恢复为00;分由00一直加1至59,再恢复00;时由00一直加1到23,再恢复00。

(5)为了保证计时的稳定及准确须由晶体振荡器提供表针时间基准信号。

第2章

系统组成及工作原理

2.1、系统的组成

数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路.由于计数的起始时间不可能与标准时间一致,故需要在电路上加一个校时电路,同时标准的1MHZ时间信号必须做到准确稳定.通常使用石英晶体振荡器电路构成数字钟.

(1)

晶体振荡器

晶体振荡器给数字钟提供一个频率稳定准确的11.0592MHz的方波信号,可保证数字钟的走时准确及稳定.不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器。

(2)

复位电路

时间计数电路由秒个位和秒十位计数器,分个位和分十位计数器,时个位和时十位电路构成,秒个位和秒十位计数器,分个位和分十位计数器为60进制计数器,时个位和时十位计数器为24进制计数器。

(3)

数码管

数码管通常有发光二极管(LED)数码管和液晶(LCD)数码管,本设计提供的为LED数码管。

(4)

键盘

键盘是控制和修改时钟的重要输入模块,通过键盘可以修改时间,修改年月日,修改闹钟时间,控制显示等。

(5)

控制部分

AT89S52是美国ATMEL公司生产的低功耗,高性能CMOS

8位单片机,片内含8K

bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准8051指令系统及引脚。AT89S52提供以下标准功能:8K字节Flash闪速存储器,256字节内部RAM,32I/O口线,看门狗(WDT),两个数据指针,三个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。

2.2、系统工作原理

VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0

口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口第二功能口。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,

ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

第三章

系统硬件电路方案设计

3.1、电子时钟方案

电子时钟是本设计的最主要的部分。根据需要,可利用两种方案实现。

方案一:本方案采用Dallas公司的专用时钟芯片DS12887A。该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。当电网电压不足或突然掉电时,系统自动转换到内部锂电池供电系统。而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。

方案二:本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设6个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清零。该方案具有硬件电路简单的特点。但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。

基于硬件电路的考虑,本设计采用方案二完成数字时钟的功能。

3.2、数码管显示方案

方案一:静态显示。所谓静态显示,就是当显示器显示某一字符时,相应的发光二极管恒定的导通或截止。该方式每一位都需要一个8

位输出口控制。静态显示时较小的电流能获得较高的亮度,且字符不闪烁。但当所显示的位数较多时,静态显示所需的I/O口太多,造成了资源的浪费。

方案二:动态显示。所谓动态显示就是一位一位的轮流点亮各个位,对于显示器的每一位来说,每隔一段时间点亮一次。利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字符才不闪烁。显示器的亮度既与导通电流有关,也于点亮时间与间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态显示节省了I/O口,降低了能耗。

从节省I/O口和降低能耗出发,本设计采用方案二。

3.3、单元电路设计

3.3.1、晶体振荡电路

3.3.2

、复位电路

3.3.3、显示电路

3.3.4、键盘电路

3.3.5、控制电路

第四章

系统软件设计

4.1程序流程图主程序开始

设定定时器常数,开中断

显示时间

到1秒?

T0中断

现场保护

重装定时器初值

满20次否?

满24小时否?

满60秒否?

满60分否?

恢复现场

时值加1

时缓冲单元清零

秒值加1

分缓冲单元清零

秒缓冲单元清零

分值加1

结束

4.2、源程序

F_1

BIT

70H;为0时

锁定键盘

为1时

可以输入键值

F_2

BIT

71H;为1时

执行T1中秒表程序,为0时执行T1中闹钟闪灯程序

F_3

BIT

72H

SHIS

EQU

20H;时

十位

时钟的时分秒

SHIG

EQU

21H;时

个位

FENS

EQU

22H;分

十位

FENG

EQU

23H;分

个位

MIAOS

EQU

24H;秒

十位

MIAOG

EQU

25H;秒

个位

NIANS

EQU

27H;年

十位

年、月、日

NIANG

EQU

28H;年

个位

YUES

EQU

29H;月

十位

YUEG

EQU

2AH;月

个位

RIS

EQU

2BH;日

十位

RIG

EQU

2CH;日

个位

SS

EQU

35H;时

十位

定时的时分秒

SG

EQU

36H;时

个位

FS

EQU

37H;分

十位

FG

EQU

38H;分

个位

MS

EQU

39H;秒

十位

MG

EQU

3AH;秒

个位

MFS

EQU

45H;分

十位

秒表的分、秒、毫秒

MFG

EQU

46H;分

个位

MMS

EQU

47H;秒

十位

MMG

EQU

48H;秒

个位

MHS

EQU

49H;毫秒

十位

MHG

EQU

4AH;毫秒

个位

ORG

0000H

LJMP

MAIN

ORG

000BH;定时T0中断入口地址

LJMP

TIM0

ORG

001BH;定时T1中断入口地址

LJMP

TIM1

MAIN:MOV

SP,#60H;堆栈指针设置

CLR

F_1;清零

锁定键盘

CLR

F_2;清零

CLR

F_3

MOV

SHIS,#02H

;时分秒赋初值

MOV

SHIG,#03H

MOV

FENS,#05H

MOV

FENG,#08H

MOV

MIAOS,#04H

MOV

MIAOG,#00H

MOV

NIANS,#01H;年月日赋初值

MOV

NIANG,#00H

MOV

YUES,#00H

MOV

YUEG,#07H

MOV

RIS,#00H

MOV

RIG,#02H

MOV

SS,#01H;定时闹钟的时分秒赋初值

MOV

SG,#02H

MOV

FS,#00H

MOV

FG,#00H

MOV

MS,#00H

MOV

MG,#00H

MOV

R0,#20H;R0指针指向

的十位

MOV

R1,#27H;R1指针指向

的十位

MOV

32H,#SHIS;存放显示缓冲区初始值

MOV

TMOD,#11H;设置定时器方式

MOV

TH0,#4BH

;定时器T0

50MS初值

MOV

TL0,#0F1H

MOV

TH1,#0DCH;定时器T1

10MS初值

MOV

TL1,#00H

MOV

IE,#8AH;开中断

MOV

40H,#00H;秒计数单元

MOV

43H,#00H;0.5秒计数单元

MOV

A,#89H;初始化

设置8255状态字

MOV

DPTR,#0FF23H

MOVX

@DPTR,A

MOV

DPTR,#0FF21H

MOV

A,#0FFH

MOVX

@DPTR,A;消隐

SETB

TR0;启动定时器T0

START:LCALL

KEY;调用键扫子程序

LCALL

SCAN;调用显示子程序

LCALL

LOCK;调用闹钟子程序

SJMP

START

SCAN:PUSH

ACC;显示子程序

SETB

RS1;换到2区

MOV

31H,32H;显示的数据送数据显示缓冲区

MOV

30H,#0DFH;第一个数码管显示

MOV

R7,#06H;动态显示数码管的个数

SCAN1:MOV

A,30H

MOV

DPTR,#0FF20H

MOVX

@DPTR,A

MOV

R0,31H

MOV

A,@R0

MOV

DPTR,#TABLE

MOVC

A,@A+DPTR

CPL

A

MOV

DPTR,#0FF21H

MOVX

@DPTR,A

LCALL

DELAY

MOV

A,30H

RR

A;将显示数码管右移一位

MOV

30H,A

INC

31H;显示缓冲区加1

MOV

A,#0FFH

MOVX

@DPTR,A;消隐

DJNZ

R7,SCAN1

POP

ACC

CLR

RS1

RET

TIM0:PUSH

ACC;定时器T0中断子程序

MOV

TH0,#4BH

MOV

TL0,#0F1H

INC

40H

MOV

A,40H

CJNE

A,#14H,LP0

LP0:JC

LP2;1秒钟到往下执行

MOV

40H,#00H;清秒计数单元

INC

MIAOG;秒加1

MOV

A,MIAOG

CJNE

A,#0AH,LP2

MOV

MIAOG,#00H

INC

MIAOS

MOV

A,MIAOS

CJNE

A,#06H,LP2

MOV

MIAOS,#00H

INC

FENG

MOV

A,FENG

CJNE

A,#0AH,LP2

MOV

FENG,#00H

INC

FENS

MOV

A,FENS

CJNE

A,#06H,LP2

MOV

FENS,#00H

INC

SHIG

MOV

A,SHIS

CJNE

A,#02H,LP01

MOV

A,SHIG

CJNE

A,#04H,LP2

MOV

SHIG,#00H

MOV

SHIS,#00H

INC

RIG

LP01:MOV

A,SHIG

CJNE

A,#0AH,LP2

MOV

SHIG,#00H

INC

SHIS

LP2:POP

ACC

RETI

TIM1:PUSH

ACC;定时器T1子程序

MOV

TH1,#0DCH

MOV

TL1,#00H

JNB

F_2,TM1

INC

MHG

MOV

A,MHG

CJNE

A,#0AH,TT0

MOV

MHG,#00H

INC

MHS

MOV

A,MHS

CJNE

A,#0AH,TT0

MOV

MHS,#00H

INC

MMG

MOV

A,MMG

CJNE

A,#0AH,TT0

MOV

MMG,#00H

INC

MMS

MOV

A,MMS

CJNE

A,#06H,TT0

MOV

MMS,#00H

INC

MFG

MOV

A,MFG

CJNE

A,#0AH,TT0

MOV

MFG,#00H

INC

MFS

MOV

A,MFS

CJNE

A,#06H,TT0

MOV

MFS,#00H

TT0:SJMP

TM2

TM1:INC

43H

MOV

A,43H

CJNE

A,#32H,TM10

TM10:JC

TM2

MOV

43H,#00H

MOV

A,P1

CPL

A

MOV

P1,A

TM2:POP

ACC

RETI

LOCK:PUSH

ACC;闹钟子程序

SETB

RS0;换到1区

MOV

R0,#20H

MOV

A,SS

XRL

A,@R0

JNZ

LOCK1

INC

R0

MOV

A,SG

XRL

A,@R0

JNZ

LOCK1;时钟

与闹钟

相等往下执行

INC

R0

MOV

A,FS

XRL

A,@R0

JNZ

LOCK1

INC

R0

MOV

A,FG

XRL

A,@R0

JNZ

LOCK1;时钟

与闹钟

相等往下执行

INC

R0

MOV

A,MS

XRL

A,@R0

JNZ

LOCK1

INC

R0

MOV

A,MG

XRL

A,@R0

JNZ

LOCK1;时钟

与闹钟

相等

往下执行

SETB

TR1;时分秒

全相同

启动T1

CLR

F_2;清0执行闹钟闪灯程序

LOCK1:CLR

RS0;恢复到0区

POP

ACC;恢复A的值

RET

KEY:

LCALL

KS;键扫子程序

JZ

LK11

LCALL

DELAY;延时

LCALL

KS

JZ

LK11

;有键按下转

LK2:

MOV

R4,#00H

MOV

R3,#08H

MOV

R2,#0FEH;R2为键盘键扫单元

LK1:MOV

A,R2

MOV

DPTR,#0FF20H

MOVX

@DPTR,A;输出键扫值

RL

A

MOV

R2,A

MOV

DPTR,#0FF22H

MOVX

A,@DPTR

;读键值

CPL

A

ANL

A,#0FH

JNZ

LK3

INC

R4

INC

R4

DJNZ

R3,LK1

LK11:SJMP

LK4

LK3:

ADD

A,R4;算键值

MOV

DPTR,#KEYTAB

MOVC

A,@A+DPTR

CJNE

A,#0FH,LK30;如果为F调用按键F子程序

LCALL

KEY_F

SJMP

LK34

LK30:CJNE

A,#0EH,LK31;如果为E调用按键E子程序

LCALL

KEY_E

SJMP

LK34

LK31:CJNE

A,#0DH,LK32;如果为D调用按键D子程序

LCALL

KEY_D

SJMP

LK34

LK32:CJNE

A,#0CH,LK33;如果为C调用按键C子程序

LCALL

KEY_C

SJMP

LK34

LK33:CJNE

A,#0BH,LK330;如果为B调用按键B子程序

LCALL

KEY_B

SJMP

LK34

LK330:CJNE

A,#11H,LK331;如果为11调用按键SCAL子程序

LCALL

KEY_SCAL

SJMP

LK34

LK331:CJNE

A,#12H,LK332;如果为12调用按键STEP子程序

LCALL

KEY_STEP

SJMP

LK34

LK332:CJNE

A,#13H,LK34;如果为13调用按键MON子程序

LCALL

KEY_MON

LK34:CLR

C

CJNE

A,#0AH,LK35;如果为A调用按键A子程序

LCALL

KEY_A

SJMP

LK4

LK35:JNC

LK4

JNB

F_1,LK4

MOV

@R0,A;输出键值

INC

R0

MOV

A,R0

CJNE

A,#26H,LK36

MOV

R0,#20H

;复位R0指针

LK36:CJNE

A,#2DH,LK37

MOV

R0,#27H

LK37:LCALL

SCAN

LCALL

KS

JNZ

LK36

LK4:

RET

KEY_SCAL:MOV

32H,#MFS;SCAN子程序

秒表子程序

CLR

TR1;秒表复位

MOV

MFS,#00H

MOV

MFG,#00H

MOV

MMS,#00H

MOV

MMG,#00H

MOV

MHS,#00H

MOV

MHG,#00H

RET

KEY_STEP:CPL

TR1;启动秒表或暂停秒表

SETB

F_2;为1时

启动秒表计时程序

LK38:LCALL

SCAN;松手检测

LCALL

KS

JNZ

LK38

RET

KEY_MON:CPL

F_3;取反

JB

F_3,M1;为1时,数码管显示秒表

为0时,数码管显示时钟

MOV

32H,#SHIS

SJMP

M2

M1:MOV

32H,#MFS

M2:LCALL

SCAN;松手检测

LCALL

KS

JNZ

M2

RET

KEY_A:MOV

32H,#NIANS;按键A子程序

查看

年月日

日期

AA0:LCALL

SCAN;松手检测

LCALL

KS

JNZ

AA0

MOV

32H,#SHIS;恢复时钟显示

RET

KEY_B:MOV

32H,#NIANS;按键B子程序修改年月日

SETB

F_1;解除键盘锁定

MOV

R0,#27H;设置指针指向年月日存储区首地址

MOV

NIANS,#10H;数码管上显示时__分__秒__

MOV

NIANG,#10H

MOV

YUES,#10H

MOV

YUEG,#10H

MOV

RIS,#10H

MOV

RIG,#10H

RET

KEY_C:MOV

32H,#SS

;按键C子程序

显示闹钟时间

CC0:LCALL

SCAN;松手检测

LCALL

KS

JNZ

CC0

MOV

32H,#SHIS;恢复显示时钟

RET

KEY_D:MOV

32H,#SS;按键D子程序修改闹钟时间

SETB

F_1;键盘解锁

MOV

R0,#35H;设置指针指向闹钟存储区首地址

MOV

SS,#10H;数码管上显示时__分__秒__

MOV

SG,#10H

MOV

FS,#10H

MOV

FG,#10H

MOV

MS,#10H

MOV

MG,#10H

RET

KEY_E:MOV

32H,#SHIS;按键E子程序确认键

恢复时钟键

SETB

TR0;启动T0

恢复时钟

MOV

A,#0FFH;灭灯

MOV

P1,A

CLR

TR1;停止T1

停止闹钟闪灯

CLR

F_1;锁定键盘

;以下程序是判断时钟是否符合标准,不符合则清00时00分00秒

MOV

R0,#20H

MOV

A,@R0

SWAP

A

INC

R0

ADD

A,@R0

CLR

C

CJNE

A,#24H,EE0

EE0:JNC

EE5

MOV

R0,#22H

CJNE

@R0,#06H,EE1

EE1:JNC

EE5

INC

R0

CJNE

@R0,#0AH,EE2

EE2:JNC

EE5

INC

R0

CJNE

@R0,#06H,EE3

EE3:JNC

EE5

INC

R0

CJNE

@R0,#0AH,EE4

EE4:JC

EE

EE5:MOV

SHIS,#00H

MOV

SHIG,#00H

MOV

FENS,#00H

MOV

FENG,#00H

MOV

MIAOS,#00H

MOV

MIAOG,#00H

EE:MOV

R0,#20H

RET

KEY_F:CLR

TR0;按键F子程序

修改时钟

SETB

F_1;解除键盘锁定

MOV

R0,#20H;指向时钟首地址

MOV

SHIS,#10H

;数码管上显示时__分__秒__

MOV

SHIG,#10H

MOV

FENS,#10H

MOV

FENG,#10H

MOV

MIAOS,#10H

MOV

MIAOG,#10H

RET

KS:MOV

DPTR,#0FF20H;判断键是否按下子程序

MOV

A,#00H

MOVX

@DPTR,A

MOV

DPTR,#0FF22H

MOVX

A,@DPTR

CPL

A

ANL

A,#0FH

RET

KEYTAB:

DB

00H,07H,01H,04H,00H,08H,02H,05H,0FH;键值表

DB

09H,03H,06H,0EH,0AH,0CH,0BH,0DH,00H,11H,00H,12H,00H,13H,00H

DELAY:MOV

R3,#01H

;扫描延时子程序

D1:MOV

R4,#02H

D2:MOV

R5,#0F8H

DJNZ

R5,$

DJNZ

R4,D2

DJNZ

R3,D1

RET

TABLE:DB

3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH

DB

39H,5EH,79H,71H,08H,40H,80H,00H

END

第5章

系统调试和测试结果与分析

5.1、实验仪器与工具

本次课程设计使用的硬件部分是DJ-598K实验开发系统,实验仪主板由许多独立的硬件实验模块组成,可见它们组成各种各样的硬件实验,板上的“O”型圆孔用来作为测试孔或用于连接硬导线组成实验。

下面将详细介绍几个与本次课设有关模块的功能与用途。

1、

LED发光二极管指示电路

实验仪上包括12只发光二极管及相应驱动电路,L1~L12为相应发光二极管驱动信号输入端,该输入端为低电平时发光二极管亮。

2、

显示接口电路

数码管的段控制信号是由8255的PB口经74LS245缓冲器后输出得到,6位位控制信号由8255的PA口经74LS245缓冲器后输出得到。

3、

键盘接口电路

8255的PC0~PC3作为矩阵键盘行扫描线,8255的PA口为矩阵键盘列入线。

本次课程设计使用的软件部分是DJ-51仿真开发系统软件,该软件有编辑、连接、动态调试综合实验仪的硬件接口等功能。

5.2、调试闹钟

调试闹钟时,发现时钟时时分秒和闹钟的时分秒无法判断相等,虽然闹钟的时分秒和时钟的时分秒赋了相同的值,但是闹钟闪灯程序依然不能亮。经多次软件仿真后,得出原来时钟的时十位地址是20H单元,而程序中定义了00H位,

因为00H位是在20H单元中的第一位,所以给闹钟的时分秒和时钟的时分秒赋了相同的值时,当程序运行时,一旦00H位改变,闹钟的时分秒和时钟的时分秒存储单元中的内容就不相同了。后来把00H位改为70H位,问题就解决了。

5.3、调试按键子程序

在调试按键子程序时,有一次提示

JZ

LK4

行有错误,在程序中查找了很久也没有发现此行错在哪里!后来认真看错误提示,可能是跳转超出了范围,所以就在程序中离JZ

LK4最近的地方找到一行LK1:LJMP

LK4,然后就把JZ

LK4改为JZ

LK1,运行程序后无错误。

第六章

结论

本设计能够很准确的走时,并能够通过硬件对时钟进行时间调整。

u

功能介绍:

1.

显示:XX时XX分XX秒

2.

时间可调:按下调整键F键,可以输入任意时间。按下E键,此时可以启动时钟。按下A键,可以查看现在的日期XX年XX月XX日。按下B键,可以修改日期。按下C键,可以查看闹钟时间,按下D键可以修改闹钟时间。按下SCAL键,可以启动秒表。按下STEP键,可以计时开始和暂停。按下MON键,可以切换时钟显示和秒表显示。

u

调试要点:首先确保各器件的完好性,其次检测各芯片的电源线和地线是否接触良好,然后焊接器件,接好电源用万用表检测各电源端、地端的状态是否正常。检查无误后插上AT89S52并烧写一简易的程序,观察电路是否能协同工作。最后烧写工作程序,根据显示现象调试程序直至成功。上电运行时,数码管开始显示00:00:00,时钟开始走时。

u

制作心得:在这次课程设计的调试过程中,遇到很多问题,如:由于跳转指令出错,导致整个程序在运行时进入死循环,修改时没有根据流程盲目查找原因浪费许多时间,又由于考虑不周,时钟显示29:89。该电路缺少整点报时功能,由于能力和时间问题只能到此为止,很是遗憾,但在查找资料的过程中学到了许多,同时在协作过程中增进同学间的友谊。

参考文献

【1】

陈石胜,单片机技术应用

.

广东:

广东省技师学院电气自动化专业教改教材,2007

【2】

李广第,单片机基础

.

北京:

北京航空航天大学出版社,2001

【3】求是科技编著,单片机典型模块设计实例导航.北京:人民邮电出版社,2004

【4】孙涵芳,MCS-51系列单片机原理及应用

.北京:北京航空航天大学出版社.1996-4

【5】于海生,微型计算机控制技术

.北京:清华大学出版社.1999-6

29

抓住机遇 2022-07-16 00:47:27

相关推荐

集中注意力的基础是

集中注意力的基础是对大脑进行科学的锻炼,促使脑神经变得发达和强壮。注意力是指人的心理活动指向和集中于某种事物的能力。“注意”,是一个古老而又永恒的话题。俄罗斯教育家乌申斯基曾精辟地指出:“注意是我们心灵的唯一门...
展开详情

一年之计在于春,一日之计在于晨是什么意思

这句话的意思是:只有在春天辛勤劳动才能获得丰收,一天最宝贵的时间是早晨。这句话一般用于激励人刻苦学习,充分利用学习时间,达到提升自我的目的!出处有:1、南朝·梁·萧绎《纂要》:“一年之计在于春,一日之计在于晨。...
展开详情

古人读书的方法

读书有很多种方法,适合自己的才是最好的,让我们来看看古代名人都是怎么读书的,并从中借鉴一些好的读书方法。1、董遇:“三余”读书法汉代的著名学者董遇提倡利用“三余”时间读书。他说:“冬者岁之余,夜者日之余,雨者晴...
展开详情

无人与我是什么

无人与我,意思是:没有人和我一起。“无人”,是一个汉语词汇,是没有人才、没有人、没人在的意思,出自《史记·范雎蔡泽列传》:“秦王屏左右,宫中虚无人。”...
展开详情

人不如旧 衣不如新的意思

人不如旧,衣不如新的意思是:衣服是新的好,朋友是旧的好。(因此旧的东西或朋友不可轻易舍弃)形容事物的前后比较。“衣不如新,人不如故”可以用作宾语、定语,一般常用作书面语。这句话最早出自于《晏子春秋·第五卷内篇杂...
展开详情

精选推荐更多>

乔迁新居大门对联

乔迁新居大门对联:
1、横批:春意盎然。
上联:福星高照全家福;
下联:春光耀辉满堂春。
2、横批:吉祥如意。
上联:迎喜迎春迎富贵;
下联:接财接福接平安。
3、横批:可心就好。
上联:良辰吉日喜迁新居;
下联:人兴家旺宜住高楼。
4、横批:乔木莺迁。
上联:乔迁喜天地人共喜;
下联:新居荣福禄寿全荣。
5、横批:栋宇聿新。
上联:吉日迁居万事如意;
下联:良辰安宅百年遂心。
6、横批:方寸福地。
上联:添居室金玉满堂;
下联:栋梁起流芳百世。
7、横批:四海升平。
上联:一马平川进新居;
下联:珠光宝气福满堂。
8、横批:万象更新。
上联:和顺一门有百福;
下联:平安二字值千金。
9、横批:喜气盈门。
上联:福旺财旺运气旺;
下联:家兴人兴事业兴。

亏除去部首有多少画

“亏”字除去部首,还有两画。
亏(拼音:kuī),汉语一级通用规范汉字(常用字)。“亏”和它的繁体字“虧”原是音义都不同的两个字。简体“亏”原是“于”的异体字,字形、字义关系不详。清代王筠认为是“吁”的本字,假借为动词“往”义,并由此引申出“到达”、“在”、“比”义,进而虚化出一系列介词用法,这些意思后世多写作“于”。“亏”字后来成为“虧”的简化字。
“虧”始收录于《说文解字》,许慎认为是形声字,从亏雐(hū)声,本义指气不足,引申泛指缺损,再引申指短、少、差欠,又引申为毁坏,还引申为道义上的亏欠、对不起。又作幸好、幸亏讲。另外“亏”也表示讥讽。

疾行的意思

“疾行”读音jí xíng,汉语词语,意思是快速行走。
出处:
1、《素问·气厥论》:“水气客于大肠,疾行则鸣濯濯,如囊裹浆。”
2、明·冯梦龙《东周列国志》第七十二回:“伍员疾行,至于鄂渚,遥望大江,茫茫浩浩,波涛万顷,无舟可渡。伍员前阻大水,后虑追兵,心中十分危急。”
造句:
1、他骑马疾行,在父亲咽气前到达了家中。
2、大队骑马背枪的胡子在山道上一路疾行,偶尔一两个山中猎户看到这群胡子,无不躲得远远的。
3、适才我看到你骑在疾行的巨无霸背上,仍然谈笑自若引吭高歌,如此临危不惧,气定神闲的大将风骨,岂是平常人所能及的。
4、杨龙和林凤仙驾着火龙,在万丈虚空之上穿云破雾,瞬息千里,飞速地朝着东南方向疾行而去。

会操是什么意思

会操,读音为huì cāo,汉语词语,意思是会合举行操演。该词是一个军事术语,古今语意不同,在清朝末年,又称为秋操、大操,意指新军的军事演习,在今天,专指军队的队列训练。
出处:《大辞海·军事卷》:“会操:集中部属对已训课目、内容进行的操演。多用于队列训练,目的是检验训练效果,相互观摩,交流经验,取长补短,共同提高。通常由连、营、团级单位组织实施,并组成评判组,按指定的单位或个人顺序轮流操演,结束后进行讲评。”
造句:
1、每天早晨,同学们在操场上会操。
2、我今天感到非常高兴,能够以检阅官身分出席这次结业会操。
3、我非常高兴出席今天的结业会操,再一次以检阅官的身分,与入境处的结业学员见面。
常见热点问答
热点搜索
1-20
21-40
41-60
61-80
81-100
101-120
121-140
141-160
161-180
181-200
作文大全
1-20
21-40
41-60
61-80
81-100
101-120
121-140
141-160
161-180
181-200