基于51单片机多功能电子时钟设计报告Word文件下载.docx

上传人:b****2 文档编号:3936496 上传时间:2023-05-02 格式:DOCX 页数:37 大小:142.03KB
下载 相关 举报
基于51单片机多功能电子时钟设计报告Word文件下载.docx_第1页
第1页 / 共37页
基于51单片机多功能电子时钟设计报告Word文件下载.docx_第2页
第2页 / 共37页
基于51单片机多功能电子时钟设计报告Word文件下载.docx_第3页
第3页 / 共37页
基于51单片机多功能电子时钟设计报告Word文件下载.docx_第4页
第4页 / 共37页
基于51单片机多功能电子时钟设计报告Word文件下载.docx_第5页
第5页 / 共37页
基于51单片机多功能电子时钟设计报告Word文件下载.docx_第6页
第6页 / 共37页
基于51单片机多功能电子时钟设计报告Word文件下载.docx_第7页
第7页 / 共37页
基于51单片机多功能电子时钟设计报告Word文件下载.docx_第8页
第8页 / 共37页
基于51单片机多功能电子时钟设计报告Word文件下载.docx_第9页
第9页 / 共37页
基于51单片机多功能电子时钟设计报告Word文件下载.docx_第10页
第10页 / 共37页
基于51单片机多功能电子时钟设计报告Word文件下载.docx_第11页
第11页 / 共37页
基于51单片机多功能电子时钟设计报告Word文件下载.docx_第12页
第12页 / 共37页
基于51单片机多功能电子时钟设计报告Word文件下载.docx_第13页
第13页 / 共37页
基于51单片机多功能电子时钟设计报告Word文件下载.docx_第14页
第14页 / 共37页
基于51单片机多功能电子时钟设计报告Word文件下载.docx_第15页
第15页 / 共37页
基于51单片机多功能电子时钟设计报告Word文件下载.docx_第16页
第16页 / 共37页
基于51单片机多功能电子时钟设计报告Word文件下载.docx_第17页
第17页 / 共37页
基于51单片机多功能电子时钟设计报告Word文件下载.docx_第18页
第18页 / 共37页
基于51单片机多功能电子时钟设计报告Word文件下载.docx_第19页
第19页 / 共37页
基于51单片机多功能电子时钟设计报告Word文件下载.docx_第20页
第20页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于51单片机多功能电子时钟设计报告Word文件下载.docx

《基于51单片机多功能电子时钟设计报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于51单片机多功能电子时钟设计报告Word文件下载.docx(37页珍藏版)》请在冰点文库上搜索。

基于51单片机多功能电子时钟设计报告Word文件下载.docx

key3用来显示闹钟时间并做预置的开关,接于INT1(p3.3)口。

所有按键的另一端接地。

三总体设计思路概述

(1),数码管显示使用动态显示,每四毫秒轮流显示一个数码管.一个循环耗时32ms(这样会有微闪烁可设置更快的动态显示)

(2),设置四个中断,高底:

定时器1溢出中断外部中断0外部中断1定时器1溢出中断.

A.首先允许前三个中断,当没有出现T0,T1中断时主程序在判键并且计时器0在计时.每隔4ms定时器0溢出中断,动态轮流显示一个数码管.用LED_LP做标志,计中断次数.每中断250次秒加一,每60秒分加一,时日月年依规律类推(不用判断平润年).

B.当出现T0(显示日期并做修改)或T1(显示闹钟定时时间并可修改定时时间)中断时都会自动关闭计时器0,此时软件控制打开计数器1,用它继续计时并且如A中用来动态显示日期或闹钟设置的时间,同时每个中断子程序都是在判键,通过按键修改日期或设置闹钟时间.此时已经是计数器1中断级别最高,同样每4ms动态轮流显示数码管,此时数码管显示的是日期或定时时间.当修改完时间或定时时间,人工弹出按键,中断结束返回主程序,在返回前关闭定时器1.这样,在没有T0,T1中断时计数器0中断级别最高.

四各模块程序设计及流程图

(1)主程序判键修改时间及走时:

流程图:

ban

YN

N

YN

Y

(2)定时器0每隔4ms溢出中断(优先级别最低)

流程图:

(3)外部中断0(优先级别第二)

N

Y

(4)外部中断1(优先级别第三)

流程图:

(5)定时器0每隔4ms溢出中断(优先级别最高)

六课程设计心得体会:

此次课程设计是大学里来第二次课程设计,于我的感觉是这是一次与实际最贴切的一次课程设计,亦或是说实践。

首先我的心得体会有如下几点

(1)万事开头难,要做好单片机课程设计必须要有足够的耐心与兴趣。

要反复编程调试,检验。

而本次软件编程我反复调试了多达几十次。

(2)要想全面的做好这次课程设计,必须要全面统筹,细心规划好自己所需使用的单片机内部资源以及硬件资源。

并尽量做到少用资源而达到最大实用效果。

同时也要单个功能慢慢编程调试,而不要好高骛远,急功心切。

