8位单片机C语言编程:基于PIC16(用c语言对pic16微控制器进行编程的实用指导)
基本信息
内容简介回到顶部↑
本书是用c语言对pic16微控制器进行编程的实用指导。书中结合实例简明扼要地描述了如何基于pic进行c语言编程,并着重介绍了microchip mplab ide、ccs pcm c编译器、proteus vsm等常用软件。
本书适合刚从事微处理器应用设计的技术人员、大学生以及无pic微控制器编程经验的爱好者使用。
本书适合刚从事微处理器应用设计的技术人员、大学生以及无pic微控制器编程经验的爱好者使用。
作译者回到顶部↑
本书提供作译者介绍
Martin P.Bates目前在英国黑斯廷斯艺术和技术学院讲授电子与电气工程课程,主要研究领域包括微控制器应用和嵌入式系统设计。除本书外,他还是畅销书PIC Microcontrollers,Second Edition的作者。
.. << 查看详细
.. << 查看详细
目录回到顶部↑
第1章 pic微控制器系统 1
1.1 pic 16 微控制器 1
1.1.1 mcu特性 2
1.1.2 程序执行 3
1.1.3 ram文件寄存器 4
1.1.4 其他pic芯片 5
1.2 pic mcu配置 5
1.2.1 时钟选择 5
1.2.2 配置选项 6
1.2.3 在c语言中的配置 7
1.3 pic16 mcu 外围设备 7
1.3.1 定时器 8
1.3.2 a/d转换器 9
1.3.3 比较器 10
1.3.4 并行从端口 10
1.3.5 中断 11
1.4 pic16 串行接口 12
1.4.1 usart 12
1.4.2 spi 总线 13
1.4.3 i2c总线 14
1.1 pic 16 微控制器 1
1.1.1 mcu特性 2
1.1.2 程序执行 3
1.1.3 ram文件寄存器 4
1.1.4 其他pic芯片 5
1.2 pic mcu配置 5
1.2.1 时钟选择 5
1.2.2 配置选项 6
1.2.3 在c语言中的配置 7
1.3 pic16 mcu 外围设备 7
1.3.1 定时器 8
1.3.2 a/d转换器 9
1.3.3 比较器 10
1.3.4 并行从端口 10
1.3.5 中断 11
1.4 pic16 串行接口 12
1.4.1 usart 12
1.4.2 spi 总线 13
1.4.3 i2c总线 14
前言回到顶部↑
本书是系列丛书的最后一本,这一丛书介绍了如何使用美国Microchip公司的PIC系列微控制器芯片进行嵌入式应用设计。该系列的PIC微控制器芯片是用于教学和培训的最流行的微控制器系列,同时,它也正在逐渐应用于工业和商业领域。Interfacing PIC Microcontrollers和Programming PIC Microcontrollers这两本书展示了使用主流的设计和仿真软件,即电器实验中心(Labcenter Electronics)的Proteus VSM软件开发的应用样例,这款软件是专门用于基于微控制器的电路设计的。应用的演示文件可以从作者的技术支持网站(后面会有详细介绍)下载,然后在屏幕上运行,这样读者就可以详细地学习每个程序的操作。
本书的目标是:
用简单的步骤介绍微控制器的C语言编程;
演示使用Microchip MPLAB IDE软件创建C语言项目;
指导初学者使用PIC的16系列单片机的CCS PCM C编译器;
解释如何使用Proteus VSM软件在仿真硬件时测试C语言应用;
描述Microchip PICDEM机械电子电路板的应用;
概述嵌入式系统设计和项目开发的原则。
随着微控制器芯片内存容量的不断增加,C语言逐渐成为人们开发嵌入式系统的首选语言。Microchip公司提供了专为C语言编程而设计的18和24系列芯片。然而,C语言编程有时也可以使用比较简单的16系列PIC芯片,但前提是应用程序足够简单,且不超出16系列芯片限定的内存容量。
本书使用的参考器件是PIC16F877A微处理器,因为这款微处理器包含了全部的外围设备,并且带有适当的内存容量。上一本有关接口技术的书也用它来讲,所以本系列书若都用于培训,会有良好的延续性。
微控制器传统上使用汇编语言编程,每一种类型的处理器都有自己的语法规则,这些规则能直接翻译成机器代码。然而,有一些学生、教师或者业余编程爱好者或许希望跳过学习琐细的汇编编码,而直接学习相对简单、功能更强大的C语言。因此,一本不需要太多汇编知识基础就能读懂的、尽可能通俗易懂地介绍C语言编程的书籍就显得十分及时了。虽然市面上已有几本介绍微控制器C语言编程的书,但是这些书对初学者来说太深、太难理解,而且还介绍了太多的初学阶段还用不上的细节,分散了初学者的注意力。
本书正文用尽可能简单的程序介绍了嵌入式编程技巧,也有通过屏幕完全交互式的电路仿真来演示这一系列的基本技巧,这些编程技巧可以很容易地应用到读者自己的项目中。本书的重点是编写关于每一主题的简单程序,正文还附有硬件模块示意图来说明系统的运作、完整的电路原理图、仿真结果图以及源代码清单,同时读者也可以从网上下载全部例子。大学学生或者设计工程师可以使用这些技巧高标准地编辑他们的项目文件。本书的每一章结束时,都会有一些自我检测和专门为学习而设计的配套作业。
本书的另一个特点就是使用Proteus VSM(virtual system modeling,虚拟系统建模)软件。原理图捕捉组件(ISIS)允许使用扩展有源元件库创建电路图。程序最终要固化在微控制器中,而形象的原理图则使得应用程序在下载到硬件前,被全面调试。这不仅为专业工程师节省了开发时间,而且为学生和业余编程爱好者提供了一款优秀的学习工具。
链接、资源和致谢
Microchip公司
Microchip公司(www.microchip.com)是PIC微控制器及相关产品的制造商。我十分感谢Microchip公司在我写这本书的过程中所提供的支持和帮助,也很感谢Microchip公司允许我使用它们的商标和知识产权。在这里要特别感谢Microchip英国公司的约翰·罗伯兹先生,感谢他的建议和帮助。Microchip公司的网站上有所有微控制器芯片的硬件、软件以及开发系统的详细信息和说明。为了使用本书所提到的工具进行应用程序开发,读者必须下载和安装MPLAB IDE。也可以从网上下载PIC16F877A微控制器的数据手册作为参考手册。
PIC、PICmicro、MPLAB、MPASM、PICkit、dsPIC和PICDEM都是Microchip公司的商标。
电气实验中心公司
电气实验中心公司(www.labcenter.co.uk)是Proteus VSM软件(virtual system modeling)的开发商。Proteus VSM是嵌入式应用开发领域最强大的联合仿真系统。我很感谢电气实验中心的团队在我写这套丛书的过程中所提供的帮助,尤其是John Jameson先生。这款仿真软件的学生版/评估版可以从www.proteuslite.com 上下载到。ISIS Lite、ProSPICE Lite和16F877A仿真器模型可以在www.proteuslite.com/register/ipmbundle.htm找到。
Proteus VSM、ISIS和ARES是电气实验中心公司的商标。
本书的目标是:
用简单的步骤介绍微控制器的C语言编程;
演示使用Microchip MPLAB IDE软件创建C语言项目;
指导初学者使用PIC的16系列单片机的CCS PCM C编译器;
解释如何使用Proteus VSM软件在仿真硬件时测试C语言应用;
描述Microchip PICDEM机械电子电路板的应用;
概述嵌入式系统设计和项目开发的原则。
随着微控制器芯片内存容量的不断增加,C语言逐渐成为人们开发嵌入式系统的首选语言。Microchip公司提供了专为C语言编程而设计的18和24系列芯片。然而,C语言编程有时也可以使用比较简单的16系列PIC芯片,但前提是应用程序足够简单,且不超出16系列芯片限定的内存容量。
本书使用的参考器件是PIC16F877A微处理器,因为这款微处理器包含了全部的外围设备,并且带有适当的内存容量。上一本有关接口技术的书也用它来讲,所以本系列书若都用于培训,会有良好的延续性。
微控制器传统上使用汇编语言编程,每一种类型的处理器都有自己的语法规则,这些规则能直接翻译成机器代码。然而,有一些学生、教师或者业余编程爱好者或许希望跳过学习琐细的汇编编码,而直接学习相对简单、功能更强大的C语言。因此,一本不需要太多汇编知识基础就能读懂的、尽可能通俗易懂地介绍C语言编程的书籍就显得十分及时了。虽然市面上已有几本介绍微控制器C语言编程的书,但是这些书对初学者来说太深、太难理解,而且还介绍了太多的初学阶段还用不上的细节,分散了初学者的注意力。
本书正文用尽可能简单的程序介绍了嵌入式编程技巧,也有通过屏幕完全交互式的电路仿真来演示这一系列的基本技巧,这些编程技巧可以很容易地应用到读者自己的项目中。本书的重点是编写关于每一主题的简单程序,正文还附有硬件模块示意图来说明系统的运作、完整的电路原理图、仿真结果图以及源代码清单,同时读者也可以从网上下载全部例子。大学学生或者设计工程师可以使用这些技巧高标准地编辑他们的项目文件。本书的每一章结束时,都会有一些自我检测和专门为学习而设计的配套作业。
本书的另一个特点就是使用Proteus VSM(virtual system modeling,虚拟系统建模)软件。原理图捕捉组件(ISIS)允许使用扩展有源元件库创建电路图。程序最终要固化在微控制器中,而形象的原理图则使得应用程序在下载到硬件前,被全面调试。这不仅为专业工程师节省了开发时间,而且为学生和业余编程爱好者提供了一款优秀的学习工具。
链接、资源和致谢
Microchip公司
Microchip公司(www.microchip.com)是PIC微控制器及相关产品的制造商。我十分感谢Microchip公司在我写这本书的过程中所提供的支持和帮助,也很感谢Microchip公司允许我使用它们的商标和知识产权。在这里要特别感谢Microchip英国公司的约翰·罗伯兹先生,感谢他的建议和帮助。Microchip公司的网站上有所有微控制器芯片的硬件、软件以及开发系统的详细信息和说明。为了使用本书所提到的工具进行应用程序开发,读者必须下载和安装MPLAB IDE。也可以从网上下载PIC16F877A微控制器的数据手册作为参考手册。
PIC、PICmicro、MPLAB、MPASM、PICkit、dsPIC和PICDEM都是Microchip公司的商标。
电气实验中心公司
电气实验中心公司(www.labcenter.co.uk)是Proteus VSM软件(virtual system modeling)的开发商。Proteus VSM是嵌入式应用开发领域最强大的联合仿真系统。我很感谢电气实验中心的团队在我写这套丛书的过程中所提供的帮助,尤其是John Jameson先生。这款仿真软件的学生版/评估版可以从www.proteuslite.com 上下载到。ISIS Lite、ProSPICE Lite和16F877A仿真器模型可以在www.proteuslite.com/register/ipmbundle.htm找到。
Proteus VSM、ISIS和ARES是电气实验中心公司的商标。
序言回到顶部↑
现代生活中,嵌入式微控制器无处不在。在普通家庭就到处可见嵌入式微控制器的应用,比如手机、计算器和MP3播放器。这些嵌入式产品都无一例外地需要至少一个控制器,有些可能需要几个控制器:一个用于控制用户界面(按键和显示),另一个用于控制电动机,甚至可能控制整个系统管理。同样,嵌入式微控制器也可以应用于洗衣机、车库电动门、卷发器或者电动牙刷。如果嵌入式产品使用可充电电池供电,那么现代高密度化学电池就需要智能充电器。
10年前,学习如何使用微控制器对于人们来说还是相当困难的。当时最便宜的编程器也要100美元左右,产品开发不仅需要可擦除的有窗存储部件(其成本是一次性可编程存储部件的10倍左右),还需要一个UV擦除器,用于擦除有窗存储部件。调试工具仅仅在专业领域才使用。现在,大部分微控制器已使用电可擦除的内存作为程序存储器了。这意味着器件可以在电路中被重新编程,不需要UV擦除器,也不需要特别的用于开发的程序包。对于初学者来说,只需花大约25美元购买PICkit 2 Starter Kit开发包,就能对Microchip公司的很多微控制器(MCU)进行编程和调试了。Microchip公司一般都会提供免费的集成开发环境(IDE),包括汇编器和仿真器。如此低廉的学习使用嵌入式微控制器的成本前所未有。
尽管MPLAB包含免费的汇编器,但是编写汇编代码十分繁琐,而且维护起来也很困难。使用C语言进行开发则将程序员从多字节数学和分页控制等细节中解放出来,而且能提高代码的可读性和可维护性。CCS和Hi-Tech编译器都提供免费的学生版本。如果将开发过程所节省的时间折算进来,完整版的编译器也是相当便宜的。
虽然使用C语言就不必再学习PIC16汇编语言了,并且用户也不必再操心所有的细节了,但还是有必要理解这种体系结构。时钟的选择、外围设备的设置以及引脚的复用问题都是需要了解的。本书将引导读者从了解控制器开始,最终学会如何完成一个应用。本书将采用十分有特色的PIC16F877A单片机来练习,介绍它的体系结构和器件配置。这是一款很好的入门产品,它和其他的PIC16单片机的体系结构很相似,只是在I/O线路、内存、外围设备方面有所不同。使用PIC16F877A单片机开发的产品可以很容易移植到更小、更便宜的中等系列的PIC微控制器芯片上。本书还会介绍单片机的外围设备,并且会介绍如何设置这些外围设备,让其工作,从而简化固件。
本书还介绍了Microchip的集成开发环境,即MPLAB软件。MPLAB软件包含一个编辑器和一个仿真器,并提供了很多编译器的接口,包括本书使用的CCS编译器。最后,本书还介绍了Proteus仿真器,它能帮助读者完成系统的仿真。制作PCB原型时,使用该仿真器能节省很多时间和金钱。
Dan Butler
Microchip公司首席应用工程师
10年前,学习如何使用微控制器对于人们来说还是相当困难的。当时最便宜的编程器也要100美元左右,产品开发不仅需要可擦除的有窗存储部件(其成本是一次性可编程存储部件的10倍左右),还需要一个UV擦除器,用于擦除有窗存储部件。调试工具仅仅在专业领域才使用。现在,大部分微控制器已使用电可擦除的内存作为程序存储器了。这意味着器件可以在电路中被重新编程,不需要UV擦除器,也不需要特别的用于开发的程序包。对于初学者来说,只需花大约25美元购买PICkit 2 Starter Kit开发包,就能对Microchip公司的很多微控制器(MCU)进行编程和调试了。Microchip公司一般都会提供免费的集成开发环境(IDE),包括汇编器和仿真器。如此低廉的学习使用嵌入式微控制器的成本前所未有。
尽管MPLAB包含免费的汇编器,但是编写汇编代码十分繁琐,而且维护起来也很困难。使用C语言进行开发则将程序员从多字节数学和分页控制等细节中解放出来,而且能提高代码的可读性和可维护性。CCS和Hi-Tech编译器都提供免费的学生版本。如果将开发过程所节省的时间折算进来,完整版的编译器也是相当便宜的。
虽然使用C语言就不必再学习PIC16汇编语言了,并且用户也不必再操心所有的细节了,但还是有必要理解这种体系结构。时钟的选择、外围设备的设置以及引脚的复用问题都是需要了解的。本书将引导读者从了解控制器开始,最终学会如何完成一个应用。本书将采用十分有特色的PIC16F877A单片机来练习,介绍它的体系结构和器件配置。这是一款很好的入门产品,它和其他的PIC16单片机的体系结构很相似,只是在I/O线路、内存、外围设备方面有所不同。使用PIC16F877A单片机开发的产品可以很容易移植到更小、更便宜的中等系列的PIC微控制器芯片上。本书还会介绍单片机的外围设备,并且会介绍如何设置这些外围设备,让其工作,从而简化固件。
本书还介绍了Microchip的集成开发环境,即MPLAB软件。MPLAB软件包含一个编辑器和一个仿真器,并提供了很多编译器的接口,包括本书使用的CCS编译器。最后,本书还介绍了Proteus仿真器,它能帮助读者完成系统的仿真。制作PCB原型时,使用该仿真器能节省很多时间和金钱。
Dan Butler
Microchip公司首席应用工程师
【插图】

点击看大图
加载中...
