基于51单片机的开发板设计毕业论文_第1页
基于51单片机的开发板设计毕业论文_第2页
基于51单片机的开发板设计毕业论文_第3页
基于51单片机的开发板设计毕业论文_第4页
基于51单片机的开发板设计毕业论文_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

1、西安邮电学院西安邮电学院 毕毕 业业 设设 计(论计(论 文)文)题 目: 基于 51 单片机的开发板设计 院 (系): 专 业: 班 级: 学生姓名: 导师姓名: 职称: 西西 安安 邮邮 电电 学学 院院毕业设计毕业设计( (论文论文) )任务书任务书学生姓名学生姓名指导教师指导教师职称职称院(系)院(系)专业专业题目题目S51 开发板的设计 任务与要求任务与要求一、任务一、任务C51 系列单片机已趋淘汰,S51 单片机除兼容 C51 外,还具有 ISP 在线编、高工作频率、全新的加密算法等特点。本次任务将基于 S51 设计制造一个开发板及下载器,它将具有一般开发板通用结构,并基此硬件进行

2、相关软件设计。二、要求:二、要求:1、 熟悉 S51 单片机及其 Keil C 设计软件的使用。2、 完成硬件电路设计,应包括流水灯单元、独立按键单元、矩阵键盘单元、液晶单元(包括 1602、12864) 、控制器单元、AD 单元、RS232及 RS485 通信单元等;3、 完成软件设计,主要包括各功能单元的验证程序开发;4、 完成开发板功能验证。开始日期开始日期2010 年 3 月 8 日完成日期完成日期2010 年 6 月 20 日院长签字院长签字2010年1月8日西西 安安 邮邮 电电 学学 院院毕毕 业业 设设 计计 ( (论文论文) ) 工工 作作 计计 划划 学生姓名学生姓名 _

3、指导教师指导教师_职称职称 _ _院(系)院(系)_ _专业专业 _ _ 题目题目 S51 开发板的设计 工作进程工作进程第一周 至第二周 查找 S51 单片机资料,确定软硬件设计总体方案。 第三周至第五周 使用 Protel 软件,确定单片机外围电路的各功能模块硬件设计。 第六周至第八周 使用 Keil C 设计软件,对各个功能模块进行软件设计。 第九周至第十二周 利用 Proteus 进行软件仿真,对功能模块进行仿真验证,仿真验证合格后进行 PCB 加工,焊接元器件,制作出 S51 开发板及下载器,并对开发板和下载器功能进行最后验证,保证功能全部能够实现。 第十三周至第十四周 撰写毕业论文

4、,准备答辩。起 止 时 间工 作 内 容主要参考书目(资料) 相关论文(电子版) ;新概念 51 单片机 C 语言教程 ;新编 MCS-51 单片机应用设计 ;51 单片机 C 语言应用程序设计实例精讲 ;及相关网站 http:/计算机、S51 控制器及外围元件、相关传感器、配套软件除每周定时具体指导外,学生有问题也可随时联系指导。如有特殊原因可是当调整,否则按计划执行。主要参考书目(资料)主要仪器设备及材料论文(设计)过程中教师的指导安排对计划的说明1本课题所涉及的问题及应用现状综述由于具有低成本、小体积、高可靠性、具有高附加值、通过更改软件就可以改变控制对象等优点,单片机越来越成为电子工程

5、师设计产品时的首选器件之一。过去一个复杂电路才能实现的功能,现在用一个纯单片机芯片就能完成。单片机控制系统正以空前的速度取代着经典电子控制系统,单片机的应用开发技术已成为大学生的必备技能。因此拥有一块单片机开发板对大学生的单片机学习具有着极其重要的意义。但是单片机学习效果的优劣直接取决于单片机的选择,传统的 C51 系列单片机内部具有 128 字节 RAM、5 个中断源、32 条 I/O 口线、2 个 16 位定时器、4KB 的程序存储器、一个全双工异步串行口。对 C51 系列单片机的程序烧写要依靠单独的烧写器,烧写器的价格不但昂贵,而且不方便初学者操作。为了节约成本、只需简洁操作即可烧写单片

6、机,本开发板选择具有 ISP 在线编程功能的 S51 单片机,该单片机不需要烧写器,可在开发板上 ISP 在线编程,具有广泛的应用前景。S51 单片机除兼容 C51 单片机外,还具有工作频率 0 至 33MHz 的高工作频率;三级程序加密锁定的全新加密算法;4KB 可编程快闪存储器可重复擦写 1000 次,数据保存达十年以上等特点。可以满足绝大多数的实际应用开发需求,在开发板上使用十分方便。设计基于 S51 单片机的开发板,具有一般开发板通用结构,并基于硬件进行相关软件设计。利用 C 语言开发程序并实现 ISP 在线下载到单片机,将二者有机的结合,发挥各自的优势。采用 C 语言进行设计不必对单

