好文档 - 专业文书写作范文服务资料分享网站

基于状态机的多功能时钟的设计 - 图文

天下 分享 时间: 加入收藏 我要投稿 点赞

基于状态机的多功能时钟的设计

周文敏 121035011 电子与通信工程

一、实验目的:

1.学习常见LCD 驱动程序设计,按键处理等人机对话。 2.学习状态机在监控程序中的应用。

二、实验器材(平台)

1、南京师范大学物科院机电控制实验板及其附件(包括一块STC89C52RC单片机和一块1602LCD液晶显示器等);

2、装有Keil uVision4单片机开发软平台和STC烧录软件STC_ISP_V483的计算机一台。

三、实验内容

1、根据有限状态机的原理和1602液晶显示器以及4X4矩阵键盘的使用方法,在Keil uVision4单片机开发软平台上用C语言编写和调试程序,使该程序能分别实现时钟和闹钟的时、分的调整以及跑表等功能。

2、连接好硬件,利用STC烧录软件STC_ISP_V483下载生成的HEX文件到实验板,在硬件上实现和调试预设的时钟功能。

四、实验电路

五、实验原理

1、 状态机

状态机流程图如下所示:

图1-1 流程图

本时钟一共用到两个按键,R和F。 各个状态的意义:

状态0:时钟正常运行; 状态1:设置时钟的时; 状态2:设置时钟的分; 状态3:设置时钟的秒; 状态4:进入闹钟设置状态; 状态5:设置闹钟的时; 状态6:设置闹钟的分; 状态7:设置闹钟的秒;

各个状态之间的转换关系如图1-1所示。

2、 矩阵键盘的构成

本设计所用的矩阵键盘如图2-1所示:

图2-1 4*4矩阵键盘

使用P3口作为数据输入输出口,采用行列反转法来扫描键盘。采用行列反转法来读取按键,先对行线全部输出为0,然后读入列线值,如果有按键按下,则读入列线值,并输出该列线值,读取行线值,将列线和行线值组合起来返回给主程序判断按下的是什么键。

3、1602液晶显示模块

液晶显示器LCD有着显示直观、耗电小、体积小及重量轻等优点,在仪器仪表、家用电器和各类电子装置中得到广泛的应用。

1602可以显示16*2个字符,其基本指令如下:

六、实验结果

根据图1-1的状态转换关系进行变成,并在硬件上进行实现,具体实现情况由下面的一系列图片来显示:

图4-1

上电启动,时钟正常开始计时。

图4-2

对时间进行设置,图4-2显示的是正在对时针进行设置。

图4-3

对闹钟进行设置,图4-3设置的时间为1:06:00。

图4-4

当时间运行到1:06:00之后,代表闹铃的P1.1口的LED灯亮起,如图4-5所示。

图4-5

基于状态机的多功能时钟的设计 - 图文

基于状态机的多功能时钟的设计周文敏121035011电子与通信工程一、实验目的:1.学习常见LCD驱动程序设计,按键处理等人机对话。2.学习状态机在监控程序中的应用。二、实验器材(平台)1、南京师范大学物科院机电控制实验板及其附件(包括一块STC89C52RC单片机和一
推荐度:
点击下载文档文档为doc格式
31iwh0ue091h1yk7prqi
领取福利

微信扫码领取福利

微信扫码分享