单片机课程设计报告电子时钟Word文档格式.docx

上传人:b****6 文档编号:18575731 上传时间:2022-12-28 格式:DOCX 页数:13 大小:85.78KB
下载 相关 举报
单片机课程设计报告电子时钟Word文档格式.docx_第1页
第1页 / 共13页
单片机课程设计报告电子时钟Word文档格式.docx_第2页
第2页 / 共13页
单片机课程设计报告电子时钟Word文档格式.docx_第3页
第3页 / 共13页
单片机课程设计报告电子时钟Word文档格式.docx_第4页
第4页 / 共13页
单片机课程设计报告电子时钟Word文档格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

单片机课程设计报告电子时钟Word文档格式.docx

《单片机课程设计报告电子时钟Word文档格式.docx》由会员分享,可在线阅读,更多相关《单片机课程设计报告电子时钟Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。

单片机课程设计报告电子时钟Word文档格式.docx

2、每个定时计数器既能够对系统时钟计数实现定时,也能够外部信号计数实现计数功能通过编程设定来实现。

3、每个定时计数器都有多种工作方式,其中T0有四种工作方式,T1有三种工作方式,T2有三种工作方式。

通过编程可设定工作于某种方式。

四种工作方式为:

13位定时\计数器、16位定时\计数器、8位自动重置定时\计数器、两个8位定时\计数器(只有T0有)

4、每一个定时计数器定时计数时刻到时产生溢出,使相应的溢出位置位,溢出可通过查询或中断方式处理。

中断系统:

1、MCS-51单片机提供5个硬件中断源,2个外部中断源,2个定时计数器T0和T1的溢出中断TF0和TF1,1个串行口发送TI和接收RI中断。

2、MCS-51单片机中没有专门的开中断和关中断指令,对各个中断源的承诺和屏蔽是由内部的中断承诺寄存器IE的各位来操纵的。

中断承诺寄存器IE的字节地址为A8H,能够进行位寻址。

系统复位时,中断承诺寄存器IE的内容为00H,如果要开放某个中断源,则必须使IE中的总控置位和对应的中断承诺位置“1”。

3、MCS-51单片机有5个中断源,为了处理方便,每个中断源有两级操纵,高优先级和低优先级。

通过由内部的中断优先级寄存器IP来设置,中断优先级寄存器IP的字节地址为B8H,能够进行位寻址。

如果某位被置“1”,则对应的中断源被设为高优先级;

如果某位被清零,则对应的中断源被设为低优先级。

关于同级中断源,系统有默认的优先权顺序,从高到低优先权顺序为外部中断0、定时计数器T0中断、外部中断1、定时计数器T1中断、串行口中断。

通过设置中断优先级寄存器IP能够改变系统默认的优先级顺序。

4、MCS-51单片机响应中断的条件为:

中断源有要求且中断承诺。

五、键盘和LED数码管显示器简介

键盘是单片机应用系统中最常用的输入设备,在单片机应用系统中,操作人员一样差不多上通过键盘向单片机系统输入指令、地址和数据,实现简单的人机通信。

键盘实际上是一组按键开关的集合,平常按键开关总是处于断开状态,当按下键时它才闭合。

键盘的结构形式一样有两种:

独立式键盘和矩阵式键盘。

矩阵式键盘的工作方式有3种:

查询工作方式、定时扫描工作方式和中断工作方式。

LED数码管显示器:

在单片机应用系统中,经常用到LED数码管作为显示输出设备,LED数码管显示器尽管显示信息简单,但它具有显示清晰、亮度高、使用电压低、寿命长、与单片机接口方便等特点,差不多上能够满足单片机应用系统的需要,因此在单片机应用系统中经常用到。

LED数码管显示器是由发光二极管按一定的结构组合起来的显示器件。

在单片机应用系统中通常使用的是8段式LED数码管显示器,它有共阴极和共阳极两种。

所谓译码方式是指由显示字符转换得到对应的字段码的方式。

关于LED数码管显示器,通常的译码方式有两种:

硬件译码方式和软件译码方式。

LED数码管在显示时,通常有两种显示方式:

静态显示方式和动态显示方式。

