单片机课程设计报告 秒表
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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能够用于外部程序数据存储