资料介绍
无论那一款单片机,其基本原理和功能都是大同小异,所不同的只是其外围功能模块的配置及数量、指令系统等。对于指令系统,虽然形式上看似千差万别,但实际上只是符号的不同,其所代表的含义、所要完成的功能和寻址方式基本上是类似的。因此,对于任何一款单片机,主要应从如下的几个方面来理解和掌握:
单片机的特点:要了解一款单片机,首先需要知道就是其ROM空间、RAM空间、IO口数量、定时器数量和定时方式、所提供的外围功能模块(Peripheral Circuit)、中断源、工作电压及功耗等等。
了解这些单片机 Features后,接下来第一步就是将所选单片机的功能与实际项目开发的要求的功能进行对比,明确那些资源是目前所需要的,那些是本项目所用不到的。对于项目中需要用到的而所选单片机不提供的功能,则需要认真理解单片机的相关资料,以求用间接的方法来实现,例如,所开发的项目需要与PC机COM口进行通讯,而所选的单片机不提供UART口,则可以考虑用外部中断的方式来实现;
对于项目开发需要用到的资源,则需要对其Manua进行认真的理解和阅读,而对于不需要的功能模块则可以忽略或浏览即可。对于单片机学习来讲,应用才是关键,也是最主要的目的。
明确了单片机的相关功能后,接下来就可以开始编程了。对于初学者或初次使用此款单片机的设计者来说,可能会遇到很多对单片机的功能描述不明确的地方,对于此类问题,可以通过两种方法来解决,一种是编写特别的验证程序来理解资料所述的功能;另一种则可以暂时忽略,程序设计中则按照自己目前的理解来编写,留到调试时去修改和完善。前一种方法适用于时间较宽松的项目和初学者,而后一种方法则适合于具有一定单片机开发经验的人或项目进度较紧迫的情况;
指令系统千万不要特别花时间去理解。指令系统只是一种逻辑描述的符号,只有在编程时根据自己的逻辑和程序的逻辑要求来查看相关的指令即可,而且随着编程的进行,对指令系统也会越来越熟练,甚至可以不自觉地记忆下来;
单片机的基本功能:
对于绝大多数单片机,下列功能是最普遍也是最基本的,针对不同的单片机,其描述的方式可能会有区别,但本质上是基本相同的:
Timer(定时器):Timer的种类虽然比较多,但可归纳为两大类:一类是固定时间间隔的Timer,即其定时的时间是由系统设定的,用户程序不可控制,系统只提供几种固定的时间间隔给用户程序进行选择,如32Hz,16Hz,8Hz等,此类Timer在4位单片机中比较常见,因此可以用来实现时钟、计时等相关的功能;另一类则是Programmable Timer(可编程定时器),顾名思义,该类Timer的定时时间是可以由用户的程序来控制的,控制的方式包括:时钟源的选择、分频数(Prescale)选择及预制数的设定等,有的单片机三者都同时具备,而有的则可能是其中的一种或两种。此类Timer应用非常灵活,实际的使用也千变万化,其中最常见的一种应用就是用其实现PWM输出(具体的应用,后续会有特别的介绍)。由于时钟源可以自由选择,因此,此类Timer一般均与Event Counter(事件计数器)合在一起;
IO口:任何单片机都具有一定数量的IO口,没有IO口,单片机就失去了与外部沟通的渠道。根据IO口的可配置情况,可以分为如下几种类型:
纯输入或纯输出口:此类IO口有单片机硬件设计决定,只能是输入或输出,不可用软件来进行实时的设定;
直接读写IO口:如MCS-51的IO口就属于此类IO口。当执行读IO口指令时,就是输入口;当执行写IO口指令则自动为输出口;
程序编程设定输入输出方向的:此类IO口的输入或输出由程序根据实际的需要来进行设定,应用比较灵活,可以实现一些总线级的应用,如I2C总线,各种LCD、LED Driver的控制总线等;
对于IO口的使用,重要的一点必须牢记的是:对于输入口,必须有明确的电平信号,确保不能浮空(可以通过增加上拉或下拉电阻来实现);而对于输出口,其输出的状态电平必须考虑其外部的连接情况,应保证在Standby或静态状态下不存在拉电流或灌电流。
外部中断:外部中断也是绝大多数单片机所具有的基本功能,一般用于信号的实时触发,数据采样和状态的检测,中断的方式由上升沿、下降沿触发和电平触发几种。外部中断一般通过输入口来实现,若为IO口,则只有设为输入时其中断功能才会开启;若为输出口,则外部中断功能将自动关闭(ATMEL的ATiny系列存在一些例外,输出口时也能触发中断功能)。外部中断的应用如下:
外部触发信号的检测:一种是基于实时性的要求,比如可控硅的控制,突发性信号的检测等;而另一种情况则是省电的需要;
信号频率的测量;为了保证信号不被遗漏,外部中断是最理想的选择;
数据的解码:在遥控应用领域,为了降低设计的成本,经常需要采用软件的方式来对各种编码数据进行解码,如Manchester和PWM编码的解码;
按键的检测和系统的唤醒:对于进入Sleep 状态的单片机,一般需要通过外部中断来进行唤醒,最基本的形式则是按键,通过按键的动作来产生电平的变化;
通讯接口:单片机所提供的通讯接口一般包括SPI接口,UART,I2C接口等,其分别描述如下:
SPI接口:此类接口是绝大多数单片机都提供的一种最基本通讯方式,其数据传输采用同步时钟来控制,信号包括:SDI(串行数据输入)、SDO(串行数据输出)、SCLK(串行时钟)及Ready信号;有些情况下则可能没有Ready信号;此类接口可以工作在Master方式或Slave方式下,通俗说法就是看谁提供时钟信号,提供时钟的一方为Master,相反的一方则为Slaver;
UART(Universal Asynchronous Receive Transmit):属于最基本的一种异步传输接口,其信号线只有Rx和Tx两条,基本的数据格式为:Start Bit + Data Bit(7-bits/8-bits) + Parity Bit(Even, Odd or None) + Stop Bit(1~2Bit)。一位数据所占的时间称为Baud Rate(波特率)。对于大多数的单片机来讲,数据为的长度、数据校
验方式(奇校验、偶校验或无校验)、停止位(Stop Bit)的长度及Baud Rate是可以通过程序编程进行灵活设定。此类接口最常用的方式就是与PC机的串口进行数据通讯。
I2C接口:I2C是由Philips开发的一种数据传输协议,同样采用2根信号来实现:SDAT(串行数据输入输出)和SCLK(串行时钟)。其最大的好处是可以在此总线上挂接多个设备,通过地址来进行识别和访问;I2C总线的一个最大的好处就是非常方便
用软件通过IO口来实现,其传输的数据速率完全由SCLK来控制,可快可慢,不像UART接口,有严格的速率要求。
Watchdog(看门狗定时器):Watchdog也是绝大多数单片机的一种基本配置(一些4位单片机可能没有此功能),大多数的单片机的Watchdog只能允许程序对其进行复位而不能对其关闭(有的是在程序烧入时来设定的,如Microchip PIC系列单片机),而有的单片机则是通过特定的方式来决定其是否打开,如Samsung的KS57系列,只要程序访问了Watchdog寄存器,就自动开启且不能再被关闭。一般而言watchdog的复位时间是可以程序来设定的。Watchdog的最基本的应用是为单片机因为意外的故障而导致死机提供了一种自我恢复的能力。
- 51单片机点阵代码和详细解析资料免费下载
- 51单片机的红外遥控的资料和程序免费下载
- 51单片机的入门学习资料免费下载
- 51单片机的ubuntu环境搭建方法资料免费下载
- 单片机驱动74HC595的使用方法资料和程序免费下载
- 51单片机的延时函数资料免费下载
- STC单片机参考程序资料免费下载 47次下载
- MSP430单片机的开发总结详细资料免费下载 20次下载
- 51单片机的PWM程序资料免费下载 74次下载
- 单片机汇编蜂鸣器的程序资料免费下载 13次下载
- 单片机程序范例的详细资料免费下载 23次下载
- 什么是单片机51单片机教程之单片机的详细资料概述免费下载 85次下载
- 什么叫单片机?单片机原理及接口技术的详细资料概述免费下载 42次下载
- AVR单片机教程之使用AVR单片机进行跑马灯的设计详细资料分析免费下载 15次下载
- 郭天祥51单片机开发板的Proteus文件详细资料免费下载 317次下载
- AT89S51单片机功能及特点 4665次阅读
- 使用51单片机读写AT29C040的C语言程序免费下载 4529次阅读
- HD44780读写单片机C51程序免费下载 4146次阅读
- 使用HD44780读写单片机的C51程序详细概述 3112次阅读
- 单片机程序的编写方法 4091次阅读
- pic单片机程序设计的基本方法解析 1569次阅读
- 如何从内到外了解单片机 2474次阅读
- 如何学习STC单片机详细STC单片机资料说明 1.1w次阅读
- 开发单片机应掌握的几个技巧 5415次阅读
- 开发单片机时需掌握的四个基本技巧 3563次阅读
- 单片机开发中应掌握的几个基本技巧 3548次阅读
- gsm模块如何与单片机通信? 2.7w次阅读
- 如何用单片机控制舵机及程序详细 5.9w次阅读
- microchip单片机入门基础知识(PIC单片机详细资料) 2.2w次阅读
- 详细图文剖析STM32单片机串口一键下载电路与操作方法 4.6w次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 651单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 751单片机大棚环境控制器仿真程序
- 1.10 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多