当前位置: 首页 > news >正文

做彩票网站网址自己做手机版网站制作

做彩票网站网址,自己做手机版网站制作,购物网站开发教程中文版,网站里的做菠菜一、MCU简介 任何一款MCU#xff0c;其基本原理和功能都是大同小异#xff0c;所不同的只是其外围功能模块的配置及数量、指令系统等。对于指令系统#xff0c;虽然形式上看似千差万别#xff0c;但实际上只是符号的不同#xff0c;其所代表的含义、所要完成的功能和寻址…一、MCU简介  任何一款MCU其基本原理和功能都是大同小异所不同的只是其外围功能模块的配置及数量、指令系统等。对于指令系统虽然形式上看似千差万别但实际上只是符号的不同其所代表的含义、所要完成的功能和寻址方式基本上是类似的。因此对于任何一款MCU主要应从如下的几个方面来理解和掌握 1、MCU的特点要了解一款MCU首先需要知道就是其ROM空间、RAM空间、IO口数量、定时器数量和定时方式、所提供的外围功能模块Peripheral Circuit、中断源、工作电压及功耗等等。 了解这些MCU Features后接下来第一步就是将所选MCU的功能与实际项目开发的要求的功能进行对比明确那些资源是目前所需要的那些是本项目所用不到的。对于项目中需要用到的而所选MCU不提供的功能则需要认真理解MCU的相关资料以求用间接的方法来实现例如所开发的项目需要与PC机COM口进行通讯而所选的MCU不提供UART口则可以考虑用外部中断的方式来实现 2、对于项目开发需要用到的资源则需要对其Manua*进行认真的理解和阅读而对于不需要的功能模块则可以忽略或浏览即可。对于MCU学习来讲应用才是关键也是最主要的目的。明确了MCU的相关功能后接下来就可以开始编程了。对于初学者或初次使用此款MCU的设计者来说可能会遇到很多对MCU的功能描述不明确的地方对于此类问题可以通过两种方法来解决一种是编写特别的验证程序来理解资料所述的功能另一种则可以暂时忽略程序设计中则按照自己目前的理解来编写留到调试时去修改和完善。前一种方法适用于时间较宽松的项目和初学者而后一种方法则适合于具有一定MCU开发经验的人或项目进度较紧迫的情况 3、指令系统千万不要特别花时间去理解。指令系统只是一种逻辑描述的符号只有在编程时根据自己的逻辑和程序的逻辑要求来查看相关的指令即可而且随着编程的进行对指令系统也会越来越熟练甚至可以不自觉地记忆下来 二、MCU的基本功能 对于绝大多数MCU下列功能是最普遍也是最基本的针对不同的MCU其描述的方式可能会有区别但本质上是基本相同的 1、Timer定时器Timer的种类虽然比较多但可归纳为两大类一类是固定时间间隔的Timer即其定时的时间是由系统设定的用户程序不可控制系统只提供几种固定的时间间隔给用户程序进行选择如32Hz16Hz8Hz等此类Timer在4位MCU中比较常见因此可以用来实现时钟、计时等相关的功能另一类则是Programmable Timer可编程定时器顾名思义该类Timer的定时时间是可以由用户的程序来控制的控制的方式包括时钟源的选择、分频数Prescale选择及预制数的设定等有的MCU三者都同时具备而有的则可能是其中的一种或两种。此类Timer应用非常灵活实际的使用也千变万化其中最常见的一种应用就是用其实现PWM输出具体的应用后续会有特别的介绍。由于时钟源可以自由选择因此此类Timer一般均与Event Counter事件计数器合在一起 2、IO口任何MCU都具有一定数量的IO口没有IO口MCU就失去了与外部沟通的渠道。根据IO口的可配置情况可以分为如下几种类型  1纯输入或纯输出口此类IO口有MCU硬件设计决定只能是输入或输出不可用软件来进行实时的设定 2 直接读写IO口如MCS-51的IO口就属于此类IO口。当执行读IO口指令时就是输入口当执行写IO口指令则自动为输出口 3程序编程设定输入输出方向的此类IO口的输入或输出由程序根据实际的需要来进行设定应用比较灵活可以实现一些总线级的应用如I2C总线各种LCD、LED Driver的控制总线等 4 对于IO口的使用重要的一点必须牢记的是对于输入口必须有明确的电平信号确保不能浮空可以通过增加上拉或下拉电阻来实现而对于输出口其输出的状态电平必须考虑其外部的连接情况应保证在Standby或静态状态下不存在拉电流或灌电流。 3、外部中断外部中断也是绝大多数MCU所具有的基本功能一般用于信号的实时触发数据采样和状态的检测中断的方式由上升沿、下降沿触发和电平触发几种。外部中断一般通过输入口来实现若为IO口则只有设为输入时其中断功能才会开启若为输出口则外部中断功能将自动关闭ATMEL的ATiny系列存在一些例外输出口时也能触发中断功能。外部中断的应用如下 1外部触发信号的检测一种是基于实时性的要求比如可控硅的控制突发性信号的检测等而另一种情况则是省电的需要 2信号频率的测量为了保证信号不被遗漏外部中断是最理想的选择 3数据的解码在遥控应用领域为了降低设计的成本经常需要采用软件的方式来对各种编码数据进行解码如Manchester和PWM编码的解码 4按键的检测和系统的唤醒对于进入Sleep 状态的MCU一般需要通过外部中断来进行唤醒最基本的形式则是按键通过按键的动作来产生电平的变化 4、通讯接口MCU所提供的通讯接口一般包括SPI接口UARTI2C接口等其分别描述如下 1SPI接口此类接口是绝大多数MCU都提供的一种最基本通讯方式其数据传输采用同步时钟来控制信号包括SDI串行数据输入、SDO串行数据输出、SCLK串行时钟及Ready信号有些情况下则可能没有Ready信号此类接口可以工作在Master方式或Slave方式下通俗说法就是看谁提供时钟信号提供时钟的一方为Master相反的一方则为Slaver 2UARTUniversal 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波特率。对于大多数的MCU来讲数据为的长度、数据校验方式奇校验、偶校验或无校验、停止位Stop Bit的长度及Baud Rate是可以通过程序编程进行灵活设定。此类接口最常用的方式就是与PC机的串口进行数据通讯。 3I2C接口I2C是由Philips开发的一种数据传输协议同样采用2根信号来实现SDAT串行数据输入输出和SCLK串行时钟。其最大的好处是可以在此总线上挂接多个设备通过地址来进行识别和访问I2C总线的一个最大的好处就是非常方便用软件通过IO口来实现其传输的数据速率完全由SCLK来控制可快可慢不像UART接口有严格的速率要求。 5、Watchdog看门狗定时器Watchdog也是绝大多数MCU的一种基本配置一些4位MCU可能没有此功能大多数的MCU的Watchdog只能允许程序对其进行复位而不能对其关闭有的是在程序烧入时来设定的如Microchip PIC系列MCU而有的MCU则是通过特定的方式来决定其是否打开如Samsung的KS57系列只要程序访问了Watchdog寄存器就自动开启且不能再被关闭。一般而言watchdog的复位时间是可以程序来设定的。Watchdog的最基本的应用是为MCU因为意外的故障而导致死机提供了一种自我恢复的能力。 三、MCU程序的编写  MCU的程序的编写与PC下的程序的编写存在很大的区别虽然现在基于C的MCU开发工具越来越流行但对于一个高效的程序代码和喜欢使用汇编的设计者来讲汇编语言仍然是最简洁、最有效的编程语言。对于MCU的程序编写其基本的框架可以说是大体一致的一般分为初始化部分这是MCU程序设计与PC最大的不同主程序循环体和中断处理程序三大部分见图1 a 和 b其分别说明如下 1、 初始化对于所有的MCU程序的设计来讲出世化是最基本也是最重要的一步一般包括如 1屏蔽所有中断并初始化堆栈指针初始化部分一般不希望有任何中断发生 2清除系统的RAM区域和显示Memory虽然有时可能没有完全的必要但从可靠性及一致性的角度出发特别是对于防止意外的错误还是建议养成良好的编程习惯 3 IO口的初始化根据项目的应用的要求设定相关IO口的输入输出方式对与输入口需要设定其上拉或下拉电阻对于输出口则必须设定其出世的电平输出以防出现不必要的错误 4 中断的设置对于所有项目需要用到的中断源应该给予开启并设定中断的触发条件而对于不使用的多余的中断则必须给予关闭 5其他功能模块的初始化对于所有需要用到的MCU的外围功能模块必须按项目的应用的要求进行相应的设置如UART的通讯需要设定Baud Rate数据长度校验方式和Stop Bit的长度等而对于Programmer Timer则必须设置其时钟源分频数及Reload Data 等 6参数的出世化完成了MCU的硬件和资源的出世化后接下来就是对程序中使用到的一些变量和数据的初始化设置这一部分的初始化需要根据具体的项目及程序的总体安排来设计。对于一些用EEPROM来保存项目预制数的应用来讲建议在初始化时将相关的数据拷贝到MCU的RAM以提高程序对数据的访问速度同时降低系统的功耗原则上访问外部EEPROM都会增加电源的功耗。 2、 主程序循环体大多数MCU是属于长时间不间断运行的因此其主程序体基本上都是以循环的方式来设计对于存在多种工作模式的应用来讲则可能存在多个循环体相互之间通过状态标志来进行转换。对于主程序体一般情况下主要安排如下的模块 1计算程序计算程序一般比较耗时因此坚决反对放在任何中断中处理特别是乘除法运算 2实时性要求不高或没有实时性要求的处理程序 3 显示传输程序主要针对存在外部LED、LCD Driver 的应用 3、中断处理程序中断程序主要用于处理实时性要求较高的任务和事件如外部突发性信号的检测按键的检测和处理定时计数LED显示扫描等。一般情况下中断程序应尽可能保证代码的简洁和短小对于不需要实时去处理的功能可以在中断中设置触发的标志然后由主程序来执行具体的事务――这一点非常重要特别是对于低功耗、低速的MCU来讲必须保证所有中断的及时响应。 1对于不同任务体的安排不同的MCU其处理的方法也有所不同。例如对于低速、低功耗的MCUFosc32768Hz应用考虑到此类项目均为手持式设备和采用普通的LCD显示对按键的反应和显示的反应要求实时性较高应此一般采用定时中断的方式来处理按键的动作和数据的显示而对于高速的MCU如Fosc1MHz的应用由于此时MCU有足够的时间来执行主程序循环体因此可以只在相应的中断中设置各种触发标志并将所有的任务放在主程序体中来执行 2在MCU的程序设计中还需要特别注意的一点就是要防止在中断和主程序体中同时访问或设置同一个变量或数据的情况。有效的预防方法是将此类数据的处理安排在一个模块中通过判断触发标志来决定是否执行该数据的相关操作而在其他的程序体中主要是中断对需要进行该数据的处理的地方只设置触发的标志。――这可以保证数据的执行是可预知和唯一的。 总之对于MCU开发来讲必须记住一点“条条大路通罗马”没有做不到的事关键是看方法是否正确再就是多做多动手和多想。
http://www.dnsts.com.cn/news/241385.html

