单片机课程设计报告 秒表

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机课程设计报告

院系:****

班别:****

课程名称:****

姓名:****

学号:****

指导老师:****

日期:****年**月**日

一、设计任务与要求

用89C51设计一个2位的LED数码作为“秒表”。显示时间为00—99秒,每秒自动加1,另设计一个“开始”键和一个“复位”键。能存储三组计时。按一次开始键,开始计数,第二次按开始键后,计时停止。之后再按开始键,则轮流显示存储的三个计时值,直到按复位键后,再按开始键,则开始重新计时。

二、设计思想和设计说明

本设计利用AT89C52单片机的定时器/计时器定时和计数的原理,使其能精确计时。设计中包括硬件电路的设计和系统程序的设计,其硬件电路主要有主控制器、计时与显示电路和复位电路等。主控制器用AT89C52,显示电路采用共阴极LED数码管显示计时时间。利用中断系统使其能实现开始暂停的功能。P3.2,P3.3开口接2个按钮,分别实现开始,暂停,复位的功能。电路原理图设计最基本得要求是正确性,其次布局合理,最后在正确性和布局合理的前提下力求完美。

三、硬件原理框图

四、硬件原理图与其软件配合

1、程序存储器

2、数据存储器

六、程序流程图

七、源程序清单

====================================================== ORG 0000H

AJMP MAIN

ORG 0003H

AJMP X0_INT

ORG 000BH

AJMP T0_INT

ORG 0013H

AJMP X1_INT

MAIN:

MOV TMOD,#01H ;T0定时方式1

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

MOV TL0, #(65536-50000) MOD 256;

SETB TR0

SETB ET0 ;开启定时中断

SETB EX0

SETB EX1

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

MOV R1, #99H ;0~99计数.

MOV R7, #1 ;50ms计数.

MOV P0, #3FH

MOV P2, #3FH

LOOP:

SJMP LOOP

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

DELAY: ;延时子程序.

AA4: MOV R4, #0

DJNZ R4, $

DJNZ R4, $

RET

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

X0_INT: ;启动/停止

CPL F0

RETI

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

X1_INT: ;清零

MOV R1, #0

MOV P0, #3FH

MOV P2, #3FH

RETI

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

T0_INT: ;50ms中断执行一次.

MOV TL0, #(65536-50000) MOD 256;

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

DJNZ R7, T0_END ;中断不到20次.

MOV R7, #20

JNB F0, T0_END

MOV A, R1

ADD A, #1

DA A

MOV R1, A

ANL A, #0FH

MOV DPTR, #TAB

MOVC A, @A+DPTR ;查出段码

MOV P2, A

MOV A, R1

SWAP A

ANL A, #0FH

MOVC A, @A+DPTR ;查出段码

MOV P0, A ;显示十位数.

T0_END:

RETI

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

TAB:

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

END

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

八、芯片资料

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

AT89C52实物图图2 AT89C52引脚图

主要功能特性:

1、兼容MCS51指令系统

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

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等几种封装形式,以适应不同产品的需求。

管脚说明:

VCC、VPP:接电压。 VSS:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储

相关文档
最新文档