单片机原理与应用—基于C51及Proteus仿真

单片机原理与应用—基于C51及Proteus仿真"

作者:徐爱钧
ISBN:9787302408833
定价:¥49
字数:千字
页数:
出版时间:2015.11.01
开本:
版次:1-6
装帧:
出版社:清华大学出版社
简介

本书以Keil C51及Proteus虚拟仿真技术为基础阐述8051单片机原理与应用,对8051单片机基本结构、中断系统、定时器、串行口等功能部件的工作原理作了完整介绍。在介绍8051指令系统的基础上,阐述了Keil C51高级语言程序设计方法。详细介绍了8051单片机片内集成功能及其编程方法、系统扩展、键盘与显示器接口技术、模数与数模转换接口技术,以及单片机系统扩展等,以实例方式介绍了在Proteus平台上采用C51编程及虚拟仿真设计方法。给出了大量在Proteus集成环境ISIS中绘制的原理电路图、C51应用程序范例,所有范例均在Proteus软件平台上调试通过,可以直接运行。书中的源代码可在清华大学出版社网站本书页面下载。

    本书可作为高等院校工业自动化、电子测量仪器、计算机应用等相关专业“单片机原理与应用”课程的教学用书,也可供广大从事单片机应用系统开发的工程技术人员阅读。

前言

8051是目前国内外使用极为广泛的一类8位单片机,它具有体积小、价格低、功能强、可靠性高、使用方便灵活等特点。以单片机为核心设计各种智能化电子设备,周期短、成本低、易于更新换代、维修方便,已成为电子设计中最为普遍的应用手段。世界上许多大半导体厂商,如Atmel、Analog Device、Infineon、NXP、TI、SiLAB等公司都推出了各具特色的8051系列单片机。

早期单片机应用开发大多采用汇编语言编程,汇编语言是一种直接针对硬件的机器语言,其编程效率不高,程序不易移植和维护。现在已经普遍采用C语言进行单片机应用编程,C语言具有类似自然语言的特点,它既能直接操作机器硬件,又可以极大提高编程效率。德国Keil公司推出的C51被公认为是一种最有效的单片机C语言编程工具。单片机应用系统开发过程中,除了编程工具之外硬件平台也必不可少。目前各种单片机开发平台层出不穷,英国Labcenter公司推出的Proteus软件是一款极好的单片机虚拟硬件平台,它以其特有的仿真技术很好地解决了单片机及其外围电路的设计和协同仿真问题,可以在没有单片机实际硬件的条件下,利用PC进行虚拟仿真实现单片机系统的软、硬件协同设计。Proteus虚拟硬件平台还可以与Keil C51完美结合,在原理图中可直接调入C语言编写的应用程序,进行源代码仿真调试,实现对系统性能的综合评估,验证各项技术指标。Proteus已有二十多年的历史,涵盖了8051等多种微处理器模型,以及各种常用电子元器件,包括74系列、CMOS4000系列集成电路、A/D和D/A转换器、键盘、LCD显示器、LED显示器,还提供示波器、逻辑分析仪、通信终端、电压/电流表、I2C/SPI终端等各种虚拟仪表,可以直接用于虚拟仿真,结合原理图和源码级程序调试,能够立即观察到单片机应用系统的输入输出效果,极大地提高了设计效率。

在全国高等工科院校中,已普遍开设单片机原理与应用相关课程。由于单片机本身的特点,传统教学方法很难在教学中体现单片机的实际运行过程,尤其是一些涉及硬件的操作,仅在课堂上空对空讲述很难让学生理解,教学效果不好。利用Proteus虚拟硬件平台,教师可现场绘制原理电路图,结合源代码仿真调试来展现单片机系统运行过程,很好地解决了长期困扰单片机教学中软件和硬件无法很好结合的难题。另外,在PC上修改原理电路图要比修改实际硬件电路容易得多,可以获得事半功倍的效果,有效提高教学质量。

本书在构思及选材上,注意符合单片机应用发展要求,突出先进性和实用性,对C51应用编程、Proteus仿真技术等进行了详尽阐述,并给出了多个虚拟仿真设计范例。

