单片机原理、应用与PROTEUS仿真
2011-12
电子工业出版社
张靖武,周灵彬,方曙光 编著
348
本书以单片机应用产品或其功能部件为项目,并按研发、生产过程安排内容,是实施从项目分析-电路与程序设计-仿真与调试-实际制作的项目驱动教学的精品教材。《单片机原理、应用与PROTEUS仿真(第2版)》将PROTEUSEDA作为教学内容与手段融入书中,实施“理论教学、实验(训)教学、仿真教学有机融合”、“教、学、做一体化”、“项目驱动”三结合的新型教学模式。《单片机原理、应用与PROTEUS仿真(第2版)》以AT89C51为主体讲述了单片机硬件结构基础、汇编语言指令和程序设计、接口技术和产品研发;讲述了Keil、编程器、ISP等工具;讲述了I2C总线、液晶显示、单片机通信等技术和DS18820、DS1302、24LC16B等器件应用。《单片机原理、应用与PROTEUS仿真(第2版)》使用汇编语言和C51语言,书中有大量PROTEUS设计与仿真实例。
本书内容精练、实用、新颖,可作为普通高校和高职院校的单片机原理与应用课程教材,也可作为工程技术人员、相关专业大学生及单片机爱好者的参考书。目录中缀有+号的章节是专科、高职选用章节。
周灵彬,中北大学学士、硕士,副教授;绍兴职业技术学院《应用电子技术》专业负责人:浙江省高校精品课程《单片机原理与应用》负责人:绍兴市高校重点建设专业“应用电子技术”专业负责人:英国Labcenter公司PROTEUS应用中国地区专家组专家:编著出版《基于PROTEUS的电路与PCB设计》等著作三部。研究方向:智能电子产品研发、电子信息类专业仿真教学研究。
方曙光,重庆大学学士,浙江大学工商管理硕士;获专利数十项,其中五项为发明专利:主持实施两个关予智能家电产品研发的科技部中小企业创新基金项目:所创办的慈溪迈思特电子科技有限公司为国家高新技术企业。研究方向:智能家用电子产品研发与生产。
张靖武,武汉大学毕业;享受国务院政府特殊津贴;中北大学教授、绍兴职业技术学院教授:中国教育技术协会教育仿真技术专业委员会常务理事:英国Labcenter公司PROTEUS应用中国地区专家组组长:主持省部级(及以上)科研及教学项目九项:获省部级高校教学成果奖及科技奖多项;为企业研发单片机应用产品六项:编著(或主审)出版《单片机应用系统的PROTEUS设计与仿真》等主要著作五部。
第1章 概论
1.1 嵌入式系统、单片机、AT89C51单片机
1.1.1 嵌入式系统、单片机
1.1.2 单片机发展概况
1.1.3 应用广泛的AT89系列单片机
1.2 单片机应用系统及其应用领域
1.2.1 单片机应用系统
1.2.2 单片机应用领域
1.3 单片机应用研发工具和教学实验装置
1.3.1 单片机软件调试仿真器
1.3.2 单片机仿真器
1.3.3 编程器和ISP在系统编程
1.3.4 PROTEUS EDA(电子设计自动化)
1.3.5 单片机课程教学实验装置
1.4 PROTEUS ISIS电路设计基础(1)
1.4.1 PROTEUS ISIS 窗口
1.4.2 PROTEUS可视化助手
1.4.3 PROTEUS设计文件操作
1.4.4 PROTEUS 元件操作
1.5 实训1
1.5.1 PROTEUS ISIS的文件操作与元件操作
1.5.2 认识单片机及单片机应用产品研发工具
练习与思考1
第2章 AT89C51内部结构基础
2.1 内部结构和引脚功能
2.1.1 内部结构框图和主要部件
2.1.2 引脚功能
2.2 时钟电路与复位电路
2.2.1 时钟电路
2.2.2 复位电路
2.3 存储器结构
2.3.1 存储器组成
2.3.2 程序存储器ROM
2.3.3 数据存储器RAM
2.4 I/O(输入/输出)口结构、功能及负载能力
2.4.1 I/O口结构
2.4.2 I/O口功能
2.4.3 I/O口的负载能力
2.5 PROTEUS ISIS电路设计基础
2.5.1 PROTEUS电气连线操作
2.5.2 PROTEUS 总线、标签和脚本操作
2.5.3 终端操作
2.5.4 对象属性设置(Edit Properties)
2.6 实训2
2.6.1 AT89C51最小系统的PROTEUS电路设计
2.6.2 AT89C51最小系统的实际安装
练习与思考2
第3章 AT89C51指令系统
3.1 基本概念
3.1.1 指令、机器代码、程序、机器语言
3.1.2 汇编语言、汇编语言指令格式、常用符号
3.1.3 汇编(编译)和编程(固化)
*3.2 指令寻址方式
3.2.1 寻址、寻址方式、寻址存储器范围
3.2.2 直接寻址
3.2.3 立即寻址
3.2.4 寄存器寻址
3.2.5 寄存器间接寻址
3.2.6 变址寻址
3.2.7 相对寻址
3.2.8 位寻址“bit”
3.3 汇编语言的指令系统
3.3.1 数据传送指令
3.3.2 算术运算类指令
3.3.3 逻辑运算指令
3.3.4 控制转移指令
3.3.5 位操作指令
3.4 单片机应用系统的PROTEUS设计与仿真初步
3.4.1 “跑马灯”的电路原理图、程序设计
3.4.2 “跑马灯”的PROTEUS电路设计
3.4.3 “跑马灯”的PROTEUS程序设计和汇编
3.4.4 加载目标代码文件、 仿真
3.5 实训3
3.5.1 “开关控制LED显示装置”的PROTEUS设计与仿真
3.5.2 软件调试仿真器Keil Vision及其应用(1)
习题与思考3
第4章 AT89C51汇编语言程序设计
4.1 伪指令、程序设计
4.1.1 伪指令
4.1.2 程序设计
4.1.3 程序结构
4.2 汇编语言程序设计举例
4.2.1 延时程序
4.2.2 查表程序
4.2.3 码制转换程序
4.2.4 数据排序程序
4.2.5 算术运算程序
4.3 单片机应用系统的PROTEUS仿真调试基础
4.3.1 调试、调试窗口和带窗口的仿真调试
4.3.2 断点、断点操作和带断点的仿真调试
4.4 实训4
4.4.1 LED花灯显示装置的PROTEUS设计与仿真
4.4.2 软件调试仿真器Keil Vision应用(2)
习题与思考4
第5章 AT89C51中断系统
5.1 中断系统
5.1.1 中断基本概念
5.1.2 中断系统结构
5.1.3 与中断控制有关的寄存器
5.1.4 中断过程
5.1.5 有中断的单片机应用程序的编程要点
5.2 中断应用实例及其PROTEUS设计与仿真
5.2.1 外中断(INT0)实验装置
5.2.2 中断优先级实验装置
5.3 实训5
5.3.1 扩展中断源实验装置的PROTEUS设计与仿真
5.3.2 扩展中断源实验装置的实际制作
习题与思考5
第6章 AT89C51定时器/计数器
6.1 定时器/计数器
6.1.1 定时器/计数器概述
6.1.2 定时器/计数器的控制
6.1.3 定时器/计数器的工作方式
6.1.4 定时器/计数器的计数容量及初值
6.2 定时器/计数器应用
6.2.1 定时器/计数器应用的基本步骤
6.2.2 定时器/计数器应用举例
6.3 定时器/计数器应用实例及其PROTEUS设计与仿真
6.3.1 基于AT89C51的60s倒计时装置
6.3.2 基于AT89C51的按键发声装置
6.4 实训6
6.4.1 简易跑表的PROTEUS设计与仿真
6.4.2 简易跑表的实际制作
习题与思考6
第7章 AT89C51的存储器扩展技术
*7.1 用EPROM扩展单片机程序存储器(ROM)
7.1.1 基础知识
7.1.2 扩展ROM电路设计和程序设计
7.1.3 扩展ROM的PROTEUS 设计与仿真
7.1.4 实际安装、运行、思考
7.2 用SRAM扩展单片机数据存储器(RAM)
7.2.1 基础知识
7.2.2 扩展RAM的电路设计和程序设计
7.2.3 扩展RAM 的PROTEUS 设计与仿真
7.2.4 实际安装、运行、思考
*7.3 用E2PROM扩展单片机ROM、RAM
7.3.1 基础知识
7.3.2 E2PROM扩展ROM、RAM电路设计
7.3.3 E2PROM扩展ROM、RAM程序设计
7.3.4 实际安装、运行、思考
*7.4 用串行E2PROM扩展单片机存储器(I2C)
7.4.1 基础知识
7.4.2 串行E2PROM扩展存储器电路设计和程序设计
7.4.3 串行E2PROM扩展存储器的PROTEUS 设计与仿真
7.4.4 实际安装、运行、思考
*7.5 PROTEUS高级图表仿真(ASF)简介及其应用
7.5.1 高级图表仿真(ASF)简介
7.5.2 高级图表仿真(ASF)实例
7.5.3 AT89C51扩展片外ROM的操作时序
7.5.4 AT89C51扩展外RAM的操作时序
7.5.5 AT89C51扩展外串行E2PROM存储器操作时序
7.6 实训7
7.6.1 “SRAM 6264扩展单片机RAM”的PROTEUS设计与仿真
7.6.2 “SRAM 6264扩展单片机RAM”装置的实际制作
第8章 AT89C51人机交互通道的接口技术
8.1 单片机与LED数码管动态显示的接口技术
8.1.1 基础知识
8.1.2 数码管动态显示装置的电路设计和程序设计
8.1.3 数码管动态显示装置的PROTEUS设计与仿真
8.1.4 实际安装、运行、思考
*8.2 单片机与字符型LCD显示器的接口技术
8.2.1 基础知识
8.2.2 字符型LCD液晶显示装置的电路设计和程序设计
8.2.3 字符型LCD液晶显示装置的PROTEUS设计与仿真
8.2.4 实际安装、运行、思考
8.3 单片机与矩阵式键盘的接口技术
8.3.1 基础知识
8.3.2 矩阵式键盘接口的电路设计和程序设计
8.3.3 矩阵式键盘接口的PROTEUS设计与仿真
8.3.4 实际安装、运行、思考
8.4 实训8
8.4.1 六数码管动态显示装置的PROTEUS设计与仿真
8.4.2 六数码管动态显示装置的实际制作
第9章 AT89C51单片机前向通道接口技术
9.1 AT89C51与ADC0808(0809)的接口技术
9.1.1 基础知识
9.1.2 简易数字电压表的电路设计和程序设计
9.1.3 简易数字电压表的PROTEUS设计与仿真
9.1.4 实际安装、运行、思考
*9.2 单片机与水位检测传感器的接口技术
9.2.1 基础知识
9.2.2 水位检控装置的电路设计和程序设计
9.2.3 水位检控装置的PROTEUS设计与仿真
9.2.4 实际安装、运行、思考
9.3 实训9
9.3.1 双通道“简易数字电压表”的PROTEUS设计与仿真
9.3.2 双通道“简易数字电压表”的实际制作
第10章 AT89C51后向通道接口技术
10.1 AT89C51与DAC0832的接口技术
10.1.1 基础知识
10.1.2 简易信号发生器的电路设计和程序设计
10.1.3 简易信号发生器的PROTEUS设计与仿真
10.1.4 PROTEUS虚拟四踪数字示波器使用
10.1.5 实际安装、运行、思考
10.2 AT89C51控制步进电动机的接口技术
10.2.1 基础知识
10.2.2 AT89C51控制步进电动机的电路设计和程序设计
10.2.3 单片机控制步进电动机的PROTEUS设计与仿真
10.2.4 实际安装、运行、思考
*10.3 AT89C51控制直流电动机的接口技术
10.3.1 基础知识
10.3.2 AT89C51控制直流电动机的电路设计和程序设计
10.3.3 AT89C51控制直流电动机的PROTEUS设计与仿真
10.3.4 实际安装、运行、思考
10.4 实训10
10.4.1 三角波、正弦波简易发生器的PROTEUS设计与仿真
10.4.2 三角波、正弦波发生器的实际制作
第11章 AT89C51串行通信通道接口技术
11.1 AT89C51间串行通信的接口技术
11.1.1 基础知识
11.1.2 AT89C51间通信接口的电路设计与程序设计
11.1.3 AT89C51间通信接口的PROTEUS设计与仿真
11.1.4 实际安装、运行、思考
*11.2 AT89C51与PC间通信的接口技术
11.2.1 基础知识
11.2.2 AT89C51与PC间通信接口的电路设计和程序设计
11.2.3 AT89C51与PC间通信接口的PROTEUS设计与仿真
11.2.4 实际安装、运行、思考
11.3 实训11
11.3.1 AT89C51间通信简单接口的PROTEUS设计与仿真
11.3.2 AT89C51间通信简单接口的实际制作
第12章 AT89C51单片机的实际应用
12.1 基于单片机和DS1302的电子时钟
12.1.1 功能与操作
12.1.2 电子时钟的电路设计和程序设计
12.1.3 技术要点
12.1.4 电子时钟的PROTEUS设计与仿真
12.2 基于单片机的带存储播放功能的简易电子琴
12.2.1 功能与操作
12.2.2 简易电子琴的电路设计和程序设计
12.2.3 技术要点
12.2.4 简易电子琴的PROTEUS 设计与仿真
*12.3 基于单片机和DS18B20的数字温度计
12.3.1 功能与操作
12.3.2 单片机数字温度计的电路设计和程序设计
12.3.3 技术要点
12.3.4 单片机数字温度计的PROTEUS设计与仿真
12.4 基于单片机控制的LED点阵显示屏
12.4.1 功能与操作
12.4.2 简单LED点阵显示屏的电路设计和程序设计
12.4.3 技术要点
12.4.4 简单LED点阵显示屏的PROTEUS设计与仿真
*12.5 基于单片机的纯水机控制电路板设计
12.5.1 功能与操作
12.5.2 基于单片机的纯水机控制电路板的电路设计和程序设计
12.5.3 技术要点
12.5.4 基于单片机的纯水机控制电路板的PROTEUS设计与仿真
12.6 实训12
12.6.1 简单电子时钟的PROTEUS设计与仿真
12.6.2 简单电子时钟的实际制作
附录A AT89S51相对AT89C51增加的功能
A.1 AT89S51单片机内部结构、引脚图和特殊功能寄存器
A.2 增加功能的应用 316 附录B BCD码和ASCII码
B.1 8421 BCD码
B.2 BCD码运算
B.3 ASCII码
附录C AT89C系列单片机指令表
附录D 编程器使用初步
附录E C51对C语言的扩展
参考文献
版权页:插图:纯水机有多个电磁阀:判断有无自来水的进水电磁阀,判断所制纯净水是否满的电磁阀等。它们工作时会传输给单片机I/O口高电平信号、低电平信号或阶跃电信号。单片机工作时不断检查相关I/O口的电平状态,以便做出响应。显然,要响应正确,电磁阀传输给单片机I/O口上的电信号应该正确。但是,电磁阀无论在电平稳定或电平改变状态时,都受到自身或其他电磁器件(如电动机、继电器等)的电磁干扰。为了抗电磁干扰,本控制板软件设计中采用了延时且多次判定电平的技术。当单片机检查到相关I/O口上电平变化时并不立即响应,而是延时一段时间(具体延时时间由设计者决定)再检查电平,反复几次(次数由设计者决定),当几次都获得相同结果时,单片机才确认并做出相应的响应,否则认为是电磁干扰信号而忽略。这一技术明显地提高了控制板的抗电磁干扰性能,使纯水机能正确、稳定、长时间工作。2)指令冗余技术对重要的指令(如SJMP、JB、CJNC、LCALL等)重复写多个,它们之间可插入几个NOP指令,即使某个指令被电磁干扰跑飞,还可执行接下来的正确指令挽回跑飞的程序。本控制板软件设计中多次运用了该技术,以抗电磁干扰。3)软件陷阱技术对于冗余技术解决不了的问题,可采取软件陷阱的技术。软件陷阱技术的本质是一段拦载程序,当失控的程序运行至此后,可以将其迅速引向一个指定的有效位置,在此有专门的错误处理代码,使程序能够回到正确的程序段。本控制板软件设计中多次运用了该技术,以抗电磁干扰。
《单片机原理、应用与PROTEUS仿真(第2版)》是浙江省高等教育单片机原理与应用重点教材,浙江省精品课程单片机原理与应用精品教材,浙江省特色专业应用电子技术专业特色教材之一。