单片机设计方案.docx

上传人:b****8 文档编号:23968201 上传时间:2023-05-23 格式:DOCX 页数:23 大小:120.72KB
下载 相关 举报
单片机设计方案.docx_第1页
第1页 / 共23页
单片机设计方案.docx_第2页
第2页 / 共23页
单片机设计方案.docx_第3页
第3页 / 共23页
单片机设计方案.docx_第4页
第4页 / 共23页
单片机设计方案.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

单片机设计方案.docx

《单片机设计方案.docx》由会员分享,可在线阅读,更多相关《单片机设计方案.docx(23页珍藏版)》请在冰豆网上搜索。

单片机设计方案.docx

单片机设计方案

单片机设计方案

 

 

电脑钟设计报告

 

 

一、概要:

 现在电子钟与机械时钟相比已具有了更高的准确性和直观性,切无机械装置,具有更长的使用寿命。

现在,电子钟的制作不仅需要数字电路技术而且需要模拟电路技术和单片机技术,所以设计时可以方便的增加电子钟原有的功能。

电子钟的设计与制作可以采用数字电路实现,也可以采用单片机来完成。

若采用数字电路完成,所设计的电路相当复杂,大概需要十几块数字集成块,焊接复杂成本高。

若用单片机来设计制作完成,其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且成本也有所降低,所以在该设计与制作中采用单片机来完成。

电子钟电路可以由实时时钟模块、人机接口模块、报警模块等部分组成。

利用软件编程尽量做到硬件电路简单稳定,减小电磁干扰和其他环境干扰,充分发挥软件编程的优点,见此奥因元器件精度不够引起的误差,但还是电子钟还是可以改进和提高,如选用更精密的元器件。

因此本设计的目的就是利用单片机来研制更具使用价值的电子钟。

 

二、实验目的:

1.实时显示当前时间即北京时间(时、分)

2.可修改北京时间(时、分)。

3.可设定闹铃时间(时、分)。

 

三、系统设计方案

 

根据系统功能要求,可将系统组成结构分成四大部分:

单片机控制中心、键盘接口、时钟显示和声音报时,如下图为系统的组成结构图。

其中,单片机控制中心是核心。

MCU根据按键输入,可切换不同的显示模式或设置不同的参数。

时钟显示完成北京时间或秒表时钟的信息。

声音报时可完成闹铃的提示。

四、系统功能

根据系统功能描述,可以将功能大致分成两类:

北京时间,闹铃功能。

系统设有六个数码管,12个按键,采用菜单式人机对话,便于操作,所以可以分成多个菜单功能键切换菜单,C/R或ALM键设置时间,确定菜单。

整个程序采用的是按键输入,数码管显示。

所以数码管采用动态扫描原理。

所以系统需使用单片机定时器资源。

定时时间可设为5ms,即六位数码管,每5ms扫描一位数码管,30ms循环一次。

按键接普通IO口,所以按键管理程序所涉及到的识键、译键均需采用软件扫描的方法。

这里选用定时扫描控制方式。

,通过用定时器0来实现计时功能。

 

五、试验设计所需硬件

89C51单片机芯片一个、LED数码显示管六个,低压电源,开关、电阻、电容及导线若干。

采用proteus软件进行模拟设计及调试工作。

 

 

六、设计原理图

 

 最小系统有一个6MHZ单片机的晶振组成的时钟电路,和一个复位电路还有单片机组成。

显示电路的数码管由六个位选端口和八个段选端口组成。

本次选用的是共阴极数码管,并采用的是动态的显示方式段选择先全部并在一起,有统一的I/O资源来控制,公共端也由I/O资源来控制。

采用了矩阵式键盘可以减少I/O资源的使用

 

 

 

程序框图:

 

 

 

程序代码:

 

ORG0000H

AJMPMAIN

ORG000BH

AJMPCLOCK

ORG0030H

DISP0EQU30H

DISP1EQU31H

DISP2EQU32H

DISP3EQU33H

DISP4EQU34H

DISP5EQU35H

HOUREQU3CH

MINEQU3DH

SECEQU3EH

MSECEQU3FH

AHOUREQU40H

AMINEQU41H

ASECEQU42H

;F0BITPSW.5

F1BITPSW.1

MAIN:

MOVSP,#50H

CLRF0

CLRF1

MOVAHOUR,#0FFH

MOVAMIN,#0FFH

MOVASEC,#0FFH

;---------------------------------------

MOVR7,#10H;16个字节

MOVR0,#DISP0

CLRA

LOOP:

MOV@R0,A

INCR0

DJNZR7,LOOP

;MOVHOUR,#11

;MOVMIN,#59

;MOVSEC,#57

MOVTMOD,#01H

MOVTL0,#0B0H

MOVTH0,#3CH

SETBTR0

SETBEA

SETBET0

BEGIN:

ACALLALARM

ACALLKEYSCAN

CJNEA,#0AH,NEXT1

CLRTR0

MOVR1,#HOUR

AJMPMODE

NEXT1:

CJNEA,#0BH,BEGIN

JBF1,NEXT2

MOVR1,#AHOUR

MODE:

SETBF0

ACALLMODIFY

SETBTR0

CLRF0

AJMPBEGIN

NEXT2:

SETBP2.7

CLRF1

AJMPBEGIN

MODIFY:

