以80C51系列单片机为主,《单片机项目教程:C语言版(第2版)》详细介绍单片机的工作原理、编程方法和实际应用等知识,内容包括单片机结构、C语言编程和典型接口器件等。
该书融进了作者多年教学、科研实践所获取的经验及实例,是作者在单片机课程教学改革的基础上编写而成的,采用“项目代领、任务驱动”的教学模式来编排,视各个课题为一个项目,每个项目又由多个任务组成,读者通过完成各个任务而掌握本课题的所有知识。全书以读者的认知规律为主线,充分体现了以人为本的指导思想。该书是再版书,相比旧板,对部分内容进行了更新。
作者为该书的写作开发了实验仿真板,设计了实验电路板,并且通过作者个人网站提供作者所设计的实验仿真板、实验电路板的原理图和印刷线路板图及书中所有例子等。读者获得的不仅是一本文字教材,更是一个完整的学习环境。
该书可作为职业技术学院、中高等职业学校、专业技术学校、单片机培训机构等的教学用书,也是电子爱好者自学单片机的很好教材。
除了该书之外,作者有成熟的教学方法可以交流,并可提供与之配套的实验器材、教学课件,从而构成单片机教学的完整解决方案。
《单片机项目教程-C语言版》第1版出版以后,得到了读者的支持与肯定,有一些读者陆续向作者提出修订的要求。
随着技术的不断进步,第1版中采用的一些技术已有更新和发展;第1版发行后,读者反馈了大量的建议和意见;同时作者在教学实践过程中也积累了更多的教学经验,所采用的“任务教学法”逐步完善。为更好地服务于读者,作者对《单片机项目教程C语言版》一书进行了修订。第2版延续了第1版的写作风格,保留了轻松易懂的特点,并在以下几个方面做了修改:
(1)重新设计了实验电路板。随着技术的飞速发展,第1版中采用的实验电路板技术已落后。第2版对原电路板进行了改进,设计了一块底板和CPU板分离的实验电路板,在保持与第1版兼容的同时,增加了更多的功能,尤其能充分利用现有的各类功能模块,使其能紧跟技术的发展。本电路板由CPU板和实验母板组合而成,实验母板提供了按钮、显示、驱动等各个系统,其中输入部分由8位独立按键、16位矩阵键盘、PS2键盘接口、旋转编码器等组成;显示部分由8位LED以及8位数码管、1602字符型液晶、12864点阵型液晶、OLED等组成;串行接口器件部分包括AT24C02、93C46、DS1302、74HC595等;驱动部分包括继电器、电机驱动及转速采样接口等;模拟量部分由PT100测温电路、PWM平滑滤波等组成;实验母板还提供了丰富的接口,可与市场上常见的各种功能模块(如WiFi、蓝牙、超声波测距、一线制接口器件、红外遥控接口)直接连接,充分利用现有的嵌入式学习环境。实验母板通过2条40芯插座与CPU板相连,CPU是51、PIC、STM32等各类嵌入式系统的CPU。作者提供AT89C51、STC15系列等多种51兼容CPU板。
(2)对各章内容与文字均进行了细致的修改,以使读者更容易理解。
(3)跟随新出现的技术,对书中各个部分进行修改。如针对新版的Keil软件增加的功能加以说明等。
(4)根据重新设计后的实验电路板重新编写了实验仿真板,保证实验仿真板与硬件实验电路板的一致。
(5)根据读者的反馈及技术的发展,作者增加了点阵型液晶、交通灯控制、多模块编程等部分较深入但很常用的知识点。
本书安排与第1版基本相同,但又略有调整,具体内容安排如下。
课题1介绍了单片机及C语言入门,分为两部分,第一部分介绍了单片机的发展、计算机数据表示、计算机中常用基本术语和存储器的工作原理及分类;第二部分介绍了C语言入门和C语言中的数据表示等知识。
课题2是单片机学习环境的建立,分为硬件环境建立和软件环境建立两部分。介绍了自制实验电路板、让实验电路板具有仿真功能、认识和使用成品实验电路板等方法来建立硬件实验环境;还介绍了Keil软件的安装与使用、实验仿真板的特点及使用。
课题3是I/O口介绍,通过使用I/O口控制LED、用单片机发声、用指拨开关设置音调、用单片机制作风火轮玩具这4个任务来学习单片机I/O口相关知识。
课题4是80C51的中断系统,通过紧急停车控制、通过外部信号来控制风火轮等2个任务来学习中断相关知识。
课题5是定时/计数器应用,通过包装流水线中的计数器、用单片机来唱歌这2个任务来学习80C51单片机中的定时/计数器功能、工作原理、编程方法等知识。
课题6是80C51的串行接口与串口通信,通过使用串行口扩展并行口、单片机与PC通信这2个任务来学习80C51中串行接口的结构、工作原理、工作方式,并学会相应的编程方法。
课题7是显示接口,通过一位计数器、银行利率屏制作、秒表、小小迎宾屏这4个任务,分别学习单个LED数码管显示数据,静态方式点亮多个LED数码管、动态方式点亮多个LED数码管、字符型液晶显示的使用等知识与编程技术。
课题8是键盘接口,通过键控风火轮、可预置的倒计时钟、智能仪器的键盘这3个任务,学习几种常用键盘的连接方式及编程方法。
课题9是模拟量接口,通过数字电压表的制作,学习模拟量与数字量的区别,学习A/D转换器的工作原理、TLC0831芯片的编程方法,通过数字化波形发生器任务来学习D/A转换器的工作原理、TLC5 615芯片的编程方法。
课题10是I2C总线与SPI接口,通过制作一个AT24COIA编程器任务来学习12C接口及编程技术;通过制作一个手动X5045编程器的任务来学习SPI接口、X5045芯片的应用技术。读者在掌握了这些知识后,就可以开始做一些实际的项目开发工作,并在开发中继续学习。
课题11是应用设计举例,引导读者从入门到开发。本课题的2个任务是2个较为完整的程序,读者可以利用它们来做一些比较完整的“产品”,以便了解单片机项目开发的完整过程。
周坚,网络中被惯称为“平凡”。以教书为业,开发些单片机项目,故自封为工程师。好读书,爱动手,以求甚解;常思考,每有所得,必以行动验证之;心无城府、不慕名利,所做皆小事,但均为实事。
莱茵河——德国的父亲河,青山碧水,画境无边……山坡上片片翠色欲滴的葡萄园,水中艘艘悠悠轻盈的游船,河岸上如星般洒落着幽静古雅的小城,山峦间挺拔着众多的神秘石堡,身处其中,享受着一份不可多得的恬静与安宁。
课题1 认识单片机及C语言
1.1 单片机的发展
1.1.1 单片机名称的由来
1.1.2 单片机技术的发展历史
1.2 计算机数据表示
1.2.1 常用的进位计数制
1.2.2 二进制的算术运算
1.2.3 数制间的转换
1.2.4 数的表示方法及常用计数制的对应关系
1.2.5 逻辑数据的表示
1.3 计算机中常用的基本术语
1.4 存储器
1.5 C语言入门
1.5.1 C语言的产生与发展
1.5.2 C语言的特点
1.5.3 C语言入门知识
1.5.4 C程序特性分析
1.6 C语言中的数据
1.6.1 数据类型概述
1.6.2 常量与变量
1.6.3 整型数据
1.6.4 字符型数据
课题2 80C51单片机学习环境的建立
任务1使用STC89C51单片机制作实验电路板
2.1.1 电路原理图
2.1.2 电路板的制作与代码的写入
任务2让实验电路板具有仿真功能
2.2.1 仿真的概念
2.2.2 仿真芯片制作
任务3认识和使用成品电路板
2.3.1 多功能实验电路板
2.3.2 工业控制器
任务4 Keil软件的安装与使用
2.4.1 Keil软件简介
2.4.2 安装Keil软件
2.4.3 使用Keil软件
任务5认识与使用实验仿真板
2.5.1 实验仿真板的特点
2.5.2 实验仿真板的安装与使用
课题3 80C51单片机的I/O接口
任务1 用单片机控制LED
3.1.1 任务分析
3.1.2 任务实现
任务2用单片机发出声音
3.2.1 任务分析
3.2.2 任务实现
3.2.3 延时工作过程的分析
任务3用指拨开关设置音调
3.3.1 设置音调的实现
3.3.2 任务实现
3.3.3 单片机内部的并行I/O口
任务4用单片机制作风火轮玩具
3.4.1 任务分析
3.4.2 任务实现
3..4.3 用仿真芯片来实现
3.4.4 单片机的内部结构
课题4 80C51单片机的中断系统
任务1 紧急停车控制器
4.1.1 中断的概念
4.1.2 任务实现
4.1.3 80C51的中断结构
任务2通过外部信号来改变风火轮的转速
4.2.1 脉冲信号获得
……
课题5 80C51单片机的定时器/计数器
课题6 80C51单片机的串行接口与串行通信
课题7 显示接口
课题8 键盘接口
课题9 模拟量转换接口
课题10 串行接口芯片
课题11 应用设计实例
参考文献