7、片机和硬件的接口结构有很深入的了解,编译器可以自动完成变量存储单元的分配,编程者只需专注于软件的设计,大大加快了软件的开发速度;C 语言模块化程序结构特点,可以使程序模块共享、丰富;C 语言可读性强的特点,可以使大家更容易的借鉴前人的开发经验,提高自己的软件设计水平。ISP 在线下载程序,加快了程序设计者调试的进度,能使设计者所设计的程序尽快得到验证。2本课题需要重点研究的关键问题、解决的思路及实现预期目标的可行性分析本课题需要重点研究得关键问题及解决思路主要有: (1)研究单片机内部结构及特点,存储器组织及外部接口,中断及串口功能,功能寄存器的相关配置,确定软硬件设计总体方案;解决思路就是搜

8、集单片机相关资料,并加以仔细的研究,并学习科学的方案设计及评估。(2)研究设计单片的最小系统及外围电路,在 Protel 中进行电路的设计;解决思路是查阅资料,在 Protel 中对单片机的各个功能模块进行外部电路的设计,在实现各个模块的功能的前提下充分合理利用单片机的内部资源和外围接口,以求最大限度的发挥单片机的功能。(3)研究设计单片机各个外围功能模块的驱动软件;解决思路是学会使用 Keil C 进行编辑、编译及仿真调试,实现对单片机进行 C 语言开发。(4)对开发板的功能进行仿真验证;以 Proteus 为平台,对单片机外围各个功能模块进行软件仿真验证功能。(5)板上资源的硬件实现及下载

9、器的制作。 对软硬件设计仿真验证功能无误后,将 Protel 绘制的 PCB 进行加工、焊接元器件,制作出 S51 开发板及下载器。(6)开发板功能验证。对单片机烧写相应的模块程序,验证功能是否能够实现。此次毕设的预期目的如下:(1)掌握单片机的相关理论知识;学习单片机相关寄存器的配置,为学习其他 MCU 打下基础;学习系统科学的方案设计方法。(2)掌握硬件设计和软件设计的基本知识,学会使用基本的设计软件,依据总体的设计方案对单片机进行软硬件开发。(3)撰写毕业论文。由于掌握知识的局限性,对本次毕业设计还需要学习很多软硬件相关知识,相信在自己查找资料认真学习以及老师的指导下,能够顺利完成这次的

10、任务。3完成本课题的工作方案 完成本课题,我拟定的工作方案如下:第一周 至 第二周 查找 S51 单片机资料,确定软硬件设计总体方案第三周 至 第五周 使用 Protel 软件,确定单片机外围电路的各功能模块硬件设计 第六周 至 第八周 使用 Keil C 设计软件,对各个功能模块进行软件设计第九周日至第十二周 利用 Proteus 进行软件仿真,对功能模块进行仿真验证,仿真验证合格后进行 PCB 加工,焊接元器件,制作出 S51 开发板及下载器,并对开发板和下载器功能进行最后验证,保证功能全部能够实现。第十三周至第十四周 撰写毕业论文,做 PPT,准备答辩4指导教师审阅意见指导教师指导教师(

11、签字): 年 月 日说明:本报告必须由承担毕业论文(设计)课题任务的学生在毕业论文(设计) 正式开始的第 1 周周五之前独立撰写完成,并交指导教师审阅。西西安安邮邮电电学学院院毕毕业业设设计计 (论论文文)成成绩绩评评定定表表学生姓名性别学号专 业班 级课题名称S51 开发板的设计课题类型硬件设计难度一般毕业设计(论文)时间2009 年年 3 月月 8 日日6 月月 20 日日 指导教师课题任务完成情况论 文 (千字); 设计、计算说 明书 (千字); 图纸 (张);其它 (含附 件):指导教师意见 分项得分:开题调研论证 分; 课题质量(论文内容) 分; 创新 分;论文撰写(规范) 分; 学

12、习态度 分; 外文翻译 分指导教师审阅成绩: 指导教师(签字): 年 月 日评阅教师意见分项得分:选题 分; 开题调研论证 分; 课题质量(论文内容) 分; 创新 分;论文撰写(规范) 分; 外文翻译 分评阅成绩: 评阅教师(签字): 年 月 日验 收 小 组 意见 分项得分:准备情况 分; 毕业设计(论文)质量 分; (操作)回答问题 分验收成绩: 验收教师(组长)(签字): 年 月 日答辩小组意见 分项得分:准备情况 分; 陈述情况 分; 回答问题 分; 仪表 分答辩成绩: 答辩小组组长(签字): 年 月 日成绩计算方法(填写本系实用比例)指导教师成绩指导教师成绩 20 () 评阅成绩评阅

13、成绩 30 () 验收成绩验收成绩 30 () 答辩成绩答辩成绩 20 ()学生实得成绩(百分制)指导教师成绩指导教师成绩 评阅成绩评阅成绩 验收成绩验收成绩 答辩成绩答辩成绩 总评总评 答辩委员会意见 毕业论文(设计)总评成绩(等级): 院(系)答辩委员会主任(签字): 院(系)(签章) 年 月 日备注西安邮电学院毕业论文(设计)成绩评定表(续表)S51 开发板的设计目录摘摘 要要 .IABSTRACTABSTRACT .II1 1 引言引言 .12 2 系统方案系统方案 .22.1 总体设计方案 .22.2 设计原则 .23 3 硬件部分硬件部分 .33.1 硬件结构框图 .33.2 硬件