在使用时能够把它们组合起来。

在实际应用时,如果数码管个数较少,通常用硬件译码静态显示,在数码管个数较多时,则通常用软件译码动态显示。

六、差不多原理

软时钟是利用单片机内部的定时器\计数器来实现的,它的处理过程如下:

第一设定单片机内部的一个定时器\计数器工作于定时方式,对机器周期计数形成基准时刻,然后用另一个定时器\计数器或软件计数的方法对基准时刻计数形成秒,秒计60次形成分,分计60次形成小时,小时计24次则计满一天。

然后通过数码管把它们的内容在相应位置显示出来即可。

数码管显示能够采纳静态显示方法或动态显示方法。

静态显示方法需要数据锁存器等硬件,接口复杂,时钟显示一样用6个或8个数码管。

由于系统没有其他的复杂的任务处理,而且显示的时钟信息随时都可能变化,一样采纳动态显示方式。

动态显示方法线路相对简单,但需动态扫描,扫描频率要大于人眼视觉暂留频率,信息看起来才稳固。

译码方式可分为软件译码和硬件译码,软件译码通过译码程序查得显示信息的字段码;

硬件译码通过硬件译码器得到显示信息的字段码,实际中通常采纳软件译码。

在具体处理时,定时器计数器采纳中断方式工作,对时钟的形成在中断服务程序中实现。

在主程序中只需对定时器计数器初始化、调用显示子程序和操纵子程序。

另外,为了使用方便,设计了简单的按键,能够通过按键实现时、分的调整,如此在主程序中就加入了键盘设置子程序。

 

七、系统硬件电路的设计

八、系统软件程序的设计

电子时钟的软件系统由主程序和子程序组成,主程序程序包含初始化参数设置、按键处理、数码管显示模块等,

1.主程序

主程序执行流程如图11.2,主程序先对显示单元和定时器/计数器初始化,然后重复调用数码管显示模块和按键处理模块,当有键按下,则转入相应的功能程序。

2.数码管显示模块

本系统共用8个数码管,从右到左依次显示秒个位、秒十位、横线、分个位、分十位、横线、时个位和时十位。

采纳软件译码动态显示。

3.定时器/计数器T0中断服务程序

定时器/计数器T0用于时刻计时。

选择方式1,重复定时,定时时刻设为50ms,定时时刻到则中断,在中断服务程序中用一个计数器对50ms计数,计20次则对秒单元加1,秒单元加到60则对分单元加1,同时秒单元清0;

分单元加到60则对时单元加1,同时分单元清0;

时单元加到24则对时单元清0,标志一天时刻计满。

在对各单元计数的同时,把它们的值放到储备单元的指定位置。

定时器/计数器T0中断服务程序流程图如图11.3。

图11.2主程序流程图图11.3定时器/计数器T0中断服务程序流程图

4.按键处理模块

按键处理设置为:

如没有按键,则时钟正常走时。

当按下K0按键时,进入调分状态,时钟停止走动;

按K1可K2按键可进行加1或减1操作;

连续按K0键可分不进行分和小时的调整;

最后按K0键将退出调整状态,时钟开始计时运行。

5.汇编语言源程序清单

采纳8位LED软件译码动态显示程序

使用AT89C51单片机,12MHZ晶振,P0输出字段码,P2口输出位选码,用共阳

LED数码管,P1.0为调时位选择按键,P1.1为加1键,P1.2为减1键。

片内RAM的70H到77H单元为LED数码管的显示缓冲区

78H,79H,7AH分不为秒、分、小时计数单元

7BH为50ms计数器,7CH为调时按键计数器

ORG0000H

LJMPSTART

ORG000BH;

定时器/计数器T0中断程序入口

LJMPINTT0

主程序

START:

MOVR0,#70H

MOVR7,#0CH

INIT:

MOV@R0,#00H

INCR0

DJNZR7,INIT

MOV72H,#10

MOV75H,#10

MOVTMOD,#01H

MOVTL0,#0B0H

MOVTH0,#03CH

SETBEA

SETBET0

SETBTR0

START1:

LCALLSCAN

LCALLKEYSCAN

