1、 单片机课程设计单片机课程设计 单片机控制的数字钟单片机控制的数字钟 专专 业:自动化业:自动化 班班 级:级: 姓姓 名:名: 学学 号:号: 指导老师:指导老师: 一、一、 绪论绪论 20 世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎 渗透了社会的各个领域, 有力地推动了社会生产力的发展和社会信息化程度的提 高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时 间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是, 一旦重要事情,一时的耽误可能酿成大祸。例如,许多火灾都
2、是由于人们一时忘 记了关闭煤气或是忘记充电时间。尤其在医院,每次护士都会给病人作皮试,测 试病人是否对药物过敏。注射后,一般等待 5 分钟,一旦超时,所作的皮试试验 就会无效。手表当然是一个好的选择,但是,随着接受皮试的人数增加,到底是 哪个人的皮试到时间却难以判断。所以,要制作一个定时系统。随时提醒这些容 易忘记时间的人。 钟表的数字化给人们生产生活带来了极大的方便, 而且大大地扩展了钟表原 先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广 播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启 用等, 所有这些, 都是以钟表数字化为基础的。 因此, 研
3、究数字钟及扩大其应用, 有着非常现实的意义。 因为是一个初学者,所以本次通过设计一个比较简单的数字钟,来加强对单 片机的认识,并通过此次设计学习一些基本的单片机理论知识及其实际应用。 二、二、设计思路设计思路 本设计采用 8051 单片机直接控制 LED 数码管显示来实现数字钟(采用 12MHz晶振,中断方式采用定时器 0 方式 2,定时 250 微妙,则循环 4000 次为 1 秒) ,所设计时钟可以随时对时间进行调整(调整采用分别对“时” “分” “秒” 进行调整,且互不干扰) ,调整后按调整的时间往后按秒计时,时间格式采用 24 小时进制,显示范围为 00:00:00 到 23:59:5
4、9。 三、三、设计所达到的目标设计所达到的目标 1) 开机时,显示 12:00:00 的时间并开始运行,数字钟采用 24 小时进制; 2) P0.0/AD0 控制“秒”的调整,每按一次加 1 秒; 3) P0.1/AD1 控制“分”的调整,每按一次加 1 分; 4) P0.2/AD2 控制“时”的调整,每按一次加一个小时; 四四、程序流程图程序流程图 开机初始化 键盘扫描 按键处理 结果显示 定时器 0 中断入口 时间运行处理 返回主函数 五五、电路原理图电路原理图 六六、系统板上硬件连线系统板上硬件连线 1) 把“单片机系统”区域中的 P1.0P1.7 端口用 8 芯排线连接到“动态数码显示
5、” 区域中的 AH 端口上,控制显示对应时间值; 2) 把“单片机系统: 区域中的 P3.0P3.7 端口用 8 芯排线连接到“动态数码显示” 区域中的 S1S8 端口上,其中 P3.2,P3.5 控制显示“: ” ,其余六口分别选通 显示“秒” 、 “分” 、 “时”的显示数码管; 3) 把“单片机系统”区域中的 P0.0/AD0、P0.1/AD1、P0.2/AD2 端口分别用导线 连接到“独立式键盘”区域中的 SP3、SP2、SP1 端口上,键盘另一端接地; 七七、相关基本知识相关基本知识 1) 数码管工作原理: 共阳极数码管中 8 个发光二极管的阳极(二极管正端)连接一起。通常,公 共阳
6、极接高电平(一般接电源) ,其它管脚接段驱动电路输出端。当某段驱动电 路的输入端为低电平时, 该端所连接的字段导通并点亮。 根据发光字段的不同组合可显示出各种数字 或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及 额定段导通电流来确定相应的限流电阻。 共阴极数码管中 8 个发光二极管的阴极(二极管负端)连接在一起。通常, 共阴极接低电平(一般接地) ,其它管脚接段驱动电路输出端。当某段驱动电路 的输出端为高电平时,该端所连接的字符导通并点亮,根据发光字段的不同组合 可显示出各种数字或字符。同样,要求段驱动电路能提供额定的段导通电流,还 需根据外接电源及额定段导通电流来确定相应的限流电阻。 (a)外型结构 (b)共阴极 (c)共阳极 图 1.1 数码管结构图 2) 独立式按键识别过程: 本设计使用独立按键扫描低电平有效,但是可能有抖动现象,所以要用软件 延时的方法来消除抖动的影响,使每一次按键均有效; 3) “时”,“分”,“秒”数据送出显示处理方法: 要使数码管显示出相应的数字或字符,必须使