基于单片机简易电子表的设计Word下载.docx

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

基于单片机简易电子表的设计Word下载.docx

《基于单片机简易电子表的设计Word下载.docx》由会员分享,可在线阅读,更多相关《基于单片机简易电子表的设计Word下载.docx(23页珍藏版)》请在冰点文库上搜索。

基于单片机简易电子表的设计Word下载.docx

2需求分析…………………………………………………………………………2

2.1二维平面……………………………………………………………………3

3概要设计…………………………………………………………………………4

3.1红黑树……………………………………………………………………5

4详细设计…………………………………………………………………………6

4.1部分代码……………………………………………………………………7

5调试与操作说明…………………………………………………………………8

5.1使用说明……………………………………………………………………9

6学年设计总结与体会……………………………………………………………10

6.1总结…………………………………………………………………………11

6.2体会…………………………………………………………………………11

致谢…………………………………………………………………………………12

[参考文献]………………………………………………………………………13

学年设计的主要内容

⒈目录

目录是将报告书内的章节标题依次排列。

⒉需求分析

主要内容包括本学年设计题目、学年设计任务及要求、学年设计思想、软硬件运行环境及开发工具。

⒊概要设计

主要叙述本课题设计的流程图(各功能模块)、主要的数据结构、完成本学年设计所用方法及其原理的简要说明。

⒋详细设计

主要是本课题所需要的硬件设计与软件设计,包含建立设计所需的数学模型并列出必要的计算公式、计算过程及说明,硬件电路的设计与实现,写出设计计算结果;

绘出计算机程序框图,写出自编的程序。

⒌调试与操作说明

系统调试分析与操作使用说明。

⒍学年设计总结与体会

主要对本课题开发过程进行归纳和总结,本课题在设计过程中所遇到的技术难点及解决方法。

还应包括本课题尚存在的问题,以及进一步开发的见解与建议。

并写出通过本次学年设计的收获和体会。

⒎致谢

以简短的文字对在设计研究和设计报告撰写过程中曾直接给予帮助的人员表示自己的谢意。

⒏参考文献

为了反映论文的科学依据和作者尊重他人研究成果的严肃态度以及向读者提供有关信息的出处,应列出本学年设计所涉及的主要参考文献。

⒐附录

有些材料编入文章主体会有损于编排的条理性和逻辑性,或有碍于文章结构的紧凑和突出主题思想等,可将这些材料作为附录编排于全文的末尾。

一.设计要求

1.P1.3接地,设置p1.3行上从左到右4个键依次为:

切换键,校正键,加1键,确定键。

2.切换键的功能:

每按一次切换键显示“月份日期”、“时分”、“分秒”。

如由“12.05”到“14.35”到“34.23"

或相反,表示由12月5日切换到“14点35分”再切换到“34分23秒”或相反。

3.校正键的功能:

第1次按下,校月,月份闪烁,通过加1键校正月份。

第2次按下,校日,日期闪烁,通过加1键校正日期。

第3次按下,校时,小时闪烁,通过加1键校正小时数。

第4次按下,校分,分钟闪烁,通过加1键校正分钟数。

第5次按下,校秒,秒钟闪烁,通过加1键校正秒钟数。

4.加1键的功能:

闪烁的内容不进位加1。

校月时,月份显示为1~12,校日时,日期显示为1~31,校时时,小时显示为0~23,校分时,分钟显示为0~59,校秒时,秒显示为0~59。

5.确定键的功能:

校正的内容生效,返回正常显示,在切换状态按下确定键,返回正常显示。

6.开机后从某一特定的时间开始显示,用第2个数码管的小数点以1秒的周期闪烁,切换到日期显示时该小数点不闪烁,其他3个数码管的小数点不亮。

7.按切换键时,始终任然走时。

8.按校正键时,时钟继续走时,按确定键后按新设定的时间继续走时。

二.设计内容

1.编写程序,完成上面要求,利用定时器中断和静态显示,实现电子钟走时和校时。

2.时间或日期显示用四个数码管分别显示时、分(分、秒)或月、天。

显示格式如下:

1

2

7

月日

4

8

时分

5

分秒

三.资源分配

40H存月,41H存天,42H存时,43H存分,44H存秒,30H、31H缓显区。

用YUE、TIAN、HOU、MIN、SEC、HHOU、HMIN,分别代替40H、41H、42H、43H、44H、30H、31H。

2FH.0校准状态指针,50H存等键释放处键值,51H存40H按加键时作需加1的地址指针,20H校准对象指针,21H中断次数指针,22H切换指针。

P1.4校正键,P1.5切换键,P1.6加键,P1.7确定键。

编程原理与思路

电子时钟的走时通过中断记时,中断时间到1S时,秒加1,到60S,秒重新记时分加1,分到60,分清0时加1,时到24,时清0天加1,天到31,天清0月加1,月到13,月置1。

