×

51单片机教程之51单片机C语言全新教程的详细资料免费下载

消耗积分:0 | 格式:rar | 大小:6.78 MB | 2018-08-30

分享资料个

  21 世纪是信息时代,电子技术的发展日新月异,同时各种新型数据传输接口技术的出现和新器件的出现,例如SPI 通信、USB 通信、网络通信等等,大部分单片机书籍基本上没有提及,有提及的更是凤毛麟角,比较老的书籍的内容已经严重脱节。首先以编程工具为例,现在的项目开发主要以C 语言为主,已经很少人使用汇编进行项目开发,程序不再是一个人独自编写,而是由一个团队进行协作式编写,一部分人负责接口编程、一部分人负责器件功能编程、一部分人负责总体架构,由此看来,C 语言编程为团队协作式开发提供了可能,但是从汇编的角度来看,往往只能一个人进行编写,当然实现功能是没有问题的,不过要提醒的是,时间就是金钱,别人只要1 个月就可以完成,你却要2 个月的时间进行完成,别人已经捷足先登,你却姗姗来迟。

  随着国内单片机开发工具研制水平的提高,现在的单片机仿真器普遍支持C 语言程序的调试,例如常见的8051 系列单片机开发工具Keil、AVR 单片机开发工具AVR Studio,这样为单片机使用C 语言编程提供了相当的便利。使用C 语言编程不必对单片机和硬件接口的结构有很深入的了解,聪明的编译器可以自动完成变量的存储单元的分配,用户只需要专注于应用软件部分的设计就可以了,这样就会大大加快软件的开发速度,而且使用C 语言设计的代码,很容易在不同的单片机平台进行移植,这样如果在软件开发速度、软件质量、程序的可读性、可移植性这些都是汇编都不能所比拟的。

  在电子信息发展迅猛的年代,我们不仅要掌握8051 系列单片机的C 语言编程,而且要掌握好按键、LCD、USB 等程序的编写,要知道几乎每一样单片机系统都要与他们打交道的,例如生活中常见的门禁系统,它们做好防盗的同时为人们提供了一个友好的“人机交互”接口如按键、LCD,输入密码以按键为媒介,相关信息在LCD 上显示,门禁系统的管理信息通过串口、USB 进行获取,甚至通过网络进行获取,而且获取的方式是通过PC 的控制界面进行控制。

  本书单片机的选型以STC89C52RC 增强型51 系列单片机为蓝本。

  本书共分为六大部分。

  第一部分为简略介绍单片机的历史,着重介绍传统8051 系列单片机的特点、STC89C52RC 增强型51系列单片机的主要特性和Keil 开发环境。

  第二部分为基础入门篇,着重讲解STC89C52RC 增强型51 系列单片机的内部资源的基本使用,如GPIO、定时器、外部中断、串口(含模拟串口)、看门狗、内部EERPOM 等,同时对74LS164 串行输入并行输出锁存器、数码管、LCD、进行简单介绍。基础入门篇做到原理与实践相结合的过程体系,初学者能够迅速掌握8051 系列单片机的基本应用。基础入门篇最后阐述了STC89C52RC 增强型51 系列单片机独有的功耗控制、EMI 管理、软件复位等应用和Keil 内建的RTX-51 实时系统和LIB 的生成、调用,特别是RTX-51 实时系统的学习将对以后进军嵌入式实时系统提供了厚实的根基。

  第三部分为实战篇,通过学习基础入门篇过后,现在必须由量变到质变的过程,实战篇只有三个实验,分别是计数器实验、交通灯实验、频率计实验。这三个实践性实验是十分典型的实验,在大学的课程设计课题中都可以找到,因为这三个实验能够很好地检验大家对单片机深入程度,同时能够使大家在面向单片机编程中逻辑思维能力得到“质”的提高。例如通过计数器实验涉及到单片机的定时器熟练应用与数码管的显示、交通灯实验涉及到串口通信技术、频率计实验涉及到定时器与LCD1602 的高级应用,同时这三个实验需要74LS164 进行串行输入并行输出的转换,所以当掌握了实战篇内容的精髓,大家无论是对单片机的理解或是逻辑思维能力都有不同程度的蜕变。

  第四部分为高级通信接口开发篇主要以USB、网络为主,不仅为大学的毕业设计提供了参考,更由于踏上工作岗位时,不可避免地要接触各种各样的USB 设备,要为其编写程序,当USB 设备满足不了项目的要求时,往往用网络设备取代USB 设备,这个现象十分常见,常见产品通信接口搭配要么带有串口通信和USB 通信接口,要么就是带有串口通信接口和网络通信接口,甚至有些产品连串口都省去了。其实很大一部分人如果要接触USB 设备开发或者网络设备开发,他们就感觉到非常痛苦的事情,为什么这样说呢?因为要对USB 或者网络设备进行开发,必须要对USB 或网络协议要熟悉。难能可贵的是本书在有限篇幅里简明扼要地对USB 和网络的协议描述得一清二楚,并通过编程的实现来验证,因此高级通信接口开发篇的USB实验和网络实验主要是消除大家对USB 和网络编程的恐惧,无疑就是提升了大家的竞争力。

  第五部分为深入篇主要对接口编程、单片机编程优化、单片机稳定性作深入的研究,以深入接口和深入编程进行讲解,是技术上的重点,同样是技术上的难点。这样大家对单片机的理解不再浮于表面,而是站在一名项目开发者角度,思考着众多的技术性问题,譬如深入接口部分是以数据校验为重点,包含奇偶校验、校验和、CRC16 循环冗余检验,加深大家对数据校验的理解。深入编程以编程规范、代码架构、C语言的高级应用(如宏、指针、强制转换、结构体等复杂应用)、程序防跑飞等要点作深入的研究。深入篇从技术角度来看,是整本书内容的精华部分,在大家研究如何优化单片机的性能、稳定性搞得焦头烂额的时候指引了明确的方向。深入篇是大家必看的部分,因其涉及的内容是单片机与C 编程的精髓,无疑是满足自身的求知欲。深入篇毋庸置疑就是解决这多方面的问题,提供了不可多得的参考价值。

  第六部分为番外篇,何谓之番外篇,因为本篇超出了介绍单片机的范畴,但是又不得不说,因为在高级实验篇很大部分的篇章已经涉及了界面的应用,说实话,现在的单片机程序员或多或少与界面接触,甚至要懂得界面的基本编写,说白了就是单片机程序员同时演绎着界面程序员的角色,这个在中小型企业比较常见,编写的往往是一些比较简单的调试界面,常用于调试或演示给老板或参观的人看,当产品竣工时,要提供相应的DLL 给系统集成部,缔造出不同的应用方案。在番外篇中,界面编程开发工具为VC++2008,通过VC++2008 给大家展示界面如何编写,同时如何实现串口通信、USB 通信、网络通信,只要使用笔者编写好的类,实现它们的通信是如此的简单,就像在C 语言中调用函数一样,只需要掌握Init()、Send()、Recv()、Close()函数的使用就可以了,相信大家会在这篇中基本掌握界面编程。

  本书在介绍讲解实验的过程以SmartM51 开发板为例,该开发板是为初学者设计的一块的一款实用型的开发板,不仅含有基本的设备单元,同时在开发板的实用性的基础上能够搭载USB 模块与网络模块,很好地满足了书中所有实验的要求。该开发板以宏晶公司的STC89C52RC 单片机为蓝本,STC89C52RC 单片机是增强型的8051 系列单片机,基与标准的Intel 8052 进行设计,完全兼容8051 指令, PDIP-40封装的STC89C52RC 与传统的8051 的引脚毫无二致,内部硬件资源几乎一样,并且新增了不少功能。作者还编写了单片机全能助手为大家排忧解难,不但能够自定义数码管字型码、16*16 点阵字型码、字节型数据多进制显示,而且能够方便大家通过串口、USB、网络接口等调试,并支持计算校验和、奇偶校验、CRC-8、CRC-16、CRC-32 检验值计算和UNICODE 码的转换与翻译。

  什么是单片机

  单片机是指一个集成在一块芯片上的完整计算机系统。尽管它的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器、实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !