设为首页 - 加入收藏
广告 1000x90
您的当前位置:三五彩图库香港正 > 布线程序 > 正文

单片机学习过程中常见问题分析(附常见品牌介绍)

来源:未知 编辑:admin 时间:2019-06-06

  单片机作为一种简单的控制器在生活中有这广泛的应用,当然在工业型单片机在生产中也扮演着很重要的角色,所以对于一个学习自动化的工控人来说,学习单片机是非常有必要的。

  单片机应用广泛,遥控小车,洗衣机,冰箱,彩电,空调随处都可见到单片机的身影。学会了单片机,你可以玩你喜欢的小制作,也可以用单片机设计一些小的产品,最重要的是,单片机会把你带进电子设计这一领域,充分展示自己的能力,当然,也会给你带来不错的回报。

  单片机型号有很多,常见的有51,PIC,AVR几个系列,每个系列又有很多型号。那么,作为初学者的我们,该学习哪款单片机呢?

  其实单片机都是有相同之处的。只要认真学了,真正掌握了一款单片机,在学习其他款,后者是直接使用都是很容易的。51系列作为经典的一款单片机,它的资料非常的丰富,因此,从51开始入门应该是一个不错的选择。

  这估计是争论最大的一个问题了,有些人坚持学单片机软件一定要汇编,也有人坚持选择高级语言,这主要是C51推行不久时,那时候单片机内部资源比较宝贵,而且C51本身的编译器效率也不够高,导致当时很多人选择用汇编来写代码。那么现在的情况是怎样的呢?编译器效率高了,单片机内部的资源也丰富了,用C来写单片机软件不会在遇到以前那样的问题。

  如果现在还有人坚持一定要用汇编来写整个单片机软件,那么这个人肯定是不会C的,看看外面企业就知道,有几家不是用C呢,毕竟C容易写,可读性强,可移植性强。

  但是光会C也还是不够的,你还得了解汇编,实际上不是了解汇编指令,是了解单片机的体系结构。所以我以为学习单片机,还是推荐用C来写代码,但是平时也得多看看别人的汇编代码,最低要求就是:能熟练运用C写代码,用读懂汇编代码。

  是靠预定义实现的,比如:sfrP0=0x80;sbitP0_0=0x80;前者声明了P0端口地址位于0x80,后者说明了P0端口的bit0,即P0.0位于位地址空间0x80处。这2个0x80具有完全不同的含义,靠关键字sfr和sbit来区别。这样当程序被编译时,编译器会依此编译成相应的汇编语言。例如:

  P0声明为sfr,因此编译成:mov80h,01h,将把0x01数据送入0x80单元,由于0x80单元物理上对应P0端口,因此,P0.0脚将输出高电平(其实是呈现高阻态,P0口独有的),其他.1-.7脚输出低电平。

  P0_0声明为sbit,因此编译成:setb80h,这将把位地址空间的0x80地址的bit的值置1。这个位正是P0口的bit0,执行后,P0.0将输出高阻态。而P0.1-.7不会变化。

  51单片机一个显著优点就是指令执行时间固定,因此可以适应时序要求严格的场合。例如符合ISO7816协议的cpu卡的读写,对时序要求比较严格。其实就是用io脚做出来的同步半双工串口。支持cpu卡的程序一般比较庞大,需要用c51来组织,但是由于c编译的不确定性,必须把底层程序封装成汇编语言模块嵌入到工程中。这就带来几个问题:如何声明函数、参数如何传递等。限于篇幅,不能说得很细。下面举例:

  a:汇编程序如果带参数,则需要在汇编程序前多加一个下划线。而声明它的地方不用加(伟福编译器这么要求的)。

  b:函数的形参中第一参数用R7传递,函数返回值用R7返回,这是C51的通用规范。其他参数都有相应规定。函数可以返回一个位,用psw的c位返回。

  c:上面的语句,执行顺序是把0x11给R7,然后跳转子程序,子程序将它加1后送回。

  d:函数跳转到汇编程序时,本区的R0-R7,A,B,PSW,DPTR等寄存器可以供子程序使用,不必考虑调用后是否要恢复这些常规资源。上例中,A的值被函数使用了,编程者不必恢复调用前的值。

  许多新手都碰到这个问题,其实很简单,这涉及到芯片的io脚是怎么做出来的。这对硬件工程师来说十分重要。TTL的io脚模型:

  P1,P2,P3口都可以理解成左图,注意vcc下面有个电阻,因此可以理解成:引脚输出1的能力弱。地那边没有电阻,可以理解成引脚吸入电流能力强。而P0口,可以理解成右图。这就是集电极开路输出,也叫OC输出。可以看出,当CTR=1时,三极管导通,引脚被接地;当ctr=0时,三极管截止,引脚浮空,也叫三态。这个端口这么做的目的是考虑P0口肩负读写数据和地址复用,这个关系要仔细看懂cpu时序图。因此,P0口要加合适的上拉电阻,绝不要加下拉电阻。上拉电阻的选择要看外部负载情况。

  从上节的左图可以看出。做输出时,ctr=1则输出强信号0,ctr=0则输出弱信号1。当io脚做输入时,应使ctr=0,这样三极管截止。外部信号如果是1,则上拉电阻加强了这个1,单片机就会读到1。当外部信号为0时,注意,必须将上拉电阻的上拉作用全部抵消,才能在引脚上得到0。

  因此,对于程序来说,把io脚置1就处于接收状态,当然也是输出1状态。程序置io口为1,读取的信号是不是1就依靠外部电路了,如果外部电路没有吃掉上拉电阻的电流,则读取得到1,反之,虽然程序置io脚为1,但是读取得到的就是0。

  因此,如果用io脚的高电平驱动外部电路时,要小心外部电路把这个1吃掉从而输出不了1。而作为输入时,为0电平的外设必须足够有能力将io脚拉低。所以,用io脚直接点亮led的时候,最好用反逻辑,就是输出0,让led亮。这样能保证驱动能力。就是io脚接led的负端,led的正端过电阻接vcc。

  因此,io脚输出1时,外部电路将它强行接地是没有关系的,而io脚输出0的时候,外部电路强行接电源就会把io脚损坏。所以,程序加电之后,一般把所有io口都写成1:MOVP0,0FFH。

  P3口引脚复用,必须引脚都处于输出1状态。例如,把RXD脚输出0,则它什么数据都读不进来了,笔者早期曾调试一整天才发现串口收不到数据是没有把RXD置1的原因,把时间都浪费在外围了,当时很是汗颜。

  单片机的晶振在内部可以简化成一个反向器。当晶振输入脚XI刚过坎压、被认为是1的一瞬间,输出脚XO就输出0,这个0会带动晶振使XI电压下降,当降低到坎压被认为是0的一瞬间,输出脚XO就输出1。这样周而复始。

  因此,用示波器观察正常工作的晶振输入脚XI时,得到的是一个不高不低的近似水平线。而XO则是幅值很大的正弦波。测量晶振输入脚XI时,示波器表笔要打在X10档上,否则,表笔就能把晶振弄停。

  因此布线时,晶振输入脚XI要尽量靠近晶振,而XO脚可稍远。同时XO具有一定的驱动能力,某些芯片可以用它驱动其它时序电路(不推荐这么做,因为系统可靠性下降)。

  ATMEL公司的AVR单片机,是增强型RISC内载Flash的单片机,芯片上的Flash存储器附在用户的产品中,可随时编程,再编程,使用户的产品设计容易,更新换代方便.AVR单片机采用增强的RISC结构,使其具有高速处理能力,在一个时钟周期内可执行复杂的指令,每MHz可实现1MIPS的处理能力.AVR单片机工作电压为2.7~6.0V,可以实现耗电最优化.AVR的单片机广泛应用于计算机外部设备,工业实时控制,仪器仪表,通讯设备,家用电器,宇航设备等各个领域.

  Motorola是世界上最大的单片机厂商.从M6800开始,开发了广泛的品种,4位,8位,16位32位的单片机都能生产,其中典型的代表有:8位机M6805,M68HC05系列,8位增强型M68HC11,M68HC12,16位机M68HC16,32位机M683XX.Motorola单片机的特点之一是在同样的速度下所用的时钟频率较Intel类单片机低得多,因而使得高频噪声低,抗干扰能力强,更适合于工控领域及恶劣的环境.

  MicroChip单片机:MicroChip单片机的主要产品是PIC16C系列和17C系列8位单片机,CPU采用RISC结构,分别仅有33,35,58条指令,采用Harvard双总线结构,运行速度快,低工作电压,低功耗,较大的输入输出直接驱动能力,价格低,一次性编程,小体积.适用于用量大,档次低,价格敏感的产品.在办公自动化设备,消费电子产品,电讯通信,智能仪器仪表,汽车电子,金融电子,工业控制不同领域都有广泛的应用,PIC系列单片机在世界单片机市场份额排名中逐年提高.发展非常迅速.

  工业级OTP单片机,Micon公司生产,与PIC单片机管脚完全一致,海尔集团的电冰箱控制器,TCL通信产品,长安奥拓铃木小轿车功率分配器就采用这种单片机

  台湾义隆电子股份有限公司,直接替代PIC16CXX,管脚兼容,软件可转换.

  在技术上有其独到之处:SX系列双时钟设置;指令运行速度可达50/75/100MIPS;具有虚拟外设功能,柔性化I/O端口;所有的I/O端口都可单独编程设定;公司提供各种I/O的库函数,用于实现各种I/O模块的功能,如多路UART;多路A/D,PWM,SPI,DTMF,FS,LCD驱动等等;采用EEPROM/FLASH程序存储器;可以实现在线系统编程;通过计算机RS232C接口;采用专用串行电缆即可对目标系统进行在线实时仿真.

  EPSON单片机以低电压,低功耗和内置LCD驱动器特点著名于世,尤其是LCD驱动部分做得很好.广泛用于工业控制,医疗设备,家用电器,仪器仪表,通信设备和手持式消费类产品等领域.目前EPSON已推出四位单片机SMC62系列,SMC63系列,SMC60系列和八位单片机SMC88系列.

  东芝单片机门类齐全,4位机在家电领域有很大市场,8位机主要有870系列,90系列,该类单片机允许使用慢模式,采用32K时钟时功耗降至10UA数量级.东芝的32位单片机采用MIPS 3000 ARISC的CPU结构,面向VCD,数字相机,图像处理等市场.

  8051单片机最早由Intel公司推出,其后,多家公司购买了8051的内核,使得以8051为内核的MCU系列单片机在世界上产量最大,应用也最广泛,有人推测8051可能最终形成事实上的标准MCU芯片.

  Z8单片机是Zilog公司的产品,采用多累加器结构,有较强的中断处理能力,开发工具价廉物美.Z8单片机以低价位面向低端应用.我想很多人都知道Z80单板机,直到90年代后期,很多大学的微机原理还是讲述Z80.

  COP8单片机是NS(美国国家半导体公司)的产品,内部集成了16位A/D,这是不多见的,在看门狗多路及STOP方式下单片机的唤醒方式上都有独到之处.此外,COP8的程序加密也做得比较好

  凡本网注明来源:的所有作品,版权均属于中,转载请必须注明中,。违反者本网将追究相关法律责任。

  本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。

  如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

  5月24日下午17:08分,在宜昌南玻6000T/a多晶硅技改项目建设工地[详细]

  美国海军自由号濒海战斗舰(LCS-1)上周末在新加坡部署期间遭遇发[详细]

  5月24日下午17:08分,在宜昌南玻6000T/a多晶硅技改项目建设工地[详细]

  美国海军自由号濒海战斗舰(LCS-1)上周末在新加坡部署期间遭遇发[详细]

  加密资产应该归类为货币、商品、代币还是证券?Georgina Kyriak[详细]

  7月28日, 西班牙作家和出版商协会(SGAE)与马德里电信工程学[详细]

  5月24日下午17:08分,在宜昌南玻6000T/a多晶硅技改项目建设工地[详细]

  美国海军自由号濒海战斗舰(LCS-1)上周末在新加坡部署期间遭遇发[详细]

  加密资产应该归类为货币、商品、代币还是证券?Georgina Kyriak[详细]

  7月28日, 西班牙作家和出版商协会(SGAE)与马德里电信工程学[详细]

本文链接:http://thacba.net/buxianchengxu/661.html

相关推荐:

网友评论:

栏目分类

现金彩票 联系QQ:24498872301 邮箱:24498872301@qq.com

Copyright © 2002-2011 DEDECMS. 现金彩票 版权所有 Power by DedeCms

Top