全书共分为11章。

第1章阐述8051单片机的基本组成、存储器结构、并行I/O及CPU时序。

第2章阐述Proteus虚拟硬件平台,介绍在ISIS集成环境中绘制原理电路图、与Keil C51联机实现源代码仿真调试方法。

第3章阐述8051单片机的指令系统与汇编语言程序设计。

第4章阐述Keil C51应用程序设计,介绍C51的基本语句、数据类型、Keil C51对ANSI C的扩展以及库函数等。

第5章阐述键盘与显示器接口技术,介绍矩阵接盘、数码管、点阵字符和图形液晶显示器及其与单片机的接口方法。

第6~8章分别阐述8051单片机的中断系统、定时器/计数器以及串行口的工作原理与应用方法。

第9章阐述数模与模数转换接口技术,介绍传统并行及新型串行D/A、A/D转换器芯片及其与单片机的接口方法。

第10章阐述单片机系统扩展,介绍存储器扩展、I/O端口扩展以及I2C总线扩展原理和方法。

第11章给出6个Proteus虚拟仿真设计实例及其完整的C51源程序。

本书在编写过程中得到广州风标电子技术有限公司(http://www.windway.cn)匡载华总经理的大力支持和热情帮助,徐阳、彭秀华、杨青胜、杨晶晶、马雪、黄鹏、刘永伟等参加了部分章节的编写和程序调试工作,在此一并表示感谢。

由于作者水平有限,书中难免会有错误和不妥之处,恳请广大读者批评指正,读者可通过电子邮件(ajxu@tom.com和ajxu41@sohu.com)直接与作者联系。Proteus的DEMO软件可到官方网站http://www.labcenter.co.uk下载,或者与国内代理商广州风标电子技术有限公司联系购买正版软件。

徐爱钧于长江大学2015年9月

目录

第1章8051单片机基本结构

1.18051单片机的特点与基本结构

1.28051单片机的存储器结构

1.3CPU时序

1.4复位信号与复位电路

1.5并行I/O端口结构

复习思考题

第2章Proteus虚拟仿真

2.1集成环境ISIS

2.2绘制原理图

2.3创建汇编语言源代码仿真文件

2.4在原理图中进行源代码仿真调试

2.5原理图与Keil环境联机仿真调试

复习思考题

第3章指令系统与汇编语言程序设计

3.1指令助记符和字节数

3.2寻址方式

3.2.1寄存器寻址

3.2.2直接寻址

3.2.3立即寻址

3.2.4寄存器间接寻址

3.2.5变址寻址

3.2.6相对寻址

3.2.7位寻址

3.3指令分类详解

3.3.1算术运算指令

3.3.2逻辑运算指令

3.3.3数据传送指令

3.3.4控制转移指令

3.3.5位操作指令

3.4汇编语言程序设计

复习思考题

第4章Keil C51应用程序设计

4.1Keil C51程序设计的基本语法

4.1.1Keil C51程序的一般结构

4.1.2数据类型

4.1.3常量、变量及其存储模式

4.1.4运算符与表达式

4.2C51程序的基本语句

4.2.1表达式语句

4.2.2复合语句

4.2.3条件语句

4.2.4开关语句

4.2.5循环语句

4.2.6goto、break、continue语句

4.2.7返回语句

4.3函数

4.3.1函数的定义与调用

4.3.2中断服务函数与寄存器组定义

4.4Keil C51编译器对ANSI C的扩展

4.4.1存储器类型与编译模式

4.4.2关于bit,sbit,sfr,sfr16数据类型

4.4.3一般指针与基于存储器的指针及其转换

4.4.4C51编译器对ANSI C函数定义的扩展

4.5C51编译器的数据调用协议

4.5.1数据在内存中的存储格式

4.5.2目标代码的段管理

4.6与汇编语言程序的接口

4.6.1参数传递规则

4.6.2C51与汇编语言混合编程举例

4.7绝对地址访问

4.7.1采用扩展关键字“_at_”或指针定义变量的绝对地址

4.7.2采用预定义宏指定变量的绝对地址

4.8Keil C51库函数

4.8.1本征库函数

4.8.2字符判断转换库函数

4.8.3输入输出库函数

4.8.4字符串处理库函数

4.8.5类型转换及内存分配库函数

4.8.6数学计算库函数

复习思考题

第5章键盘与显示器接口技术

5.1LED显示器接口技术

5.1.17段LED数码显示器

5.1.2单个74HC595驱动多位LED数码管

5.1.3串行接口8位共阴极LED驱动器MAX7219

5.2键盘接口技术

5.2.1编码键盘接口技术

5.2.2非编码键盘接口技术

5.38279可编程键盘/显示器芯片接口技术

5.3.18279的引脚排列

5.3.28279的数据输入、显示输出及命令格式

5.3.38279的接口方法

5.4LCD液晶显示器接口技术

5.4.1LCD显示器的工作原理

5.4.2点阵字符型LCD显示模块

5.4.3直接方式接口

5.4.4间接方式接口

5.4.54位数据总线接口

5.4.612864点阵图形LCD显示模块

5.4.712864 LCD与单片机的接口

5.4.8T6963C点阵图形LCD显示模块

5.4.9T6963C LCD与单片机的接口

复习思考题

第6章中断系统

6.1中断的概念

6.2中断系统结构与中断控制

6.3中断响应

6.4中断系统应用举例

6.4.1中断源扩展

6.4.2中断嵌套

复习思考题

第7章定时器/计数器

7.1定时器/计数器的工作方式与控制

7.2定时器/计数器应用举例

7.2.1初值和最大定时时间计算

7.2.2定时器方式应用

7.2.3计数器方式应用

7.3利用定时器产生音乐

复习思考题

第8章串行口

8.1串行通信

8.2串行口的工作方式与控制

8.3串行口应用举例

8.3.1串口/并口转换

8.3.2单片机之间的通信

8.3.3单片机与PC之间的通信

8.3.4修改底层函数实现printf()重新定向

复习思考题

第9章数模与模数转换接口技术

9.1转换器的主要技术指标

9.2数模转换器DAC接口技术

9.2.1无内部锁存器的DAC接口方法

9.2.2DAC0832与8051单片机的接口方法

9.2.3DAC1208与8051单片机的接口方法

9.2.4串行DAC与8051单片机的接口方法

9.2.5利用DAC接口实现波形发生器

9.3模数转换器ADC接口技术

9.3.1比较式ADC0809与8051单片机的接口方法

9.3.2积分式ADC7135与8051单片机的接口方法

9.3.3串行ADC与8051单片机的接口方法

复习思考题

第10章单片机系统扩展

10.1程序存储器扩展

10.2数据存储器扩展

10.3并行I/O端口扩展

10.4利用I2C总线进行系统扩展

10.4.1I2C总线主要特性

10.4.2I2C总线通用驱动程序

10.4.3I2C接口存储器芯片24C04扩展

10.4.4I2C接口A/DD/A芯片PCF8591扩展

10.4.5I2C接口时钟芯片PCF8563扩展

复习思考题

第11章Proteus仿真设计实例

11.1红外遥控系统设计

11.1.1功能要求

11.1.2硬件电路设计

11.1.3软件程序设计

11.2点阵LED显示屏设计

11.2.1功能要求

11.2.2硬件电路设计

11.2.3软件程序设计

11.3带农历的电子万年历设计

11.3.1功能要求

11.3.2硬件电路设计

11.3.3软件程序设计

11.4电子密码锁设计

11.4.1功能要求

11.4.2硬件电路设计

11.4.3软件程序设计

11.5DS18B20多点温度监测系统设计

11.5.1功能要求

11.5.2硬件电路设计

11.5.3软件程序设计

11.6带输入和存储功能的音乐播放器设计

11.6.1功能要求

11.6.2硬件电路设计

11.6.3软件程序设计

复习思考题

附录A8051指令表

附录BProteus中的常用元器件

参考文献

作者简介

编辑推荐

作者寄语

加入时,请写明:“学校+姓名”,并写明“加入教师群”,只限教师。

电子资料

www.luweidong.cn

下一个