14、电路设计 .43.2.1 S51 单片机主控制模块 .43.2.2 键盘模块.43.2.3 AD 模块.53.2.4 DA 模块.63.2.5 DS1302 时钟模块.73.2.6 测温模块.93.2.7 串行通信模块.103.2.8 显示模块.123.2.9 下载器模块.163.2.10 其他模块.174 4 软件部分软件部分 .194.1 整体程序设计 .194.2 分模块程序设计 .194.2.1 键盘模块程序设计.194.2.2 AD 模块程序设计.204.2.3 DA 模块程序设计.224.2.4 DS1302 时钟模块程序设计.234.2.5 测温模块程序设计.254.2.6 串行

15、通信模块程序设计.284.2.7 显示模块程序设计.304.2.8 其他模块.385 5 开发板设计及测试开发板设计及测试 .41S51 开发板的设计5.1 开发板 PCB 设计 .415.2 开发板测试 .416 6 结论结论 .43致谢致谢 .44参考文献参考文献 .45附录附录 .46附录 1 键盘模块部分程序 .46附录 2 AD 模块部分程序 .46附录 3 DA 模块部分程序 .48附录 4 DS1302 时钟模块部分程序 .48附录 5 测温模块部分程序 .51附录 6 单片机通过 MAX485 与 PC 机通讯程序 .52附录 7 LCD1602 显示模块部分程序 .53附录

16、8 开发板整观图 .55附录 9 下载器整观图 .55S51 开发板的设计I摘 要设计一种基于 S51 单片机的开发板,该开发板具有成本低、体积小、可靠性高、功能齐全、低功耗设计、操作方便等特点。本论文详细介绍了该开发板的开发过程及相关硬件结构和软件设计。开发板以 ATMEL 公司的 AT89S51 单片机为核心控制器,板上资源主要包括数据采集处理模块、DS1302 时钟模块、通信模块、液晶显示模块、键盘模块等。针对各个硬件模块开发了相应的软件模块,包括各个控制驱动程序、AD/DA 程序、RS232/ RS485 通信程序、液晶显示程序等。开发板可以作为主控制模块安装于控制系统中执行控制任务,

17、也可以用作实验板,完成单片机各类通用实验,操作简单,控制结果可见,性价比高,可以应用于高校、科研院所的实验室等场合,具有一定的实用价值和现实意义。关键词关键词:S51 DS1302 通信 液晶显示 键盘 S51 开发板的设计IIAbstractDesign a development board based on S51 MCU,the board has characteristics of low cost, small size, high reliability, full-featured, low-power design and easy to operate. This pap

18、er introduces the development process of the development board and related hardware and software design. Development board using AT89S51 of ATMEL Corporation as core controller, resources on-board include data acquisition and processing module, DS1302 clock module, communication module, LCD module a

19、nd keyboard module. Design software module corresponding to each hardware module, including the driver and control programs, AD/DA programs, RS232/RS485 communication programs, liquid crystal display programs and so on. Development board can be used as the main control module installed in the contro

20、l system to perform control tasks, also can be used as experimental board, complete all kinds of universal experiments of MCU, operated simply, control results can be seen,high cost performance, can be applied to universities, research institutes, laboratories and so on, has some practical value and

21、 practical significance. Key words: S51 DS1302 communication LCD keypadS51 开发板的设计11 引言单片机具有成本低、体积小、可靠性高、具有高附加值、通过更改软件就可以改变控制对象等优点,单片机越来越成为电子工程师设计产品时的首选器件之一。因此拥有一块单片机开发板对单片机学习具有着极其重要的意义。但是单片机学习效果的优劣直接取决于单片机的选择,C51 系列单片机内部具有 128 字节 RAM、5个中断源、32 条 I/O 口线、2 个 16 位定时器、4KB 的程序存储器、一个全双工异步串行口。本开发板选择具有 ISP 在

22、线编程功能的 S51 单片机,该单片机不需要烧写器,可在开发板上 ISP 在线编程,具有广泛的应用前景。S51 单片机除兼容 C51 单片机外,还具有工作频率 0 至 33MHz 的高工作频率;可以满足绝大多数的实际应用开发需求,在开发板上使用十分方便。本课题设计的 S51 单片机开发板,具有一般开发板通用结构,并基于硬件进行相关软件设计。利用程序开发语言开发程序并实现 ISP 在线下载到单片机,无需配置单独的下载器。单片机使用 ISP 在线下载程序,加快了程序设计者调试的进度,使设计者所设计的程序尽快得到验证。通过对开发板上的模块进行实验,可以提高针对不同硬件进行编程的能力,同时通过实验现象

23、对所用的硬件也有了更深一步的认识,因此该开发板具有一定的实用价值和现实意义。S51 开发板的设计22 系统方案2.1 总体设计方案本开发板共分为十四个模块,分别是:S51 单片机主控制器模块、键盘模块、AD 模块、DA 模块、DS1302 时钟模块、测温模块、MAX232 模块、MAX485 模块、数码管模块、LCD1602 模块、LCD12864 模块、下载器模块、流水灯模块、蜂鸣器模块。其中以 S51 单片机作为核心控制器;键盘模块用来向单片机输入特定编码的信息;AD 模块用来实现模数转换;DA 模块用来实现 DA 转换;DS1302 时钟模块用来实现实时时钟;测温模块用来测量环境温度;R

24、S232 模块和 RS485 模块通过电平转换实现通信;数码管模块用来显示简单的数字、字母;LCD1602 模块用来显示字母、数字、符号;LCD12864 模块用来显示图像、符号、汉字;下载器模块用来实现 S51 单片机的 ISP 在线编程;流水灯模块用来显示单片机 I/O 口电平的变化;蜂鸣器模块用来发出声音。2.2 设计原则开发板系统的扩展和配置应遵循以下设计原则: (1)尽可能选择典型电路,并符合单片机常规用法。为硬件系统的标准化、模块化打下良好的基础;(2)系统扩展与外围设备的配置水平应充分满足应用系统的功能要求,并留有适当余地,以便进行二次开发; (3)硬件结构应结合应用软件方案一并

25、考虑。硬件结构与软件方案会产生相互影响,考虑的原则是:软件能实现的功能尽可能由软件实现,以简化硬件结构。但必须注意,由软件实现的硬件功能,一般响应时间比硬件实现长,且占用 CPU 时间;(4)系统中的相关器件要尽可能做到性能匹配。如选用 CMOS 芯片单片机构成低功耗系统时,系统中所有芯片都应尽可能选择低功耗产品; (5)可靠性及抗干扰设计是硬件设计必不可少的一部分,它包括芯片、器件选择、去耦滤波、印刷电路板布线、通道隔离等;(6)单片机外围电路较多时,必须考虑其驱动能力。驱动能力不足时,系统工作不可靠,可通过增设线驱动器增强驱动能力或减少芯片功耗来降低总线负载; (7)尽量朝“单片”方向设计

26、硬件系统。系统器件越多,器件之间相互干扰也越强,功耗也增大,也不可避免地降低了系统的稳定性。S51 开发板的设计33 硬件部分3.1 硬件结构框图总体硬件结构主要包括:S51 单片机主控制器模块、键盘模块、AD 模块、DA模块、DS1302 时钟模块、测温模块、MAX232 模块、MAX485 模块、数码管模块、LCD1602 模块、LCD12864 模块、下载器模块、流水灯模块、蜂鸣器模块。硬件结构框图如图 3-1 所示: S51 单片机主控制模块DA 模块流水灯模块蜂鸣器模块AD 模块数码管模块LCD12864 模块LCD1602 模块MAX485 模块MAX232 模块下载器模块键盘模块

27、DS1302 实时时钟模块测温模块图 3-1 总体硬件结构框图S51 开发板的设计43.2 硬件电路设计3.2.1 S51 单片机主控制模块S51 单片机最小系统包括:MCU、复位电路、晶振电路。原理图如图 3-2 所示: 图 3-2 S51 单片机主控制模块原理图 采用按键复位方式,选取晶振为 12MHZ,系统机器周期为 1us。3.2.2 键盘模块在键盘中按键数量较多时,为了减少 I/O 口的占用,通常将按键排列成矩阵形式,如图 3-3 所示:图 3-3 键盘模块原理图S51 开发板的设计5JP7 用来连接 P2 口与矩阵键盘模块,在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是

28、通过一个按键加以连接。这样,一个端口(如 P2 口)就可以构成 4*4=16 个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成 20 键的键盘,而直接用端口线则只能多出一键(9 键) ,在需要的按键数较多时,采用矩阵法来做键盘是合理的。3.2.3 AD 模块a ADC0832 简介A/D 转换在单片机接口中应用广泛,串行 A/D 转换器具有功耗低、性价比较高、芯片引脚少等特点。ADC0832 是 NS(National Semiconductor)公司生产的具有Microwire/Plus 串行接口的 8 位 A/D 转换器,通过三线接口与单片机

29、连接,适宜在袖珍式智能仪器中使用。主要性能指标有:功耗低,只有 15mW;8 位分辨率,逐次逼近型,基准电压为 5V;输入模拟信号电压范围为 05V;输入和输出电平与TTL 和 CMOS 兼容;在 250kHz 时钟频率时,转换时间为 32us;具有两个可供选择的模拟输入通道。ADC0832 有 DIP 和 SOIC 两种封装,DIP 封装的,ADC0832 引脚排列如图 3-4所示:图 3-4 ADC0832 引脚图各引脚说明如下:CS片选端,低电平有效;CH0,CH1两路模拟信号输入端;D I两路模拟输入选择输入端;DO模数转换结果串行输出端;CLK串行时钟输入端;VCC /REF正电源端

30、和基准电压输入端;GND电源地。ADC0832工作时,模拟通道的选择及单端输入和差分输入的选择,都取决于输S51 开发板的设计6入时序的配置位。当差分输入时,要分配输入通道的极性,两个输入通道的任何一个通道都可作为正极或负极。b 硬件实现AD 模块的原理图如图 3-5 所示:图 3-5 AD 模块原理图单片机与 ADC0832 通过 P2.5、P2.6、P2.7 相连,分别为时钟信号线、数据输出信号线、片选信号线。开发板可外接模拟信号,也可由电位器 R7、R8 将+5V 分压后提供两路模拟信号。 3.2.4 DA 模块a TLC5615 简介 TLC5615 为美国德州仪器公司 1999 年推

