课程设计(数字时钟)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设置等。这样极大的节省了对单片机的 I/O 口的占用。下图是单片机与 DS12887 的连接图: ①. 单片机 P0 口与 AD0-AD7 相连接,这里主要是数据的传输,并口传输方式。 ②. P2.7 通过 74138 与 CS 连接,这是在外存储器模式下的高 32KRAM 的地址选择信号,
高电平有效,这样选通 74138 有效,这样 74138 三个输入端(A,B,C)设置为 000(接低电 平),此时 74138 的 Y0 输出为低电平,连接了 DS12887 的片选信号,低电平有效。从而完 成高地址时对 DS12887 的片选信号。
这个函数是用来初始化串口的,机设置串口的通信参数:需要打开的串口号,波特率,
奇偶校验方式,数据位,停止位,这里还可以用来进行事件的设定。
BOOL CSerialPort::InitPort(CWnd* pPortOwner,
UINT portnr,
// portnumber (1..4)
UINT baud,
与主机的连接直接从 P0 口与主机 P1 口连接。这是单向并行通信的硬件设计,从单片 机只需要接收主机发送来的数据,根据接收到一帧(8 个字节)数据,用查表法得到显示 数据,然后通过串口发送到显示屏,完成显示动作。
--
课 程 设 计报 告
从机原理图 DS12887 实时时钟硬件设计 DS12887 是一款与 DS12885 实时时钟(RTC)功能兼容的替代品,该器件提供 RTC/日历, 定时闹钟,三个可屏蔽中断,和一个通用中断输出,可编程方波以及 114 字节电池备份的 静态 RAM,少于 31 天的月份,月末日期可自动调整,其中包括闰年补偿。该器件还可以工 作于 24 小时或 AM/PM 指示的 12 小时格式。一个精密的温度补偿电路来监视 VCC 的状态, 如果检测到主电源故障,该器件可以自动切换到备用电源供电。VBACKUP 引脚用于支持可充电 电池或超级电容,内部包括一个始终有效的涓流充电器。DS12887 可以通过一个多路复用 的单字节接口访问,该接口支持 Inter 和 Motorola 总线模式,DS12887 是将 DS12885 与石 英晶体和电池集成在一起。
--
4
5
课 程 设 计报 告
5. 通过串口发送字符/写串口函数 WriteToPort() 该函数完成写串口功能,即向串口发送字符。 void CSerialPort::WriteToPort(char* string)
上位机设置时间、日期、星期功能分析 1.设置时间:该按钮可以为 LED 点阵数字时钟系统重新设置时间。在设置时间按钮后
在该系统中,我采用的是扩展单片机片外 RAM 的连接方式,将其扩展的地址在 0x7fff 以上。因为我们知道,单片机能外部扩展 64K RAM,其地址为 0x0000—0xffff,而我现在 只扩展了 32K RAM,占用了低 32K 地址(0x0000-0x7fff)。所以我选择了 0xffff 作为单片 机访问 DS12887 的基址,对其内部各寄存器的访问需要对应的偏移地址。
2.读取日期,闹钟,星期,温度等同上。 上位机控制 LED 显示功能分析
1.显示时间:这是上位机对显示内容的控制按钮,该按钮可以控制 LED 点阵显示系统 显示实时时间。点击该按钮,LED 点阵显示系统将只显示实时时间。
2.显示日期,闹钟,星期,温度等同上。 3.自动显示,系统将时间,日期,星期,温度按一定规律切换显示,这也是系统启动 时的默认显示方式。 上位机控制串口开关功能分析 默认状态下,上位机软件点击启动时,将打开串口 1,并设置了波特率为 9600,无校 验位,1 位停止位等。如果遇到特殊情况如被其他设备占用导致串口没打开,这时需要关 闭其他设备,重新开启软件,这样我们不需要关闭软件后重启,只需重新点击“打开串口” 即可。当串口需要被其他设备使用时,我们只需要点击“关闭串口”即可放弃对该串口的 占用,而被其他设备使用。
// baudrate
--
课 程 设 计报 告
char parity, // parity UINT databits, // databits UINT stopbits, // stopbits DWORD dwCommEvents, // EV_RXCHAR, EV_CTS etc UINT writebuffersize) // size to the writebuffer 如果串口初始化成功,就返回 TRUE,若串口被其他设备占用、不存在或存在其他故障, 就返回 FALSE,编程者可以通过这儿提示串口操作是否成功。 2. 启动串口通信检测线程函数 StartMonitoring() 串口初始化成功后,就可以调用 BOOL StartMonitoring()来启动串口检测线程。线程启 动成功,返回 TRUE。 BOOL CSerialPort::StartMonitoring() { if (!(m_Thread = AfxBeginThread(CommThread, this))) return FALSE; TRACE("Thread started\n"); return TRUE; } 调用 InitPort()和 StartMonitoring()后,串口就被打开,各种串口状态和事件就可以被监 视到。 3. 暂停或停止检测线程函数 StopMonitoring() 该函数暂停或停止串口检测,要注意的是,调用该函数后,串口资源仍然被占用。 BOOL CSerialPort::StopMonitoring() { TRACE("Thread suspended\n"); m_Thread->SuspendThread(); return TRUE; } 4. 关闭串口函数 ClosePort() 该函数功能是关闭串口,释放串口资源,调用该函数后,如果要继续使用串口,还需 要在调用 InitPort()函数。 void CSerialPort::ClosePort() { SetEvent(m_hShutdownEvent); }
③. 单片机 ALE 与 AS 连接,单片机地址锁存脉冲信号。 ④. 单片机 WR(P3.6)与 R/W 连接,单片机片外数据存储器“写选通控制”输出。 ⑤.单片机 RD(P3.7)与 DS 连接, 单片机片外数据存储器“读选通控制”输出。 ⑵.通过 P3^3 口连接了 DS18B20 温度芯片,负责对温度值的采集[10]。 ⑶.连接了串口转换芯片 RS232,实现与 PC 机的信息交流。 ⑷.与从机的连接直接从 P1 口与从机 P0 口连接。同时还有两根辅助连接线,一根从 主机的 P3.4 连接到从机 P3.2,主机数据在发送时产生下降沿,引起从机外部中断 0,并 进入中断函数处理。另一根是从主机 P3.5 连接到从机 P3.3,主机接收到显示信息命令时, 将产生一个下降沿,引起从机外部中断 1,进入显示信息状态。
要求: (1) 实现时间显示 (2) 日期显示 (3) 星期显示 (4) 时间日期等自动切换显示
--
设计内容 一、设计框图
课 程 设 计报Βιβλιοθήκη Baidu告
二、显示部分设计
动态显示,对一幅画面进行分割,对组成画面的各部分分别显示,是动态显示方式。动 态显示方式方式,可以避免静态显示的问题(所需的译码驱动装置很多,引线多而复杂,成 本高,且可靠性也较低)。但设计上如果处理不当,易造成亮度低,闪烁问题。因此合理的设 计既应保证驱动电路易实现,又要保证图像稳定,无闪烁。动态显示采用多路复用技术的动 态扫描显示方式, 复用的程度不是无限增加的, 因为利用动态扫描显示使我们看到一幅 稳定画面的实质是利用了人眼的暂留效应和发光二极管发光时间的长短, 发光的亮度等 因素. 我们通过实验发现, 当扫描刷新频率(发光二极管的停闪频率) 为 50Hz, 发光二极 管导通时间≥1m s 时, 显示亮度较好, 无闪烁感.。 LED 点阵显示系统设计功能分析
的编辑框内输入您想设置的时间,格式如 112030,这将表示你设置的时间为 11 点 20 分 30 秒,然后点击该按钮,即可。
2.设置日期,闹钟,星期等同上。 上位机读取时间、日期、星期及温度功能分析
1.读取时间:该按钮可以读取 LED 点阵数字时钟系统实时时间。单击该按钮,单片机 将通过串口发送实时时间给电脑,上位机接受数据后处理显示到相应的时分秒对话框。
电子与信息工程学院
课程设计报告
( 2010 — 2011 学年 第 一 学期)
课程名称:__综合课程设计 _ 班 级:电子信息工程 0703 班_ 姓 名: 张鹏 指导教师: 戴 娟
2010 年 12 月
1
课 程 设 计报 告
课程设计题目:基于 AT89S52 单片机的数字时钟的软硬件设计
目的与任务:
内容和要求:
制作一个数字时钟,画出设计框图和各个部分的 protel 仿真图。 利用 MC-51 单片机系统的 I/O 口,使用标准 RS232 串口方式与上位机通信,使用读写 外数据存储器方式采集和修改时间数据,使用串口移位寄存器方式将数据循环发送到显示 屏,实现了上位机修改时间日期,上位机读取系统时间日期并显示在上位机软件中,上位 机控制显示内容,LED 动态显示等功能。
三.LED 点阵显示系统硬件设计
LED 点阵显示系统要实现其预定的功能,必须有一定的硬件基础。本 LED 点阵显示 系统作品主要包括以下几部分,分别是单片机控制模块,DS12887 实时时钟模块,DS18B20 温度模块,串口转换模块,LED 显示模块。
--
课 程 设 计报 告
LED 点阵显示系统示意图
在理论学习的基础上,通过完成一个涉及 AT89S52 单片机来实现有数字时钟功能的 设计,更好的将课堂上学到的理论知识与实际应用结合起来,而且还能能够对电子电路、 电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排版调试、 焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立 进行某些单片机应用系统的开发设计工作打下一定的基础。以 AT89S52 单片机为核心, 应用单片机技术和动态扫描技术设计一个数字时钟,显示时间日期等信息。
-6
7
课 程 设 计报 告
主机线路连接图 从单片机控制系统设计
从机主要任务是扫描显示屏和接收主机发送过来的数据。基于这两个任务,我设计了 从机连接线路。
从单片机采用的是 AT89S52,具有单片机最小系统:晶振电路,复位电路,电源电路。 这是单片机能运行最基本的要求,缺一不可。
连接了 LED 点阵驱动的数据线和控制线,满足对 LED 点阵显示控制要求,该 LED 点阵 显示系统数据采用串行输入,点阵显示数据通过从机串行口输入,理论速度 12Mb/s。完全 满足刷新屏幕的要求。调试证明,不会出现闪烁的现象。
主单片机控制系统设计 主机的主要任务是负责接收上位机控制命令和数据,同时也要负责对实时时间日期数
据的采集并循环发送实时数据给从机。 基于以上的任务需要,主单片机采用的是 AT89S52,除了单片机最小系统(晶振线路,
复位电路,电源)和外部扩展了 32K RAM 外[9],系统还有以下链接电路: ⑴.通过扩展外存储器方式连接了 DS12887 时钟芯片,负责对时间日期等信息的采集,
LED 点阵显示系统主要有以下功能: 1.时间日期显示功能; 2.上位机软件设计; 3.上位机设置时间、日期、星期功能; 4.上位机读取时间、日期、星期及温度功能; 5.上位机控制 LED 显示功能。
--
2
3
课 程 设 计报 告
下面对各种功能进行详细介绍。 时间日期显示功能分析 该系统具有日期,时间等显示功能,系统具有只显示时间、日期,自动切换显示等模式, 需要上位机控制。时间和日期是由具有内部电池供电的 DS12887 芯片提供。 上位机软件设计介绍 CSerialPort 类是由 Remon Spekreijse 提供的免费串口类[8]。CSerialPort 类是基于多线 程的,其工作流程如下:首先设置好串口参数,再开启串口检测工作线程,串口检测工作 线程检测到串口接收到数据、流控制事件或其他串口事件后,就以消息方式通知主程序, 激发消息处理函数来进行数据处理,这是对接收数据而言,发送数据可以直接向串口发送。 1. 串口初始化函数 InitPort()
相关文档
最新文档