学号: 班级: 姓名:
基于89C51单片机的电子闹钟
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
一、设计要求
(1)设计并实现一个具有计时功能的电子时钟系统,电子
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
的时间精确到秒,并可以显示年、月、日、时、分、秒。
(2)利用液晶显示器显示定时器的日期和时间。 (3)使用键盘进行设置时间和设置闹钟。
(4)定时时间到通过蜂鸣器报警和发光二极管闪烁通知,并持续60s 。
二、硬件设计
(1)系统设计框图
(2)选择硬件设备
单片机:选择AT89C51;
液晶显示器:具有16字符显示功能的1601 键盘:选择4行*4列的矩阵键盘 LED :选择红色的发光二极管 E 2
PROM :X2545
基本元件:蜂鸣器,电容,晶体振荡器 ,电阻,开关 电源:使用+5v 直流稳压源 基本模块的构成
①时钟信号发生单元如右图2 利用晶振和电容以及单片机内部 电路,构成晶体并联振荡器,产 生12MHz 的时钟频率 ②复位电路如右图3
利用一个简单的电容和按键实现
图2时钟信号发生单元
实现对系统的复位功能
由此基本模块可以实现最小的单片机系统
(3)电子时钟硬件原理图
图4硬件电路原理电路
(4)主要器件的原理
①液晶显示原理
液晶显示器种类繁多,按输出样式分为,图案式,数码式,点阵式。本设计
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
利用的是点阵式液晶显示器,而液晶驱动方式又和数码管驱动截然不同,虽然比数码管需要更小的工作电压,但是其结构所需要的扫描方式较数码管来说,是比较复杂的,而且输入输出数据速度慢,市场上是常用点阵式液晶驱动器的,常用的有1601、1602……,“16”代表显示字符共有几列,“01”、“02”代表输出字符共有几行。下面是驱动1601的驱动
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
。
驱动1601的一个很重要的方面就是液晶显示器的初始化,主要是利用控制、数据复用总线来输入指令,进行初始化。 基本操作
读状态:输入:RS=L,RW=H,E=H 输出:D0~D7=状态字 写指令:输入:RS=L,RW=L,D0~D7=指令码,E=高脉冲 输出:无
读数据:输入:RS=H,RW=H,E=H 输出:D0~D7=数据 写数据:输入:RS=H,RW=L,D0~D7=数据,E=高脉冲 输出:无 图3复位单元电路
利用Sta7可以用来检测当前驱动器是否处于忙状态,这样的话可以避免在忙状态的情况下,进行写数据会产生漏写的错误;或者可以利用延时,具体时间可以参照datasheet,一般都为几毫秒左右。
初始化设置
初始化时首先要进行写命令操作,然后按照datasheet的说明进行写指令
显示模式设置
2)屏幕移
3)设置内
部RAM地址
②键盘扫描原理
键盘分为编码键盘,和非编码键盘。编码键盘是靠硬件电路对每个键位进行编码,当有键按下时,输出固定的数码,并用来判断键位。常见的编码键盘如PC 键盘;非编码键盘是指,键盘不是靠固定的编码来实现对键位的识别的,而是靠一定的算法来对键位进行扫描,矩阵键盘就是常见的一种非编码键盘。
编码键盘一般需要较多的硬件电路,所以成本较非编码键盘较高,故一般的单片机系统都采用非编码键盘,目的是充分利用单片机的丰富的软件资源,弥补硬件的不足。
机械按键在按动的过程中,往往会产程抖动,这又是对一个控制系统的致命伤,因此必须采取措施消除抖动。目前,消除抖动的方法主要有两种:利用硬件RS 锁存器进行消除抖动,将复杂跳变的信号变成稳定的信号;利用软件算法实现对抖动的排除,灵活性大,较常用,一般的,抖动的持续时间为数毫秒,所以为了简单起见,本设计方案利用延时来消除抖动。
对于键盘的扫描常用的有逐行扫描法和线反转法。逐行或列扫描法的思路是,利用列线,做输入,行线做输出。首先使四根列线的某一根置零,当在此列的某一行有键按下时,该行线即为低电平,其余均为高电平,这样这个键就被编码;然后再使另一列线置零,检测下一列是否有键按下;不断这样循环,就可以对整个键盘进行逐列扫描了。线翻转法的思路是,把列线当做线,所以,对其中某条线置低电平,其余为高电平,然后去读行线状态,那么线的状态和行的状态相连就是当前按下的键的键值,例如,线的状态为1011,读得行的状态为1101,则当前按键的键值为10111101。 综观这两种方法,逐行扫描法,需要多次循环才能对整个键盘进行全扫描,速度慢,而且还有可能导致有些键检测不出,而线翻转法只需两句程序就可以扫描到键值,因此本设计采用先翻转法对键盘进行扫描。
③E 2
PROM 原理
三、软件仿真设计
(1)不同软件模块间的同步调度的总体设计
本系统的软件部分的功能模主要有初始化模块、定时器模块、液晶显示模块、键盘扫描模块、键盘识别模块、模式转换模块、常用调用子程序模块。
为了充分利用单片机的资源,对不同模块之间需要合理调度,对于只有一个任务的系统来说,实现该系统的程序往往是顺序执行的程序,各种模块之间也只是调用与被调用的关系,对于更复杂的系统,如菜单系统,也只不过是一个分支结构,菜单反复在死循环里检查输入状态,一旦选中某个选项,马上跳入分支当中顺序执行,执行完毕后立即返回到菜单检测模块。对于这样的系统,往往不用考虑模块之间的并行关系,只需考虑顺序执行即可。
但是对于本次实现的系统中定时器模块属于中断模块,独立于任何模块;液晶显示
图 5 X2425 原理图
X2425 E 2PROM 是一个512*8 bit 的掉电不丢数据的可擦除只读存储器。主要模块为,SPI 接口模块:进行数据的读写操作;看门狗模块,对于没有看门狗的单片机来说很有用;存储矩阵模块,即存储空间。
SPI 协议:高速同步串行口,它以主从方式工作,这种模式通常有一个主设备和一个从设备或多个从设备。
SDO 为主设备输出,从设备输入 SDI 为主设备输入,从设备输出
SCK 为上升沿触发的时钟信号线,由主
设备控制;
CS 为片选段,低电平有效,由主设备控制。
对于本设计课题,单片机为主设备,E 2PROM 为从设备,所以,SCK 由单片机发出,X2425上的SI ,SO 分别为从设备输入和输出,即单片机的串行输出和输入通道。