31、出的产品,是具有串行接口的数模转换器,其输出为电压型,最大输出电压是基准电压值的两倍。带有上电复位功能,即把 DAC 寄存器复位至全零。TLC5615 性能价格比高,目前在国内市场很方便购买。主要性能指标有:10 位 CMOS 电压输出;5V 单电源供电;与 CPU 三线串行接口;最大输出电压可达基准电压的二倍;输出电压具有和基准电压相同极性;建立时间 12.5s;内部上电复位;低功耗,最大仅 1.75mW。 TLC5615 有小型和塑料 DIP 封装,DIP 封装的 TLC5615 芯片引脚排列如图 3-6所示: S51 开发板的设计7图 3-6 TLC5615 引脚排列图引脚功能说明如下:

32、 DIN串行数据输入端; SCLK串行时钟输入端; CS芯片选用通端,低电平有效; DOUT用于级联时的串行数据输出端; AGND模拟地; REFIN基准电压输入端; OUTDAC 模拟电压输出端; VDD正电源端。 b 硬件实现DA 模块的原理图如图 3-7 所示:图 3-7 DA 模块原理图单片机与 TLC5615 通过 P2.0、P2.1、P2.2 相连,分别为片选信号线、时钟信号线、数据输入信号线。TLC5615 转换后的模拟信号通过 OUT 端输出。3.2.5 DS1302 时钟模块a DS1302 简介DS1302 是美国 DALLAS 公司推出的一种高性能、低功耗、带 RAM 的

33、实时时钟芯片,它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达 2.55.5V。采用三线接口与 MCU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或 RAM 数据。DS1302 内部有一个 31*8 的用于临时S51 开发板的设计8性存放数据的 RAM 寄存器。主要性能指标有:31 字节带后备电池的 RAM 用于数据存储;串行 I/O 口,管脚数量少;宽范围工作电压:2.05.5V;工作电压 2.0V 时,电流小于 300nA;读/写时钟或 RAM 数据时有两种传送方式单字节传送和突发模式传送;8 脚 DIP 封装或其他可选封装方式;简单的 3 线接

34、口;与 TTL 兼容(Vcc = 5V);可选工业级温度范围:- 40+ 85;与 DS1202 兼容。DS1302 的引脚如图 3-8 所示: 图3-8 DS1302引脚图Vcc1 为后备电源,Vcc2 为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302 由 Vcc1 或 Vcc2 两者中的较大者供电。当 Vcc2 高于 Vcc1 + 0. 2V 时,Vcc2 给 DS1302 供电。当 Vcc2 低于 Vcc1 时,DS1302 由 Vcc1 供电。X1、X2 为振荡源,外接 32. 768 kHz 晶振。I/O 为串行数据输入/输出端(双向),SCL K 为时钟输入端。

35、RST 是复位片选线,通过把 RST 输入驱动置为高电平来启动所有的数据传送。RST 输入有两种功能:RST 接通控制逻辑,允许地址/命令序列送入移位寄存器;RST 提供了终止单字节或多字节数据的传送手段。当 RST 为高电平时,所有的数据传送被初始化,允许 DS1302 进行操作。如果在传送过程中置 RST 为低电平,则会终止此次数据传送,并且 I/ O 引脚变为高阻态。上电运行时,在 Vcc 高于 2. 5V 之前,RST 必须保持低电平。只有在 SCL K 为低电平时,才能将 RST 置为高电平。b 硬件实现DS1302 时钟模块的原理图如图 3-9 所示:S51 开发板的设计9图 3-

36、9 DS1302 时钟原理图单片机与 DS1302 通过 P3.5、P3.6、P3.7 相连,分别为时钟信号线、输入输出线、复位信号线。DS1302 的晶振引脚连接 32768HZ 的晶振。3.2.6 测温模块a DS18B20 简介DS18B20 是DALLAS 半导体公司生产的,是一种单总线温度传感器,属于新一代适配微处理器的智能温度传感器,有两种封装形式分别为3脚PR-35封装和16脚SSOP封装。本文采用的是3脚PR-35封装,其具有以下特点:采用了单总线技术,传感器直接以二进制输出被测温度,可通过串行口线,也可与单机通过I/O 口连接;测量温度范围为:- 55+125,测量精度高达+

37、0.5;内含寄生电源,在两线方式下可通过数据线提供寄生电源,而不需要再单独供电;转换时间在分辨率为12位(即0.0625)时最大为750ms;用户可分别对每个器件设定温度上下限;DS18B20 在使用时不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内;电源极性接反时,芯片不会因发热而烧毁,但不能正常工作;每个DSl8B20 器件对应一个唯一的64 位长的序号,该序号值存放ROM中,可通过序号匹配实现多点测温。引脚排列如图3-10所示: VDD:接电源引脚,电源供电3.05.5V;DQ:数据的输入和输出引脚;GND:接地图 3-10 DS18B20 引脚图S51 开发板

