计算机信息工程学院
20072008第二学期单片机课程设计题目具有串行通信功能的电子万年历
专业计算机科学与技术
学生姓名
学号
小组及组员
姓
名
班级
指导教师
起止日期
086230874
一实验目的
2008年6月30日
f通过本次课程设计达到如下目的:1、熟悉MCS51定时计数器、中断的应用。2、熟悉时钟时、分、秒计时方法,掌握编程技巧。3、掌握键盘的基本工作原理,键的识别,键抖动和重键问题的解决,键盘工作方式和键盘程序的编程。4、掌握七段码LED显示器的结构,七段码LED显示器的工作方式和显示程序的编程。5、掌握串行通信程序的编写。
二设计要求
利用ATMEL89C51、七段码LED显示器、按键、MAX232及常用外围器件,设计一个具有串行通信功能的电子万年历,仅使用2位LED,具体要求如下:1、设计实现电子万年历的硬件原理图。2、用T0定时器,产生时钟信号,设计定时中断程序。3、具有2位LED,通过按键切换,分别显示时、分、秒,设计显示程序。4、可用键盘进行校对时间,设计键盘程序。5、当前时间可通过串口在其他单片机系统上显示。
三硬件设计
f本系统中单片机通过P0口和P2口直接驱动LED数码管,单片机通过MAX232串口芯片实现和其他单片机系统的通信。系统框图如下:
P0
P289C51
P3
P3
LEDLED
按键
MAX232
子单片机系统
硬件原理图
fP32所连接的按键是用于切换时、分、秒分别显示。P33所连接的按键是用于校时是分别对时、分、秒进行自加。P34所连接的开关是用于允许校正位,为低电平允许校正,显示停止。
四软件设计
程序框图:
f开始
初始化
按键扫描有键按下
NOYES
按键处理,确定模式
YES时间显示模式
根据按键状态显示相应时间段
NO时间修改模式根据按键状态修改时间
图1主程序流程框图开始
装入计数初值(50ms中断)
计数标志
um
um20?
um0
NOYES
时间加1秒
结束图2定时中断流程框图
f开始
清零按键状态位NO
按键为低电平?YES
延时,去抖动
按键为低电平?
YES
NO
清零按键状态
按键为低高平?
YES
有按键,置按键状态
开始
结束图3按键扫描流程框图
RI1?YES
RI0,清零标志
将SBUF数据放入接受缓冲区YES
NOTI1?
YESTI0,清零标志
发送缓冲区空?NO
取发送缓冲区数据到SBUF发
结束
图4串行通信流程框图
f程序中使用到了T0T1和串口中断,P0P2口为LED的输出数据口,
P32P33P34分别为时分秒转换,时间校验和时间停止位(一):主机程序:org0000hljmpmai
org000bhljmptimeorg0023hljmpchua
xi
gorg0030h
mai
setbp3r