单片机常见问题回答
- 格式:doc
- 大小:45.00 KB
- 文档页数:6
《单片机应用技术》课堂提问:
1、采用带进位的循环移位指令除了会改变A的值以外,还会
改变谁?
简答:PSW的CY和P的值
不带进位的循环移位指令执行后是否也会有类似的改变?(简
单)
简答:不会
2、如何改变流水灯移动的方向?(简单)
简答:用RL或RR实现数据的左移或者右移
3、如何“亮点”的移动改成“暗点”的移动?(难)
简答:两种方法:若用软件实现就改变累加器A的赋值,若用
硬件实现就将LED的接法由共阴极改成共阳极
4、用移位指令实现乘除运算有什么好处?
简答:节省时间:移位指令的执行只需要花费一个机器周期的
时间,而乘除指令则需要花费4个机器周期。
5、I/O端口包括哪几个?各自的功能
简答:P0、P1、P2、P3共四个。
6、循环程序的组成部分
简答:循环初始化、循环体和循环控制部分
7、试着完成任务2程序的书写。
汽车学院:王春梅。
单片机使用注意事项及常见问题解答一、注意事项在使用单片机的过程中,为了保证正常运行和提高使用寿命,需要注意以下几个方面:1. 电路设计与布线单片机的工作稳定性和可靠性与电路设计和布线密切相关。
合理的电路设计与布线可以减少电磁干扰、提高信号质量、降低功耗等。
因此,在设计电路和布线时,应尽量避免信号线与电源线、高频线等干扰源的交叉,并采用地线分区法、电源分区法、高频线与低频线分离等措施,以确保电路的稳定工作。
2. 电源稳定单片机对电源的稳定性要求较高,对于电源的电压波动、噪声干扰等都会影响单片机的正常工作。
为了保证电源的稳定,可以采用使用稳压芯片、滤波电容、电源隔离等方法,同时应避免长时间连续工作导致电源过热。
3. 静电防护单片机芯片对静电敏感,接触静电可能会造成芯片损坏。
在操作单片机时,应注意防止静电产生,如接地处理、使用防静电手套、工作环境湿度控制等。
4. 保持环境清洁单片机的安装环境应保持清洁干燥,尽量避免进水、进灰尘等情况。
灰尘或水分的进入可能会导致单片机损坏或性能下降。
5. 软件程序设计合理的软件程序设计可以提高单片机的工作效率和可靠性。
在编写程序时,应注意处理程序中可能存在的延时、死循环、内存溢出等问题,避免程序运行过程中出现异常情况。
二、常见问题解答1. 单片机运行不正常怎么办?如果单片机运行异常,首先应检查是否存在电源稳定性问题,可以通过使用稳压电源或重新连接电源等方式解决。
其次,检查电路设计与布线是否有问题,如电线是否短路、信号线与干扰源的交叉等。
同时,还需要检查软件程序是否存在错误,尝试重新编译或修改程序。
2. 单片机复位时间长怎么办?单片机复位时间长可能是由于软件程序中的复位流程存在问题。
检查程序中是否有延时等待操作,若有,可以适当减小延时时间。
同时,还需要检查硬件电路中的复位电路是否正确连接,确保复位信号能够及时生效。
3. 单片机工作时频率不稳定怎么办?频率不稳定可能与电源噪声、电磁干扰等有关。
考研复试单片机问答单片机作为计算机科学与技术领域的重要组成部分,广泛应用于各个行业和领域。
对于考研复试中涉及到单片机的问答题目,考生需要具备扎实的基础知识和综合运用能力。
本文将就考研复试中常见的单片机问答题目进行解析和回答。
1. 什么是单片机?单片机是一种高度集成的计算机系统,包括中央处理器(CPU)、存储器和输入输出设备等功能模块,并具有可编程功能。
它广泛应用于电子产品、汽车电子、工业自动化等领域。
2. 单片机的特点有哪些?单片机具有体积小、功耗低、功能强大、成本低廉等特点。
同时,它还可以通过编程来实现不同的功能,具有较高的灵活性和可扩展性。
3. 单片机与微处理器有何区别?单片机与微处理器都属于计算机系统,但存在一定的区别。
单片机是一种完整的系统,包括CPU、存储器和输入输出设备等功能模块,而微处理器只是一个处理核心,需要外部芯片来实现其他功能。
4. 什么是单片机的时钟周期?单片机的时钟周期是指一条指令的执行所需的时间周期。
它通常由晶振提供,每个晶振周期内完成一个机器周期的操作。
5. 单片机的I/O口有哪几种工作方式?单片机的I/O口包括输入和输出两种工作方式。
输入方式包括上拉输入、下拉输入和三态输入,输出方式包括推挽输出和开漏输出。
6. 单片机的中断是什么?单片机的中断是一种异步事件,可以打断CPU当前的工作,转而处理其他任务。
中断分为外部中断和内部中断两种类型。
7. 单片机的存储器有哪几种类型?单片机的存储器包括ROM、RAM和EEPROM等。
其中,ROM用于存储程序代码和常量数据,RAM用于存储临时数据,EEPROM用于存储可变的数据。
8. 单片机的通信方式有哪几种?单片机的通信方式包括串口通信、并口通信和SPI通信等。
串口通信使用单个数据线进行传输,而并口通信则使用多个数据线进行传输,SPI通信则是一种同步方式的通信。
9. 什么是单片机的PWM输出?单片机的PWM输出是指利用数字输出口模拟出一种脉冲信号的输出方式。
单片机常见问题解答一、#pragma asm是什么意思?#pragma asmMOV P1,R7NOPNOPMOV P1,#0#pragma endasm实际上就是一个在C51中内嵌汇编语言的开关二、有关单片机ALE引脚的问题"单片机不访问外部锁存器时ALE端有正脉冲信号输出,此频率约为时钟振荡频率的1/6.每当访问外部数据存储器是,在两个机器周期中ALE只出现一次,即丢失一个ALE脉冲."这句话是不是有毛病.我觉得按这种说法,应该丢失3个ALE脉冲才对,我一直想不通是怎么回事,希望大虾们帮帮我.小弟感激涕零.答:其他所有指令每6个机器周期发出一个ALE,而MOVX指令占用12个机器周期只发出一个ALE三、如何将一个INT型数据转换成2个CHAR型数据?经keil优化后,char1=int1/256,char2=int1%256或char1=int1>>8,char2=int1&0x00ff效率是一样的。
五、在KEIL C51上仿真完了,怎样生成HEX文件去烧写??右键点项目中Target 1,选第二个,在OUTPUT中选中CREAT HEX六、typedef 和 #define 有何不同??typedef 和 #define 有何不同》》》如typedef unsigned char UCHAR ;#define unsigned char UCHAR ;typedef命名一个新的数据类型,但实际上这个新的数据类型是已经存在的,只不过是定义了一个新的名字.#define只是一个标号的定义.你举的例子两者没有区别,但是#define还可以这样用#define MAX 100#define FUN(x) 100-(x)#define LABEL等等,这些情况下是不能用typedef定义的七、请问如何设定KELC51的仿真工作频(时钟)用右键点击左边的的target 1,然后在xtal一栏输入八、不同模块怎样共享sbit变量,extern不行?把SBIT定义单独放到一个.H中,每个模块都包含这个.h文件九、C51中对于Px.x的访问必须自己定义吗?是的。
单片机实验遇到的问题和解决方法一、前言单片机是电子工程中常用的控制器件,广泛应用于各种电子设备中。
在学习和实践单片机过程中,可能会遇到各种问题。
本文将介绍几种常见的单片机实验问题及其解决方法。
二、硬件问题1. 单片机无法正常工作若单片机无法正常工作,需要检查以下硬件方面:(1)电源是否正常:检查电源是否接好,电压是否符合要求。
(2)晶振是否正常:检查晶振是否接好,频率是否符合要求。
(3)连接线路是否正确:检查连接线路是否正确接入单片机和外部器件。
2. 单片机烧毁若单片机烧毁,需要检查以下硬件方面:(1)电源是否过压或过流:使用稳压电源并设置恰当的电流保护。
(2)晶振频率是否过高:选用合适的晶振并设置合理的频率范围。
(3)使用过程中注意静电防护:穿着防静电服进行操作或使用防静电手套等防护装备。
三、软件问题1. 编译错误编译错误通常是由于程序语法错误或库文件引用错误等原因导致的。
解决方法如下:(1)仔细检查程序语法是否正确:检查程序中是否有拼写错误、语法错误等。
(2)检查库文件引用是否正确:确定所使用的库文件是否与程序匹配,且路径设置正确。
2. 程序无法下载若程序无法下载到单片机中,需要检查以下软件方面:(1)编译器设置是否正确:确保编译器设置正确,并选择合适的单片机型号。
(2)连接方式是否正确:检查连接线路和下载方式是否正确。
(3)单片机芯片保护位是否被置位:将单片机芯片保护位清零后再进行下载操作。
3. 程序运行不正常若程序运行不正常,需要检查以下软件方面:(1)变量初始化问题:确保变量被初始化为合理的值。
(2)程序逻辑问题:仔细分析程序逻辑,寻找可能存在的问题。
(3)硬件连接问题:检查硬件连接和外设驱动程序是否正确。
四、总结以上是一些常见的单片机实验问题及其解决方法。
在实践过程中,还需注意防静电、按照规范操作等细节问题。
希望本文能够对读者在学习和实践单片机过程中有所帮助。
单片机技术常见问题及解决方法解析随着科技的不断发展,单片机技术在各个领域得到了广泛的应用。
然而,由于单片机技术的复杂性和特殊性,常常会遇到一些问题。
本文将针对单片机技术常见问题进行解析,并提供解决方法。
一、程序无法正常运行当程序无法正常运行时,首先需要检查是否存在以下问题:1. 电源问题:检查电源供应是否稳定,电压是否符合要求。
如果电源电压不稳定,可以使用稳压电源或添加电容来解决。
2. 电路连接问题:检查电路连接是否正确,是否存在虚焊、短路等问题。
可以使用万用表进行测量,找出问题所在。
3. 编程问题:检查程序是否存在错误,是否与硬件连接匹配。
可以使用调试工具进行单步调试,逐行检查程序执行情况。
如果以上问题都没有解决程序无法正常运行的情况,可能是单片机本身存在问题,可以尝试更换单片机或者联系供应商进行维修。
二、IO口无法正常工作IO口无法正常工作是单片机技术中常见的问题之一。
解决方法如下:1. IO口配置错误:检查IO口的配置是否正确,包括引脚选择、工作模式、上下拉电阻等。
可以参考单片机的手册或者开发板的原理图来确认配置是否正确。
2. 外设连接问题:检查外设是否正确连接到IO口,是否存在连接错误或者虚焊现象。
可以使用示波器或者逻辑分析仪来检查信号的波形和电平。
3. 中断配置错误:如果使用了中断功能,需要检查中断的配置是否正确。
包括中断源的选择、中断优先级的设置等。
如果以上问题都没有解决IO口无法正常工作的情况,可能是单片机本身存在问题,可以尝试更换单片机或者联系供应商进行维修。
三、程序卡死或死循环程序卡死或死循环是单片机技术中常见的问题之一。
解决方法如下:1. 死循环问题:检查程序中是否存在死循环的情况,即某个循环条件无法满足导致程序一直停留在该循环中。
可以通过添加调试信息或者使用调试工具来定位问题所在。
2. 中断问题:如果使用了中断功能,需要检查中断服务程序是否正确编写,是否存在死循环的情况。
可以通过添加调试信息或者使用调试工具来定位问题所在。
1、8051如何确定和改变当前工作寄存器区。
(6分)P1200H-1FH的32个单元为4组通用工作寄存器区,每区包含8字节,用R0- R7标记。
可通过指令改变RS1 RSC两位来选择。
既可用寄存器寻址也可用直接地址寻址。
2、8051单片机复位的条件是什么复位后PC SR和P0- P3的值是多少。
(4 分) P21-22单片机的初始化操作,给复位脚RSTffl上大于2个机器周期(即24个时钟振荡周期)的高电平就使MCS-5复位。
.高电平0000H 07H FFH3、MCS-5内部RAM氐128单元划分为3个区域,说明这三个区域的地址范围和使用特点。
(3 分P12-13)(D00H-1FH的32个单元为4组通用工作寄存器区,每区包含8字节,用R0〜R7标记。
可通过指令改变RS1 RS0两位来选择。
既可用寄存器寻址也可用直接地址寻址。
(2)20H-2FH的16个单元为128位位寻址区,位地址为00H〜7FH也可字节寻址。
(3)30H-7FH为通用数据区,只能字节寻址,用作存数据以及作为堆栈区。
4、说明MCS-51的堆栈特点,复位时(SR的值是什么正常工作时应如何设置(SR的值(6分)P14堆栈特点:(1 )堆栈结构—向上生长型。
(2)堆栈按“先进后出”原则。
(3)数据入栈时,先SP自动加“1”后入栈。
数据出栈时,先出栈,届P 自动减“1”。
(4)SF指针始终指向栈顶。
单片机复位后,SP为07H堆栈实际上从08H单元开始,由于08F〜1FH单元分别是属于1〜3组的工作寄存器区,最好在复位后把SP值改置为60H或更大的值,避免堆栈与工作寄存器冲突。
5、M CS-5侑几个中断源写出其名称。
(5分)P10451有5 个中断源.外部中断0 定时器/计数器TO外部中断1定时器/计数器T1串行口6、M CS-51中断优先控制,有什么基本规则(3分P104 关于中断优先级可以归纳为下面两条基本规则:(1)低优先级可被高优先级中断,高优先级不能被低优先级中断。
单片机技术使用中的常见问题及解决方案近年来,单片机技术在各个领域的应用越来越广泛。
然而,由于其复杂的硬件和软件结构,使用中常常会遇到一些问题。
本文将介绍几个常见的问题,并提供相应的解决方案,以帮助读者更好地应对这些挑战。
一、程序调试困难在单片机开发中,程序调试是一个非常重要的环节。
然而,由于单片机内部的资源有限,调试工具相对简单,导致调试过程中遇到的问题常常比较棘手。
这时,我们可以采取以下几种方法来解决这个问题。
首先,可以通过合理的代码编写和模块化设计来减少调试的难度。
将程序划分为多个模块,每个模块只负责完成特定的功能,这样可以降低代码的复杂性,便于调试和维护。
其次,可以利用调试工具提供的断点调试功能。
通过设置断点,可以在程序执行到指定位置时暂停,观察变量的值和程序的执行路径,从而找出问题所在。
此外,还可以使用串口调试工具,将程序中的关键信息通过串口输出,以便在PC端进行观察和分析。
二、电路连接错误在单片机应用中,电路连接错误是一个常见的问题。
由于电路连接错误可能导致单片机无法正常工作,因此及时发现并解决这个问题非常重要。
以下是一些常见的电路连接错误及其解决方案。
首先,如果单片机无法上电或者无法正常运行,可以检查电源电压是否正常。
有时候,由于电源线路的接触不良或者电源过载等原因,电源电压会变得不稳定,导致单片机无法正常工作。
此时,可以使用示波器或者万用表来测量电源电压,找出问题所在。
其次,如果单片机的输入输出不正常,可以检查引脚连接是否正确。
有时候,由于引脚连接错误或者焊接不良等原因,单片机的输入输出信号无法正常传递,导致程序无法正确执行。
此时,可以使用万用表来检查引脚之间的连通性,找出问题所在。
三、软件编程错误在单片机应用中,软件编程错误也是一个常见的问题。
由于单片机的指令集和编程语言比较复杂,编写出正确且高效的程序并不容易。
以下是一些常见的软件编程错误及其解决方案。
首先,如果程序无法正常运行或者出现死循环等问题,可以检查程序的逻辑是否正确。
单片机面试题答案1. 请简述什么是单片机?单片机,全称为微控制器单元(Microcontroller Unit,简称MCU),是一种集成了中央处理器(CPU)、存储器、计时器/计数器、通信接口、模拟/数字转换器等功能于一芯片上的微型计算机系统。
它通常由微型计算机芯片、外围设备和存储器组成,具有强大的控制和处理能力。
2. 单片机的工作原理是什么?单片机通过执行存储在其内部闪存或EEPROM中的程序指令,来完成各种控制任务。
它们通常使用汇编语言或高级语言编写的程序来与外部设备进行交互。
单片机通过其输入/输出口与外部设备进行数据传输,使用内部的计时器和计数器来控制时间和频率。
3. 请列举几种常见的单片机。
常见的单片机有AVR系列(如Atmega16、Atmega328)、PIC系列(如PIC16F877A)、STM32系列等。
不同系列的单片机在架构、性能和功能等方面有所差异,可以根据具体需求选择合适的单片机。
4. 单片机的应用领域有哪些?单片机广泛应用于各个领域,例如消费电子产品(如电视、音响)、家电(如洗衣机、空调)、汽车电子、工业自动化、医疗设备、安防系统等。
单片机的小体积、低功耗和高性能,使其成为许多嵌入式系统的首选控制器。
5. 请解释什么是中断?中断是指当单片机正在执行某个任务时,突然有来自外部设备的请求需要处理时,单片机会停下当前的任务,转而处理该请求。
中断可以分为内部中断(来自单片机内部的事件)和外部中断(来自外部设备的请求)。
通过中断机制,单片机可以实现并发处理多个任务,提高系统的响应能力。
6. 简述中断服务程序(ISR)的编写规范。
编写中断服务程序需要遵循一定的规范:- 中断服务程序应该尽量简短,避免复杂的操作和耗时的计算。
- 应该关闭其他中断,以防止出现优先级错误。
- 使用volatile关键字声明需要在中断服务程序和主程序中共享的变量,以确保数据的一致性。
- 对于有多个中断源的情况,需要在程序中判断中断源并进行相应的处理。
单片机考试常见试题简答题-整理版简答题部分1、什么叫堆栈?2、进位和溢出?3、在单片机中,片内ROM的配置有几种形式?各有什么特点?4、什么是单片机的机器周期、状态周期、振荡周期和指令周期?它们之间是什么关系?5、MCS-51单片机通常内部包含哪些主要逻辑功能部件?6、MCS-51单片机的存储器从物理结构上可划分几个空间?7、存储器中有几个保留特殊功能的单元用做入口地址?分别作什么作用?8、MCS-51单片机片内256B的数据存储器可分为几个区?分别起什么作用?8、MCS-51单片机的P0~P3四个I/O端口在结构上有何异同?使用时应注意的事项?9、存储器空间在物理结构上可划分为几个部分?10、开机复位后,CPU使用是的哪组工作寄存器?它们的地址是什么?CPU如何确定和改变当前工作寄存器组?11、MCS-51的时钟周期、机器周期、指令周期的如何分配的?当振荡频率为8MHz时,一个单片机时钟周期为多少微秒?12、程序状态存储器PSW的作用是什么?常用状态标志有哪几位?作用是什么?13、EA/VPP引脚有何功用?8031的引脚应如何处理?为什么?14、单片机有哪几个特殊功能寄存器?各在单片机的哪些功能部件中?15、什么是指令?什么是程序?简述程序在计算机中的执行过程。
16、什么叫寻址方式?MCS51有几种寻址方式?17、SJMP(短转移)指令和AJMP(绝对转移)指令的主要区别。
18、中断服务子程序与普通子程序有哪些异同之处?19、MCS-51响应中断的条件是什么?CPU响应中断后,CPU要进行哪些操作?不同的中断源的中断入口地址是什么?20、单片机对中断优先级的处理原则是什么?21、MCS-51的外部中断有哪两种触发方式?他们对触发脉冲或电平有什么要求?22、什么是中断和中断系统?其主要功能是什么?23、MCS-51有哪些中断源?24、说明外部中断请求的查询和响应过程25、MCS-51响应中断的条件?。
振荡器问:内部时钟振荡器是否稳定?是否可以用于产生波特率的时基?答:不同器件的内部时钟振荡器的精度是不同的(±20%)。
随电源电压变化,它也将发生变化(6.5%/V)。
但基本不随温度变化(<1%温度变化范围-40℃~+85℃)。
由于不同器件内部振荡器的离散性较大,所以不能用于产生波特率,应该外接标准晶体。
而有些器件,如C8 051F3xx/f12x/f04x/f06x内部振荡器精度为±2%,可用于产生波特率。
问:片内/外振荡器如何配置?答:正确步骤:1、允许外部振荡器;2、等待1ms;3、查询XTLVLD '0'->'1'4、切换到外部振荡器。
注意:振荡器频率的选择,即OSCXCN寄存器的配置(外部振荡器频率控制位的设置)。
关于更多的信息以及源代码可以参看应用笔记AN002《配置内部和外部振荡器》。
应用笔记可以从我公司网站下载:问:C8051F MCU的指令执行速度为多少?答:C8051F MCU的CIP-51内核采用流水线结构,与标准的8051结构相比,指令执行速度有很大的提高。
标准的8051单片机执行一个单周期指令需要12个系统时钟周期,而C8051 F MCU执行一个单周期指令只需要一个系统时钟周期。
如果系统时钟频率为25MHz,执行一个单周期指令所需时间为40ns。
问:切换外部晶振时应注意哪些问题?答:首先要允许外部振荡器,但此时的系统时钟源仍应是内部时钟,直到外部振荡器稳定后,才可将系统时钟源切换到外部振荡器上,否则会出现切换不过去,系统死机的情况。
问:使用外部晶振应注意哪些问题?答:1、所有的模拟和数字电源引脚都应接电源(2.7~3.6V);2、C8051F3xx系列器件的晶振引脚间应跨接一个10M电阻(在新华龙网站的“主页”—“原理图/PCB库”中有C8051F系列单片机的典型接线图);3、晶振、电容等相关器件尽量靠近单片机的晶振引脚。
问:系统时钟切换到外部时钟后,内部的时钟是否应关闭?答:可以选择关闭或不关闭,但是从降低功耗的角度来说,应该关闭。
问:系统时钟可不可以在程序中随时切换?答:可以,但是由内部再一次切换到外部时应按照技术问答2所介绍的步骤进行切换。
问:使用外部晶振时如何配置芯片的引脚?答答:对于芯片上有固定晶振引脚的设备(例如C8051F02X);相应时钟输入引脚按选择的晶振模式自动分配引脚;对于晶振引脚与GPIO共用的芯片(例如C8051F30X);晶振引脚要按下述方式进行设置:(1).外接晶体体时;XTAL1与XTAL2都要配置为模拟输入(2).外接振荡电路为“RC”或“C”方式时,XTAL2引脚要配置为模拟输入(3).外接CMOS时钟电路时,XTAL2引脚要配置为数字输入(4).以上几种方式在引脚的配置中都要使用跳过功能将此引脚跳过问:外接晶振的最高频率是多少?答:外接晶振的最高频率是30MHz;模数转换问:从上电(或退出掉电模式)到ADC稳定开始转换需要多长时间?答:模拟建立时间也就是等待参考电平稳定的时间。
它取决于接在VREF引脚的电容容量。
此电容越大VREF的噪音就越小,ADC转换结果的噪音也就越小。
如果用4.7μF电容,则稳定时间大约为2ms,如果无旁路电容(不推荐),稳定时间大约为10μS。
注意:在开始转化之前,需要一个1.5μS的跟踪时间,这也就决定了ADC多路转换开关(M UX)的切换速度。
问:ADC的最大输入电压及输入阻抗?答:ADC的最大输入电压为VREF,它的输入电压范围是0V-AV+/VDD。
输入电容为10pF;输入阻抗等价于一个5kΩ电阻和一个10pF电容的串联。
请参考应用笔记AN019“计算开关电容ADC的建立时间”。
问:ADC可编程窗口检测器有什么用途?答:ADC可编程窗口检测器在很多应用中非常有用。
它不停地将ADC输出与用户编程的限制量进行比较,并在检查到越限条件时通知系统控制器,这在中断驱动的系统中尤其有效,既可以节省代码空间和CPU带宽又能提供快速响应的时间。
问:为了使ADC或DAC具有更好的性能,是否应在VREF 引脚接电容?答:推荐在VREF引脚接一个0.1μF的陶瓷电容器与一个大的电容(典型为4.7μF钽电容)。
在VREF引脚加电容是为了降低VREF的噪声。
因为VREF的噪声越小,ADC或DAC转换结果的噪声也就越小。
且这两个电容在PCB板上应尽可能离VREF引脚近。
问:内部参考电平是否可以用于外部电路的参考?答:可以,你可以用VREF信号作为输出驱动其它电路(像放大器的偏置电压等)。
注意,V REF引脚只能提供源电流,也就是说,要有负载接地使电流流出C8051器件。
例如,如果你将VREF连到OP运放的(+)节点,你要加一个下拉电阻对地(24K左右)将电流限制在100μA。
问:如果测试的模拟输入电压范围是0-5V怎么办?答:因为模拟输入(AINx)引脚不能承受5V电压,任何引脚在任何情况下(不管ADC或PGA 的设置如何)必须使其输入电压保持在AGND和AV+之间,这是为了避免沉(或源)电流通过ESD保护装置。
为了测试0-5V范围的信号,必须使信号衰减(衰减到AV+以下)才能进入到ADC输入。
当使用外部VREF时,要求VREF的最大值比AV+小300mV。
问:F02x器件内部有PGA(可编程增益放大器)可以对输入模拟信号进行放大。
其中的一个放大倍数为0.5 倍。
是否意味着我可以外接+6V的模拟输入电压,经过0.5倍的放大变成3 V输入到AINx呢?答:请注意:任何模拟引脚(数据IO口和VDD引脚除外)的最大输入电压为-0.3V到 VDD+ 0.3V。
如果超出此范围可能造成器件永久损坏。
在单端输入方式,有两个限制因素如下:1、AIN输入电压必须在AGND和AV+之间以避免吸/源电流流过ESD保护器件。
2、AIN电压必须在AGND和(VREF / GAIN) 之间。
假设一个12位的ADC,AINx 引脚的输入电压小于AGND,结果将是0x000;如果输入电压大于(VREF / GAIN) ,结果将是0xFFF。
例如,使用外部1.25V参考,PGA增益为0.5,允许的电压输入范围是0V到 (1.25V / 0.5 = 2.5V)。
问:如何提高系统的ADC的性能?答:第一、将模拟电源和数字电源分开,可以使用比较简单的方法,如在模拟电源和数字电源之间加简单的滤波。
第二、将模拟地和数字地分开,并在电源附近通过磁珠连接。
第三、制板时,大面积覆铜。
第四、未使用到的模拟引脚要接地。
第五、为了确保参考电压的稳定,参考电压引脚一定要接去耦电容。
第六、模拟信号的输入电压范围是0-VDD,如果模拟输入的外围有可能侵入高电压(超过芯片的极限允许范围),就要采取保护措施(如加两个肖特级二极管)。
如果模拟输入会有瞬间过电流,也要加限流保护。
问:如果使用内部参考源,C8051F020/F021的参考电压引脚如何连接?答:C8051F020/F022共有4个参考电压引脚,VREF,VREF0,VRFE1和VREFD。
允许ADC和D AC使用一个外部电压基准或片内电压基准。
通过配置VREF0CF基准电压控制寄存器,ADC0还可以使用DAC0的输出作为内部基准,ADC1也可以使用模拟电源作为电压基准。
内部基准电压必须通过VREF引脚连接到芯片内部。
所以当您的系统中使用到内部基准电压时,必须确保VREF与VREF0,VREF1,VREFD(全部或部分)引脚的连接。
C8051F021/F023共有两个参考电压引脚,VREFA和VREF。
如果ADC0和ADC1使用内部参考源,必须将VREFA与VREF引脚连接。
注意:如果使用ADC或DAC,则不管电压基准取自片内还是片外,REF0CN寄存器中的BIASE 位必须被置为逻辑1。
问:为什么在进行A/D转换时测得的数据跳变很大?答:当输入信号有干扰脉冲、ADC的转换时间太短、在通道切换后通道还没有稳定就开始转换等原因都会导致转换后的数据跳变大,请仔细检查以上三点并做相应的处理就可以解决此类问题。
问:在进行A/D转换时所测得的数据与计算所得的数据相差很大,但跳变不大,为什么?答:1、计算时所用的基准电压是多少,如果用的是内部基准,把内部基准电压通过交叉开关分配到芯片引脚上,再进行测量;2、换别的通道转换看是否正常。
问:ADC的单端输入与差分输入的区别?答答:在单端方式工作时;ADC转换的是单输入引脚对地的电压值;在增益为1时,测量的值就是输入的电压值;范围是0V到VREF;当增益增加时,输入的范围要相应的减小;在差分方式工作时;ADC转换的是AIN+与AIN-两个引脚的差值;在增益为1时,测量的值等于(AIN+)-(AIN-),范围是-VREF到+VREF;当增益增加时,输入的范围要相应的减小。
注意:在差分方式时所提的负压是指AIN-引脚的电压大于AIN+引脚的电压,实际输入到两个引脚的电压对地都必需是正的;例如:如果AIN+引脚输入的电压为0V,AIN-引脚的输入电压为1/2VREF时,差分的输入电压为(0V-1/2VREF) = -1/2VREF。
端口问:器件IO口的吸收(sink)电流和源(source)电流是多少?答:IO口的沉电流和拉电流的极限参数为100mA(但是此时已经不能保证端口的正常逻辑关系了)。
具体的参数请参考datasheet的端口IO部分的“端口I/O直流电气特性”。
问:端口是否要加保护?答:在端口电流瞬间跳变的情况下,建议加限流电阻进行保护。
另外如果端口可能有超过极限电压范围的瞬变电平侵入,也要加瞬态保护。
(瞬态保护的通常方式为接入TVS器件)问:C8051F系列单片机的IO口与传统8051单片机相比有什么区别?答:①C8051F系列单片机的IO口全部为三态双向口(而传统8051单片机P1、P2、P3口为准双向口),内部有弱上拉可禁止(传统8051单片机固有),可配置为开漏输出和推挽输出(传统8051单片机只有开漏输出)。
②片内数字资源要通过数据交叉开关(crossbar)按一定的优先级配置到IO引脚(C8051F 2xx系列除外,而传统8051单片机不具备这一功能)。
IO口的配置更加灵活。
问:C8051F系列单片机电源电压全部为2.7-3.6V,那么是否有与5V系统接口的比较简单的解决方案?答:所有IO口允许5V(极限值为5.8V)输入,但是输出高电平为VDD。
如果与5V系统接口,最简单的方法是开漏输出并在输出端加接5V上拉,关键是上拉电阻的选择。
具体参考应用笔记AN011“在5V系统中使用C8051Fxxx”。
建议:如果可能,请尽量选用供电电压兼容的芯片,这是一种最理想的选择。