38、的设计10b 硬件实现DS18b20温度传感器模块的原理图如图3-11所示:图 3-11 DS18b20 温度传感器模块原理图单片机与 DS18B20 通过 P3.7 相连,作为数据/控制信号线。3.2.7 串行通信模块a RS232 串行通信模块RS232 是由电子工业协会(Electronic Industries Association,EIA) 所制定的异步传输标准接口。对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。RS232 与 TTL 电路之间需要进行电平和逻辑关系的变换。实现这种变换的方法可用分立元件,也可用集成电路芯片。MAX232 芯片可完成T

39、TLRS232 双向电平转换。MAX232 芯片是 RS232 标准接口芯片,使用+5v 单电源供电。是 PC 机与单片机串口进行通讯的电平转换芯片。内部结构基本可分三个部分:第一部分是电荷泵电路。由 1、2、3、4、5、6 脚和 4 只电容构成。功能是产生+12v 和-12v 两个电源,提供给 RS232 串口电平的需要。第二部分是数据转换通道。由 7、8、9、10、11、12、13、14 脚构成两个数据通道。其中 13 脚(R1IN) 、12 脚(R1OUT) 、11 脚(T1IN) 、14 脚(T1OUT)为第一数据通道。8 脚(R2IN) 、9 脚(R2OUT) 、10 脚(T2IN)

40、 、7 脚(T2OUT)为第二数据通道。TTL/CMOS 数据从 T1IN、T2IN 输入转换成RS232 数据从 T1OUT、T2OUT 送到电脑 DP9 插头;DP9 插头的 RS232 数据从R1IN、R2IN 输入转换成 TTL/CMOS 数据后从 R1OUT、R2OUT 输出。第三部分是供电。15 脚 DNG、16 脚 VCC(+5V) 。MAX232 模块的原理图如图 3-12 所示:S51 开发板的设计11图 3-12 MAX232 模块的原理图单片机与 MAX232 通过 P3.0、P3.1 相连,分别为发送线、接收线,另外单片机要与 MAX232 共地。b RS485 串行通

41、信模块RS232 由于传输速率慢,传输距离短,传输信号易受外界的干扰等缺点。新的串行通讯接口标准 RS-449 被制定出来,与之相对应的是 RS-485 的电气标准。RS-485 是美国电气工业联合会(EIA)制定的利用平衡双绞线作传输线的多点通讯标准。它采用差分信号进行传输;最大传输距离可以达到 1.2 km;最大可连接 32 个驱动器和收发器;接收器最小灵敏度可达200 mV;最大传输速率可达 2.5 Mb/s。由此可见,RS-485 协议正是针对远距离、高灵敏度、多点通讯制定的标准。MAX485 的引脚和结构如下图 3-13 所示:图 3-13 MAX485 的引脚和结构该芯片采用单一电

42、源+5 V 工作,额定电流为 300 A,采用半双工通讯方式。它完成将 TTL 电平转换为 RS-485 电平的功能。MAX485 芯片的结构和引脚都非常简单,内部含有一个驱动器和接收器。RO 和 DI 端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的 RXD 和 TXD 相连即可;/RE 和 DE 端分别为接收和发送的使能端,当/RE 为逻辑 0 时,器件处于接收状态;当 DE 为逻辑 1 时,器件处于发送状态,因为 MAX485 工作在半双工状态,S51 开发板的设计12所以只需用单片机的一个管脚控制这两个引脚即可;A 端和 B 端分别为接收和发送的差分信号端,当 A

43、 引脚的电平高于 B 时,代表发送的数据为 1;当 A 的电平低于 B 端时,代表发送的数据为 0。在与单片机连接时接线非常简单。只需要一个信号控制 MAX485 的接收和发送即可。同时将 A 和 B 端之间加匹配电阻,一般可选 100 的电阻。MAX485 模块的原理图如图 3-14 所示:图 3-14 MAX485 模块原理图单片机与 MAX485 通过 P3.0、P3.1、P3.2 相连,分别为接收输出线、发送输入线、发送/接收使能信号线。3.2.8 显示模块a 数码管模块(1) 数码管驱动采用 8 位数据缓冲器 74HC573,其功能表如下表 3-1 所示:表 3-1 74HC573

44、功能表INPUTOUTPUTSOPERATINGMODESOELEDNINTERNALLATCHESQ0 to Q7LHLLLenable and read registerLHHHHLLILLLatch and read registerLLhHHHLILZLatch register and disable outputsHLhHZ注意:H=高电平S51 开发板的设计13h=要保持高电平到低电平转变时一个建立周期以上的高电平L=低电平I=要保持高电平到低电平转变时一个建立周期以上的低电平Z=高组态 选用 74HC573 增强驱动能力,提高数码管显示亮度。A-DP 对应八段数码管的各段,当

45、A-DP 中有低电平输出时,被低电平片选中的数码管的相应段点亮。(2) 硬件实现:数码管模块的原理图如图 3-15 所示:图 3-15 数码管模块原理图单片机与 74HC573 通过 P0.0、P0.1、P0.2、P0.3、P0.4、P0.5、P0.6、P0.7相连,作为段码信号线;与 74HC138 通过 P1.0、P1.1、P1.2 相连,作为片选信号线。b LCD1602 模块 (1) LCD1602 简介:LCD1602 点阵字符液晶模块是由点阵字符液晶显示器件和专用的行列驱动器,控制器及必要的连接件,结构件装配而成,可以显示数字和英文字符。LCD1602 采用标准的 14 脚(无背光

46、)或 16 脚(带背光)接口,各引脚接口说明如表 3-2 所示:表 3-2 LCD1602 引脚接口图编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据S51 开发板的设计142VDD电源正极10D3数据3VL液晶显示偏压11D4数据S51 开发板的设计15续表 3-2 LCD1602 引脚接口图4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极(2) 硬件实现:LCD1602 模块的原理图如图 3-16 所示:图 3-16 LCD1602 模块原理图单片机与 LCD1602 通过P0.0、P