有按键则进行按键处理,需显示的数送缓显区调用显示子程序,中断返回,等待下次中断。

键的判断放到中断里面处理,人正常按一次键所需时间在100ms左右,中断时间为1/16S,在中断里面判键肯定不会漏键,判键的前提要等键释放,无键或没放键不执行判键程序。

正常的等键释放如:

JNBP1.4$。

在中断里面这中方法行不通,如果你按键时间超过1/16S,当下次中断来临时,程序还在等键处(中断里面),无法执行中断。

此处等键释放用以下几条指令实现MOVA,P1;

CJNEA,50H,NEXT0;

NEXT0:

MOV50H,A(50H存上次的键码,取P1口,与上次的键码比较,相等则表示没按键或没放键,不相等则有新的按键,并把这次键码存下已便与下次的键码比较)。

校正状态做总线,在此基础上分别判断各按键,2FH.0做校正状态标志,第一次按下校正键,建立校正标志,20H做校正对象指针,20H置0。

校正状态时,每按一次校正键,20H加1,当20H等于5时清0。

校正时数码管闪烁,把前两个数码管看成高位,后两数码管看成低位。

当校月或时时,高位闪烁,校日、分或秒时,低位闪烁,用20H.0、20H.1判断是哪个位闪烁,如:

(20H.0)等与1,表示校正对象是日或分即低位闪烁,20H.2单独用来判断秒的闪烁。

加键只在校正状态下起作用,非校正状态下按此键无效。

每按一次加键,对应的值加1。

50H存月的地址,50H加20H的内容为要加1的地址,如:

校时是,按加键,时需加1,即((50H)+(20H))加1,(50H)+(20H)存放的值等于时的地址。

校正时,无进位加1,每按一次加键后,对应的数值加1,当数值加到最大时,则清0,但不进位。

切换键只在非校正状态下起作用,校正状态下按此键无效。

22H作切换指针,第一次按下切换键,显示日期,22H置1,每按一次切换键,22H加1,当22H等于3时清0,用22H的低3位判断显示“日期”、“时和分”或“分和秒”。

正常显示下20H置0即显示“分和秒”。

确定键按下,初始化各指针即可。

显示子程序里面有校正位闪烁和秒点闪烁(由于秒已显示出来,故秒点闪烁不再处理)。

数码管是共阳极的,当送#0FF时,数码管灭。

当在校正状态时,确定闪的位置方法与校正位置判断同理,不闪的数码管正常送数,取反F0,当F0等与1时,缓显地址里面的数,当F0等0时,送#0FFH。

四.数据流程图如下:

主函数流程图

开始

给堆栈指针赋值

初使化显示地址和各标志地址

设置中断方式,定时器设初值

设置SCON,开中断,

等待中断

结束

中断程序流程图

记时指针=16?

清0记时指针,调用记时子程序

定时器重赋值,记时指针加1

是否校正状态?

等键释放?

N

Y

切换键?

NY

显示标志22H加1

(A)

YNY

确定键?

加键?

无操作

校正键?

N(A)

(22H)=3?

22H清0

YN

校正指针加1

调用加键子程序

清校正标志和时间日期标志

YYY

建立校正状态标志,校正指针置0

NYN

(22H)=1?

Y

20H.1=1?

N

N

20H.2=1?

分和秒送缓显,调用显示子程序

时和分送缓显,调用显示子程序

日期送缓显,调用显示子程序

N

中断返回

显示子程序

表首地址给DPTR,清TI

校正状态?

取反F0

F0=0?

后两数码管闪?

秒闪?

NN

NYY

HHOU分离分别给SBUF

#0FF连送两次给SBUF

HMIN分离分别给SBUF

加键子程序

(20H)加(51H)值(需加1的地址)存入R0

((R0))加1,并DA转换

月加1?

天加1?

秒加1?

时加1?

分加1?

YYYYY

((R0))=60?

((R0))=24?

((R0))=31?

((R0))=13?

存分的地址清0

存秒的地址清0

存时的地址清0

存天的地址清0

存月的地址清0

记时子程序

秒加1并DA转换

秒=60?

秒清0分加1并DA转换

分=60?

分清0时加1并DA转换

时=24?

时清0天加1并DA转换

天=31?

天置1月加1并DA转换

月=13?

月置1并DA转换

仿真图运行与调试

五.设计的源程序

电子表程序

YUEEQU40H;

TIANEQU41H;

HOUEQU42H;

MINEQU43H;

SECEQU44H;

HHOUEQU30H;

时间缓冲区

HMINEQU31H

ORG0000

LJMPMAIN

ORG000BH

LJMPTT0

;

主程序

ORG0030H

MAIN:

MOVSP,#65H

MOV2FH,#00;

校准状态指针

MOV21H,#00;

做中断次数指针

MOV50H,#0FFH;

处理等键释放

MOV51H,#40H;

按加键时,存放要加1的单元

MOV20H,#00;

