本书简要介绍了PIC单片机C语言的基本知识、实验器材和实验方法,并演练了大量适宜初学者入门的典型实例,为方便读者实验,本书的所有实例开发了PIC核心板和DD-900mini实验板,并以视频的方式记录了书中主要实验的演示过程和现象。需要说明的是,DD-900mini实验板是针对51单片机的,但是,通过外接一个“PIC核心板”,就可以让DD-900mini摇身一变,成为PIC开发板。当然,如果读者有其他51实验板,也同样可以让自己的51实验板变成PIC开发板,这会为用户节约不少开支。
目 录
第1章 PIC单片机非常入门 (1)
1.1 PIC单片机介绍 (1)
1.1.1 PIC单片机的特色 (1)
1.1.2 PIC16F87X单片机的结构 (2)
1.1.3 PIC16F877A单片机的外部引脚 (3)
1.1.4 PIC16F877A的内部存储器 (4)
1.1.5 PIC16F877A单片机的I/O口 (6)
1.1.6 复位电路和系统时钟 (7)
1.2 PIC单片机C语言入门 (10)
1.2.1 为什么采用C语言编程 (10)
1.2.2 简单的C语言程序 (11)
第2章 PIC单片机实验器材介绍及实验过程演示 (16)
2.1 PIC单片机实验器材介绍 (16)
2.1.1 PIC核心板介绍 (16)
2.1.2 DD-900mini实验板介绍 (17)
2.1.3 PICKIT2介绍 (22)
2.2 PIC单片机开发软件的安装 (23)
2.3 PIC单片机实验过程演示 (24)
2.3.1 硬件电路 (24)
2.3.2 编写和编译程序 (25)
2.3.3 程序的仿真 (31)
2.3.4 程序的下载 (36)
第3章 PIC单片机C语言学习与演练 (38)
3.1 标识符和关键字 (38)
3.1.1 标识符 (38)
3.1.2 关键字 (38)
3.2 数据类型介绍与演练 (40)
3.2.1 数据类型介绍 (40)
3.2.2 数据类型演练 (41)
3.3 常量、变量介绍与演练 (45)
3.3.1 常量 (45)
3.3.2 变量 (46)
3.3.3 常量与变量演练 (48)
3.4 运算符、表达式介绍与演练 (49)
3.4.1 运算符、表达式介绍 (49)
3.4.2 运算符、表达式演练 (53)
3.5 PICC基本语句介绍与演练 (55)
3.5.1 表达式语句和复合语句 (55)
3.5.2 条件选择语句 (56)
3.5.3 循环语句 (58)
3.5.4 PICC基本语句演练 (62)
3.6 PICC函数介绍与演练 (67)
3.6.1 函数概述 (67)
3.6.2 函数的参数和返回值 (68)
3.6.3 函数的调用 (69)
3.6.4 局部变量和全局变量 (70)
3.6.5 变量的存储种类 (71)
3.6.6 中断函数的实现 (72)
3.6.7 函数演练 (73)
3.7 PICC数组和指针介绍与演练 (76)
3.7.1 数组介绍 (76)
3.7.2 指针介绍 (80)
3.7.3 数组与指针演练 (84)
第4章 PIC单片机内部资源视频演练 (87)
4.1 中断系统视频演练 (87)
4.1.1 中断系统介绍 (87)
4.1.2 视频演练1——外中断练习 (91)
4.2 定时/计数器视频演练 (94)
4.2.1 PIC定时/计数器介绍 (94)
4.2.2 视频演练2——TMR0定时实验 (98)
4.2.3 视频演练3——TMR1定时实验 (99)
4.2.4 视频演练4——TMR2定时实验 (101)
4.3 CCP模块视频演练 (102)
4.3.1 CCP模块介绍 (102)
4.3.2 视频演练5——CCP1模块比较输出模式实验 (106)
4.4 串行通信实例解析 (108)
4.4.1 串行通信介绍 (108)
4.4.2 视频演练6——PC控制单片机工作 (113)
第5章 键盘接口电路视频演练 (117)
5.1 键盘接口电路基本知识 (117)
5.1.1 键盘的工作原理 (117)
5.1.2 键盘与单片机的连接形式 (118)
5.2 键盘接口电路视频演练 (118)
5.2.1 视频演练1——数码管显示独立按键值 (118)
5.2.2 视频演练2——可控流水灯 (121)
第6章 LED数码管视频演练 (125)
6.1 LED数码管介绍 (125)
6.1.1 LED数码管的结构 (125)
6.1.2 LED数码管的显示码 (126)
6.1.3 LED数码管的显示方式 (127)
6.2 LED数码管视频演练 (129)
6.2.1 视频演练1——数码管动态扫描演示 (129)
6.2.2 视频演练2——数码管电子钟 (131)
第7章 LCD显示视频演练 (140)
7.1 字符型LCD基本知识 (140)
7.1.1 字符型LCD引脚功能 (140)
7.1.2 字符型LCD内部结构 (141)
7.1.3 字符型LCD控制指令 (143)
7.1.4 字符型LCD驱动程序软件包的制作 (146)
7.2 字符型LCD视频演练 (149)
7.2.1 实例解析1——1602 LCD显示字符串 (149)
7.2.2 实例解析2——1602 LCD移动显示字符串 (152)
7.2.3 视频演练3——1602 LCD电子钟 (153)
第8章 时钟芯片DS1302视频演练 (160)
8.1 时钟芯片DS1302基本知识 (160)
8.1.1 DS1302介绍 (160)
8.1.2 DS1302的控制命令字 (161)
8.1.3 DS1302的寄存器 (161)
8.1.4 DS1302的数据传送方式 (163)
8.1.5 DS1302驱动程序软件包的制作 (163)
8.2 DS1302数码管电子钟视频演练 (166)
第9章 PIC单片机读/写I2C总线视频演练 (173)
9.1 I2C总线介绍 (173)
9.1.1 I2C总线工作原理 (173)
9.1.2 I2C总线的电气结构 (174)
9.1.3 I2C总线器件的寻址方式 (174)
9.1.4 I2C总线数据的传输规则 (174)
9.1.5 I2C总线数据的读写格式 (175)
9.1.6 I2C总线接口芯片24C04介绍 (176)
9.1.7 I2C总线驱动程序软件包的制作 (177)
9.2 I2C总线接口芯片24C04视频演练 (180)
第10章 温度传感器DS18B20视频演练 (185)
10.1 温度传感器DS18B20基本知识 (185)
10.2 DS18B20数字温度计视频演练 (190)
第11章 红外遥控视频演练 (195)
11.1 红外遥控基本知识 (195)
11.1.1 红外遥控系统 (195)
11.1.2 红外遥控的编码与解码 (195)
11.1.3 DD-900mini实验板遥控电路介绍 (197)
11.2 红外遥控视频演练 (197)
11.2.1 实例演练1——LED数码管显示遥控器键值 (197)
11.2.2 视频演练2——LCD显示遥控器键值 (203)
第12章 PIC单片机音乐发声视频演练 (209)
12.1 单片机音乐发声简介 (209)
12.2 PIC单片机音乐发声视频演练 (209)
12.2.1 视频演练1——单片机发出警报声 (209)
12.2.2 视频演练2——单片机发出模拟救护车声 (211)
12.2.3 视频演练3——单片机发出模拟消防车声 (215)
12.2.4 视频演练4——单片机唱歌 (217)
参考文献 (222)
C语言和汇编语言都行。
我看了这么多套视频教程,还是觉得云龙51单片机视频教程,比较全面,且易于理解。
单片机的名词解析我就不多说了,我说说它的结构吧目前市面上单片机分几种51系列(8位,最早被开发的系列)、AVR、PIC、ARM系列51系列的典型实例就是80C51了,不过由于它不具备在线编程能力,已经...
1绪论 1.1 自动门的简介 自动门控制系统,在现当代社会是一个应用非常广泛的设备,自动门已经广 泛应用于酒店、银行、超市、停车场或公共建筑等入口,其主要核心部分——自 动门控制系统正是我们这篇论文的主要研究讨论的课题。 自动门是指 :可以将人接近门的动作 (或将某种入门授权) 识别为开门信号的 控制单元,通过驱动系统将门开启, 在人离开后再将门自动关闭, 并对开启和关 闭的过程实现控制的系统。 自动门的性能优劣主要取决于它的控制装置, 早期的 自动门控制系统采用继电器逻辑控制,造成安装繁琐、体积大、不稳定、不易维 修等缺点已逐渐被淘汰。 1.2 本设计研究的内容 1.2.1 自动平移门机组的部件组成 在本设计中主要研究自动平移门, 设计的自动平移门具有手动和自动开门功 能以及分时段控制功能, 同时配备防夹人光栅、 后备电源等辅助装置来满足商场 等人流众多场所的高效率、高安全性的要求。 (
滨江学院 课程设计 题 目 DS18B20测温系统 专 业 电子信息工程 学生姓名 学 号 20082305075 指导教师 ____邹应全 ______ 二O一一年 5 月 30 日 DS18B20温度课程设计 一、设计目的 1) 掌握 DS18B20数字温度传感器的工作原理和使用方法; 2) 掌握对 18B20转换数据进行处理的方法; 3) 熟练单片机在实际中的基本应用方法; 4) 提高自身的动手能力。 5) 通过这个实验, 希望能够对动手能力有所帮助, 能够在实际中做到对单片机的 基础应用,将课程所学初步应用到实际中, 自己动手设计一个属于自己的开发 板。 二、原理图设计 ( 1)原理图中的电源不问是从 USB借口取电的 USB接口以及滤波电容。需要注 意的是,滤波电容对于电路设计非常重要。 (2)DS18B20不问是温度传感器 DS18B20与单片机 P2.4 相连。需要注意的
单片机C语言非常入门
1.1 认识C语言
1.1.1 单片机采用C语言编程的好处
1.1.2 如何学习单片机C语言
1.2 简单的C语言程序
1.2.1 一个简单的流水灯程序
1.2.2 利用C51库函数实现流水灯
本章小结
51单片机实验器材介绍与实验过程演示
2.1 DD-900mini实验板介绍
2.1.1 DD-900mini实验板硬件资源和接口
2.1.2 硬件电路介绍
2.1.3 仿真功能的使用
2.1.4 使用串口进行程序下载
2.1.5 笔记本电脑使用DD-900mini实验板
2.2 DD-51编程器介绍与使用
2.2.1 DD-51编程器介绍
2.2.2 DD-51编程器使用
2.3 DD-F51仿真器介绍
2.3.1 DD-F51仿真器介绍
2.3.2 DD-F51仿真器的组成与使用
2.4 51单片机实验过程演示
2.4.1 编写程序
2.4.2 编译程序
2.4.3 仿真调试
2.4.4 烧写程序
2.4.5 脱机运行检查
单片机C51学习与演练
3.1 标识符和关键字
3.1.1 标识符
3.1.2 关键字
3.2 数据类型介绍与演练
3.2.1 数据类型介绍
3.2.2 数据类型演练
3.3 常量、变量介绍与演练
3.3.1 常量
3.3.2 变量
3.3.3 常量与变量演练
3.4 运算符、表达式介绍与演练
3.4.1 运算符、表达式介绍
3.4.2 运算符、表达式演练
3.5 C51基本语句介绍与演练
3.5.1 表达式语句和复合语句
3.5.2 条件选择语句
3.5.3 循环语句
3.5.4 C51基本语句演练
3.6 C51函数介绍与演练
3.6.1 函数概述
3.6.2 函数的参数和返回值
3.6.3 函数的调用
3.6.4 局部变量和全局变量
3.6.5 变量的存储种类
3.6.6 函数演练
3.7 C51数组介绍与演练
3.7.1 一维数组
3.7.2 二维数组
3.7.3 字符数组
3.7.4 数组演练
3.8 C51指针介绍与演练
3.8.1 指针概述
3.8.2 一般指针和基于存储器的指针
3.8.3 绝对地址的访问
3.8.4 指针演练
单片机内部资源视频演练
4.1 中断系统介绍与视频演练
4.1.1 51单片机的中断源
4.1.2 中断的控制
4.1.3 中断的响应
4.1.4 中断的撤除
4.1.5 C51中断函数的写法
4.1.6 视频演练1——外中断练习
4.2 定时/计数器视频演练
4.2.1 定时/计数器的组成
4.2.2 定时/计数器的寄存器
4.2.3 定时/计数器的工作方式
4.2.4 视频演练2——定时实验
4.2.5 视频演练3——计数实验
4.3 RS232串行通信视频演练
4.3.1 什么是RS232串行通信
4.3.2 51单片机串行口的结构
4.3.3 串行通信控制寄存器
4.3.4 串行口工作方式
4.3.5 视频演练4——PC通过RS232和单片机通信
键盘接口电路视频演练
5.1 键盘接口电路基本知识
5.1.1 键盘的工作原理
5.1.2 键盘的扫描方式
5.1.3 DD-900mini实验板中的独立按键
5.2 独立按键视频演练
5.2.1 视频演练1——按键扫描方式练习
5.2.2 视频演练2——可控流水灯
LED数码管视频演练
6.1 LED数码管介绍
6.1.1 LED数码管的结构
6.1.2 LED数码管的显示码
6.1.3 LED数码管的显示方式
6.2 LED数码管视频演练
6.2.1 视频演练1——数码管动态扫描演示
6.2.2 视频演练2——数码管电子钟
LCD显示视频演练
7.1 字符型LCD介绍
7.1.1 字符型LCD引脚功能
7.1.2 字符型LCD内部结构
7.1.3 字符型LCD控制指令
7.1.4 字符型LCD与单片机的连接
7.1.5 字符型LCD驱动程序软件包的制作
7.2 字符型LCD视频演练
7.2.1 视频演练1——1602 LCD显示静止的字符串
7.2.2 视频演练2——1602 LCD显示从右向左移动的字符串
7.2.3 视频演练3——1602 LCD电子钟
时钟芯片DS1302视频演练
8.1 时钟芯片DS1302介绍
8.1.1 DS1302概述
8.1.2 DS1302的控制命令字
8.1.3 DS1302的寄存器
8.1.4 DS1302的数据传送方式
8.1.5 DS1302驱动程序软件包的制作
8.2 DS1302数码管电子钟视频演练
8.2.1 实现功能
8.2.2 源程序
8.2.3 源程序解读
8.2.4 视频演示
单片机读写I2C总线视频演练
9.1 I2C总线介绍
9.1.1 I2C总线工作原理
9.1.2 I2C总线的电气结构
9.1.3 I2C总线器件的寻址方式
9.1.4 I2C总线数据的传输规则
9.1.5 I2C总线数据的读写格式
9.1.6 I2C总线接口芯片24C04介绍
9.1.7 I2C总线驱动程序软件包的制作
9.2 I2C总线接口芯片24C04视频演练
9.2.1 视频演练1——具有记忆功能的记数器
9.2.2 视频演练2——花样流水灯
温度传感器DS18B20视频演练
10.1 温度传感器DS18B20介绍
10.1.1 DS18B20引脚功能
10.1.2 DS18B20的内部结构
10.1.3 DS18B20的指令
10.1.4 DS18B20使用注意事项
10.1.5 温度传感器DS18B20驱动程序软件包的制作
10.2 DS18B20 LED数字温度计视频演练
10.2.1 实现功能
10.2.2 源程序
10.2.3 源程序解读
10.2.4 视频演示
红外遥控视频演练
11.1 红外遥控基本知识
11.1.1 红外遥控系统
11.1.2 红外遥控的编码与解码
11.1.3 DD-900mini实验板遥控电路介绍
11.2 红外遥控视频演练
11.2.1 视频演练1——LED数码管显示遥控器键值
11.2.2 视频演练2——LCD显示遥控器键值
单片机音乐发声视频演练
12.1 单片机音乐发声简介
12.2 单片机音乐发声视频演练
12.2.1 视频演练1——单片机发出模拟枪声
12.2.2 视频演练2——单片机发出模拟救护车声
12.2.3 视频演练3——单片机发出模拟消防车声
12.2.4 视频演练4——单片机唱歌
参考文献
单片机就是把一个计算机系统集成到一个芯片上,概括地讲,一块芯片就成了一台计算机,目前,市场上流行的单片机,其价格出奇得便宜。对于广大爱好者来说,真是上帝的礼物。只要你玩起了单片机,你就会有一种成就感,我怎么这样聪明!单片机,再结合适当的硬件接口电路,有什么事情做不到呢?我对它的评价是八个字:软硬兼施,老少皆宜。
单片机虽然好玩,但是,很多人经过一番探索之后却深感学好单片机并非易事,甚至连入门都感到困难。作者本人也是从一位电子爱好者成长为一名工程师的,此过程自然少不了学习、探索、实践、再学习、再实践这样一条规律。因此深切地知道,学单片机难,主要是不得要领,难以入门。一旦找到学习的捷径,入了门,掌握简单程序的编写方法并观察到实际演示效果,必然信心大增。接下来,再向深度、广度进军时,心里就比较坦然了,最终能够一步一个脚印地去扩展自己的知识面,成为单片机的编程高手。
在与众多的单片机爱好者交流中得知,单纯讲单片机内部结构、指令太枯燥,且不易理解。他们感兴趣的是单片机编程的应用实例,而且主要喜欢简单、实用、有趣的初级实例。因此,编写本书的思路是:以实战演练为主线贯穿全书,且多数实例采用视频的方式进行演示。这样,初学者能够看得清、听得到、学得快,从而达到很好的立体学习效果。
在内容安排上,本书通过51单片机内部资源(中断系统、定时/计数器、串口通信)、键盘接口、LED数码管显示、LCD液晶显示、DS1302时钟芯片、I2C总线接口芯片AT24C04、DS18B20温度传感器、红外遥控、音乐发声等大量具体的实际例子,系统演练了51单片机中最为常用、最为典型的接口应用。另外,本书也包括了一些作者在学习和实际设计过程中总结的经验及方法,希望能够帮助读者更好地学习51单片机。
本书安排的实例大部分是由作者编写的,有一些是参考相关资料改写的,全部程序都由作者调试并通过。对于实例的使用说明也尽量详细,力争让读者“看则能用,用则能成”,保证读者在动手的过程中常常体会到成功的乐趣。另外,书中的所有实例,都是基于作者设计的DD-900mini实验板之上的。本书附带的光盘中含有所有实验的完整源程序、视频演示和工具软件。
本书主要面向的读者是具有一定C语言基础或刚接触51单片机的电子爱好者,对于已经熟悉51单片机C语言开发的工程师则意义不大。
本书编写过程中,参阅了《无线电》、《单片机与嵌入式系统应用》等杂志,并从互联网上搜索了一些有价值的资料,由于其中的很多资料经过多次转载,已经很难查到原始出处,在此谨向资料提供者表示感谢。
参与本书编写的人员有刘建清、贾绪岩、李凤伟、陈素侠、孙保书、刘为国等,最后由中国电子学会高级会员刘建清先生组织定稿。由于编著者水平有限,加之时间仓促,书中难免会有疏漏和不足之处,恳请专家和读者不吝赐教。
最后要说明的是,本书中所有实例均采用了C语言进行编程,如果您喜欢用汇编语言,建议选用本书的姊妹篇《51单片机非常入门与视频演练》一书。
编著者
2010年3月
简要介绍了51单片机C语言的基本知识、实验器材和实验方法,并演练了大量适宜初学者入门的典型实例;为方便读者实验,作者为本书的所有实例开发了DD-900mini实验板,并以视频的方式记录了书中主要实验的演示过程和现象。尤其珍贵的是,书中实例中的多数子程序均具有较强的通用性,读者只需将其简单修改甚至不用修改,即可移植到自己开发的产品中。全书语言通俗、实例丰富、图文结合、简单明了,适合单片机爱好者和单片机初学者,也可作为中等专业技术学校、中等职业学校等教学用书。
《单片机原理与应用:基于C语言》主要是采用一个全新的方式,带领学生从零基础开始学习单片机和c语言编程,让学生不仅能在学习过程中认识常用的电子元器件及其识别方式,而且能快速地掌握8051单片机原理以及如何使用C语言来为其编写程序。
《单片机原理与应用:基于C语言》定位于职业院校学生或电子爱好者的入门指导书,读者有无编程基础都可以在短时间内入门8051系列单片机的开发。《单片机原理与应用:基于C语言》使用流行的c语言编写全部代码,因此它也是一本学习C语言的开发实践书,为读者今后进行嵌入式开发和程序代码移植打下坚实基础。