




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、辽宁科技大学电信学院 曲强 email:askdqq嵌入式系统设计与应用复习题辽宁科技大学第1章 嵌入式系统概论1.1 什么是嵌入式系统?嵌入式系统是以应用为中心,以计算机技术为基础,软、硬件可裁减,功能可靠,成本、体积、功耗要求严格的专用计算机系统。1.2在嵌入式系统中,操作系统具有怎样主要功能和特点?方便用户使用,操作系统应该使计算机系统使用起来十分方便。扩展机器功能,操作系统应该对系统硬件功能进行充分融合利用,扩充机器功能。管理系统资源,操作系统应该管理好系统中的所有硬件软、件资源。提高系统效率,操作系统应该充分利用计算机系统的资源,提高计算机系统的效率。构筑开放环境,操作系统应该构筑出
2、一个开放环境。支持体系结构的可伸缩性和可扩展性,支持应用程序在不同平台上的可移植性。1.3在设计嵌入式系统时,在选择嵌入式处理器和实时操作系统时,分别考虑哪些主要因素?在嵌入式系统设计时,以满足系统要求为依据。在选择处理器时,主要考虑功能、功耗、体积、可靠性等因素,在选择操作系统时,主要考虑操作系统的实时性,可靠性,可裁剪性等。1.4常见微处理器有哪些类型,各有什么特点。微控制器:微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。微控制器的片上外设资源一般比较丰富,适合于控制。数字信号处理器:在系统结构和指令算法方面进行了特殊设计,数字信号处理器在数字滤波、快速傅里叶
3、变换(FFT)、谱分析等各种仪器上获得了大规模的应用。嵌入式微处理器:以最低的功耗和资源实现嵌入式应用的特殊要求。和工业控制计算机相比嵌入式微处理器具有体积小、重量轻、成本低、低功耗、可靠性高的优点。片上系统是基于FPGA技术的系统。1.5 与通用计算机相比,嵌入式系统有哪些特点?嵌入式系统通常是面向特定应用的;嵌入式系统是将计算机技术,半导体技术和电子技术与各行各业的具体应用相结合的产物,是一门综合技术学科;嵌入式系统和具体应用有机的结合在一起,它的升级换代也是和具体产品同步进行的,因此嵌入式产品一旦进入市场,就有较长的生命周期;为了提高执行速度和可靠性,嵌入式系统中的软件一般都固化在存储器
4、芯片或单片机本身中,而不是存储于磁盘等载体中;嵌入式系统本身不具有自主开发能力,即使设计完成以后用户通常也不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。1.6 嵌入式系统与传统的单片机系统在软件和硬件上有哪些主要的不同?在硬件上,嵌入式系统至少拥有一个高性能处理器作为硬件平台,而单片机系统一般为8位处理器和16位处理器。在软件上,嵌入式系统拥有一个多任务操作系统为软件系统平台,单片机系统则一般为单任务软件。1.7 常见的实时操作系统有哪些?Vxworks操作系统、WinCE操作系统、Symbian操作系统、Linux操作系统、C/OS操作系统。21第2章 ARM微处理器硬
5、件结构2.1 在ARM内核处理器命名上,T、D、M、I、E、S和J各代表什么意义?T表示支持16位Thumb指令集;D表示支持在线Debug;M表示内嵌乘法器Multiplier;I表示嵌入式ICE,支持在线断点和调试;E表示DSP指令,支持DSP的特定指令,主要是16bit;S表示具有可综合功能,提供VHDL或者Verilog语言设计,可以实现自己特定的硬件;J表示支持新的JAVA功能。2.2 常用的CPU架构有哪两类?这两类架构主要有哪些不同?冯诺依曼结构:采用冯诺依曼结构的微处理器的程序空间和数据是合在一起的,即取指令和取操作数都是在同一条总线上,通过时分复用的方式进行的。哈佛结构:采用
6、哈佛总线结构的芯片内部程序空间和地址空间是分开的,这就允许同时取指令(来自程序空间)和同时取操作数(来自数据空间)。2.3 通用计算机与嵌入式处理器各采用哪种指令集,这两类指令集有哪些不同?通用计算机一般采用复杂指令系统(CISC)包含一个丰富的微代码系统,简化了处理器上运行程序的编制。主要有以下几个特点:具有大量的指令和寻址方式; 大多数程序只使用少量的指令就能够运行。绝大多数嵌入式处理器采用精简指令系统(RISC)。从而提高了微理器的效率,但需要更复杂的外部程序,也就是把在处理器层没有完成的工作放到了上层进行,而处理器层少的这些成本可以用于物理器件速度的提高上去。 RISC有下特点:1、8
7、/2原则:80%的程序只使用20%的指令;2、采用Load/store指令模式,凡数据由外存到内存、内存到寄存器方向的流动统一用Load指令,而对于反方向的操作,都用store;3、用小指令集、多寄存器、指令执行简单快速;4、统一用单周期指令,从根本上克服了CISC指令周期数有长有短、偶发性不确定、运行失常的缺点。2.4 ARM7、ARM9内核处理器各采用几级流水线,分别是哪几级流水线结构?ARM7TDMI采用三级流水线,分另为取指令、解码指令和执行操作。ARM9TDMI采用5级流水线结构,分别为取指令、译码、执行、存储、写操作五级。2.5 从内部结构来看ARM9内核处理器主要是由哪些部件组成
8、的?ARM9TDMI处理器内核采用ARM V4T架构,增加了可用的存储器宽度、指令存储器接口以及数据存储器接口,可以支持16位Thumb指令集和32位ARM指令,ARM9作为高性能的32位RISC处理器内核,可以实现对指令和数据存储器的同时访问。2.6 试列举ARM处理器工作模式,各工作模式主要完成什么功能?用户模式(User)。绝大部分的任务执行都在这种操作模式下,此为正常的程序执行模式。快速中断模式(FIQ)。当一个高优先级中断产生时,系统将会进入这种操作模式,用于高速数据传输和通道处理,由FIQ请求位发出请求信号。普通中断模式(IRQ)。当一个低优先级中断产生时将会进入这种操作模式,本模
9、式用于通常的中断处理,由IRQ请求位发出请求信号。管理模式(Supervisor)。当复位或软中断指令执行时将会进入这种操作模式,是一种可以供操作系统使用的保护模式。中止模式(Abort)。当存取异常时将会进入这种操作模式,此模式可以被用作虚拟存储及存储保护,可由ABORT请求位发出请求信号。未定义模式(Undef)。当执行未定义指令时会进入这种操作模式,多被用于软件仿真硬件协处理器时。2.7 试列举ARM处理器各寄存器功能?1个寄存器用作PC即程序寄存器,指向程序执行位置。1个寄存器用作CPSR即当前状态寄存器,保存当前CPU状态。5个寄存器用作SPSR,备份不同模式下CPSR的值。30个寄
10、存器作为通用寄存器,存储数据使用。2.8 试说明CPSR寄存器各位功能。N位结果为负数标志位。N=1表示运算的结果为负数;N=0表示运算的结果为正数或零。Z位结果为零标志位。Z=1表示运算的结果为零;Z=0表示运算的结果为非零。C位为进位标志位。C=1表示有进位,C=0表示没有进位。V溢出标志位。V=1表示符号位溢出,V=0表示结果没有溢出。Q位DSP指令溢出标志位。在ARM vTE/J架构支持,指示DSP指令是否溢出。J位为Jazelle支持标志位。仅ARM 5TE/J架构支持,J=1表示处理器处于Jazelle状态。I位为IRQ中断禁止位。I=1表示禁止IRQ,I=0表示允许IRQ中断。F
11、位为FIQ中断禁止位。F=1表示禁止FIQ,F=0表示允许FIQ中断。T为为Thumb状态标志位。仅ARM xT架构支持,T = 0表示处理器处于ARM状态,T=1表示处理器处于Thumb状态。2.9 试列出ARM处理器常见异常方式及其含义。快速中断(FIQ):当处理器的快速中断请求引脚有效,且CPSR中的F位为0时,产生FIQ异常中断请求信号(IRQ):当处理器的外部中断请求引脚有效,且CPSR中的I位为0时,产生IRQ异常中止异常:当外部的ABORT输入产生时,发生此异常。软件中断(SWI): 该异常由执行SWI指令产生,可用于用户模式下的程序调用特权操作指令,可使用该异常机制实现系统功能
12、调用。复位:当处理器的复位电平有效时,产生复位异常,程序跳转到复位异常处理程序处执行。未定义异常:当ARM处理器或协处理器遇到不能处理的指令时,产生未定义指令异常。可使用该异常机制进行软件仿真。2.10为什么说ARM处理器是32位处理器数据线32位,寄存器32位,编码32位。2.11 在ARM9中如何保证FIQ相应速度快于IRQ的相应速度。FIQ异常模式下有足够的私有寄存器,且支持数据传输和通道处理方式,从而避免了对寄存器保护的要求,提高响应速度。FIQ异常处于所有异常向量的之后,这样FIQ中断处理程序可以直接的放在中断向量处,而不必安排一条跳转指令。FIQ的优先级高于IRQ的优先级。第3章
13、ARM寻址方式与指令系统3.1 试列出16类指令条件域所对应的CPSR寄存器相应位状态。助记符标 志含 义EQZ置位相等NEZ清零不相等CSC置位无符号数大于或等于CCC清零无符号数小于MIN置位负数PLN清零正数或零VSV置位溢出VCV清零未溢出HIC置位Z清零无符号数大于LSC清零Z置位无符号数小于或等于GEN等于V带符号数大于或等于LTN不等于V带符号数小于GTZ清零且(N等于V)带符号数大于LEZ置位或(N不等于V)带符号数小于或等于AL忽略无条件执行 3.2 ARM处理器主要有哪些类型的寻址方式,各有什么特点?立即寻址:操作数在指令中直接给出。寄存器寻址:操作数存储在寄存器中。基地址
14、变址寻址:操作数的地址为基地址与变址的和。寄存器间接寻址:操作数的地址存储在寄存器中的一种寻址方式。多寄存器寻址:操作数存储在多个寄存器中的一种寻址方式。 第4章 汇编语言程序设计4.1什么是伪指令和伪操作?在ARM汇编中有哪几种伪指令?在ARM汇编语言程序中有些特殊助记符,这些助记符与一般指令的助记符的不同之处在于没有相对应的操作码或者机器码,通常称这些特殊指令助记符为伪指令,他们所完成的操称为伪操作。在ARM汇编中,有如下几种伪指令: (1)符号定义伪指令; (2)数据定义伪指令; (3)汇编控制伪指令; (4)信息报告伪指令; (5)宏指令及其他伪指令。4.2 熟悉常用伪指令的含义。(详
15、见课堂PPT)4.3 如何定义一个宏,宏与子程序的区别是什么?宏定义的格式为: MACRO$标号 宏名 参数,参数2.指令序列MENDMACRO表示一个宏定义的开始,MEND表示一个宏的结束,MACRO和MEND前呼后应可以将一段代码定义为一个整体,又称宏,然后在程序中就可以在程序中通过宏的名称及参数调用该段代码。宏与子程序的区别:宏指令可以重复使用,这一点的使用方式与子程序有些相似,子程序可以节省存储空间,提供模块化的程序设计。但使用子程序机构时需要保存/恢复现场,从而增加了系统的开销,因此,在代码传递的参数较多并且比较短时,可以使用宏代替子程序,宏在被调用的地方展开。4.4 利用跳转表实现
16、具有下述功能的汇编程序:(1)当r0为1时,调用子程序CASE1,完成r1加r2把结果放入r3的计算;(2)当r0为2时,调用子程序CASE2,完成r1减r2把结果放入r3的计算;(3)当r0为3时,调用子程序CASE3,完成r1与r2把结果放入r3的计算;(4)否则,完成r1或r2把结果放入r3的计算。参考程序AREA JumpTest,CODE,READONLY ; 定义代码段CODE32 ; 设置为arm指令集 ENTRY ; 程序入口 start MOV r0, #1 MOV r1, #3 MOV r2, #2 ADR r4, JumpTable ; 将跳转表地址送给r4 CMP r0
17、, #1 ; if r0=1 then CALL CASE1 MOVEQ r3, #0 LDREQ pc, r4,r3,LSL #2 CMP r0, #2 ; if r0=2 then CALL CASE2 MOVEQ r3, #1 LDREQ pc, r4,r3,LSL #2 CMP r0, #3 ; if r0=3 then CALL CASE3 MOVEQ r3, #2 LDREQ pc, r4,r3,LSL #2 DEFAULT ; otherwise CALL DEFSULT ORR r0, r1, r2SWITCHEND MOV r0, #0x18 ; 调用软中断 返回操作系统 L
18、DR r1, =0x20026 SWI 0x123456JumpTable ; 定义跳转表 DCD CASE1 DCD CASE2 DCD CASE3CASE1 ; 子程序1 ADD r3, r1, r2 B SWITCHENDCASE2 ; 子程序2 SUB r3, r1, r2 B SWITCHENDCASE3 ; 子程序3 AND r3, r1, r2 B SWITCHEND END4.5 冒泡法是一种经常用到的排序方法,试编程实现具有上述功能的程序。提示:可以使用r4作为计数器,r1存放比较的起始地址,r6存放中止地址。参考程序:AREA Sort, CODE, READONLYENT
19、RYStart: MOV r4, #0;LDR r6, =Src;ADD r6, r6, #Len-4;Outer: LDR r1, =Src;Inner: LDR r2, r1;LDR r3,r1,#4;CMP r2, r3;STRGT r3, r1;STRGT r2, r1, #4;ADD r1, r1, #4;CMP r1, r6;BLT Inner;ADD r4, r4, #4;CMP r4, #len-4;SUBLT r6, r6, #4;BLT Outer;Stop: MOV r0, #0x18;LDR r1, =0x20026;SWI 0x123456;AREA Array, D
20、ATA, READWRITESrc DCD 2,4,10,8, 14,1,12Len EQU 76*4END4.6 阅读下面的程序并简要回答下面的问题。AREA Thumbsub, CODE, READONLYENTRYCODE32Start ADR r0,Thumb_code+1BX r0CODE 16Thumb_codeMOV r0, #10MOV r1, #3BL doaddStop MOV r0, #0x18LDR r1, =0x20026SWI 0xABDoadd ADD r0. r0, r1MOV pc, lrEND试写出ADR r0, Thumb_code+1; BX r0;指令
21、的作用是什么?试写出上述程序中实现子程序调用及子程序调用返回的指令。试说明指示符或伪指令AREA、ENTRY、CODE16和CODE32的作用是什么?参考答案:1、实现由ARM指令集向Thumb指令集的转换2、子程序调用 BL doadd子程序返回 MOV pc, lr3、AREA 段定义ENTRY 程序入口CODE16 Thumb指令集CODE32 ARM指令集4.7已知求取最大公约数的伪代码如下: int gcd ( int a, int b) while( a!=b) do if (a>b) a=a-b; else b=b-a;return a;试将上面的程序用ARM汇编语言实现。
22、参考程序gcd CMP r0, r1;SUBGT r0, r0, r1;SUBLT r1, r1, r0;BNE gcdMOV pc, lr4.8 试编程实现18+8的计算,并保存结果到R7寄存器中。参考程序AREA adder, CODE, READONLYENTRYStart MOV r7, #18;MOV r6, #8;ADD r7, r7, r6;Stop MOV r0, #0x18;LDR r1, =0x20026;SWI 0xABEND4.9 将由src开始的20个单元中的内容转移到由dst开始的单元中。要求当欲传送的数据大于8时,采用多字节传送指令,每次传递8个字节,对于不足8个
23、字节的数字采用单字节传送指令传递。 参考程序AREA Block, CODE, READONLY ; name this block of codenum EQU 20 ; Set number of words to be copied ENTRY ; mark the first instruction to callstart LDR r0, =src ; r0 = pointer to source block LDR r1, =dst ; r1 = pointer to destination block MOV r2, #num ; r2 = number of words to
24、copy MOV sp, #0x400 ; set up stack pointer (r13)blockcopy MOVS r3,r2, LSR #3 ; number of eight word multiples BEQ copywords ; less than eight words to move ? STMFD sp!, r4-r11 ; save some working registersoctcopy LDMIA r0!, r4-r11 ; load 8 words from the source STMIA r1!, r4-r11 ; and put them at th
25、e destination SUBS r3, r3, #1 ; decrement the counter BNE octcopy ; . copy more LDMFD sp!, r4-r11 ; don't need these now - restore originalscopywords ANDS r2, r2, #7 ; number of odd words to copy BEQ stop ; No words left to copy ?wordcopy LDR r3, r0, #4 ; a word from the source STR r3, r1, #4 ;
26、store a word to the destination SUBS r2, r2, #1 ; decrement the counter BNE wordcopy ; . copy morestop MOV r0, #0x18 ; angel_SWIreason_ReportException LDR r1, =0x20026 ; ADP_Stopped_ApplicationExit SWI 0x123456 ; ARM semihosting SWI AREA BlockData, DATA, READWRITEsrc DCD 1,2,3,4,5,6,7,8,1,2,3,4,5,6,
27、7,8,1,2,3,4dst DCD 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 END4.10 使用ADS1.2调试下面的源程序int main(void)char i;int sum=0;int data4;data0=1;data1=2;data2=3;data3=4;for(i=0;i<4;i+)sum=sum+datai;return sum;经过汇编后,对应的汇编程序如下:main * stmfd r13!,r0-r3,r14 ;按照满递减方式将r14、r3-r0入栈000080ac mov r0,#0;sum=0;000080b0 mov
28、 r1,#1 ; 数组初始化000080b4 str r1,r13,#0; r13数组起始地址000080b8 mov r1,#2000080bc str r1,r13,#4000080c0 mov r1,#3000080c4 str r1,r13,#8000080c8 mov r1,#4000080cc str r1,r13,#0xc000080d0 mov r1,#0; i=0000080d4 cmp r1,#4; compare i,4000080d8 bcs 0x80f0 ; (main + 0x48); if i>4 goto 80f0 000080dc ldr r2,r13,
29、r1,lsl #2: r2=datai000080e0 add r0,r2,r0; sum=sum+datai000080e4 add r1,r1,#1; i+000080e8 and r1,r1,#0xff; 将i转化为char类型000080ec b 0x80d4 ; (main + 0x2c)000080f0 add r13,r13,#0x10000080f4 ldr pc,r13,#4; return阅读该程序并回答以下问题i、在ADS1.2中所使用的堆栈是什么类型的?ii、在ADS1.2中如何保证数据类型为无符号8位整型的?iii、上述程序中将数组保存在哪里?iv、入栈指令stmfd
30、 r13!, r0-r3,r14的入栈顺序是什么?4.11 使用ADS1.2调试下面的程序short checksum_v2(short *data)unsigned int i;short sum=0;for(i=0;i<64;i+)sum=(short)(sum+datai);return sum;经过反汇编后,获得如下的汇编程序:0x00000000 MOV r2,r0 ; r2=data0x00000004 MOV r0,#0 ; sum=0(短整型16bit)0x00000008 MOV r1,#0 ; i=00x0000000c ADD r3,r2,r1,LSL #1; r3
31、=&0x00000010 LDRH r3,r3,#0 ; r3=datai0x00000014 ADD r0,r3,r0 ; sum=sum+datai0x00000018 MOV r0,r0,LSL #16 ; 转换r0为短整型0x0000001c MOV r0,r0,ASR #160x00000020 ADD r1,r1,#1 ; i+0x00000024 CMP r1,#0x40 ; compare i, 640x00000028 BCC 0xc ; if (i<64) goto 0xc0x0000002c. MOV pc,r14 ; return sum阅读程序并回答如下
32、问题。(1)请为获得的反汇编语言加上注释。(2)在ADS中如何实现短整型数据类型的?(3)在ADS中是如何读取短整型数据的?(4)在ADS中LDRH不支持位移地址偏移,那它是如何实现地址指针移动的?(5)若子程序中的中间变量无特殊要求,是选择为短整型还是选择为整型好,为什么?4.12 假设由0x1000开始的存储器中存放的数据如图1所示,试确定如下指令运行结束后,r0、r1、r2、r3的值。40x101030x100c20x100810x100400x1000MOV r0, #0x1000;LDMIB r0!, r1, r2, r34.13 假设由0x1000开始的存储器中存放的数据如图1所示
33、,试确定如下指令运行结束后,r0、r1、r2、r3的值。40x101030x100c20x100810x100400x1000MOV r0, #0x1000;LDMIA r0!, r1-r3第十一章存储系统机制及存储接口11.1 试画出带有存储器管理单元(MMU)的微处理器管理主存的框图并简要说明原理。7微处理器MMU页表主存储器辅助存储器图1 具有MMU单元微处理器管理主存框图 CPU从指令中获得逻辑地址通过MMU单元查找页表,将逻辑地址转换为物理地址,从而实现了主存的访问。11.2 存储器管理单元(MMU)是ARM中用于管理存储器使用的智能单元,试写出实现开启MMU功能的程序代码。提示:将
34、使用到CP15协处理器中的C1寄存器。参考程序MRC P15, 0, r0, c1, 0, 0; c1àroORR r0, #0x1; 使能MMUMCR P15, 0, r0, c1, 0, 0; r0àc111.3 试画出最小嵌入式系统的方框图。参考答案ARM处理器时钟模块复位模块JTAG接口UART接口FLASH模块SDRAM模块图1 最小嵌入式系统方框图11.4、试画出复杂嵌入式系统的存储器结构方框图,并简要说明各部分的作用。寄存器Cache主存储器辅助存储器图 答案寄存器:位于微处理器内部,可以为微处理器直接使用。Cache:高速缓存,读写速度高于主存。主存储器:用
35、户程序代码和数据的主要存储区。辅助存储器:用于存放用户程序代码的备份。第八章 中断机制8.1 微处理器控制I/O端口或部件数据传送方式有哪两种,其特点是什么。1、查询方式 处理器周期的执行查询程序来读取I/O端口或部件的状态寄存器,并判断其状态。从而使微处理器或部件在数据、命令数据传输时保持同步。 缺点:执行效率低;不能实时处理I/O端口请求。 2、中断方式 I/O端口或部件有数据传输请求是,向微处理器发出中断请求,当微处理器接收到该请求时,中止当前任务,转而处理I/O端口的请求,处理完成后继续原操作。 8.2 在ARM9中是如何保证FIQ的响应速度快于IRQ的?1、FIQ异常模式下有足够的私
36、有寄存器,且支持数据传送和通道处理方式,从而避免对寄存器保护的要求,提高响应速度。 2、FIQ的异常向量被放在所有异常的最后,这样FIQ中断处理程序可以直接放在中断向量处,而不必安排一条跳转指令。 3、FIQ异常的优先级也高于IRQ异常。 8.3 试写出ARM9微处理器处理IRQ异常的过程。1、链接寄存器R14_irq保存有被执行指令地址+4;2、状态寄存器SPSR_irq保存有CPSR寄存器的内容;/*系统进入IRQ中断模式*/3、状态寄存器CPSR的位4:0被赋予0b10010;/*切换至ARM状态*/*5T、 6F 、7I*/4、寄存器CPSR的位5清0,但位6不变;/*禁止IRQ中断*
37、/5、寄存器CPSR的位7置1;6、如果采用高向量地址配置,那么PC寄存器被赋予0xffff0018,否则PC寄存器被赋予0x00000018。8.4 试写出ARM9微处理器处理FIQ异常的过程。1、链接寄存器R14_fiq保存有被执行指令地址+4;2、状态寄存器SPSR_fiq保存有CPSR寄存器的内容;/*系统进入FIQ中断模式*/3、状态寄存器CPSR的位4:0被赋予0b10001;/*切换至ARM状态,禁止FIQ中断*/*5T、 6F 、7I*/4、寄存器CPSR的位5清0,但位6置1不变;/*禁止IRQ中断*/5、寄存器CPSR的位7置1;6、如果采用高向量地址配置,那么PC寄存器被
38、赋予0xffff001c,否则PC寄存器被赋予0x0000001c。第九章 键盘及数码管显示9.1 已知S3C2440键盘、LED灯显示接口电路如图1所示,试编程实现当按下K1键时,LED1灯亮,当按下K2键时,LED2灯亮,以此类推,当没有按键时,所有灯都不亮,试完成上述程序。 图1 按键及显示电路原理GPFCON 位描 述GPF7 15:14 00 = Input 10 = EINT7 01 = Output 11 = Reserved GPF6 13:12 00 = Input 10 = EINT6 01 = Output 11 = Reserved GPF5 11:10 00 = In
39、put 10 = EINT5 01 = Output 11 = Reserved GPF4 9:8 00 = Input 10 = EINT4 01 = Output 11 = Reserved GPF3 7:6 00 = Input 10 = EINT3 01 = Output 11 = Reserved GPF2 5:4 00 = Input 10 = EINT2 01 = Output 11 = Reserved GPF1 3:2 00 = Input 10 = EINT1 01 = Output 11 = Reserved GPF0 1:0 00 = Input 10 = EINT0
40、01 = Output 11 = Reserved 寄存器描 述功能GPFCON 端口F控制寄存器选择端口功能GPFDAT 端口F数据寄存器读取端口数据GPFUP 端口F上拉电阻禁止控制寄存器0:内部加上拉电阻1:内部不加上拉电阻参考程序/×* /按键点亮LED程序/×* /目的:掌握按键与IO口的使用,IO口位判断的方法 /以便掌握按键的使用。 /×* /功能:LED,按键 /接口:GPB5 -> LED1 GPF1 -> KEY1 / GPB6 -> LED2 GPF4 -> KEY2 / GPB7 -> LED3 GPF2 -> KEY3 / GPB8 -> LED4 GPF0 -> KEY4 / /×* #include "def.h" /所要包含的头文件 #include "option.h" #include "2440addr.h" #include "2440lib.h" #include "2440slib.h"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论