做校准指对象指针

MOV22H,#00;

做切换键指针

MOVSCON,#00

MOVTMOD,#01

MOVTL0,#0EEH

MOVTH0,#85H

MOVHOU,#12H

MOVMIN,#25H

MOVSEC,#00

MOVHHOU,#00H;

时间缓冲区设初值

MOVHMIN,#00H;

MOVYUE,#03H

MOVTIAN,#09

SETBET0

SETBTR0

SETBEA

SJMP$

时间显示

XTIME:

MOVDPTR,#TAB

CLRTI

JNB2FH.0,KK3;

判断是否为校正状态

CPLF0

JB20H.0,KK3;

判断校正的对象

JB20H.2,KK3

JBF0,KK3

LCALLKK6

LJMPKK2

KK3:

MOVA,HHOU

ANLA,#0F0H

SWAPA

MOVCA,@A+DPTR

MOVSBUF,A

LCALLKK7

ANLA,#0FH

MOVC,21H.3

;

ANLC,20H.0;

点的闪烁

MOVACC.0,C

KK2:

JB20H.2,PP7;

是高电平则秒闪

JNB20H.0,KK4

PP7:

JBF0,KK4

LJMPEXIT

KK4:

MOVA,HMIN

LJMPEXIT3

EXIT2:

MOVA,#00

MOVSBUF,A

EXIT3:

RET

KK7:

JNBTI,$

中断处理(有按键处理)

TT0:

INC21H

MOVA,21H

CJNEA,#10H,NEXT1

MOV21H,#00

LCALLCTIME;

调用记时子程序

NEXT1:

MOVA,P1;

等键释放

CJNEA,50H,NEXT0

JNB2FH.0,NEXT8

LJMPTOP1

MOV50H,A

JNB2FH.0,NEXT2;

是否校正状态

JBP1.4,NEXT3;

P1.4做校正键,看是否按下此键

INC20H

MOVA,20H

CJNEA,#05,TOP1

MOV20H,#00

TOP1:

JB20H.1,PP5;

是高电平则显示时间

JB20H.2,PP3;

是高电平则显示分和秒

OUT1:

LJMPKK1

NEXT3:

LCALLAKEY;

调用是否有加键按下的子程序

JBP1.7,TOP1;

是否按下确定键

MOV2FH,#00

NEXT2:

JBP1.5,NEXT4;

P1.5做切换键,看是否按下此键

INC22H

MOVA,22H

CJNEA,#03,NEXT8

MOV22H,#00;

重新循环

CLRA

LJMPPP3

NEXT4:

JBP1.4,PP9;

判断校正键是否已按下

SETB2FH.0;

建立校正标记

校正指针置0

PP9:

判断是否按下确定键

MOV22H,#00

NEXT8:

CJNEA,#01,NEXT5;

是,则显示日期

KK1:

MOVHHOU,YUE

MOVHMIN,TIAN

SJMPXIAN

NEXT5:

CJNEA,#02,PP3

PP5:

MOVHHOU,HOU

MOVHMIN,MIN

PP3:

CJNEA,#00,EXIT;

相等显示分和秒

MOVHHOU,MIN

MOVHMIN,SEC

XIAN:

LCALLXTIME;

调用显示子程序

EXIT:

RETI

KEY:

JBP1.6,LP0

ADDA,51H

MOVR0,A

MOVA,#01

ADDA,@R0

DAA

MOV@R0,A

CJNER0,#YUE,LP1;

是否是月加1

CJNEA,#13H,LP0

MOVYUE,#01

LP1:

CJNER0,#TIAN,LP3;

是否是天加1

CJNEA,#32H,LP0

MOVTIAN,#01

LP3:

CJNER0,#HOU,LP4

CJNEA,#24H,LP0

MOVHOU,#00

LP4:

CJNER0,#MIN,LP5

CJNEA,#60H,LP0

MOVMIN,#00

LP5:

CJNER0,#SEC,LP0

LP0:

记时程序段

CTIME:

ADDA,SEC

MOVSEC,A

CJNEA,#60H,LP7

ADDA,MIN

MOVMIN,A

ADDA,HOU

MOVHOU,A

CJNEA,#24H,LP7

MOVHOU,#00

ADDA,TIAN

MOVTIAN,A

CJNEA,#32H,LP7

ADDA,YUE

MOVYUE,A

CJNEA,#13H,LP7

LP7:

闪烁子程序

KK6:

MOVACC.0,C

TAB:

DB0FCH,60H,0DAH,0F2H,066H,0B6H,0BEH,0E0H,0FFH,0E6H

END

结束语

本文讨论了如何利用嵌入式技术来开发单片机电子表系统,基本满足了结构化,实时性,界面化,安全性,灵活性及稳定性等特点。

指导教师评语:

指导教师签名:

成绩

(此为最后一页)

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

当前位置:首页 > 自然科学 > 物理

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

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