基于MCS51的单片机秒表设计.docx

上传人:b****6 文档编号:4732792 上传时间:2022-12-08 格式:DOCX 页数:8 大小:390.73KB
下载 相关 举报
基于MCS51的单片机秒表设计.docx_第1页
第1页 / 共8页
基于MCS51的单片机秒表设计.docx_第2页
第2页 / 共8页
基于MCS51的单片机秒表设计.docx_第3页
第3页 / 共8页
基于MCS51的单片机秒表设计.docx_第4页
第4页 / 共8页
基于MCS51的单片机秒表设计.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

基于MCS51的单片机秒表设计.docx

《基于MCS51的单片机秒表设计.docx》由会员分享,可在线阅读,更多相关《基于MCS51的单片机秒表设计.docx(8页珍藏版)》请在冰豆网上搜索。

基于MCS51的单片机秒表设计.docx

基于MCS51的单片机秒表设计

基于MCS51的单片机秒表设计

 

 

————————————————————————————————作者:

————————————————————————————————日期:

 

一、设计的任务与要求……3

二、硬件电路设计……4

三、软件设计流程及描述……5

四、设计调试过程……13

五、源程序代码……14

六、收获体会……15

七、参考文献…………………………

 

一、

设计的任务与要求

用AT89C51设计一个2位的LED数码显示作为“秒表”:

显示时间为00-99秒,每秒自动加1,另设计一个“开始"键和一个“复位”键。

按键说明:

按“开始"按键,开始计数,数码管显示从00开始每秒自动加一,再按“开始”键,停止计数;按“复位"按键,系统清零,数码管显示00。

二、硬件电路设计

AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。

图1AT89C52实物图图2AT89C52引脚图

主要功能特性:

  1、兼容MCS51指令系统

  2、8k可反复擦写(大于1000次)FlashROM;

  3、32个双向I/O口;

  4、256x8bit内部RAM;

  5、3个16位可编程定时/计数器中断;

  6、时钟频率0—24MHz;

  7、2个串行中断,可编程UART串行通道;

  8、2个外部中断源,共8个中断源;

  9、2个读写中断口线,3级加密位;

  10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;

11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。

本设计利用AT89C52单片机的定时器/计时器定时和计数的原理,使其能精确计时。

设计中包括硬件电路的设计和系统程序的设计,其硬件电路主要有主控制器、计时与显示电路和复位电路等.主控制器用AT89C52,显示电路采用共阴极LED数码管显示计时时间。

利用中断系统使其能实现开始暂停的功能.P3.0,P3。

1,RST开口接四个按钮,分别实现开始,暂停,复位的功能。

电路原理图设计最基本得要求是正确性,其次布局合理,最后在正确性和布局合理的前提下力求完美。

由于条件限制本系统采用软件模拟硬件系统,采用proteus软件进行模拟设计及调试工作.

图3七段数码管引脚图

三、软件设计流程及描述

四、设计调试过程

利用51单片机设计一个1/100秒表,最大能显示99秒,具有启停、复位等功能。

用汇编语言编程,数码管显示!

1、确立总体设计方案;

2、系统整体框图设计;

3、各个单元电路设计与分析;

4、应用软件设计与调试;

5、系统仿真与调试;

6、分析结果,得出结论以及展望.

图4Keil调试调试完成图

图5Proteus调试效果图

五、源程序代码

========================================================

ORG0000H

AJMPMAIN

ORG0003H

AJMPX0_INT

ORG000BH

AJMPT0_INT

ORG0013H

AJMPX1_INT

MAIN:

MOVTMOD,#01H;T0定时方式1

MOVTH0,#(65536-50000)/256;50ms@12MHz

MOVTL0,#(65536-50000)MOD256;

SETBTR0

SETBET0;开启定时中断

SETBEX0

SETBEX1

SETBEA;定时器初始化结束,下面循环显示即可

MOVR1,#99H;0~99计数。

MOVR7,#1;50ms计数。

MOVP0,#3FH

MOVP2,#3FH

LOOP:

SJMPLOOP

;——-—-———--------————————-——--——-——-—--——-——---————----———-—

DELAY:

;延时子程序。

AA4:

MOVR4,#0

DJNZR4,$

DJNZR4,$

RET

;—--—-————-—---------———-———-——--———----—--————---——-—————--

X0_INT:

;启动/停止

CPLF0

RETI

;—-———-—--—---—-———-—-—--——-—--————-—————————--————-——-————-

X1_INT:

;清零

MOVR1,#0

MOVP0,#3FH

MOVP2,#3FH

RETI

;——————-—--—--—-——-—-—-—--————-——---——-—---—-————--———----—-

T0_INT:

;50ms中断执行一次.

MOVTL0,#(65536—50000)MOD256;

MOVTH0,#(65536-50000)/256;50ms@12MHz

DJNZR7,T0_END;中断不到20次.

MOVR7,#20

JNBF0,T0_END

MOVA,R1

ADDA,#1

DAA

MOVR1,A

ANLA,#0FH

MOVDPTR,#TAB

MOVCA,@A+DPTR;查出段码

MOVP2,A

MOVA,R1

SWAPA

ANLA,#0FH

MOVCA,@A+DPTR;查出段码

MOVP0,A;显示十位数。

T0_END:

RETI

;--——-—-————-————-----—----———————————-——-—--—---——-—-——————

TAB:

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

END

===========================================================文档为个人收集整理,来源于网络个人收集整理,勿做商业用途

六、收获体会

通过这次的秒表设计,我对一些专业知识和电子设计有了更深的了解,同时也尝试着去应用自己的所掌握的知识。

本次设计主要是对已学习的模拟电子技术、数字电子技术和单片机的综合应用,同时加上电路等知识,设计完成了利用软件模拟的秒表。

经过几天的奋战,我感受很深。

在设计过程中深感自己在培养动手能力这方面还需很大的努力。

单片机课程设计不仅给我提供了一个很好的展现应用自己所掌握的知识的平台,又是检验自己所学知识的一次考核.在设计的过程中我也不可避免的遇到了很多的问题。

尤其是在调试过程中,会因为某些原因出不来结果,但通过老师对我的帮助最后还是成功的完成了这次的设计。

经过过这次的系统设计,我也发现了不少自己不会的知识,通过查询各方面资料,我也进步了很多,也学会了很多上课时没掌握的东西,最后在调试结果出来后,我更是无比的兴奋,无比的自豪.总之,通过这次电子课程设计,我对自己的知识有了更好的掌握和应用,这使我在以后的学习和生活中受用终身。

七、参考文献

《单片机原理与应用设计》,张毅刚彭喜元编著,电子工业出版社

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

当前位置:首页 > 工程科技 > 电子电路

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

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