1、 1 课程设计:30S 倒计时 目录目录 1.程设计的目的和任务程设计的目的和任务.3 1.1 单片机秒表课程设计的概述.3 1.2 课程设计思路及描述.4 1.3 课程设计要求.4 2 系统硬件方案设计系统硬件方案设计4 2.1 系统方框图4 2.2 电路原理图.4 2.3 软件设计6 3 程序流程图程序流程图6 4 心得与体会心得与体会7 5 参考文献参考文献8 2 6 附录附录8 1.1 单片机秒表课程设计的概述单片机秒表课程设计的概述 题目:用 STCC52RC 设计一个 3 位 LED 数码显示“秒表” ,显示时间为 30.0 秒,定义了三个键,其功能分别是复位,暂停,切换 20S
2、或 30S。 意义:1)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单 片机课程应用进一步了解。 2)掌握定时器,外部中断的设置和编程原理 3)通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。 4)该课程设计通过单片机的定时器/计数器和计数原理,设计简单的计时器系 统,拥有正确的计时,暂停,换 30S 或 20S 定时并同时可以用数码管显示,在 现实生活中应用广泛,具有现实意义。 仪器: 集成电路芯片 STCC52RC, 八段数码管, Tx-1C 单片机开发版, STC-51 系列单片机软件 Keil uvision3. 1.2 课程设计思路及描述课程设计思路及描
3、述 该课程设计要求进行计时并在数码管上显示时间, 则可利用 STC-51 系列单片 机的芯片 AT89C52 的 P3.0,P3.2,P3.3 作为按键的入口;定时器 T1 作为每 1 秒 减一的定时器, P3.0 口是复位键, P3.2 口是转换 20s,30s 倒计时键, P3.3 口是暂停/开始键, 本来 T0 作为定时器,由于考虑到优先级所以用了 T1. 3 1.31.3 课程设计要求课程设计要求 要求:画出电路原理图,软件编程与调试。 2 系统硬件方案设计系统硬件方案设计 2.1 系统方框图 2.2 晶振原理图 晶振电路:为单片机提供时钟信号 X2 CRYSTAL C4 30pf C
4、5 30p 振荡电路 复位电路 电源 控制电路 数 码 管 显 示 器 STC89C52 4 复 位 电 路 : 分为 上 电 复 位 和 按 键 复 位 上为按键模块,数码管显示模块; 5 2.3 软件设计 定时器 T1:用于程序倒计时; 外部中断 INT1:用于停止,开始功能; 外部中断 INT0:用于切换20S 或30S 倒计时; P3.0复位键 3 3 程序流程图程序流程图 开始 打开 INT0,INT1 中断, 使 IT1 置 1, TR1 为零 对寄存器 R0,R1,R2,R3 分别给 3,0,0, 0; 送给数码管显示,R0 为十位,R1 为个位, R2 为小数点后一位,分别调用
5、延时 等待中断, 在 T1 中断中改变寄存 器值完成倒计时 INT1 中断完成暂 停,开始 INT0 完 成 切 换 30S或20S倒计时 6 T1T1中断程序中断程序 Y YY Y INT1INT1中断中断 INT0INT0中断中断 Y Y 4 4心得体心得体会会 延时程序 结束 通过判断是否到 了 0.1 秒,改变 R0,R1,R2 的值 完成倒计时, 是否到 0 P3.0=1 给 TH1,TL1 初 值,TR1 置 1, RETI 返回 给 R0, R1, R2 分别为 3,0,0;给 TH1,TL1 初值,TR1 置 1,RETI 返回 CPL TR1 RETI 返 回 R3/2=0
6、给 R0,R1,R2 分别 为 3,0, 0;R3 加 1, RETI 返回 给 R0, R1,R2 分别 为 2,0, 0;R3 加 1, RETI 返回 7 通过这次课程设计,我们对单片机的相关知识有了更深的了解。首先亲自焊接单 片机开发版提高了我们的动手能力,其次学会了 Keil 汇编软件,最后对单片机 的内部资源及汇编语言有了更深一步的了解。此外对单片机组成电路有一定了 解,如晶振电路,复位电路,共阳数码管,LED 等。 虽然这次设计并不一定是最好的,但是我们仍然会继续努力学习的。另外很希望 多做一些有光单片机的课题设计,从设计中提高动手能力。 5 参考文献参考文献 李全利:单片机接口及技术 李广弟:单片机基础 6附录附录 LJMP INTTORG 0000H LJMP START ORG 0003H ORG 0013H LJMP INTW ORG 001BH LJMP INTI ORG 0100H START:MOV TMOD,#10H MOV TH1,#0D8H MOV TL1,#0F0H MOV