目录 第1章单片机与机器人概述1 1.1微控制器与单片机1 1.2单片机的应用1 1.3单片机的发展趋势2 1.4单片机的品种3 1.5机器人简介6 思考题6 第2章单片机硬件原理7 2.1AT89C51单片机7 2.1.1AT89C51单片机的硬件组成7 2.1.2AT89C51单片机的引脚功能7 2.1.3AT89C51单片机的处理器9 2.1.4AT89C51单片机的存储器10 2.1.5AT89C51单片机的时序11 2.1.6AT89C51单片机的最小系统11 2.2STC89C52RC单片机11 2.3STC12C5A60S2单片机12 2.3.1STC12C5A60S2单片机的硬件组成12 2.3.2STC12C5A60S2单片机的引脚功能13 2.3.3传统8051过渡到STC12系列16 思考题17 第3章C51程序设计18 3.1标准C语言与C51语言18 3.2C51的数据类型18 3.3C51的运算量19 3.3.1常量19 3.3.2变量20 3.4C51的运算符23 3.4.1算术运算符23 3.4.2关系运算符24 3.4.3逻辑运算符24 3.4.4位运算符25 3.4.5赋值运算符25 3.4.6指针与地址运算符26 3.4.7逗号与条件运算符26 3.5C51的流程控制语句26 3.5.1C51的基本结构26 3.5.2if语句27 3.5.3switch/case语句28 3.5.4while语句30 3.5.5do while语句30 3.5.6for语句31 3.5.7break语句和continue语句32 3.5.8return语句32 3.6C51的函数32 3.6.1函数的定义32 3.6.2函数的调用33 3.7C51的数组与指针34 3.7.1数组34 3.7.2指针37 3.7.3绝对地址的访问39 3.8工具软件的基本使用41 3.8.1集成开发软件Keil41 3.8.2虚拟仿真软件Proteus47 3.8.3下载烧写软件STCISP53 思考题56 第4章单片机内部资源与常用接口57 4.1输入/输出57 4.1.1控制发光二极管显示58 4.1.2检测按键状态60 4.1.3控制数码管显示63 4.2中断67 4.2.1中断源68 4.2.2控制中断的特殊功能寄存器68 4.2.3中断函数69 4.2.4中断应用70 4.3定时/计数器71 4.3.1控制定时/计数器的特殊功能寄存器71 4.3.2定时/计数器应用72 4.4串行口78 4.4.1控制串行口的特殊功能寄存器78 4.4.2工作方式与波特率79 4.4.3串行口通信应用81 4.5并行扩展数据存储器626485 4.5.1地址锁存器芯片74LS37386 4.5.2数据存储器芯片626486 4.5.3单片机与6264的接口与编程87 4.6并行扩展输入/输出芯片8255A89 4.6.1输入/输出芯片8255A简介89 4.6.2输入/输出芯片8255A的控制字89 4.6.3单片机与8255A的接口与编程89 4.7并行扩展模数转换器ADC080992 4.7.1模数转换器技术指标92 4.7.2模数转换器ADC080993 4.7.3单片机与ADC0809的接口与编程94 4.8液晶LCD160295 4.8.1LCD1602液晶显示模块95 4.8.2LCD1602液晶显示模块的引脚功能97 4.8.3LCD1602液晶显示模块命令与功能98 4.8.4单片机与LCD1602的接口与编程100 4.9温度传感器DS18B20104 4.9.1单总线104 4.9.2温度传感器DS18B20简介105 4.9.3温度传感器DS18B20的工作时序106 4.9.4温度传感器DS18B20命令107 4.9.5单片机与DS18B20的接口与编程107 思考题112 第5章机器人结构与车体资源114 5.1机器人系统组成114 5.2机器人车体控制器116 5.3机器人车体传感器117 5.3.1红外传感器的工作原理117 5.3.2机器人车体传感器接口电路118 5.3.3机器人车体传感器编程119 5.4机器人车体执行器120 5.4.1PWM控制直流电机的工作原理120 5.4.2机器人车体执行器接口电路121 5.4.3机器人车体执行器编程122 5.5机器人车体显示器123 5.5.1机器人车体显示器接口电路123 5.5.2机器人车体显示器编程123 5.6机器人电源124 思考题125 第6章机器人通信板资源126 6.1通信板硬件组成126 6.1.1控制器127 6.1.2发光二极管、按键与蜂鸣器127 6.1.3液晶LCD12864与OLED128 6.1.4温度传感器DS18B20129 6.1.5无线通信129 6.1.6RS232串行口通信129 6.1.7通信板电源130 6.2串行口2131 6.2.1控制串行口2的特殊功能寄存器131 6.2.2串行口2通信应用133 6.3液晶LCD12864138 6.3.1LCD12864液晶显示模块138 6.3.2LCD12864液晶显示模块的引脚功能139 6.3.3LCD12864液晶显示模块命令与功能140 6.3.4单片机与LCD12864的接口与编程143 思考题148 第7章机器人无线通信149 7.1无线数字通信149 7.1.1电磁波传播与损耗149 7.1.2分贝与分贝毫瓦150 7.1.3工作频率与通信距离151 7.1.4无线通信芯片的技术指标151 7.2阻抗匹配与天线152 7.2.1阻抗与阻抗匹配152 7.2.2天线152 7.3调制方式153 7.3.1幅移键控153 7.3.2频移键控153 7.3.3高斯频移键控154 7.4SPI总线154 7.4.1SPI总线接口功能154 7.4.2SPI总线的工作原理154 7.4.3单片机SPI总线应用编程155 7.5短距离无线通信芯片NRF24L01156 7.5.1内部结构156 7.5.2引脚功能157 7.5.3工作模式158 7.5.4配置NRF24L01的SPI指令161 7.5.5NRF24L01的内部寄存器与功能162 7.5.6NRF24L01的数据包格式168 7.5.7NRF24L01短距离无线通信模块168 7.5.8机器人点对点无线通信编程169 思考题179 第8章机器人智能循迹180 8.1机器人系统结构180 8.2地图与功能描述181 8.3机器人智能循迹编程182 8.3.1智能控制逻辑与算法182 8.3.2智能循迹参考程序184 思考题191 第9章机器人智能超车192 9.1机器人系统结构192 9.2地图与功能描述193 9.3机器人智能超车编程195 9.3.1智能控制逻辑与算法195 9.3.2智能超车参考程序198 思考题223 第10章机器人智能旅行224 10.1机器人系统结构224 10.2地图与功能描述226 10.3机器人智能旅行编程228 10.3.1智能控制逻辑与算法228 10.3.2智能旅行参考程序231 思考题259 附录A本书智能机器人零配件清单262 附录B本书通信板电路原理图264 参考文献265