相关文章:

  • 怎么制作博客网站网站开发工具大全
  • 网站维护中手机版网站如何建设
  • 房产智能建站系统社区团购系统开发
  • 廊坊哪里有做网站建设的网站推广优化外包
  • 深圳网站建设智能 乐云践新深圳建设网站哪家最好
  • 云南网站建设多少钱公司怎么在百度做网站
  • 各大网站的域名是什么原因公司官网制作开发
  • 江苏建设教育考试网站哪些公司用.cc做网站
  • 设计规范网站西安网站设计哪家好
  • 潍坊知名网站建设价格东莞网站建设方案
  • 西安移动网站建设wordpress端口不生效
  • 豆瓣网站是怎么建设的百度一下你就知道移动官网
  • 中英文网站案例2022年全球3月解封
  • 商店网站制作互联网站的建设维护营销
  • 网站开发时自适应银座商城官网
  • 做导购网站 商品电商运营能干一辈子吗
  • 网站的国际化 怎么做免费的视频api接口
  • 企业人力资源管理师报名入口官网珠海做网站优化的公司
  • 网站常见结构有那些wordpress后台错位
  • 做租赁的行业网站深圳中装建设
  • 做一个网站 多少钱网站开发的主要技术难点和重点
  • 网站建设一般报价怎样拉注册公司客户
  • 成都科技网站建设电话多少钱网站统计付费
  • 如何自己建设淘宝网站西部数码网站管理助手 xp
  • 公司不需要做网站了iis建立的网站打不开
  • 个人网站开发 怎么赚钱建设网站的费用预算
  • 备案网站建设方案书济南专业的网站建设公司
  • 哈尔滨网站设计公司电话保险微网站制作
  • 铜陵保障性住房和城乡建设网站海口网站建设
  • 邢台专业网站建设推荐中超最新积分榜