SJMPSTART1

延时1MS子程序

DL1MS:

MOVR6,#14H

DL1:

MOVR7,#19H

DL2:

DJNZR7,DL2

DJNZR6,DL1

RET

延时20MS子程序

DL20MS:

ACALLSCAN

ACALLSCAN

RET

数码管显示程序

SCAN:

MOVA,78H;

时刻存入显示缓冲区相应位置

MOVB,#0AH

DIVAB

MOV71H,A

MOV70H,B

MOVA,79H

MOV74H,A

MOV73H,B

MOVA,7AH

MOV77H,A

MOV76H,B

MOVR1,#70H;

循环扫描显示

MOVR5,#80H

MOVR3,#08H

SCAN1:

MOVA,R5

MOVP2,A

MOVA,@R1

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVP0,A

MOVA,R5

LCALLDL1MS

INCR1

RRA

MOVR5,A

DJNZR3,SCAN1

MOVP2,#00H

MOVP0,#0FFH

TAB:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH

“0~9”,“-”的共阳极字段码

定时器/计数器T0中断服务程序

INTT0:

PUSHACC

PUSHPSW

CLRET0

CLRTR0

INC7BH

MOVA,7BH

CJNEA,#14H,OUTT0

MOV7BH,#00

INC78H

MOVA,78H

CJNEA,#3CH,OUTT0

MOV78H,#00

INC79H

MOVA,79H

MOV79H,#00

INC7AH

CJNEA,#18H,OUTT0

MOV7AH,#00

OUTT0:

SETBET0

POPPSW

POPACC

RETI

按键处理程序

KEYSCAN:

CLREA

JNBP1.0,KEYSCAN0

JNBP1.1,KEYSCAN1

JNBP1.2,KEYSCAN2

KEYOUT:

SETBEA

RET

KEYSCAN0:

LCALLDL20MS

JBP1.0,KEYOUT

WAIT0:

JNBP1.0,WAIT0

INC7CH

MOVA,7CH

CJNEA,#03H,KEYOUT

MOV7CH,#00

SJMPKEYOUT

KEYSCAN1:

JBP1.1,KEYOUT

WAIT1:

JNBP1.1,WAIT1

CJNEA,#02H,KSCAN11

INC79H

CJNEA,#3CH,KEYOUT

SJMPKEYOUT

KSCAN11:

CJNEA,#18H,KEYOUT

KEYSCAN2:

JBP1.2,KEYOUT

WAIT2:

JNBP1.2,WAIT2

CJNEA,#02H,KSCAN21

DEC79H

CJNEA,#0FFH,KEYOUT

MOV79H,#3BH

KSCAN21:

DEC7AH

MOV7AH,#17H

END

九、设计过程

1、在PROTEUS中设计硬件

PROTEUS软件使用过程如下:

1)选择元器件

2)放置元器件

3)连线

4)添加程序

5)运行仿真

元器件清单如下:

按键:

BUTTON

电阻:

RES

电容:

CAP

晶振:

CRYSTAL

LED数码管:

7SEG-MPX8-CA-BLUE(CA:

共阳,CC:

共阴)

地:

GRAND

电源:

POWER

2、在KEIL51中编写程序,编译、连接形成HEX文件。

3、在PROTEUS中把HEX文件加载到单片机芯片上。

4、运行仿真看结果。

十、总结

通过这次的课程设计,我了解了KeilC51集成环境和PROTEUS仿真软件的使用,用此软件练习电子时钟的设计,不仅能够把握此软件的使用方法,而且复习了原先的汇编语言,对电子时钟的原理和电子时钟的汇编程序有了更进一步的明白得。

仿真实现了把抽象的东西具体化,把理论和实际结合起来,更利于对单片机程序的明白得把握。

同时,在这次的课程设计中,我明白了,要自己熟练地把握一个软件,不能光看老师的演示过程,得自己去学习那个软件,明白每一个步骤的确切含义,自己逐步的亲手去进行演示,如此才能变成自己的知识来熟练应用。

班级:

07电本1班

姓名:

王少阳

学号:

200706021048

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

当前位置:首页 > 高等教育 > 经济学

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

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