1、 单片机课程设计报告单片机课程设计报告 题题 目:数字时钟目:数字时钟 专业班级:电子信息工程专业班级:电子信息工程 2 班班 姓姓 名:名: 2 设计题目设计题目 数字时钟 设设 计计 目目 的的 熟悉单片机的编程及应用 了解单片机指令的应用 掌握动态显示的原理 掌握 LED 的原理 掌握按键原理 3 设设 计计 任任 务务 实现时钟的显示 实现时钟的调整(只能加不能减) 实现闹钟的显示 实现闹钟的调整(只能加不能减) 设计分工设计分工 硬件部分: 软件部分: 4 一、功能一、功能 能实现定时、时间的调整(只能加不能减) 、闹钟的设定(只能加不能减) ,当闹 钟按键按下就进入闹钟设定,再按下
2、那个键就进入时间显示,并且闹钟响铃时间 是 10 秒钟。 其整个设计的电路图如下: 其中显示的是 8 个 8 段 LED 显示,单片机是 80C51,外部晶振是 12MHZ, 其中和晶振连接的是两个 47pF 的电容。 单片机的 p3.2p3.5 作为地址总线起到控 制作用,p3.7 在电路中我用一个电阻代替,在实际中接喇叭,起到闹钟的作用。 P0.0p0.7 作为数据总线,把单片机的信号输入到显示器上,p2.0p2.7 作为单片 机的额数据总线,其作用在显示总起到位选的作用,决定 8 段 LED 的亮灭。最 下面的那个是 RESPACK-8 排阻,在电路中防止输入到显示的电压很小, 是为输出
3、 提供电源的装置,配合显示器的显示。 在整个程序中时间的秒、分、时的计数分别存放在 20H、21H、22H,闹钟 的秒、分、时的计数分别存放在 40H、41H、42H。我的电路图开始的时候是用 5 静态显示的,现在用动态显示程序还是用的是静态的,所以在一些程序不一样。 实现定时闹钟的程序有以下几个部分组成: 二、二、流程图流程图 1、定时程序(时间的设定) 其程序流程图如下: N Y 开始开始 (20H)+1 DA修正修正20H 延时延时 1S (20H) 是是 否 等 于否 等 于 (20H)+1 分钟和时钟的分钟和时钟的 流程图和秒钟流程图和秒钟 返回返回 6 2、调时间的流程图 Y N
4、N Y N N Y Y N N Y N N Y Y N N Y N N Y 开始开始 判断判断 P3.2判断判断 P3.2判断判断 P3.2 是是(20H)+1 清零(清零(20H) 判断判断 P3.3判断判断 P3.3(21H)+1 判断判断 P3.3 是是 清零(清零(21H) 判断判断 P3.4判断判断 P3.4(22H)+1 判断判断 P3.4 是是 清零(清零(22H) 7 3、显示的流程图(因为显示的刚好是 8 个,所以不要去考虑左移的个数,直接 跳转到初始值。 开始开始 提取 (提取 (20H) 的) 的 查询并送给查询并送给 p0 延时延时 50us 左移左移 p2 提取 (提取 (20H) 的) 的 查询并送给查询并送给 p0 延时延时 50us 返回返回 8 4、闹钟设定 N Y N Y Y N N Y 开始开始 判断判断 p3.5 判断判断 p3.5 (30H)置)置 1 时间显示时间显示 和时间设置一样, 把 (和时间设置一样, 把 (20H