分析单片机学习过程中常见问题

发布时间:2015-05-16 阅读量:848 来源: 我爱方案网 作者:

【导读】我爱方案网小编为大家分析单片机学习过程中常见问题,单片机应用广泛,遥控小车,洗衣机,冰箱,彩电,空调随处都可见到单片机的身影。学会了单片机,你可以玩你喜欢的小制作,也可以用单片机设计一些小的产品。

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

单片机学习中常见的问题

1.学单片机可以做什么?

单片机会把你带进电子设计这一领域,充分展示自己的能力,当然,也会给你带来不错的回报。

2.该学哪种单片机?

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

分析单片机学习过程中常见问题

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

3.该学汇编还是学C51?

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

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

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

4:C51编译器如何区分位地址和字节地址

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

C51语句:P0=1;

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

C51语句:P0_0=1;

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

分析单片机学习过程中常见问题

5:C51为什么要嵌套汇编

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

汇编程序单独保存一个文件,加入到工程中,函数如下:

_proc_a:

mova,r7

inca

movr7,a

ret

用c语言在.h文件中声明:externunsignedcharproc_a(unsignedcharval);

调用时形如:retvalue=proc_a(0x11);

说明:

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

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

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

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

6:51单片机的P0口特殊之处

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

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

7:P1-3口如何输入输出

从上节的左图可以看出。做输出时,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的原因,把时间都浪费在外围了,当时很是汗颜。

8:有关晶振

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

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

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

 

单片机的常见品牌介绍

AVR单片机


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

Motorola单片机:


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系列单片机在世界单片机市场份额排名中逐年提高.发展非常迅速.

MDT20XX系列单片机:


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

EM78系列OTP型单片机:


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

Scenix单片机:


Scenix公司推出的8位RISC结构SX系列单片机与Intel的PentiumII等一起被<>评选为1998年世界十大处理器.

分析单片机学习过程中常见问题

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

EPSON单片机:


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

东芝单片机:


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

8051单片机:


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

LG公司生产的GMS90系列单片机,与IntelMCS-51系列,Atmel89C51/52,89C2051等单片机兼容,CMOS技术,高达40MHZ的时钟频率,应用于:多功能电话,智能传感器,电度表,工业控制,防盗报警装置,各种计费器,各种IC卡装置,DVD,VCD,CD-ROM.

华邦单片机:华邦公司的W77,W78系列8位单片机的脚位和指令集与8051兼容,但每个指令周期只需要4个时钟周期,速度提高了三倍,工作频率最高可达40MHz.同时增加了WatchDogTimer,6组外部中断源,2组UART,2组Datapointer及Waitstatecontrolpin.W741系列的4位单片机带液晶驱动,在线烧录,保密性高,低操作电压(1.2V~1.8V).

Zilog单片机:


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

NS单片机:


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

相关文章

一款基于NEC单片机田间超声波测距的应用

讲解心电检测系统中单片机的抗干扰设计

实现单片机的TM卡水表控制系统设计
相关资讯
低空经济崛起:2025无人机市场的关键应用与增长引擎解析

无人机系统(Unmanned Aerial Systems, UAS)作为“低空经济”的核心载体,正以前所未有的深度和广度渗透至众多产业领域,驱动效率变革与模式创新。其核心价值在于提供高灵活性、低成本和高精度的空中解决方案,显著提升了传统作业方式的效能。

柔性AMOLED强势登顶!2025年Q1智能手机面板份额突破63%,中国供应链强势助攻

市场研究权威机构Omdia最新报告揭示,智能手机显示技术格局已发生根本性转变。2025年第一季度,采用AMOLED面板的智能手机出货量在全球总市场中占比高达63%,较去年同期的57%实现大幅跨越,标志着AMOLED已成为无可争议的主流标准。与此同时,LCD面板的份额被压缩至37%,延续了长期的萎缩态势。

英伟达H20芯片获批对华销售 黄仁勋链博会宣布近期供货

7月16日,第三届中国国际供应链促进博览会(链博会)在京开幕。美国科技企业英伟达公司首席执行官黄仁勋身着唐装亮相开幕式,并在现场透露重要业务进展:该公司专为中国市场设计的H20人工智能芯片已获得美国商务部出口许可,即将启动批量供货。

LPDDR6进程加速:Cadence推出性能达14.4Gbps的完整IP解决方案

近日,楷登电子(Cadence Design Systems, Inc., NASDAQ: CDNS)宣布其业界领先的LPDDR6/5X内存IP系统解决方案已成功完成流片验证。该集成化子系统通过技术优化,实现了高达14.4Gbps的运行速率,相较上一代LPDDR标准内存接口,性能提升幅度达到50%。此套先进解决方案被视为扩展人工智能(AI)基础架构的关键驱动技术之一。它旨在满足日益增长的新一代AI大语言模型(LLM)、代理型AI(Agent AI)以及众多垂直应用领域对超高内存带宽和容量的迫切需求,以高效支持这些计算密集型工作负载。楷登电子当前已与AI、高性能计算(HPC)及数据中心领域的多家头部客户展开紧密合作,共同推进该技术的应用落地。

贸泽电子持续强化TI产品矩阵,赋能全球硬件创新

作为全球授权电子元器件代理商,贸泽电子(Mouser Electronics)持续深化与德州仪器(TI)的战略合作,确保69,000余款TI器件的高效供应,其中45,000余款保持常态库存,可实现全球快速交付。通过整合TI在电源管理、数据处理及控制系统的完整技术生态,贸泽为工业自动化、汽车电子、通信基建、企业级设备等核心领域提供端到端解决方案支持。