1、1 题目:多功能秒表多功能秒表 目录目录 一、课题任务及要求 2 1、课题任务 . 2 2、课题要求 . 2 二、设计思路和方案 2 三、硬件电路设计 2 1、原件清单 . 2 2、硬件原理图 3 2.1 按键电路图 3 2.2 单片机电路图 3 2.3 1602 模块电路图 . 4 2.4 总电路图 . 4 四、软件系统设计 5 1、主程序流程及说明 . 5 2、键盘扫描函数流程及说明 . 6 3、中断服务子程序流程及说明 . 6 4、程序清单及注释 . 8 五、使用功能说明书 16 1、功能描述 . 16 2、操作指南 . 16 六、课程设计心得体会. 16 2 一、课题任务及要求一、课题
2、任务及要求 1、课题、课题任务任务 设计一电子秒表,并具有显示,基本操作功能。 2、课题课题要求要求 1)设计可以显示0.1100s的秒表,最小单位为毫秒 2)通过按键控制秒表清零、暂停、继续、退出等功能 3)具有倒计时功能 4)秒表可以分组存储,批量显示 5)显示北京时间 6)可利用蜂鸣器添加提示音 二、设计思路和方案二、设计思路和方案 本课题初步可分为两个模块,时间模块和秒表模块。由于实验板上的数码管只有6位, 所以决定采用1602液晶进行显示。 利用矩阵键盘作为外围控制, 但是因为实验板上的矩阵键 盘和LCD都接在了P3口,所以能够利用的按键个数很少,导致部分功能如秒表时间调节无法 完成
3、。 三、硬件电路设计三、硬件电路设计 1、原件清单、原件清单 3 2、硬件原理图、硬件原理图 2.1 按键电路图按键电路图 实验板上有一组4*4的矩阵键盘和4个独立按键, 本课题中是使用了矩阵键盘中的一列和一个 独立按键。独立按键的一端与P3.7相连,另一端接地。矩阵按键分别与P3.0-P3.3相连,另 一端接P3.6。 2.2 单片机电路图单片机电路图 4 外部晶振的频率为11.0592MHz,复位电路采用的是手动复位电路。 P0口与10K的排阻相连作为 上拉电阻,驱动1602LCD.P2.3用于驱动蜂鸣器。 2.3 1602 模块电路图模块电路图 1602的D0-D7为数据口,与单片机的P
4、0口相连。 RS:数据/命令选择端,连P3.5; RW:读写选择端,连P3.6; LCDEN:使能端,连P3.4 2.4 总电路图总电路图 5 四、软件系统设计四、软件系统设计 1、主程序流程及说明、主程序流程及说明 主程序中主要进行LCD和定时器的初始化以及键盘扫描并执行相应的操作。 LCD初始化:16*2显示,5*7点阵,8位数据接口,不显示光标,执行写操作后地址指针 加一。 定时器初始化:定时器0、1工作于方式一,50ms中断一次 开始 LCD 和定时器初始化 是否按键? S1 S3 S4 S5 S1 S3 S4 S5 时钟时分秒 的位调节 秒表开始、 暂停 显示存储的 时间 倒计时 时
5、钟时分秒 数字调节 S2 按 下 YES NO YES NO 秒表时间显示 北京时间显示 6 2、键盘扫描函数流程及说明、键盘扫描函数流程及说明 键盘应该完成以下几个功能:北京时间的调整、秒表开始、暂停、清零、倒计时、显示 存储时间的。 本课程设计中采用的是矩阵键盘的独立式键盘。 键盘扫描程序中应该注意以下 几个问题:1、是否有键按下;2、按键识别;3、按键消抖;4、按键是否松开。流程图如下 所示 3、中断服务子程序流程及说明、中断服务子程序流程及说明 定时器 0 用于控制时间模块,定时器 1 用于控制控制秒表,均工作于方式一,50ms 中 断一次。每个中断子程序中均要放入时间显示函数,实新时
6、间。定时器 1 要同时完成倒计时 和计时的功能。所以要设置一个中间变量。每次进入中断时,对中间变量的值进行判断,执 行相应的操作。 是否有键按下 延时去抖 是否有键按下 按键是否松开 执行相应操作 YES NO NO YES 7 定时器 0 中断 重装初值, Count+1 Count=20? Count=0;miao+1 Miao=60? Miao=0,fen+1 Fen=60? Fen=0,shi+1 Shi=24 ? Shi=0 显示函数 Y N N N N Y Y Y 定时器 1 中断 重装初值, Count1+1 Count=20? Count=0;相应操作 显示函数 Y N 8 4、程序清单及注释、程序清单及注释 #include #define uchar unsigned char #define uint unsigned int sbit dula=P26; sbit wela=P27; sbit rs=P35; sbit lcden=P34; sbit wr=P36; sbit s1=P30; sbit s2=P31;