AT89S51学习开发板软件设计 毕业设计论文.doc
《AT89S51学习开发板软件设计 毕业设计论文.doc》由会员分享,可在线阅读,更多相关《AT89S51学习开发板软件设计 毕业设计论文.doc(96页珍藏版)》请在三一文库上搜索。
1、I AT89S51 学习开发板软件设计 摘 要 由于单片机技术正得到越来越广泛的应用,许多集成电路生产厂家相继推 出了各种类型的单片机,在单片机家族众多成员中,MCS-51 系列单片机以其 优越的性能、成熟的技术及高可靠性和高性价比,迅速占领了市场,成为国内 单片机应用领域中的主流。目前,可用 MCS-51 系列单片机开发的产品越来越 多,与其配套的各类开发系统、各种软件也日趋完善,因此,可以极方便地利 用现有资源,开发出用于不同目的的各类应用系统。 本课题是针对 AT89S51 实验开发板外围接口电路进行软件设计,以实现各 种开发功能。本文介绍了各种开发功能例程,实现对实验开发板各部分硬件的
2、 控制。系统采用 C 语言编写,大大提高开发调试工作的效率;同时,所产生的 文档资料也容易理解,便于移植。最后,对系统进行了软件调试,能够很好地 完成功能要求。 关键词: AT89S51;RS232 通信;DS1302 时钟; I2C 存储器读写;DS18B20 温 度传感器;1602 液晶接口; II The Software Design Of AT89S51 Learning Development Board Abstract As the single chip microcomputer technic is used wider and wider in all areas, m
3、any manufacturers of integrated circuit have developed all kinds of single chip microcomputer family, the MCS-51 series of single chip microcomputer has quickly gained the market share and become the main stream in the national application area of single chip microcomputer with their excellent perfo
4、rmance ,mature technic, high reliability and high cost performance. At present, there are more and more products that can be used to develop MCS-51 series single chip microcomputer, and the development systems and softwares matched to them are improved day by day. Therefore, we can conveniently use
5、available resources to develop all kinds of application system used for different aims. This project is the software design for peripheral interface circuit of AT89S51 experimental board, in order to achieve a variety of development functions. This article describes a variety of routine of developme
6、nt functions, to achieve the control for the various parts of the experimental development board. The system uses the C language, greatly improve the efficiency of developmental debugging; the same time, the resulting documentation is also easy to understand, easy to transplant. Finally, it is neces
7、sary to do the software debugging for the system, able to complete functional requirements. Keywords:AT89S51;RS232 communication;DS1302 clock;12C memory read and write;DS18B20 temperature sensor;1602 LCD interface i 目 录 摘 要 .(I) Abstract (II ) 1 绪 论 (1) 1.1 题目背景 .(1) 1.2 研究意义 .(1) 1.3 国内外研究状况 .(1) 1
8、.4 本文主要研究内容 .(1) 2 理论基础 (4) 2.1 C 语言简介 .(4) 2.2 模块化编程思想 .(5) 2.3 Keil C 编程环境介绍 .(5) 2.4 AT89S51 简介 (6) 3 系统的硬件描述 (7) 3.1 系统组成 .(7) 3.2 各模块软件功能介绍 .(7) 4 系统的软件设计 (9) 4.1 流水灯的例程设计 .(9) 4.1.1 硬件电路原理 .(9) 4.1.2 流水灯流程图 .(9) 4.2 数码管显示的软件设计 .(10) 4.2.1 数码管硬件特性 .(10) 4.2.2 数码管软件流程图 .(11) ii 4.3 4X4 矩阵键盘扫描软件设
9、计 .(11) 4.3.1 硬件原理图 .(11) 4.3.2 矩阵键盘软件流程图 .(12) 4.4 DS1302 时钟显示的软件设计 .(13) 4.4.1 器件特性 .(13) 4.4.2 工作原理 .(14) 4.2.3 DS1302 的寄存器介绍 .(14) 4.2.4 硬件原理图 .(15) 4.2.5 软件流程图 .(15) 4.5 ADC0832 模数转换器的软件设计 .(16) 4.5.1 ADC0832 介绍 .(16) 4.5.2 单片机对 ADC0832 的控制原理 .(17) 4.5.3 硬件原理图 .(18) 4.5.4 ADC0832 软件流程图 .(18) 4.
10、6 1602 液晶接口显示的软件设计 (18) 4.6.1 1602 液晶显示模块介绍 (18) 4.6.2 基本操作时序 .(18) 4.6.3 RAM 地址映射图 .(19) 4.6.4 1602 控制指令 (19) 4.6.5 1602 初始化过程 (20) 4.6.6 1602 硬件原理图 (20) 4.6.7 1602 软件流程图 (20) 4.7 DS18B20 温度传感器的软件设计 (21) 4.7.1 单总线温度传感器 DS18B20 简介 .(21) 4.7.2 DS18B20 的工作时序 (21) 4.7.3 DS18B20 基本指令 (24) iii 4.7.4 DS18
11、B20 硬件原理图 (26) 4.7.5 DS18B20 软件流程图 (26) 4.8 I2C 存储器读写的软件设计 (27) 4.8.1 I2C 总线简介 (27) 4.8.2 I2C 总线器件工作原理及时序 (27) 4.8.3 AT24C02 简介 (29) 4.8.4 硬件原理图 .(29) 4.8.5 24C02 读写程序流程图 .(29) 4.9 SPI 存储器读写的软件设计 (30) 4.9.1 SPI 简介 (30) 4.9.2 93C46 串行存储器简介 .(30) 4.9.3 93C46 硬件原理图 .(31) 4.10 RS232 通信的软件设计 .(31) 4.10.1
12、 RS232 串行接口标准 .(31) 4.10.2 RS232 通讯原理 .(32) 4.10.3 RS232 硬件电路原理图 .(32) 4.11 12864 液晶接口显示的软件设计 (32) 4.11.1 12864 点阵型 LCD 简介 (32) 4.11.2 12864 接口读写时序: (33) 4.11.3 12864 硬件原理图 (34) 5 软件调试 (35) 5.1 系统的软件调试 .(35) 5.2 调试中遇到的问题及解决 (35) 参考文献 (36) 致 谢 (37) iv 毕业设计(论文)知识产权声明 (38) 毕业设计(论文)独创性声明 (39) 附录 A:程序 .(
13、40) 1.流水灯例程 (40) 2.数码管显示例程 (40) 3.4X4 键盘扫描例程 (41) 4.实时时钟芯片 DS1302 例程 .(42) 5.ADC0832 模数转换例程 (46) 6.LCD1602 显示例程 .(48) 7.温度传感器 DS18B20 例程 (51) 8.EEPROM24C02 存储器读写例程 (54) 9.EEPROM93C46 存储器的读写例程 (57) 10.RS232 通信例程 (61) 11.12864 液晶显示例程 .(63) 附录 B:外文及翻译 (70) 1 绪论 1 1 绪 论 1.1 题目背景 随着电子技术的迅速发展,特别是随大规模集成电路出
14、现,给人类生活带 来了根本性的改变。尤其是单片机技术的应用产品已经走进了千家万户。 单片机课程是一门实践性很强的课程,要学好单片机,必须通过实践学习, 不论是硬件扩展、接口应用还是编程方法、程序调试,都离不开实验。单片机 开发板的出现满足了这样的需求。不用购买价格昂贵的仿真器,仅通过程序下 载,就可验证,这样的学习不仅降低了成本,而且方便了对程序指令,硬件接 口,串行总线的学习。 通常,51 系列单片机的各类开发系统,主要是采用汇编语言编程和硬件仿 真技术来进行开发工作的。这种开发方法存在着繁琐、不易理解、仿真不灵活、 成本过高等问题和缺陷。本系统以单片机的 C 语言进行软件设计,附有详细的
15、注释,增加了程序的可读性和可移植性,为了便于扩展和更改,软件的设计采用 模块化结构,使程序设计的逻辑关系更加简洁明了。 1.2 研究意义 单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力(如算 术运算,逻辑运算、数据传送、中断处理)的微处理器(CPU) ,随机存取数据 存储器(RAM ) ,只读程序存储器(ROM) ,输入输出电路(I/O 口) ,可能还 包括定时计数器,串行通信口(SCI) ,显示驱动电路 (LCD 或 LED 驱动电路), 脉宽调制电路(PWM) ,模拟多路转换器及 A/D 转换器等电路集成到一块单块 芯片上,构成一个最小然而完善的计算机系统。这些电路能在软件的
16、控制下准 确、迅速、高效地完成程序设计者事先规定的任务。 单片机控制系统能够取代以前利用复杂电子线路或数字电路构成的控制系 统,可以软件控制来实现,并能够实现智能化,现在单片机控制范畴无所不在, 例如通信产品、家用电器、智能仪器仪表、过程控制和专用控制装置等等,单 片机的应用领域越来越广泛。 为了方便使用者对 51 单片机及相关接口电路的软、硬件学习,本题目的 AT89S51 学习开发板具备常用的接口电路,同时配备了各接口电路的编程指导 。 同时,使用者可以利用各接口电路配合控制对象构成闭环系统,具备一定的开 发能力。 1.3 国内外研究状况 西安工业大学毕业设计( 论文) 2 1976 年
17、INTEL 公司推出了 MCS-48 单片机,这个时期的单片机才是真正的 8 位单片微型计算机,并推向市场。它以体积小,功能全,价格低赢得了广泛 的应用,为单片机的发展奠定了基础,成为单片机发展史上重要的里程碑。 在 MCS-48 的带领下,其后,各大半导体公司相继研制和发展了自己的单 片机,像 Zilog 公司的 Z8 系列。到了 80 年代初,单片机已发展到了高性能阶 段,像 INTEL 公司的 MCS-51 系列,Motorola 公司的 6801 和 6802 系列, Rokwell 公司的 6501 及 6502 系列等等,此外,著名电气公司 NEC 和 HITACHI 都 相继开发
18、了具有自己特色的专用单片机。 80 年代,世界各大公司均竞相研制出品种多功能强的单片机,约有几十个 系列,300 多个品种,此时的单片机均属于真正的单片化,大多集成了 CPU、 RAM、ROM、数目繁多的 I/O 接口、多种中断系统,甚至还有一些带 A/D 转换器的单片机,功能越来越强大,RAM 和 ROM 的容量也越来越大,寻 址空间甚至可达 64kB,可以说,单片机发展到了一个全新阶段,应用领域更广 泛,许多家用电器均走向利用单片机控制的智能化发展道路。 1982 年以后,16 位单片机问世,代表产品是 INTEL 公司的 MCS-96 系列, 16 位单片机比起 8 位机,数据宽度增加了
19、一倍,实时处理能力更强,主频更高, 集成度达到了 12 万只晶体管,RAM 增加到了 232 字节,ROM 则达到了 8kB, 并且有 8 个中断源,同时配置了多路的 A/D 转换通道,高速的 I/O 处理单元, 适用于更复杂的控制系统。 单片机自 20 世纪 70 年代末诞生至今,经历了单片微型计算机 SCM、微控 制器 MCU 及片上系统 SoC 三大阶段,前两个阶段分别以 MCS-51 和 80C51 为 代表。随着在嵌入式领域中对单片机的性能和功能要求越来越高,以往的单片 机无论是运行速度还是系统集成度等多方面都不能满足新的设计需要,这时 Silicon Labs 公司推出了 C805
20、1F 系列单片机,成为 SoC 的典型代表。 ATMEL 公司的 AT89S51 是一个低功耗,高性能 CMOS 8 位单片机,片内 含 4k Bytes ISP(In-system programmable)的可反复擦写 1000 次的 Flash 只读程序 存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术制造,兼容标准 MCS-51 指令系统及 80C51 引脚结构,芯片内集成了通用 8 位中央处理器和 ISP Flash 存储单元,功能强大的微型计算机的 AT89S51 可为许多嵌入式控制应用 系统提供高性价比的解决方案。 单片机是目前国内外集成电路中量大面广、附加值高的产品
21、。由于 MCS- 51 单片机影响极深远,许多公司都推出单片机开发板及学习环境,如国内新华 龙公司代理 C8051 系列单片机开发板等。 目前主流 MCU 虽仍为 8 位,但是 16 位、32 位高档 MCU 增长很快。随着 单片机在汽车电子、工业控制等应用领域的高速成长,32 位及其以上 MCU 将 随着电子产品升级得到广泛应用。 1.4 本文主要研究内容 西安工业大学毕业设计( 论文) 3 对 AT89S51 开发板各部分硬件接口电路进行软件编写,包括了软件指令、 硬件接口和串行总线的应用,具体有 LED 灯控制程序, 8 位数码管显示程序, 1602 液晶接口显示程序,DS1302 接口
22、程序,12864 液晶接口显示程序,串行 AD 接口程序,4*4 键盘扫描程序,I2C 存储器读写程序, SPI 存储器读写程序, ds18b20 温度传感器程序,RS232 通信例程。 2 理论基础 4 2 理论基础 2.1 C 语言简介 C 语言是一种通用的编译型结构化计算机程序设计语言,在国际上十分流 行,它兼顾了多种高级语言的特点,并具备汇编语言的功能。它支持当前程序 设计中广泛采用的自顶向下的结构化设计技术。一般的高级语言难以实现汇编 语言对于计算机硬件直接进行操作(如对内存地址的操作、移位操作等)的功 能,而 C 语言既具有一般高级语言的特点,又能直接对计算机的硬件进行操作。 C
23、语言具有功能丰富的库函数,运算速度快,编译效率高,并且采用 C 语言编 写的程序能够很容易地在不同类型的计算机之间进行移植。因此,C 语言的应 用范围越来越广泛。 用 C 语言来编写目标系统软件,会大大缩短开发周期,增加软件的可读性, 便于改进和扩充,从而研制出规模更大、性能更完备的系统。 因此,用 C 语言进行单片机程序设计是单片机开发与应用的必然趋势。对 汇编语言掌握只要可以读懂程序,在时间要求比较严格的模块中进行程序的优 化即可。采用 C 语言进行设计也不必对单片机和硬件接口的结构有很深入的了 解,编译器可以自动完成变量存储单元的分配,编程者就可以专注于应用软件 部分的设计,大大加快了软
24、件的开发速度。采用 C 语言可以很容易地进行单片 机的程序移植工作,有利于产品中的单片机重新选型。 C 语言的模块化结构特点,可以使程序模块共享,不断丰富。C 语言可读 性的特点,使大家可以更容易地借鉴前人的开发经验,提高自己的软件设计水 平。采用 C 语言,可针对单片机常用的接口芯片编制通用的驱动函数,可针对 常用的功能模块、算法等编制相应的函数。这些函数经过归纳整理可形成专家 库函数,供广大的工程技术人员和单片机爱好者使用和完善,这样可大大提高 国内单片机软件设计水平。 过去长时间困扰人们的“ 高级语言产生代码太长,运行速度太慢,不适合单 片机使用”的致命缺点已被大幅度地克服。目前, 51
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AT89S51学习开发板软件设计 毕业设计论文 AT89S51 学习 开发 软件设计 毕业设计 论文
链接地址:https://www.31doc.com/p-26423.html