单片机技术及项目训练
赵威主编的《单片机技术及项目训练》以单片机应用为主线,先介绍汇编语言,再讲述C51,最后进行两种语言的混合编程。整个过程与情境任务紧密结合,让学生在实际任务中逐渐掌握编程方法,避免了学生单纯学习编程语言而感到枯燥和困惑。
基本信息
- 中文名
《单片机技术及项目训练》
- 作者
赵威
- 系列
高职高专十二五规划教材
- 价格
28.0
- 字数
371千字
简介
本书是省级示范性高职院校四川航天职业技术学院单片机应用技术教学团队在多年教学改革经验基础上,结合最新的高等职业教育改革要求,通过25
《单片机技术及项目训练》
个学习情境和4个训练项目,系统介绍了单片机硬件结构、单片机指令系统、单片机中断与定时系统、单片机端口应用以及单片机系统功能扩展等内容。本书注重编程技能训练,所有学习情境都采用“情境任务”、“知识准备”、“任务实施”和“能力扩展”结构,符合高职教学任务引导、逐层递进的教学方式,具有很强的实用性和可读性。
本书适用于高职高专院校电子信息类、自动化类、机电类等专业作为单片机技术课程教材。
前言
省级示范性高职院校四川航天职业技术学院电子工程系应用电子专业教学团队教师结合多年的教学改革和经验积累,同时吸取其他高职院校教学改革的成果和经验,结合最新的高等职业教育改革要求,精心编写了本书。本书在内容选择、结构安排、情境设定等方面,多角度、全方位地体现了高职教育的特点。1.以情境任务引导学生学习本书包括25个学习情境和4个训练项目。以任务为导向,每个学习情境分为“情境任务”、“知识准备”、“任务实施”和“能力拓展”四部分。“情境任务”先让学生知道要完成怎样的任务或解决什么问题,激发学生学习的热情;“知识准备”引入解决问题所需的相关知识和方法;“任务实施”指导学生利用所学知识完成任务或解决问题;“能力拓展”则通过横向或纵向的知识拓展,使学生的能力得到进一步提高。整个结构设计符合学生“做什么,怎么做”的认知规律,更加贴合高职高专的教学特点。2.从学生职业发展出发,从汇编语言走向C语言传统单片机教学采用汇编语言。汇编语言程序代码短,运行速度快,但复杂运算编程比较耗时。C语言程序容易阅读、理解,程序风格更加人性化,且方便移植。如果用汇编语言编写与硬件有关的部分程序,用C语言编写与硬件无关的运算部分程序,充分发挥两种语言的长处,可以提高开发效率。本书以单片机应用为主线,先介绍汇编语言,再讲述C51,最后进行两种语言的混合编程。整个过程与情境任务紧密结合,让学生在实际任务中逐渐掌握编程方法,避免了学生单纯学习编程语言而感到枯燥和困惑。3.突出应用能力,从学习情境走向综合项目训练本书的学习情境针对单片机应用中的具体知识点,精心选择情境任务,避免过大过繁。25个学习情境任务相互独立,但在知识点上保持着紧密联系,由浅入深,循序渐进,并且满足了本课程知识与技能的系统性。本书配有4个综合项目训练,该部分内容由带队获得全国大学生电子设计竞赛一等奖并且具有丰富工程经验的教师负责编写。训练课题具有代表性,能覆盖单片机应用中的多个方面,并且给出了汇编语言和C语言两种源程序,可作为课程设计或综合实训项目使用。本书系统介绍了单片机硬件结构、单片机指令系统、单片机中断与定时系统、单片机端口应用以及单片机系统功能扩展等内容。参考学时数约为78学时,在使用时可根据具体情况对相关学习情境进行灵活选择。本书由赵威主编,宋科、杨怡、王前、李彬为副主编。赵威对本书的编写思路和结构进行了总体策划,并编写了学习情境1~13,学习情境16和17。宋科对情境任务和训练项目进行选择,并编写学习情境20~25。王前编写学习情境14和15,杨怡编写学习情境18和19,李彬编写项目训练。易祯华、罗长清、王娜、孙宏伟、阳妮老师协助编写了本书。
目录
1学习情境1认识单片机11.1情境任务——单片机的发展历程、趋势及主流产品11.2知识准备11.2.1单片机的定义11.2.2单片机的应用领域21.3任务实施31.3.1单片机的发展历程31.3.2单片机的发展趋势31.3.3单片机分类及当前的主流产品41.4能力拓展61.4.1其他主流单片机生产厂商介绍61.4.2单片机与PC机的参数对比62学习情境2单片机中的数82.1情境任务——数据存储与进制转换82.2知识准备82.2.1数制82.2.2进制间的转换82.2.3单片机中的存储单位92.3任务实施92.4能力拓展102.4.1无符号数与有符号数102.4.2有符号数编码103学习情境3单片机存储器组织123.1情境任务——存储器地址编号123.2知识准备123.2.1存储单元地址123.2.280C51单片机存储器结构133.2.3程序存储器ROM的使用方式133.3任务实施133.4能力拓展143.4.1程序存储器起始端的特殊单元143.4.2单片机各类存储器空间的访问144学习情境4数据存储器与特殊功能寄存器154.1情境任务——片内RAM与特殊功能寄存器154.2知识准备154.2.1片内RAM分区154.2.2特殊功能寄存器区174.3任务实施184.4能力拓展——特殊功能寄存器分类185学习情境5单片机最小电路195.1情境任务——理解并搭建单片机最小电路195.2知识准备195.2.1单片机时钟电路195.2.2单片机复位电路205.3任务实施215.4能力拓展——单片机中的S状态周期226学习情境6数据传送236.1情境任务——数据大转移236.2知识准备236.2.1一般传送指令246.2.2特殊传送指令276.2.3其他特殊传送指令296.3任务实施296.4能力拓展306.4.1指令机器码306.4.2指令执行时间316.4.3累加器A与ACC317学习情境7算术运算327.1情境任务——四则运算327.2知识准备——单片机中的算术运算类指令327.2.1加法337.2.2减法357.2.3乘法357.2.4除法367.3任务实施367.4能力拓展367.4.1使用CY和OV进行运算结果验证367.4.2BCD码运算及调整378学习情境8逻辑运算与循环398.1情境任务——逻辑运算与倍乘398.2知识准备——逻辑运算及循环移位指令398.2.1逻辑运算408.2.2累加器清0和取反418.2.3累加器循环移位428.3任务实施428.4能力拓展428.4.1逻辑与、逻辑或和逻辑异或使用要点428.4.2RL与RLC使用示例439学习情境9程序转移449.1情境任务——分段函数449.2知识准备——转移类指令449.2.1条件转移指令459.2.2无条件转移469.3任务实施489.4能力拓展489.4.1灵活运用指令“ANLA,#80H”进行正负数的区分489.4.2多分支结构程序设计489.4.3循环结构程序设计4910学习情境10位操作5110.1情境任务——逻辑电路5110.2知识准备——位操作5110.2.1常规操作5310.2.2位逻辑操作5310.2.3位传送5310.2.4判断位值的条件转移指令5410.3任务实施5410.4能力拓展——累加器A编程求补码5511学习情境11伪指令5611.1情境任务——创建平方表5611.2知识准备5611.2.1汇编方式5611.2.2伪指令5611.3任务实施5811.4能力拓展——查询平方表5812学习情境12寻址方式5912.1情境任务——辨别寻址方式5912.2知识准备——寻址方式分类5912.3任务实施6012.4能力拓展——目的操作数寻址方式6113学习情境13子程序调用6213.1情境任务——查表计算平方和6213.2知识准备——子程序调用及返回6213.2.1调用指令6213.2.2子程序调用返回指令6213.3任务实施6313.4能力拓展6313.4.1延时子程序6313.4.2现场保护与恢复6413.4.3参数传递6614学习情境14单片机中断系统6714.1情境任务——中断型数据采集系统6714.2知识准备6714.2.1中断概念6714.2.2中断源及中断请求标志6714.2.3中断系统的控制寄存器6814.2.4中断的响应过程7014.2.5中断系统程序结构7114.3任务实施7214.4能力拓展——多外部中断源系统7415学习情境15定时/计数器7615.1情境任务——生产线产品计数系统7615.2知识准备7615.2.1定时/计数器中的寄存器7615.2.2定时/计数器的工作方式7815.3任务实施8015.4能力拓展8115.4.1脉冲的发生与测量8115.4.2定时/计数器用于外部中断扩展8315.4.3其他定时方法8416学习情境16并行接口8516.1情境任务——循环彩灯8516.2知识准备8516.2.1P1口8516.2.2发光二极管8516.2.3延时程序8516.3任务实施8616.4能力拓展8716.4.1通用锁存器、缓冲器扩展8716.4.2扩展8255可编程并行接口芯片8917学习情境17串行口通信技术9217.1情境任务——串口通信9217.2知识准备9217.2.1单片机通信概念9217.2.2串行通信的分类9317.2.3通信方向分类9317.2.4单片机的串行接口9417.3任务实施9717.4任务扩展——双机通信9918学习情境18存储器的扩展10418.1情境任务——扩展片外存储器10418.2知识准备10418.2.1存储器扩展概念10418.2.2程序存储器扩展10918.2.3数据存储器扩展11018.3任务实施11118.4能力拓展11318.4.1扩展多片数据存储器11318.4.2存储器综合扩展11419学习情境19A/D与D/A转换11519.1情境任务——模拟量输入的巡回检测系统及信号发生器11519.2知识准备11519.2.1A/D转换器11519.2.2D/A转换器12019.3任务实施12419.4能力拓展12620学习情境20初识C语言12720.1情境任务——C语言程序结构12720.2知识准备——单片机C语言基础12720.3任务实施12920.4能力拓展——两种编程语言比较12921学习情境21数据和运算13121.1情境任务——使用C语言设计流水灯13121.2知识准备13121.2.1C51的数据类型13121.2.2数据的存储类型和存储模式13321.2.3C51对SFR、可寻址位、存储器和I/O口的定义13521.2.4C51的运算符13721.3任务实施13821.4能力拓展——流水灯其他实现方法14022学习情境22C语言基本语句14222.1情境任务——汽车转向灯控制系统14222.2知识准备14322.2.1表达式语句和复合语句14322.2.2选择语句14422.3任务实施14722.4能力拓展——循环语句15023学习情境23数组15823.1情境任务——简易密码锁15823.2知识准备15823.2.1数组的概念15823.2.2数组的类型15823.3任务实施16223.4能力拓展——数组实现流水灯控制16324学习情境24函数16524.1情境任务——使用库函数控制流水灯16524.2知识准备16524.2.1函数的分类16524.2.2函数的定义16524.2.3函数的调用16624.2.4对被调函数的说明16624.3任务实施16724.4能力拓展——C语言中散转移编程16825学习情境25汇编语言和C语言的混合编程16925.1情境任务——方波发生器16925.2知识准备16925.2.1混合编程概念16925.2.2C语言程序和汇编语言程序参数的传递16925.3任务实施17025.4能力拓展17225.4.1数值比较混合编程17225.4.2C和汇编混合编程传递的参数多于三个的编程方法17226项目训练1报警产生器17527项目训练24×4矩阵式键盘识别技术17828项目训练3字符型LCD显示18329项目训练4音乐声192自测练习题200附录AKeilC51软件使用207附录Bat89s52单片机烧写软件214附录C常用的C51标准库函数219参考文献222