单片机系统课程设计报告范例.doc
《单片机系统课程设计报告范例.doc》由会员分享,可在线阅读,更多相关《单片机系统课程设计报告范例.doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、安徽经济管理学院单片机课程设计报告设计题目: _系 别: _专 业: _班 级: _姓 名: _学 号: _成 绩: _ 年 月 日目 录一、设计任务和性能指标11.1 设计任务11.2 性能指标1二.设计方案1三、系统硬件设计23.1 单片机的最小系统23.2 时钟电路 DS130223.3 显示电路的设计53.4 键盘接口的设计5四、系统软件设计54.1 主程序设计54.2 阴历子程序设计64.3 显示子程序设计6五、调试及性能分析65.1 调试步骤65.2 性能分析7六、心得体会8参考文献10附录 1 系统硬件电路图11附录 2程序清单11一、设计任务和性能指标1.1 设计任务利用单片机
2、及外围接口电路(键盘接口和显示接口电路)设计制作一个日历 时钟,用 LED 把日期时间实时显示出来。要求用 Protel 画出系统的电路原理图(要求以最少组件,实现系统设计所 要求的功能),印刷电路板(要求布局合理,线路清晰),绘出程序流程图,并给 出程序清单(要求思路清晰,尽量简洁,主程序和子程序分开,使程序有较强的 可读性)。1.2 性能指标1. 日历:年(2 位) 、月(2 位) 、日(2 位)2. 时钟:时(2 位) 、分(2 位) 、秒(2 位)3. 星期(1 位)4. 校对键:确认键 、加键、翻屏键5. 阴历日期推算并显示:月(2 位)、日(2 位)、指示阴历闰月(发光二 极管一个
3、)二.设计方案按照系统设计的功能的要求,初步确定设计系统由主控模块、时钟模块、显 示模块、键扫描接口电路共四个模块组成,电路系统构成框图如图 1.1 所示。主 控芯片使用 51 系列 AT89C52 单片机,采用高性能的静态 80C51 设计,由先进工 艺制造,并带有非易失性 Flash 程序存储器。它是一种高性能、低功耗的 8 位 COMS 微处理芯片,市场应用最多。时钟芯片使用美国 DALLAS 公司推出的一种高性能、低功耗、带 RAM 的 实时时钟芯片 DS1302。采用 DS1302 作为主要计时芯片、可以做到计时准确。 更重要的是,DS1302 可以在很小的电流的后备电源(2.55.
4、5V 电源,在2.5V 时 耗电小于 300nA)下继续计时,并可编程选择多种充电电流对后备电源进行慢速 充电,可以保证后备电源基本不耗电。采用串行数据传输,与单片机硬件连接简 单,如果使用时钟芯片 DS12887,将采用并行数据传输,占用更多的硬件资源。 因此为节省单片机端口,时钟芯片采用 DS1302。图 2.1日历时钟显示系统构成框图显示模块采用普通的共阴 LED 数码管,也可采用 LCD 显示,但考虑其造价 较高浪费资源,故使用 LED 显示。键盘采用线性连接,连接方式相对简单,使 用查询法实现调整功能。三、系统硬件设计3.1 单片机的最小系统ATMEL 公司生产的 AT89C52 单
5、片机它是硬件电路的核心部分,时钟电路晶振 使用 11.0592MHz,复位电路采取按键复位方式。具体连接见附录 1。3.2 时钟电路 DS1302A.DS1302 的性能实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行计数 ;用于高速数据暂存的 31*8 位的 RAM;最少引脚的串行 I/O;2.5-5.5V 的电压工作范围;2.5V 时耗电小于 300nA;用于时钟或 RAM 数据读/写的单字节或多字节(脉冲方式)数据传送方式;简单的 3 线接口;可选的慢速充电(至 Vcc1)的能力。DS1302 时钟芯片包括实时时钟/日历和 31 字节的静态 RAM。它经过一个简单的串行接口与微
6、处理器通信。实时时钟/日历提供秒、分、时、日、周、月和年 等信息。对于小于 31 天的月和月末的日期自动进行调整,还包括闰年校正的功 能。时钟的运行可以采用 24h 或带 AM(上午)/PM(下午)的 12h 格式。采用三 线接口与 CPU 进行同步通信,并可采用突发方式一次传送多字节的时钟信号或RAM 数据。DS1302 有主电源和后备电源双电源引脚:Vcc1 在单电源与电池供电的系统中提供低电源,并提供低功率的电池备份;Vcc2 在双电源系统中提供主 电源,在这种运用方式中,Vcc1 连接到备份电源,以便在没有主电源的情况下能保存时间信息以及数据。DS1302由较大者供电。当Vcc2大于V
7、cc1+0.2V 时 ,Vcc2 给 DS1302 供电;当 Vcc2 小于 Vcc1 时,DS1302 由 Vcc1 供电。B.DS1302 数据操作原理DS1302 在任何数据传送时必须先初始化,把 RST 脚置为高电平,然后把 8 位地址和命令字装入移位寄存器,数据在 SCLK 的上升沿被输入。无论是读周期 还是写周期,开始 8 位指定 40 个寄存器中哪个被访问到。在开始 8 个时钟周期, 把命令装入移位寄存器之后,另外的时钟周期在读操作时输出数据,在写操作时写入数据。时钟脉冲在单字节方式下为 8 加 8,在多字节方式下为 8 加字节数, 最大可达 248 个字节数。如果在传送过程中置
8、 RST 脚为低电平,则会中止本次数据传送,并且 I/O引脚变为高阻态。上电运行时,在 Vcc2.5V 之前,RST 脚必须保持低电平.只 有在 SCLK 为低电平时,才能将 RST 置为高电平。DS1302 的引脚及内部结构图如 图 3.1 所示,表 3.1 为各引脚功能。 图 3.1DS1302 引脚及内部结构引脚号引脚名称功能1Vcc2主电源2,3X1,X2振荡源,外接 32.768KHZ 晶振4GND地线5RST复位/片选线6I/O串行数据输入/输出端(双向)7SCLK串行数据输入端8Vcc1后备电源表 3.1DS1302 引脚功能DS1302 与单片机的具体连接见附录 1,它的控制字
9、如图 3.2 所示。控制字 的最高有效位(位 7)必须是逻辑 1;如果为 0,则不能把数据写到 DS1302 中 。 位 6 如果为 0,则表示存取日历时钟数据;为 1 表示存取 RAM 数据。位 5 - 1(A4-A0) 指示操作单元的地址。最低有效位(位 0)如果为 0,表示要进行写操作;为 1 表示要进行读操作。控制字节总是从最低位开始输入/输出。765432101RAM CKA4A3A2A1A0RAM K图 3.2DS1302 的控制字DS1302 共有 12 个寄存器,其中有 7 个寄存器与日历、时钟有关,存放的数 据为 BCD 码形式。其日历、时间寄存器及其控制字见表 2.2,其中
10、奇数为读操作 , 偶数为写操作。DS1302 的晶振选用 32.768KHz。3.3 显示电路的设计显示部分采用普通的共阴数码管显示,使用动态扫描,以便减少硬件电路。 考虑到一次扫描 7 位数码管显示时会出现闪烁情况,设计时采用多次调用显示子 程序解决这个问题。驱动数码管的芯片采用驱动能力较强的 74HC373,使用单片 机的 P0 口作为并行输出,74HC373 是高电平锁存,用 P1.4 口作为 74HC373 时钟 控制端口,即置1控制端。由于数码管采用共阴接法,使用 P2.0 口-P2.6 口 作为数码管的位选,同时加入 74LS04 作为反向驱动。74HC373 在得到高电平后, 将
11、 8 位数据锁存,并行输出送至数码管各段选控制口。由于 P0 口内部无上拉电阻,因此需要采用外接上拉电阻的方法,以提高带 负载能力,同时还使用发光二极管来指示阴历的闰月。具体连接见附录 1。3.4 键盘接口的设计键盘只有 4 个,其中 1 个用于单片机上电复位,其余三个用普通按键接 10K 上拉电阻,分别控制移位(对应硬件电路图中的 S4 键,)、翻屏(对应硬件电 路图中的 S3)、加一键(对应硬件电路图中的 S2),使用查询法来完成读键功能 。其具体连接见附录 1。四、系统软件设计4.1 主程序设计因为使用了时钟芯片 DS1302,阳历只需从 DS1302 各寄存器中读出年、周、 月、日、时
12、、分、秒等数据,再经处理即可。在首次对 DS1302 进行操作之前, 必须对它进行初始化,然后从 DS1302 中读出数据,再经过处理后,送给显示缓 冲单元。然后调用阴历更新程序,根据阳历日期推算出阴历日期。在调用更新阴历程序后,要读取键值。此时如果控制键有效,则进入时间调 整部分。调整时间用 3 个调整按键,1 个作为移位、控制用,1 个定义为控制按 键,用于翻屏,另外 1 个按键用作加 1 键。在调整时间过程中,要调整的位与未 调整位应有所区别,所以增加了闪烁功能,即调整的位一直在闪烁,直到调整下 一位。闪烁的原理就是,让调整的一位每隔一定时间熄灭一次,利用计数器 0, 方式 1,初值设为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 系统 课程设计 报告 范例
限制150内