(3)第一次设计编写这样较为难而大的课程设计必须要做到对单片机基础硬件与软件的熟练掌握,尤其单片机里汇编语言指令。

只有做到融汇贯通方能运筹帷幄。

(4)做好课程设计要学会借鉴别人好的思想与技巧,而教材上就有许多很好的例子。

同时要将每次单片机实验灵活运用于此次课程设计。

七参考资料:

(1)单片机授课教材

(2)单片机网络资源

八.程序:

SHANEQU20H;

秒闪烁标志

BUFF_KEYEQU21H;

键盘键

LED1EQU22H;

数码管显示缓存

LED2EQU23H

LED3EQU24H

LED4EQU25H

LED5EQU26H

LED6EQU27H

LED_LPEQU28H;

计时标志

HOREQU30H;

小时值缓存

MINEQU31H;

分钟值缓存

SECEQU32H;

秒值缓存

NHOREQU33H;

闹钟时间缓存

NMINEQU34H

NSECEQU35H

YEREQU36H;

年月日缓存

MOTEQU37H

DATEQU38H

SXXEQU39H

F_BEEPBIT01H

LED_PORTEQUP0

DIG_PORTEQUP2

SW0BITP3.2

SW8BITP1.0

SW1BITP1.1

SW2BITP1.2

SW3BITP1.3

SW4BITP1.4

SW5BITP1.5

SW6BITP1.6

SW7BITP3.3

;

-----------------------------------------------------

ORG0000H

LJMPMAIN

ORG000BH

LJMPT0_INT

ORG0003H

LJMPT_0

ORG0013H

LJMPT_1

ORG001BH

LJMPT1_INT

ORG100H

MAIN:

MOVSP,#40H

MOVPSW,#00H

MOVR0,#7FH;

初始化RAM区,

CLR_RAM:

MOVA,#00H

MOV@R0,A

DJNZR0,CLR_RAM

MOVP1,#0FFH

MOVP2,#0FFH

MOVP0,#0FFH

MOVP3,#0FFH

MOVTMOD,#11H

MOVTH0,#0F0H;

T0=4MS

MOVTL0,#060H

MOVNHOR,#100

MOVYER,#12

MOVMOT,#06

MOVDAT,#17

CLRC

MOVP3.7,C

SETBPT1;

定时器1中断级别最高

CLRPT0;

定时器0中断级别最低

SETBTR0;

开定时器0

SETBET0;

允许定时器0中断

SETBEX0;

允许外部中断0

SETBEX1;

允许外部中断1

SETBEA;

允许所有中断

---------------------------------------------按键预置时间

WAIT_KEY:

MOVA,NHOR

CJNEA,HOR,LNNN

MOVA,NMIN

CJNEA,MIN,LMNN

MOVA,NSEC

CJNEA,SEC,LNNN

SETBC

LJMPLNNN

LMNN:

MOVA,NMIN

ADDA,#01

CJNEA,MIN,LNNN

LNNN:

JNBSW8,LSNN

MOVSXX,#0

LJMPWAIT_KEY

LSNN:

JNBSW1,SW1_OK

JNBSW2,SW2_OK

JNBSW3,SW3_OK

JNBSW4,SW4_OKA

JNBSW5,SW5_OKA

JNBSW6,SW6_OKA

JMPWAIT_KEY

SW4_OKA:

JMPSW4_OK

SW5_OKA:

JMPSW5_OK

SW6_OKA:

JMPSW6_OK

SW1_OK:

MOVSXX,#01

MOVA,HOR

CJNEA,#23,SW1_OVER

MOVHOR,#00H

SETBF_BEEP

LCALLDEL

CLRF_BEEP

SW1_OVER:

INCHOR;

时加1

MOVR7,HOR

SETBF_BEEP

LCALLDEL

SW2_OK:

CJNEA,#00,SW2_OVER

MOVHOR,#23

SW2_OVER:

DECHOR;

时减1

CLRF_BEEP

SW3_OK:

MOVSXX,#02

MOVA,MIN

CJNEA,#59,SW3_OVER

MOVMIN,#00H

SW3_OVER:

INCMIN;

分加1

SW4_OK:

CJNEA,#00,SW4_OVER

MOVMIN,#59

SW4_OVER:

DECMIN;

分减1

SW5_OK:

MOVSXX,#03

MOVA,SEC

CJNEA,#59,SW5_OVER

MOVSEC,#00H

SW5_OVER:

INCSEC;

秒加1

SW6_OK:

CJNEA,#00,SW6_OVER

MOVSEC,#59

SW6_OVER:

DECSEC;

秒减1

--------------------------------------------------------------------

DEL:

MOVR5,#07;

按一次键处理一次

DEL01:

MOVR6,#200

DEL02:

MOVR7,#200

DJNZR7,$

DJNZR6,DEL02

DJNZR5,DEL01

RET

BIN_BCD:

MOVB,#10

DIVAB

T0_INT:

PUSHACC

PUSHPSW

INCLED_LP

MOVA,LED_LP

CJNEA,#250,CONT_SCAN;

