2006年高考重庆卷理科综合试题及参考答案_第1页
2006年高考重庆卷理科综合试题及参考答案_第2页
2006年高考重庆卷理科综合试题及参考答案_第3页
2006年高考重庆卷理科综合试题及参考答案_第4页
2006年高考重庆卷理科综合试题及参考答案_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

0 2012 嵌入式团队学前训练综合设计报告 综合设计报告 基于单片机的数字时钟的设计实现 学院名称计算机科学与技术学院 专业名称计算机 学生姓名赵海强 学号 指导教师 巫明燕 报告成绩 答辩成绩 1 2012 嵌入式团队学前训练综合设计报告 目录目录 第第 1 章章 功能设计功能设计 2 1 1 设计题目功能要求 基本功能以及扩展功能 2 1 2 基本功能 3 1 3 扩展功能 3 第第 2 章章 设计开发平台简介设计开发平台简介 3 2 1 需要硬 软件平台介绍 3 2 2 LCD 模块 4 第第 3 章章 硬件电路设计及实现硬件电路设计及实现 5 3 1 AT89S52 芯片介绍 5 3 2 功能特性描述 5 3 3 存储结构 6 3 4 CS III 相关电路图说明 7 第第 4 章章 软件设计及实现软件设计及实现 8 4 1 模块设计 8 4 2 暂停功能 模块 9 4 3 清零功能 模块 9 4 4 复位功能 模块 10 第第 5 章章 实验结果测试实验结果测试 16 5 1 实验测试 16 第第 6 章章 设计总结设计总结 16 6 1 设计总结 16 2 2012 嵌入式团队学前训练综合设计报告 第第 1 章章 功能设计功能设计 1 11 1 设计题目功能要求 基本功能以及扩展功能 设计题目功能要求 基本功能以及扩展功能 用 AT89S52 芯片设计并实现显示时间的数字时钟 编写一个秒表 或实时时钟 程序 程序开始后 立刻在数码管上显示当前到开始运行时的时间 以 0 01 秒为单位 可以利用扩展显示模块显示 也可以利用板上自带的并行显示模块进行显示 图 1 1 实验原理图 1 2 基本功能基本功能 根据数字时钟的特征 设计时钟具有清零 暂停 复位和闹钟四个功能 1 3 扩展功能扩展功能 按键可以显示日期 分隔符的实现 小时 分钟 秒中间分隔的实现 最初是用 个数组 DisCode 将 1 到 8 数码管显示的数据是 0 9 这样一来 显示时根本就区分 不到 只是人为 根据习惯 知道是从右到左是 0 01 秒 秒 分 小时罢了 因为数 字时钟没有 这样时间的分隔符 所以自己下来结合数字时钟的特点 将原来 DisCode 数组变成两个数组 DisCode DisCode 1 后面的数组用来将 0 01 秒 秒 分 小时分开 好识别 其实就是将数码管的那个点即 h 时钟点亮 这就实现 了 0 01 秒 秒 分 小时分隔的效果即 00 00 00 0000 00 00 00 3 2012 嵌入式团队学前训练综合设计报告 第第 2 章章 设计开发平台简介设计开发平台简介 2 12 1 需要硬 软件平台介绍需要硬 软件平台介绍 CS III 型单片机实验开发设备是由计算机学院独立设计开发 用于 单片机原理 及应用 课程的实验教学 这套设备的设计和开发采用模块化组合设计 可以结合不 同类型的单片机模块进行实验开发 针对课程的教学采用了 ATMEL 公司的 AT89S52 单 片机芯片 同时配合 keil 集成开发环境 支持汇编语言和 C 语言的程序设计 图 1 2 实验开发板功能框图 2 22 2 LCDLCD 模块模块 LCD 驱动方式可利用其内部控制命令完成对LCD 数据的操作 利用单片机端口控 制读写和发送控制命令 4 2012 嵌入式团队学前训练综合设计报告 图 1 3 实验板布局图 第第 3 章章 硬件电路设计及实现硬件电路设计及实现 3 13 1 AT89S52AT89S52 芯片介绍芯片介绍 AT89S52 是一种低功耗 高性能 CMOS8 位微控制器 具有 8K 在系统可编程 Flash 存储器 使用 Atmel 公司高密度非易失性存储器技术制造 与工业 80C51 产品 指令和引脚完全兼容 片上 Flash 允许程序存储器在系统可编程 亦适于常规编程器 在单芯片上 拥有灵巧的 8 位 CPU 和在系统可编程 Flash 使得 AT89S52 为众多嵌入 式控制应用系统提供高灵活 超有效的解决方案 3 23 2 功能特性描述功能特性描述 AT89S52是一种低功耗 高性能CMOS8位微控制器 具有8K 在系统可编程Flash 存 5 2012 嵌入式团队学前训练综合设计报告 储器 使用Atmel 公司高密度非易失性存储器技术制造 与工业80C51 产品指令和引 脚完全兼容 片上Flash允许程序存储器在系统可编程 亦适于常规编程器 在单芯片 上 拥有灵巧的8 位CPU 和在系统可编程Flash 使得AT89S52为众多嵌入式控制应用 系统提供高灵活 超有效的解决方案 AT89S52具有以下标准功能 8k字节Flash 256字节RAM 32 位I O 口线 看门狗 定时器 2 个数据指针 三个16 位定时器 计数器 一个6向量2级中断结构 全双工 串行口 片内晶振及时钟电路 另外 AT89S52 可降至0Hz 静态逻辑操作 支持2种软 件可选择节电模式 空闲模式下 CPU停止工作 允许RAM 定时器 计数器 串口 中 断继续工作 掉电保护方式下 RAM内容被保存 振荡器被冻结 单片机一切工作停止 直到下一个中断或硬件复位为止 引脚图如图3 1所示 图 3 1 引脚结构图 3 3 存储结构存储结构 MCS 51器件有单独的程序存储器和数据存储器 外部程序存储器和数据存储器都 可以64K寻址 程序存储器 如果EA引脚接地 程序读取只从外部存储器开始 对于89S52 如果EA 接VCC 程序读写先从内部存储器 地址为0000H 1FFFH 开始 接着从外部寻址 寻 址地址为 2000H FFFFH 数据存储器 AT89S52 有256 字节片内数据存储器 高128 字节与特殊功能寄存器重 叠 也就是说高128字节与特殊功能寄存器有相同的地址 而物理上是分开的 当一条 指令访问高于7FH 的地址时 寻址方式决定CPU 访问高128 字节RAM 还是特殊功能寄 存器空间 直接寻址方式访问特殊功能寄存器 SFR 6 2012 嵌入式团队学前训练综合设计报告 3 43 4 CS IIICS III 相关电路图说明相关电路图说明 图 3 2 矩阵键盘电路图 图 3 3 八段数码管电路图 7 2012 嵌入式团队学前训练综合设计报告 第第 4 章章 软件设计及实现软件设计及实现 4 14 1 模块设计模块设计 图 4 1 设计模块图 图 4 2 秒表程序主程序流程图 8 2012 嵌入式团队学前训练综合设计报告 图 4 3 定时器中断服务程序流程图 4 24 2 暂停功能 模块 暂停功能 模块 暂停功能的实现 在void Timer0 void interrupt 1中断函数中利用键盘扫描函 数Key Scan 扫描是否有按键按下 若有且规定按下 0 时 实现的是暂停 利用的 原理就是按下 0 键后 直接进入数码管显示函数Led Scan 中显示当前数码管上的 值 再次利用键盘扫描函数Key Scan 当扫描没有再次按下 0 键时 即实现暂 停功能 若在按下 0 键 则结束暂停功能 继续进入中断函数执行后面的函数 4 34 3 清零功能 模块 清零功能 模块 清零功能的实现 在 void Timer0 void interrupt 1 中断函数中利用键盘扫描函 数 Key Scan 扫描是否有按键按下 若有且规定按下 1 时 实现的是清零 利用的 原理就是按下 1 键后 直接进入数码管打印函数 void Led Print long disdata 中 将 disdata 的值赋值为 0 x00 然后进入显示函数 Led Scan 中显示当前数码管上 9 2012 嵌入式团队学前训练综合设计报告 的值 即 8 个数码管全显示为 0 即实现清零功能 4 44 4 复位功能 模块 复位功能 模块 最先复位功能利用在main 函数中的while 1 里利用void Timer0 void interrupt 1中断时间在while中利用扫描键盘函数将 1 键设置为清零 具体实现就 是利用按下 1 键 则跳出while循环 注 其实最初我是打算利用这个想法设计 按下 1 键之间结束程序 即是实现清零功能的 主函数 主函数 void main InitStart 定时 计数方式 0 为 0 x01 初始值为 0 xf05f while 1 定时器初始化函数定时器初始化函数 void InitStart TH0 0 xf0 初始值为 0 xf05f TL0 0 x05f TMOD 0 x01 TR0 0 x01 启动 T0 计数 IE 0 x82 中断允许 时钟中断函数 时钟中断函数 void Timer0 void interrupt 1 uchar key Led Scan Count if Count 0 x05 Count 0 x00 Clock Counter Led Print Clock Exchange 10 2012 嵌入式团队学前训练综合设计报告 key Key Scan if key 0 while Key Scan 0 Led Scan if key 1 while 1 Led Print 0 x00 Led Scan if Key Scan 1 InitStart if key 2 ClockZero if key 3 flag 0 x01 if key 4 flag 0 x00 if key 0 x0f while Key Scan 0 x0f Led Print1 0 x Led Scan if key 0 x10 P3 6 0 Delay 2000 P3 6 1 11 2012 嵌入式团队学前训练综合设计报告 if flag2 0 x01 P3 6 0 Delay 1500 P3 6 1 flag2 0 x00 TH0 0 x0f0 TL0 0 x05f 键盘扫描函数键盘扫描函数 uchar Key Scan uchar keytmp uchar key a 4 uchar key b 0 P2 0 xf0 if P2 0 xf0 Delay 5 P2 0 xf0 if P2 0 xf0 keytmp P2 keytmp if keytmp 0 xf0 return 0 x10 else if P2 7 0 key a 0 else if P2 6 0 key a 1 else if P2 5 0 key a 2 else if P2 4 0 key a 3 P2 0 x0f if P2 0 0 key b 0 12 2012 嵌入式团队学前训练综合设计报告 else if P2 1 0 key b 1 else if P2 2 0 key b 2 else if P2 3 0 key b 3 P2 0 xf0 Delay 5 while P2 0 xf0 P2 0 xf0 Delay 5 return key a 4 key b 数字时钟处理函数数字时钟处理函数 void Clock Counter void timeBuff 7 if timeBuff 7 0 x0a timeBuff 7 0 x00 timeBuff 6 if timeBuff 6 0 x0a timeBuff 6 0 x00 timeBuff 5 if timeBuff 5 0 x0a timeBuff 5 0 x00 timeBuff 4 flag2 0 x01 if timeBuff 4 0 x06 timeBuff 4 0 x00 timeBuff 3 if timeBuff 3 0 x0a timeBuff 3 0 x00 timeBuff 2 if timeBuff 2 0 x06 timeBuff 2 0 x00 timeBuff 1 13 2012 嵌入式团队学前训练综合设计报告 flag2 0 x01 if flag 0 x00 timeBuff 1 0 x00 timeBuff 0 if flag 0 x00 ClockZero if flag 0 x01 timeBuff 1 0 x00 timeBuff 0 if flag 0 x01 timeBuff 0 if timeBuff 0 0 x02 ClockZero P2 2 0 P2 3 0 初始化 P2 值 P2 4 0 P2 0 0 Key x 0 P2 5 0 P2 6 0 P2 7 0 Key Scan 初始化 P2 值 判断 P2 是否 为初始化的值 Key x 1 Key x 2 Key x 3 P2 1 0 N Y N Key y 2 Key y 3 Key y 1 Key y 0 Y N N N Y Y Y 返回键 值 Key x 4 Ke y y 14 2012 嵌入式团队学前训练综合设计报告 图 4 4 键盘

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论