Ada第一章4、LPC2220一共有多少个引脚,其电源V1.8和V3.3有多少个引脚,其地源地有多少个引脚,为什么电源需要这么多引脚?答:144、12、12作用:为芯片中的各个模块提供其所需的电压。而且模块间的电压分开给予,也能避免相互间造成影响。5、LPC2220有哪4个端口,每个端口分别有多少个引脚?答:P0、P1、P2、P3;每个端口分别有32个引脚6、描述一下LPC2220的P0.14、P2.26、P2.27引脚在芯片复位时分别有什么作用?答:P0.14的低电平强制复位后片内引导装载程序控制器件的操作,即进入ISP状态。P2.26BOOT0-当RESET为低时,的低电平使BOOT0-BOOT1一同控制引导和内部操作,引脚的内部上拉确保了引脚未连接时呈现高阻态。P2.27BOOT1-当RESET为低时,BOOT0与BOOT1一同控制引导和内部操作。引脚的内部上拉确保了引脚未连接时呈现高电平。外部复位输入:当该引脚为低电平时,器件复位,I/O口和外围功能进入默认状态,处理器从地址0开始执行程序。复位信号是具有迟滞作用的TTL电平。7、LPC2000系列ARM7微控制器具有引脚功能复用特性,怎样设置某个引脚为指定功能?答:通过引脚功能寄存器选择寄存器的设定来设置某个引脚为指定功能。8、如何设置P0.7为PWM功能,如何设置P0.27为AIN功能,如何设置P2.30和P3.25为普通GPIO功能?答:9、设置引脚为GPIO功能时,如何控制某个引脚单独输入或单独输出?如何选择输出,如何控制输出电平?当需要知道某个引脚当前的输出状态时,是读取哪个寄存器?答:设置引脚为GPIO功能时,通过IODIR寄存器可单独设置I/O口为输入或输出;通过IOSET来选择输出高电平,结合IOCLR控制I/O输出清零;通过IOPIN可以读取当前状态。第2章1、在ARM微处理器与外设进行数据交互的过程中,有哪两种数据传送方式,分别适合应用在哪些场合?答:微处理器与外设交换数据的过程中可选择以下两种方式:并行通信:数据的各个数位同时传送;串行通信:数据按照位顺序一位一位传送。串行数据传输时,数据是一位一位地在通信线上传输的,先由具有几位总线的计算机内的发送设备,将几位并行数据经并--串转换硬件转换成串行方式,再逐位经传输线到达接收站的设备中,并在接收端将数据从串行方式重新转换成并行方式,以供接收方使用。串行数据传输的速度要比并行传输慢得多,但对于覆盖面极其广阔的公用电话系统来说具有更大的现实意义。并行通信传输中有多个数据位,同时在两个设备之间传输。发送设备将这些数据位通过对应的数据线传送给接收设备,还可附加一位数据校验位。接收设备可同时接收到这些数据,不需要做任何变换就可直接使用。并行方式主要用于近距离通信。计算机内的总线结构就是并行通信的例子。这种方法的优点是传输速度快,处理简单。区别:1.并行传输特点:(1)传输速度快:一位(比特)时间内可传输一个字符;(2)通信成本高:每位传输要求一个单独的信道支持;因此如果一个字符包含8个二进制位,则并行传输要求8个独立的信道的支持;(3)不支持长距离传输:由于信道之间的电容感应,远距离传输时,可靠性较低。2.串行传输特点:(1)传输速度较低,一次一位;(2)通信成本也较低,只需一个信道。(3)支持长距离传输,目前计算机网络中所用的传输方式均为串行传输。2、在串行通信方式中,除了书上所讲的RS232、RS485、SPI、I2C以外,请你再举出3种以上其他的串行通信方式。答:MicroWire、1-Wire、USB、CAN3、串行通信方式从整体上来讲可分为两类,其中异步通信过程中,微处理器与外设之间应该有哪些规定,才能有效地完成通信?那么同步通信呢?答:异步通信中,微处理器与外设之间必须有两项规定。第一项规定:双方通信时采用怎样的数据格式。第二项规定:即双方通信过程中每发送一个数位需要多长的时间。在有些场合也称之为波特率,即每秒钟传送的二进制位数。同步通信:1、在大量数据传送时,采用通信双方(发送器、接收器)在同一个时钟控制下传输数据的同步通信。2、同步通信是先将许多的字符聚集成一字符块,再将每块信息(常称为信息帧)之前加上1~2个同步字符,接着再加适当的错误检测数据到字符块,最后才传送出去。4、串行通信中有哪3种通信制式,请你对每种通信制式举一个例子。答:在串行通信中数据是在两个站之间进行传送的,按照数据传送方向,串行通信可分为单工、半双工和全双工3种制式。在单工制式下,数据只能从发送站向接收站传送。在半双工制式下,数据能双向传送,但是不能同时在两个方向上传送。全双工制式下,接收数据和发送数据占用不同的线路。全双工通信可以同时发送和接收。5、常用的74LS164是一个用于串转并的通信芯片,请问芯片中有哪些引脚是用于与微处理器通信的?哪些引脚是用于并行输出的?如果ARM想让74LS164芯片的输出端全为高电平,请画出通信时序图。答:A、B:串行数据输入端。•Clock:时钟输入端。•Clear:清零端。低电平有效。•QA~QH:数据输出引脚。P0.25P3.29P1.17ABClockClearQAQBQCQDQEQFQGQHRRRRRRRR74LS164LPC22206、一般的UART异步接收/发送器具备些什么功能?UART异步通信应用在哪些场合?接收器单工通信A站B站A站B站发送接收发送接收A站发送接收B站发送接收半双工全双工发送器1ClearClockA、B0110011答:功能:1、传输转换功能;2、奇偶校验功能;3、出错标识功能。UART一般可以应用到如下一些场合:1、芯片间的近距离通信2、与PC机之间的通信3、模块之间的远距离通信UART通信协议包含了哪些内容?答:UART异步串行通信协议需要定义以下5个内容:1.起始位2.数据位3.奇偶校验位4.停止位5.波特率设置8、LPC2220中的UART0模块包含了哪些子模块?请问如何设置UART0模块的波特率?答:UART0主要包括3个模块:UART0接收器模块(U0Rx)UART0发送器模块(U0Tx)UART0波特率发生器模块(U0BRG)波特率计算如下:分频后的时钟=pclk/(U0DLM*256+U0DLL)波特率=分频后的时钟/16见书上53页9、UART0模块如何发送和接收通信数据,U0LSR寄存器有什么作用?答:见程序代码55页作用:能提供UART0的接收和发送模块的当前状态信息。10、SPI总线接口使用了哪些接口信号,这些接口信号各自有什么作用?答:SPI是一个全双工的同步串行接口。在数据传输过程中,总线上只能是一个主机和一个从机进行通信。1.MISO(MasterInSlaveOut)主机输入、从机输出信号。2.MOSI(MasterOutSlaveIn)主机输出、从机输入信号。3.SCK(SerialClock)串行时钟信号。使通过MISO和MOSI的数据保持同步。4.SS(SlaveSelect)从机选择信号。用于选择一个从机,低电平有效。11、LPC2220既可以作为SPI通信主机,又可以作为SPI通信从机,请问如何设置?SPI通信有多种传输格式,请问LPC2220中能否支持?答:I/OMISO0MOSI0SCK0SSEL0VCCSPI主机SPI从机SSEL1MISO1MOSI1LPC2200LPC2200SCK1可通过SSEL引脚设置LPC222为SPI主机或从机SSEL为高电平时,SPI为主机;SSEL为低电平时,SPI为从机。SPI有4种传输格式,LPC2220能支持。12、配置LPC2220中SPI0模块为主机,然后向SPI总线发送一个字节的数据,请问大致步骤怎样?答:主机操作SSEL0引脚接高电平,数据传输步骤为:①设置S0PCCR寄存器,确定分频值。②设置S0PCR寄存器,控制SPI0为主机。③当有多个从机情况下,控制片选信号,选择要通信的从机。④将要发送的数据写入S0PDR寄存器,即启动SPI传输。⑤读取S0PSR寄存器,等待SPIF位置位。⑥从SPI数据寄存器中读出接收到的数据(可选)。⑦如果还有数据要传送,则重复第4~6步骤,否则取消对从机选择。第4~6步骤。13、根据2.4.4节中对74HC595的描述,请你找出74HC595芯片中的SPI通信引脚,并画出该芯片的通信时序图?答:当SCLR为低电平时,输出端Q清零;当SCLR=1,SCK出现上升沿时,内部寄存器移位并接收SER端发来的数据;当RCK出现上升沿时,74HC595内部寄存器的数据输出到QA~QH。14、I2C总线接口使用了哪些接口信号,这些接口信号各自有什么作用?答:在I2C总线上只需要串行数据SDA线和串行时钟SCL线两条线。跟16题类似15、I2C总线有什么特点?I2C总线上可以同时拥有多个主机吗?答:1.二线传输;2.无中心主机;3.软件寻址;4.应答式数据传输过程;5.节点可带电接入或撤出不可同时拥有多个主机16、请问I2C总线上的起始信号、数据信号、应答信号和终止信号是如何描述的?答:1、起始信号和终止信号I2C总线的时钟线SCL与数据线SDA均为双向传输线。数据线出现由高电平向低电平变化的启动信号,启动I2C总线;数据线上出现由低到高的电平变化,此信号即为I2C总线的停止信号,结束I2C总线的数据传输。2、数据信号I2C总线在进行数据传输时,在时钟线为高电平期间,数据线上必须保持稳定的逻辑电平状态。只有在时钟线为低电平时,才允许数据线上的电平状态发生变化。3、应答信号数据发送方每发送一个字节数据后,需要得到数据接收方的一个应答信号。应答信号通过数据线(SDA)传输,与应答信号相对应的时钟(第9个时钟)由主控器产生。17、如何设置LPC2220中的I2C模块为主发送模式?该模式下,I2C总线上的起始信号、停止信号以及应答信号分别是由谁发送的?答:先设置I/O口功能选择,然后设置总线的速率,再配置好I2CONSET寄存器和I2CONCLR寄存器。起始信号、停止信号由主机向从机发送;应答信号由从机向主机发送。第4章9、LPC2220的片内RTC模块支持哪两种中断,这两种中断有什么样的作用?答:RTC可以产生两种中断:1、计数器增量中断:CIIR中的每个位都对应一个时间计数器。如果CIIR使能某一个特定的计数器,那么该计数器的值每增加一次就产生一个中断。2、报警寄存器中断:报警寄存器允许用户设定产生中断的日期和/或时间。如果所有非屏蔽报警寄存器与它们对应的时间计数器的值相匹配时,则会产生中断10、LPC2220的片内RTC模块的基本操作步骤是怎样?答:1、设置RTC基准时钟分频寄存器PREINT(整数)和基准时钟分频寄存器PREFRAC;其值计算如下:PREIN=int(pclk/32768)-1PREFRAC=pclk–(PREIN+1)×327682、初始化RTC时间寄存器的值;3、报警中断设置;4、启动RTC,即CCR的CLKEN位置位;5、读取完整时间计数器的值,或等待中断。11、完整时间寄存器0~2和时间计数器组有什么样的联系,改变完整时间寄存器0~2会不会改变时间计数器组的内容?答:完整时间寄存器允许用户只需执行3次读操作,即可读出所有的时间计数器值。12、什么是看门狗,看门狗电路有什么作用?答:看门狗,又叫WatchDogTimer,也是一个定时器电路。看门狗的作用是当系统出现程序进入死循环,或者程序跑飞等情况时,它能够自动复位整个系统。13、什么是喂狗,LPC2220片内看门狗模块的喂狗步骤是怎样,如何启动了看门狗模块却长时间不喂狗会有什么样的后果?答:1、在主程序运行之前,我们对定时器设置了一个定时时间T并开始倒计时;在主程序运行过程中必须要在定时时间T倒计时完之前对定时器进行复位,重新从T时间倒计时,这个过程就是喂狗2、通过向WDFEED寄存器顺序写入OxAA和Ox55完成喂狗;3、会导致WDT模块复位或中断14、从硬件设计角度来看,有哪些降低功耗的途径?答:从硬件设计考虑降低功耗问题,主要有三条途径:1、选择合