47、0.1、P0.2、P0.3、P0.4、P0.5、P0.6、P0.7、P1.0、P1.1、P1.2 相连,P0.0P0.7 为数据线,P1.0、P1.1、P1.2 为控制线。c LCD12864 模块 (1) LCD12864 简介:LCD12864 汉字图形点阵液晶显示模块可以显示汉字、图形、ASC码和自定义字形,内置 8192 个 16*16 的中文汉字、128 个 8*16 字符、以及 64*256点阵显示 RAM,控制器为 ST7920,具有串/并接口方式,其内部含有中文字库,LCD12864 显示屏为 128*64 点阵,可显示 4 行,每行 8 个字,模块内含有多种软件功能:光标显示

48、、画面移位、自定义字符、反白、清除、关闭显示和睡眠模式等,可方便地对模块进行控制。模块内置升压电路,无需负压,配置 LED背光。3V 低电平工作时,只需一个 20K 的电阻与 Vo 的地相接。适用于3.3V5V 宽范围工作电压的系统。S51 开发板的设计16RS,R/W 的配合决定的 4 种模式见表 3-3:表 3-3 RS,R/W 决定的控制模式RSR/W功能说明LLMPU 写指令到指令暂存器(IR)LH读出忙标志(BF)及地址记数器(AC)的状态HLMPU 写入数据到数据暂存器(DR)HHMPU 从数据暂存器(DR)中读出数据E 信号的状态产生的动作见表 3-4:表 3-4 E 信号的状态

49、产生的动作E 状态执行动作结果高低I/O 缓冲DR配合/W 进行写数据或指令高DRI/O 缓冲配合 R 进行读数据或指令低/低高无动作 LCD12864 的并行接口见表 3-5:表 3-5 LCD12864 的并行接口管脚号 管脚名称 电平管脚功能描述1VSS0V电源地2VCC3.0+5V电源正3V0-对比度(亮度)调整4RS(CS)H/LRS=“H” ,表示 DB7DB0 为显示数据RS=“L” ,表示 DB7DB0 为显示指令数据5R/W(SID)H/LR/W=“H” ,E=“H” ,数据被读到 DB7DB0R/W=“L” ,E=“HL” , DB7DB0 的数据被写到 IR 或 DR6E

50、(SCLK)H/L使能信号7DB0H/L三态数据线8DB1H/L三态数据线9DB2H/L三态数据线10DB3H/L三态数据线11DB4H/L三态数据线12DB5H/L三态数据线13DB6H/L三态数据线14DB7H/L三态数据线15PSBH/LH:8 位或 4 位并口方式,L:串口方式(见注释 1)16NC-空脚17/RESETH/L复位端,低电平有效(见注释 2)18VOUT-LCD 驱动电压输出端19AVDD背光源正端(+5V) (见注释 3)20KVSS背光源负端(见注释 3)*注释 1:如在实际应用中仅使用并口通讯模式,可将 PSB 接固定高电平,也可S51 开发板的设计17以将模块上

51、的 J8 和“VCC”用焊锡短接。*注释 2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。 *注释 3:如背光和模块共用一个电源,可以将模块上的 JA、JK 用焊锡短接。 (2) 硬件实现:开发板上 LCD12864 模块的原理图如图 3-17 所示:图 3-17 LCD12864 模块原理图单片机与 LCD12864 通过P0.0、P0.1、P0.2、P0.3、P0.4、P0.5、P0.6、P0.7、P1.0、P1.1、P1.2 相连,P0.0P0.7 为数据线,P1.0、P1.1、P1.2 为控制线。3.2.9 下载器模块ATmega8 是基于增强的 AVR RISC

52、 结构的低功耗 8 位 CMOS 微控制器。由于其先进的指令集以及单时钟周期指令执行时间, ATmega8 的数据吞吐率高达 1MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。ATmega8 有如下特点:8K 字节的系统内可编程 Flash(具有同时读写的能力,即 RWW),512 字节 EEPROM,1K 字节 SRAM,32 个通用 I/O 口线,32 个通用工作寄存器,三个具有比较模式的灵活的定时器 / 计数器 (T/C), 片内 / 外中断,可编程串行 USART,面向字节的两线串行接口,10 位 6 路(8 路为 TQFP 与 MLF 封装)ADC,具有片内振荡器的可编

53、程看门狗定时器,一个 SPI 串行端口,以及五种可以通过软件进行选择的省电模式。工作于空闲模式时 CPU 停止工作,而 SRAM、T/C、SPI 端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态;ADC 噪声抑制模式时终止 CPU 和除了异步定时器与 ADC 以外所有 I/O 模块的工作,以降低 ADC 转换时的开关噪声;Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力。 S51 开发板的