ACALLKEYIN

ACALLCOMB

RET

KEYIN:

PUSHPSW

PUSHACC

SETBRS1

RS1RS0=10

MOVR0,#DISP0

MOVR7,#06H

L1:

CLRRS1

ACALLKEYSCAN

SETBRS1

CJNEA,#0AH,L2

L2:

JNCL1

MOV@R0,A

INCR0

DJNZR7,L1

CLRRS1

POPACC

POPPSW

;CLRRS1

RET

KEYSCAN:

ACALLTEST

JNZREMOV

ACALLDISPLAY

ACALLALARM

AJMPKEYSCAN

 

REMOV:

ACALLDISPLAY

ACALLTEST

JNZLIST

ACALLDISPLAY

ACALLALARM

AJMPKEYSCAN

LIST:

MOVR2,#0FEH

MOVR3,#00H

LINE0:

MOVA,R2

;MOVP2,A

MOVP0,A

;MOVA,P0

MOVA,P2

JBACC.0,LINE1

MOVA,#00H

AJMPTRYK

LINE1:

JBACC.1,LINE2

MOVA,#04H

AJMPTRYK

LINE2:

JBACC.2,NEXT

MOVA,#08H

AJMPTRYK

 

NEXT:

INCR3

MOVA,R2

JNBACC.3,EXIT

RLA

MOVR2,A

AJMPLINE0

EXIT:

AJMPKEYSCAN

 

TRYK:

ADDA,R3

PUSHACC

LETK:

ACALLTEST

JNZLETK

POPACC

RET

;----------------------------

TEST:

MOVA,#00H

;MOVP2,A

MOVP0,A

;MOVA,P0

MOVA,P2

CPLA

ANLA,#07H

RET

DISPLAY:

JBF0,DISP

ACALLSEPA

DISP:

PUSHPSW

PUSHACC

SETBRS0

 

MOVA,#0FFH

;MOVP2,A

MOVP0,A

MOVR0,#DISP0

MOVR7,#00H

MOVR6,#06H

MOVR5,#0FEH

DIS1:

MOVP0,#0FFH

MOVDPTR,#TAB

MOVA,@R0

MOVCA,@A+DPTR

MOVP1,A

MOVA,R5

MOVP0,A

DJNZR7,$

DJNZR7,$

INCR0

MOVA,R5

RLA

MOVR5,A

DJNZR6,DIS1

CLRRS0

POPACC

POPPSW

RET

TAB:

DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H

DB7FH,6FH,77H,7CH,39H,5EH,79H,71H

 

 

COMB:

MOVR0,#DISP1

ACALLCOMB1;合字

CJNEA,#24,CHK

CHK:

JNCEXIT1

MOV@R1,A;

INCR1

MOVR0,#DISP3

ACALLCOMB1

CJNEA,#60,CHK1

CHK1:

JNCEXIT1

MOV@R1,A

INCR1

MOVR0,#DISP5

ACALLCOMB1

CJNEA,#60,CHK2

CHK2:

JNCEXIT1

MOV@R1,A

RET

EXIT1:

AJMPMAIN

COMB1:

MOVA,@R0

ANLA,#0FH

MOV43H,A

DECR0;

MOVA,@R0

ANLA,#0FH

MOVB,#10

MULAB

ADDA,43H

RET

 

SEPA:

PUSHPSW

PUSHACC

SETBRS0

MOVR0,#DISP5

MOVA,SEC

ACALLSEPA1

MOVR0,#DISP3

MOVA,MIN

ACALLSEPA1

MOVR0,#DISP1

MOVA,HOUR

ACALLSEPA1

CLRRS0

POPACC

POPPSW

;CLRRS0

RET

SEPA1:

MOVB,#10

DIVAB

MOV@R0,B

DECR0

MOV@R0,A

;MOV44H,A

;ANLA,#0FH

;MOV@R0,A

;DECR0

;MOVA,44H

;ANLA,#0F0H

;SWAPA

;MOV@R0,A

RET

 

 

 

ALARM:

MOVA,ASEC

CJNEA,SEC,BACK

MOVA,AMIN

CJNEA,MIN,BACK

MOVA,AHOUR

CJNEA,HOUR,BACK

CLRP2.7

SETBF1

BACK:

RET

 

 

CLOCK:

MOVTL0,#0B7H

MOVTH0,#3CH

PUSHPSW

PUSHACC

INCMSEC

MOVA,MSEC

CJNEA,#0AH,DONE;

MOVMSEC,#00H

MOVA,SEC

INCA

DAA

MOVSEC,A

CJNEA,#60,DONE

MOVSEC,#00H

MOVA,MIN

INCA

;DAA

MOVMIN,A

CJNEA,#60,DONE

MOVMIN,#00H

MOVA,HOUR

INCA

;DAA

MOVHOUR,A

CJNEA,#24,DONE

MOVHOUR,#00H

DONE:

POPACC

POPPSW

RETI

END

_

 

 

 

七、设计总结

经过了这一个学期的学习,我学会了对单片机的一写简单的设计及操作。

因此,我们设计了这一个电脑时钟的单片机系统,通过这个时钟可以控制北京时间,闹铃功能,达到了我们的初级要求。

通过一个简单的电脑时钟,我们熟悉和掌握了单片机的许多应用对我们以后的工作中有很大的帮助。

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1