250*4MS=1S

MOVLED_LP,#00H

INCSEC

CJNEA,#60,CONT_SCAN

MOVSEC,#00H

INCMIN

MOVMIN,#00H

INCHOR

CJNEA,#24,CONT_SCAN

INCDAT

MOVA,DAT

CJNEA,#30,CONT_SCAN

MOVDAT,#00

INCMOT

MOVA,MOT

CJNEA,#12,CONT_SCAN

MOVMOT,#00

INCYER

MOVA,YER

CJNEA,#99,CONT_SCAN

LCALLDEL

CONT_SCAN:

MOVA,SEC

MOVB,#02

MOVA,B

CJNEA,#00,LOPK

MOVSHAN,#10

LOPK:

CJNEA,#01,LOPL

MOVSHAN,#11

LOPL:

MOVA,SXX

CJNEA,#01,LK1

MOVA,LED_LP

MOVB,#125

CJNEA,#0,LLL1

MOVLED1,#10

MOVLED2,#10

LJMPLLL2

LK1:

CJNEA,#02,LK2

MOVLED3,#10

MOVLED4,#10

LJMPLLL3

LK2:

CJNEA,#03,LLL1

MOVLED5,#10

MOVLED6,#10

LJMPLKMM

LLL1:

MOVA,HOR

LCALLBIN_BCD

MOVLED2,B

MOVLED1,A

LLL2:

MOVA,MIN

MOVLED4,B

MOVLED3,A

LLL3:

MOVLED6,B

MOVLED5,A

LKMM:

MOVA,LED_LP

MOVB,#08

RLA

MOVDPTR,#TAB_SCAN

JMP@A+DPTR

TAB_SCAN:

AJMPSCAN_L1

AJMPSCAN_L2

AJMPSCAN_L3

AJMPSCAN_L4

AJMPSCAN_L5

AJMPSCAN_L6

AJMPSCAN_L7

AJMPSCAN_L8

SCAN_L1:

MOVDIG_PORT,#0

MOVA,LED1

JMPEND_SCAN

SCAN_L2:

MOVDIG_PORT,#1

MOVA,LED2

SCAN_L3:

MOVDIG_PORT,#2

MOVA,#11

SCAN_L4:

MOVDIG_PORT,#3

MOVA,LED3

SCAN_L5:

MOVDIG_PORT,#4

MOVA,LED4

SCAN_L6:

MOVDIG_PORT,#5

MOVA,SHAN

SCAN_L7:

MOVDIG_PORT,#6

MOVA,LED5

SCAN_L8:

MOVDIG_PORT,#7

MOVA,LED6

END_SCAN:

MOVDPTR,#TAB_LED

MOVCA,@A+DPTR

MOVLED_PORT,A

POPPSW

POPACC

RETI

TAB_LED:

DB3FH,06H,5BH,4FH;

共阴0-9和(-)字码表

DB66H,6DH,7DH,07H

DB7FH,6FH,00H,48H,40H

--------------------------------------------------进入日期显示

T_0:

PUSHACC

MOVTH1,#0F0H;

T1=4MS

MOVTL1,#060H

SETBTR1

SETBET1

---------------------------------------

RWAIT_KEY:

JNBSW0,RLOOP

CLRTR1

RLOOP:

JNBSW1,RSW1_OK

JNBSW2,RSW2_OK

JNBSW3,RSW3_OK

JNBSW4,RSW4_OK

JNBSW5,RSW5_OKA

JNBSW6,RSW6_OKA

JMPRWAIT_KEY

RSW5_OKA:

JMPRSW5_OK

RSW6_OKA:

JMPRSW6_OK

RSW1_OK:

CJNEA,#99,RSW1_OVER

MOVYER,#00H

CLRF_BEEP

RSW1_OVER:

INCYER;

年加1

RSW2_OK:

CJNEA,#00,RSW2_OVER

MOVYER,#99

RSW2_OVER:

DECYER;

年减1

RSW3_OK:

CJNEA,#12,RSW3_OVER

MOVMOT,#00H

RSW3_OVER:

INCMOT;

月加1

RSW4_OK:

CJNEA,#00,RSW4_OVER

MOVMOT,#12

RSW4_OVER:

DECMOT;

月减1

RSW5_OK:

CJNEA,#30,RSW5_OVER

MOVDAT,#00H

RSW5_OVER:

INCDAT;

号加1

RSW6_OK:

CJNEA,#00,RSW6_OVER

MOVNSEC,#30

RSW6_OVER:

DECDAT;

号减1

T_1:

MOVNHOR,#0

NWAIT_KEY:

JNBSW7,NLOOP

NLOOP:

JNBSW1,NSW1_OK

JNBSW2,NSW2_OK

JNBSW3,NSW3_OK

JNBSW4,NSW4_OK

JNBSW5,NSW5_OKA

JNBSW6,NSW6_OKA

JMPNWAIT_KEY

NSW5_OKA:

JMPNSW5_OK

NSW6_OKA:

JMPNS

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2