54、设计18ATMEGA8L 的引脚配置如下图 3-18 所示: 图 3-18 ATMEGA8L 的引脚配置图下载器模块原理图如图 3-19 所示:图 3-19 下载器模块原理图下载器模块实现将 USB 信号转换为能通过 SPI 协议传输的信号,从而实现对单片机的编程。3.2.10 其他模块 流水灯模块、蜂鸣器模块的原理图如图 3-20、图 3-21 所示:S51 开发板的设计19 图 3-20 流水灯模块原理图 图 3-21 蜂鸣器模块原理图如图 3-20 所示流水灯模块包含 8 个 LED 灯,单片机的 P0 口接 10K 上拉电阻,八个 LED 的负极依次连接单片机 P0 口的 8 个引脚,

55、八个 LED 的正极依次与 510 欧姆的排阻的八个端子相连,排阻的公共端连接短路插针的一端,短路插针的另一端与电源相连,因此,若将短路插针用短路帽短路,则八个 LED 的正极上拉到高电平, LED 低电平点亮。如图 3-21 所示,单片机的 P3.4 与 Q1 的基极通过 1K 欧姆电阻连接,当 P3.4为高电平时,Q1 导通,Q1 的发射极与集电极导通,将发射极下拉为低电平,蜂鸣器两端出现电位差,蜂鸣器发声;当 P3.4 为低电平时,Q1 不导通,蜂鸣器两端没有电流流过,蜂鸣器不发声。总结:对硬件的设计采用模块化设计方法,采用的电路为典型应用电路,资源配置合理,通过使用短路帽连接相应的功能

56、模块,降低了功耗,减弱了器件之间的相互干扰,提高了系统稳定性,硬件工作稳定可靠。S51 开发板的设计204 软件部分4.1 整体程序设计软件部分主要包括数码管程序、键盘程序、AD 程序、DA 程序、DS1302时钟程序、DS18b20 温度传感器程序、串行通信程序、显示程序和其他简单模块程序。4.2 分模块程序设计依据开发板上硬件资源,进行程序的开发,在软件的设计过程中,采用模块化的设计方法,依次分别为每个模块设计软件。下面分别介绍以上各个模块的程序设计。4.2.1 键盘模块程序设计矩阵式键盘的按键识别方法为:判断键盘中有无键按下:将全部行线 KEY0-KEY3 置低电平,然后检测列线的状态。

57、只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与 4 根行线相交叉的 4 个按键之中。若所有列线均为高电平,则键盘中无键按下。 判断闭合键所在的位置:在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。 矩阵式键盘的按键编码处理:将行线和列线依次进行数值编码,然后进行一定规则的运算,就是对键值的编码。 键盘程序流程图如图 4-1 所示:S51 开发板的设计21开始键盘扫描有键按下

58、取键值YN原有键值不变键值送 P0口选通数码管图 4-1 键盘程序流程图键盘采用的是行扫描法确定键值,在程序中具体是这样扫描键盘的:将键盘扫描码送入 P2 口,先是使行线依次为低电平,顺序为KEY1、KEY2、KEY3、KEY4,在某一行线为低电平的状态下,读取 P2 口的状态,将状态值依次右移四位,这样便将 KEY5-KEY8 的状态值移到了低四位,再将高四位状态值置一,将处理后的状态值与当前的扫描码比较,如果此时的状态值与四个扫描码中的一个相同,证明有键按下,此时保存扫描码的数组下标和与状态值相等的扫描码数组下标,并将两个值按照键盘编码值进行某一规则的四则运算后返回给主函数中的某一变量;如

59、果在全部行线依次为低电平情况下的状态值与四个扫描码中没有一个相同,证明没有键按下,返回-1 到主函数。在主函数中调用键盘扫描函数对键盘进行扫描,判断返回键值,若返回值不为-1,证明右键按下,在某一个数码管上显示键值,若返回值为-1,证明没有键按下,显示先前按下的按键键值。4.2.2 AD 模块程序设计a ADC0832 的工作时序ADC0832 的工作时序图如图 4-2 所示:S51 开发板的设计22图 4-2 ADC0832 的工作时序图当CS由高变低时,选中ADC0832。在时钟的上升沿,D I端的数据移ADC0832内部的多路地址移位寄存器。在第一个时钟期间, D I为高,表示启动位,紧

60、接着输入两位配置位。当输入启动位和配置位后,选通输入模拟通道,转换开始。转换开始后,经过一个时钟周期延迟,以使选定的通道稳定。ADC0832 接着在第4个时钟下降沿输出转换数据。数据输出时先输出最高位(D7D0);输出完转换结果后,又以最低位开始重新输出一遍数据(D7D0),两次发送的最低位共用。当片选CS为高时,内部所有寄存器清0,输出变为高阻态。如果要再进行一次模/数转换,片选CS必须再次从高向低跳变,后面再输入启动位和配置位。b AD 程序流程图AD 程序流程图如 4-3 所示:开始启动 AD 转换输入方式选择输入通道选择读取数据数据处理与显示S51 开发板的设计23图 4-3 AD 程

温馨提示

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

最新文档

评论

0/150

提交评论