单片机原理的教学需要大量的实践,把原理教学和实践演练独立成册,可以更好地讲解单片机系统原理及应用。原理篇定名为《单片机入门与开发》,实践篇定名为《单片机应用开发与实践》。本教程在写法上讲究循序渐进、深入浅出、通俗易懂、趣味性强,力求将枯燥乏味的学习过程变得轻松自如,引导读者享受到学习单片机的乐趣,在学习和实践中更多地体会成功。
通过本书的学习和实践,读者可以掌握单片机的基本原理和富士通8FX系列单片机的基本硬件结构、指令系统、开发工具及开发技术;可以利用8FX系列单片机内部的常规资源来设计和研制一些小型电子产品。
无
二十世纪,人类社会跨越了三个“电”的时代,即电气时代、电子时代和电脑时代。大多数人所理解的电脑,通常是指个人计算机,简称PC机。实际上还有另一类计算机,就是把智能赋予各种机械的单片机(亦称微控制器),广泛应用于如汽车电子、智能仪表、实时工控、通信设备、导航系统、家用电器等各个领域。
单片机作为微型计算机的一个重要分支,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一颗芯片上。它的体积小、质量轻、价格便宜,为学习、应用和开发提供了便利条件。
单片机及嵌入式系统开发的基础是单片机的理论与开发技术。编著者从单片机基本理论出发,以开发实例为重点,特别编写了单片机及嵌入式系统开发的成套教程,以两册出版。
本套教程的编写思路是把原理教学和实践演练独立成册,原理篇定名为《单片机入门与开发》,实践篇定名为《单片机应用开发与实践》。原理篇和实践篇两册相对独立,学练分明,适合于原理课和实践课分设的教学模式。
本教程在写法上讲究循序渐进、深入浅出、通俗易懂、趣味性强,力求将枯燥乏味的学习过程变得轻松自如,引导读者享受学习单片机的乐趣,在学习和实践中更多地体会成功。编著者在本教程编排上,尽量使读者在学习单片机的过程中,以尽可能少的时间和精力来获取尽可能全面的单片机理论知识和实践开发技术。
本套教程期望达到从入门到精通、从理论到技能的渐进式学习效果,避免传统方式的知识灌输。在传授单片机知识的同时,更注重传授开发方法和应用技巧,侧重强调将所学知识转化为实际工作能力,力图将有志于跻身单片机领域的读者培养成既懂单片机知识,又能掌握单片机及嵌入式系统产品开发技术的内行。
本教程以富士通的8位单片机F2MC8FX系列为主,介绍单片机的理论与实践。F2MC8FX 系列单片机是富士通为满足市场需求,最新推出的具备快速处理和低功耗特性的8位单片机,主要应用于消费类电子、汽车电子及工业领域。F2MC8FX系列8位单片机采用了035μm低漏电工艺技术,掩膜产品可以在18V和1μA的低耗电工作模式(监视模式)下运行;同时,采用了流水线总线架构以提供双倍执行速度,最快处理速度则达到了F2MC8L 产品系列的5倍左右。本产品系列在设计中确保了所有的指令(除了和除法有关的指令)都和传统的F2MC8L系列兼容,开发都在Softune中进行,因此,从F2MC8L系列向F2MC8FX系列移植程序非常容易。
本册《单片机入门与开发》为原理篇。第1~3章介绍单片机的背景知识。第4章介绍单片机的体系结构。第5~9章详细介绍单片机的主要硬件结构和工作原理,同时举出了典型开发实例,便于初学者深刻领会单片机原理,并着手入门开发。第10章介绍单片机C语言编程。第11章介绍单片机开发系统。第12章给出了综合应用开发实例。
在本教程的编著过程中,得到了富士通电子元器件亚太集团资深总监陈锦新先生、高级经理王钰先生、高级经理曹淼女士、应用工程师陈培俊先生和张佳佳等的大力支持,除了提供最新资料和实验物品外,还将他们在长期实践中积累的经验体会和开发技巧无私地奉献出来供广大读者分享。电子科技大学张国俊教授、罗玉香副教授为本教程审稿,并提出了诸多宝贵意见。本教程的最终成稿,是丛书编撰小组集体辛勤劳动的结晶。为本书编著工作付出心血的老师和研究生还有罗和平、胡滨、阮爱武、翟亚红、李俊宏、王劲、谢晓东、廖永波、宁辉、伍希、汤岐、曹大勇、李辉、杨秀栋、辜科等,在此一并深表诚挚的谢意!
由于需要撰写的内容不仅量大而且新颖,加之编著者的水平有限,书中不妥之处在所难免,敬请广大读者不吝赐教。
编著者
2008年3月
单片机原理的教学需要大量的实践,把原理教学和实践演练独立成册,可以更好地讲解单片机系统原理及应用。原理篇定名为《单片机入门与开发》,实践篇定名为《单片机应用开发与实践》。本教程在写法上讲究循序渐进、深入浅出、通俗易懂、趣味性强,力求将枯燥乏味的学习过程变得轻松自如,引导读者享受到学习单片机的乐趣,在学习和实践中更多地体会成功。 通过本书的学习和实践,读者可以掌握单片机的基本原理和富士通8FX系列单片机的基本硬件结构、指令系统、开发工具及开发技术;可以利用8FX系列单片机内部的常规资源来设计和研制一些小型电子产品。
我欣慰地看到,由有着多年的单片机教学经验的教授执笔,历时两千多个日日夜夜,在汲取了诸多单片机业界专家的宝贵知识及从业经验后,《单片机入门与开发》和《单片机应用开发与实践》两本教材终于问世了。
面对众多的单片机教材,富士通一贯坚持不盲从、厚积薄发的原则,精心推出8位单片机系列的基础教材。需要指出的是,本套教材所依据的富士通 8 位灵活微控制器提供了丰富的片上外设资源;结合高性能CPU内核,应用广泛。丰富的产品系列可提供各种Flash/ROM/RAM 型号、通用基本资源和增强型专用资源以及强化功能。
新型代码兼容了F2 MCˉ 8FX系列并提供改进的指令集,包括增强的乘法/除法指令。片上 LIN 功能适合汽车应用,支持主控/从属运行以及 LIN 同步中断探测。
双操作闪存通过同时执行程序代码和擦/写某一数据闪存区域,支持引导装入程序以及高成本效益的片上 EEPROM 仿真。
所有 8 位 MCU 都由高品质的软件和硬件开发工具提供支持,这使富士通的产品不仅全面而且非常适合那些希望自己的产品从微控制器革命中获益的受众。
我们衷心希望这套教材成为以先进产品为代表的主流教材,成为老师和学生教学相长的良师益友。
富士通微电子亚太集团 市场总监
郑国威
2008年3月
序
前言
第1章微型计算机基础
11数制
111二进制
112二进制数与十进制数之间
的转换
113十六进制
114二进制数与十六进制数之
间的转换
115二进制数与十六进制数的
运算
12码制
121英文字符的表示方法——
ASCII码
122BCD码
123数据在计算机中的表示
13微型计算机的组成结构
131微机的组成
132微机系统的组成
133微型计算机的总线结构
134微处理器的内部结构与基本
功能
14微机系统的工作过程
第2章单片机基础
21单片机及其发展概况
211单片机及其特点
212单片机技术现状及将来发展
趋势
22单片机硬件和软件系统
221单片机的硬件基础
222单片机的软件基础
23单片机的分类
24单片机的应用领域
25单片机应用开发环境
第3章富士通单片机概述
31富士通单片机简介
32富士通8位单片机概述
321F2MC8L系列概述
322F2MC8FX系列概述
33富士通16位单片机概述
331F2MC16LX系列概述
332下一代16FX单片机概述
34富士通32位单片机
第4章单片机体系结构
41单片机总体结构
411单片机的基本组成
412单片机内部结构
42CPU
421流水线的内部总线
422加速的时钟控制器
423增强的中断
43存储空间
431存储器的映射
432内存空间与寻址方式的对
应关系
44寻址方式
45寄存器
451CPU专用寄存器
452通用寄存器
46复位及复位电路
461复位操作
462复位源寄存器
47指令集
471特殊指令
472位操作指令
473F2MC8FX指令表
第5章I/O端口
51Port 0
52Port 1
53Port 2
54Port 3
55Port 4
56Port 5
57Port 6
58Port 7
59Port 8
510Port E
511Port G
第6章中断系统
61中断的概念
62中断的功能
63中断系统结构及中断控制
631中断源
632中断控制
64中断处理过程
641中断响应
642中断处理
643中断返回
65多重中断
66中断程序示例
第7章定时器/计数器
71时基定时器
72看门狗定时器
73预分频计数器
74监视计数器
758/16位复合定时器
768/16位可编程脉冲发生器
7716位PPG定时器
7816位重载定时器
第8章通信接口
81通信基础
811异步通信
812同步通信
82UART/SIO
83LINUART
84I2C
85通信接口程序示例
第9章A/D转换器
91A/D转换器的种类与特点
92A/D转换器的工作原理
938FX系列单片机A/D转换器
931A/D转换器特性
932A/D转换器结构
933A/D转换器引脚
934A/D转换器的寄存器
935A/D转换器中断
936A/D转换器的操作
937A/D转换器使用的注意
事项
94A/D转换器程序示例
第10章单片机C语言编程
101概述
1011单片机C语言的程序结
构和特点
1012单片机C语言与标准C
语言的区别
1013数据存储器的分配
1014单片机C语言与汇编
语言的混合编程
102算法
1021算法概述
1022算法的表示
103C语言的基本语法
1031数据类型
1032标示符
1033常量
1034变量
1035运算符与表达式
104数据类型转换
105C语言语句
106选择结构程序设计
1061if语句
1062if语句的嵌套
1063switch语句
107循环结构程序设计
1071while循环
1072dowhile循环
1073for循环
1074循环嵌套
1075break语句、 continue
语句和goto语句
108C语言的函数
1081模块化程序设计方法
1082函数的调用
1083函数间的参数传递
1084函数的嵌套与递归调用
1085中断服务函数
1086变量的作用域和存储
方式
109指针
1091指针的概念
1092指针变量的定义与
初始化
1093指针的运算及引用
1094指针与函数
1010编译预处理
10101宏定义
10102文件包含
10103条件编译
1011C语言程序设计示例
10111键盘接口设计
10112七段LED数码管应用
程序
10113串行EEPROM程序
10114液晶显示程序
第11章单片机开发系统
111开发工具
112开发环境
1121界面浏览及其功能
1122建立工程实例
113仿真器
1131仿真器简介
1132后台监视适配器
1133MCU板
1134转接板
11358FX开发套件的设置
114程序烧写
1141硬件链接
1142烧写软件
第12章单片机综合应用开发实例
121步进电机控制系统
122语音播放系统
附录AF2MC8FX系列单片机I/O
电路类型
附录BF2MC8FX系列单片机
I/O映射表
附录CF2MC8FX系列单片机中
断源列表
附录DF2MC8FX系列单片机
指令表