ImageVerifierCode 换一换
格式:DOC , 页数:19 ,大小:64.54KB ,
资源ID:2956138      下载积分:5 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2956138.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     索取发票    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(嵌入式微处理器标准体系结构复习资料.doc)为本站上传会员【w****g】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

嵌入式微处理器标准体系结构复习资料.doc

1、一、 嵌入式微处理器体系结构嵌入式微处理器体系结构能够采取冯诺依曼体系结构或哈佛体系结构,指令系统能够选择精简指令系统RISC和复杂指令集系统CISC。1、 冯诺依曼体系结构和哈佛体系结构;(1)冯诺依曼结构计算机由CPU和存放器组成,其程序和数据共用一个存放空间,程序指令存放地址和数据存放地址指向同一个存放器不一样物理位置;采取单一地址及数据总线,程序指令和数据宽度相同。程序计数器(PC)是CPU内部指示指令和数据存放位置寄存器。(2)哈佛结构关键特点是将程序和数据存放在不一样存放空间中,即程序存放器和数据存放器是两个相互独立存放器,每个存放器独立编址、独立访问。提升实施速度,提升数据吞吐率

2、,含有较高实施效率。2、CISC和RISC类别 CISC RISC指令系统指令数量很多 较少,通常少于100实施时间有些指令实施时间很长, 如整块存放器内容拷贝; 或将多个寄存器内容 拷贝到存贮器 没有较长实施时间指令编码长度编码长度可变,1-15字节 编码长度固定,通常为4个字节寻址方法寻址方法多样 简单寻址操作 能够对存放器和寄存器 只能对寄存器对行算术和逻辑操作, 进行算术和逻辑操作 Load/Store体系结构编译 难以用优化编译器生成 高效目标代码程序 采取优化编译技术,生成高效目标代码程序 二、ARM状态各模式下寄存器1、全部37个寄存器,分成两大类: (1)31个通用32位寄存器

3、; (2) 6个状态寄存器。 2、R0R7为未分组寄存器,也就是说对于任何处理器模式,这些寄存器全部对应于相同32位物理寄存器。3、寄存器R8R14为分组寄存器。它们所对应物理寄存器取决于目前处理器模式,几乎全部许可使用通用寄存器指令全部许可使用分组寄存器4、寄存器R8R12有两个分组物理寄存器。一个用于除FIQ模式之外全部寄存器模式,另一个用于FIQ模式。这么在发生FIQ中止后,能够加速FIQ处理速度5、寄存器R13、R14分别有6个分组物理寄存器。一个用于用户和系统模式,其它5个分别用于5种异常模式。三、 处理器工作模式1、 ARM处理器有7种工作模式; usr(用户模式):ARM处理器正

4、常程序实施模式。 fiq(快速中止模式):用于高速数据传输或通道处理 irq(外部中止模式):用于通用中止处理 svc(管理模式):操作系统使用保护模式 abt (数据访问终止模式): 当数据或指令预取终止时进入该模式,可用于虚拟存放及存放保护。 sys(系统模式): 运行含有特权操作系统任务。 und(未定义指令中止模式):当未定义指令实施时进入该模式,可用于支持硬件协处理器软件仿真。 ARM微处理器运行模式能够经过软件改变,也能够经过外部中止或异常处理改变。 除用户模式以外,其它全部6种模式称之为非用户模式,或特权模式(Privileged Modes);其中除去用户模式和系统模式以外5种

5、又称为异常模式(Exception Modes),常见于处理中止或异常,和需要访问受保护系统资源等情况。2、除用户模式外,其它模式均为特权模式。ARM内部全部系统资源和部分片内外设在硬件设计上只许可(或可选为只许可)特权模式下访问。3、另外,特权模式能够自由切换处理器模式,而用户模式不能直接切换到别模式。四、 ARM异常处理1、当异常产生时, ARM 核: (1)拷贝 CPSR 到 SPSR_ (2)设置合适 CPSR 位: a.改变处理器状态进入 ARM 态 b.改变处理器模式进入对应异常模式 c.设置中止严禁位严禁对应中止 (如需要) (3)保留返回地址到 LR_ (4)设置 PC 为对应

6、异常向量地址2、返回时, 异常处理程序需要: (1)从 SPSR_恢复CPSR (2)从LR_恢复PC (3)注意:这些操作只能在 ARM 态实施.五、 ARM指令集1、 ARM寻址方法:掌握ARM微处理器9种寻址方法特点。 (1)寄存器寻址 操作数值在寄存器中,指令中地址码字段给出是寄存器编号,寄存器内容是操作数,指令实施时直接取出寄存器值操作。 比如指令: MOV R1,R2 ;R1R2 SUB R0,R1,R2 ;R0R1- R2(2)立即寻址 在立即寻址指令中数据就包含在指令当中,立即寻址指令操作码字段后面地址码部分就是操作数本身,取出指令也就取出了能够立即使用操作数(也称为立即数)。

7、立即数要以“”为前缀,表示16进制数值时以“0x”表示。 比如指令: ADD R0,R0,#1 ;R0R0 + 1 MOV R0,#0xff00 ;R00xff00 (3)寄存器移位寻址 寄存器移位寻址是ARM指令集特有寻址方法。第2个寄存器操作数在和第1个操作数结合之前,优异行移位操作。 比如指令: MOV R0,R2,LSL #3 ;R2值左移3位,结果放入R0,即R0=R2 * 8 ANDS R1,R1,R2,LSL R3 ;R2值左移R3位,然后和R1相和操作,结果放入R1可采取移位操作以下:LSL:逻辑左移(Logical Shift Left),寄存器中字低端空出位补0。LSR:逻

8、辑右移(Logical Shift Right),寄存器中字高端空出位补0。ASR:算术右移(Arithmetic Shift Right),移位过程中保持符号位不变,即假如源操作数为正数,则字高端空出位补0,不然补1ROR:循环右移(Rotate Right),由字低端移出位填入字高端空出位RRX:带扩展循环右移(Rotate Right extended by 1 place),操作数右移一位,高端空出位用原C 标志值填充。 (4)寄存器间接寻址 指令中地址码给出是一个通用寄存器编号,所需要操作数保留在寄存器指定地址存放单元中,即寄存器为操作数地址指针,操作数存放在存放器中。 比如指令 :

9、LDR R0,R1 ;R0R1(将R1中数值作为地址,取出此地址中数据保留在R0中)STR R0,R1 ;R1 R0 (5)变址寻址 变址寻址是将基址寄存器内容和指令中给出偏移量相加,形成操作数有效地址,变址寻址用于访问基址周围存放单元,常见于查表,数组操作,功效部件寄存器访问等。比如指令: LDR R2,R3,#4 ;R2R3 + 4(将R3中数值加4作为地址,取出此地址 数值保留在R2 中) STR R1,R0,#-2 ;R0-2 R1(将R0中数值减2作为地址,把R1中内容保留到此地址位置) (6)多寄存器寻址(LDM/STM) LDM/STM指令能够把存放器中一个数据块加载到多个寄存器

10、中,也能够把多个寄存器中内容保留到存放器中。寻址操作中寄存器能够是R0-R15这16个寄存器子集或是全部寄存器。采取多寄存器寻址方法,一条指令能够完成多个寄存器值传送,这种寻址方法用一条指令最多能够完成16个寄存器值传送。 格式为: LDM(或STM)条件类型 基址寄存器!,寄存器列表 该指令常见用途是将多个寄存器内容入栈或出栈。(7)堆栈寻址 堆栈是一个数据结构,堆栈是特定次序进行存取存放区,操作次序分为“后进先出”和“优异后出”,堆栈寻址时隐含,它使用一个专门寄存器(堆栈指针)指向一块存放区域(堆栈),指针所指向存放单元就是堆栈栈顶。(8)块复制寻址 块复制寻址用于把一块从存放器某一位置复

11、制到另一位置,是一个多寄存器传送指令。(9)相对寻址 相对寻址是变址寻址一个变通,由程序计数器PC提供基准地址,指令中地址码字段作为偏移量,二者相加后得到地址即为操作数有效地址。2、堆栈寻址满递增堆栈(FA):堆栈指针指向最终压入数据,且由低地址向高地址生成。满递减堆栈(FD):堆栈指针指向最终压入数据,且由高地址向低地址生成。空递增堆栈(EA):堆栈指针指向下一个将要放入数据空位置,且由低地址向高地址生成。空递减堆栈(ED):堆栈指针指向下一个将要放入数据空位置,且由高地址向低地址生成。3、多寄存器寻址(块拷贝寻址) (1)块拷贝寻址是多寄存器传送指令LDM/STM寻址方法。LDM/STM指

12、令能够把存放器中一个数据块加载到多个寄存器中,也能够把多个寄存器中内容保留到存放器中。寻址操作中寄存器能够是R0-R15这16个寄存器子集或是全部寄存器。 (2)LDM/STM指令依据其后缀名不一样其寻址方法也有很大不一样。 (3)LDMIA R1!,R0,R2,R3指令实施后,R1值变为R1+12R1;注:!决定Rn值是否伴随传送而改变寻址模式 描述 起始地址 结束地址 Rn!IA 实施后增加 Rn Rn+4*N Rn+4*NIB 实施前增加 Rn+4 Rn+4*N Rn+4*NDA 实施后降低 Rn Rn-4*N Rn-4*NDB 实施前降低 Rn-4 Rn-4*N Rn-4*N六ARM状

13、态和Thumb状态 转换1、实现ARM工作状态转换指令,其句法以下: BX 目标地址(1)BX指令将引发处理器转移到目标地址所指向地址处实施。(2)目标地址位0不用来作为地址一部分。a.若目标地址位0为1,则指令将CPSR中标志T置位,且将目标地址代码解释为Thumb代码;b.若目标地址位0为0,则指令将CPSR中标志T复位,且将目标地址代码解释为ARM代码。七、 ARM硬件系统结构1、S3C2410存放器系统(1)S3C2410支持大、小端模式,可经过软件选择大小端模式;(2)存放空间分成8个Bank,每个Bank 128Mbytes,总共 1GB; 6个Bank用于控制 ROM, SRAM

14、, etc. 剩下2个Bank用于控制 ROM, SRAM, SDRAM, etc .(3)除 Bank0 (16/32-bit) 外,全部Bank全部能够经过编程选择总线宽度= (8/16/32-bit) ;(4)7个Bank固定起始地址,最终一个Bank可调整起始地址;(5)最终两个Bank大小可编程(6)全部Bank存放周期可编程控制;(7)假如同时使用Bank6/ Bank7,则要求连接相同容量存放器,而且其地址空间在物理上是连续。2、S3C2410I/O口配置 S3C2410有117个多功效口,掌握怎样经过软件编程对每个I/O口进行配置。如将端口C最低2为设置为01,既设置成输出模式

15、,其它位不变。 rGPCCON = rGPCCON&0xfffffffc|0x00000001; rGPCDAT= rGPCDAT |0x001; /PC0口电平输出高 表3.4.3 S3C2410A端口C I/O口配置情况端口C可选择引脚端功效GPC15GPC8输入/输出VD7 VD0GPC7GPC5输入/输出LCDVF2LCDVF0GPC4输入/输出VMGPC3输入/输出VFRAMEGPC2输入/输出VLINEGPC1输入/输出VCLKGPC0输入/输出LEND寄存器地址 读/写 描述 复位值GPCCON 0x56000020 R/W 配置端口C引脚端,使用位31:0,分别对端口B16个引

16、脚端进行配置。00:输入;01:输出;10:第2功效;11:保留0x0 GPCDAT 0x56000024 R/W 端口C数据寄存器,使用位15:0 未定义GPCUP 0x56000028 R/W 端口C上拉电阻不使能寄存器,使用位15:0 。0:使能;1:不使能0x0 保留0x5600002C 保留未定义 表 端口C控制寄存器3、掌握ARM微处理器中止系统特点 了解:一旦有中止发生,ARM中止系统将怎样处理。 在ARM系统中,支持复位、未定义指令、软中止、预取中止、数据中止、IRQ和FIQ 7种异常,每种异常对应于不一样处理器模式,有对应异常向量(固定存放器地址)。在ARM系统中,一旦有中止

17、发生,正在实施程序全部会停下来,通常全部会实施以下中止步骤: (1)保留现场。保留目前PC值到R14,保留目前途序运行状态到SPSR。 (2)模式切换。依据发生中止类型,进入IRQ模式或FIQ模式。 (3)获取中止服务子程序地址。PC指针跳到异常向量表所保留IRQ或FIQ地址处,IRQ或FIQ异常向量地址处通常保留是中止服务子程序地址,PC指针跳入到中止服务子程序,进行中止处理。 (4)多个中止请求处理。在ARM系统中,能够存在多个中止请求源,比如串口中止、AD中止、外部中止、定时器中止及DMA中止等,所以可能出现多个中止源同时请求中止情况。为了愈加好地域分各个中止源,通常为这些中止定义不一样

18、优先等级,并为每一个中止设置一个中止标志位。当发生中止时,经过判定中止优先级和访问中止标志位状态来识别哪一个中止发生了,进而调用对应函数进行中止处理。 (5)中止返回,恢复现场。当完成中止服务子程序后,将SPSR中保留程序运行状态恢复到CPSR中,R14中保留被中止程序地址恢复到PC中,继续实施被中止程序。4、 了解S3C2410DMA控制器基础工作原理。DMA(Direct Memory Acess,直接存放器存取)方法是指存放器和外设在DMA控制器控制下,直接传送数据而不经过CPU,传输速率关键取决于存放器存取速度。在DMA传输过程中,DMA控制器负责管理整个操作,而且无须CPU介入,从而

19、大大提升了CPU工作效率。DMA方法为高速I/O设备和存放器之间批量数据交换提供了直接传输通道。因为I/O设备直接同内存发生成块数据交换,能够提升I/O效率。现在大部分计算机系统均采取DMA技术。很多输入输出设备控制器全部支持DMA方法。采取DMA方法进行数据传输具体过程以下。(1) 外设向DMA控制器发出DMA请求。(2) DMA控制器向CPU发出总线请求信号。(3)CPU实施完现行总线周期后,向DMA控制器发出响应请求回复信号。(4)CPU将控制总线、地址总线及数据总线让出,由DMA控制器进行控制。(5)DMA控制器向外部设备发出DMA请求回复信号。(6)进行DMA传送。(7)数据传送完成

20、,DMA控制器经过中止请求线发出中止信号。CPU在接收到中止信号后,转人中止处理程序进行后续处理。(8)中止处理结束后,CPU返回到被中止程序继续实施。CPU重新取得总线控制权。每个DMA控制器能够处理以下4种情况: (1)源和目标全部在系统总线上; (2)源在系统总线上,目标在外围总线上; (3)源在外围总线上,目标在系统总线上; (4)源和目标全部在外围总线上。5、嵌入式存放系统特点。(1)高速缓冲存放器原理及特点。高速缓冲存放器(cache)用来提升存放器系统性能,很多微处理器体系结构全部把它作为其定义一部分。cache能够降低内存平均访问时间。Cache能够分为统一cache和独立数据

21、程序cache。(2) 存放器管理单元MMU关键完成功效。 (1)虚拟存放空间到物理存放空间映射。采取了页式虚拟存放管理,它把虚拟地址空间分成一个个固定大小块,每一块称为一页,把物理内存地址空间也分成一样大小页。MMU实现就是从虚拟地址到物理地址转换。 (2)存放器访问权限控制。 (3)设置虚拟存放空间缓冲特征。八、 嵌入式系统I/O设备接口1、掌握S3C2410I/O接口编程要求:掌握I/O口编程,能编写实现LED1、 LED2 、 LED3、 LED4 轮番闪烁程序。 实现LED1和LED2轮番闪烁程序代码 void Main(void) int flag,i; Target Init()

22、;/进行硬件初始化操作,包含对IO口初始化操作 for(;) if(flag = = 0) for(i = 0;i 1000000;i+); /延时 rGPGCON rGPGCON0xfff0ffff | 0x00050000;/配置第8、第 /9位为输出引脚 rGPGDAT rGPGDAT0xeff | 0x200; /第8位输出为低电平 /第9位输出高电平 for(i = 0;i 10000000;i+); /延时 flag = 1; else for(i = 0;i 1000000;i+); /延时 rGPGCONrGPGCON0xfff0ffff(0x00050000;/配置第8、 /

23、第9位为输出引脚 rGPGDATrGPGDATOxdff | 0x100;/第8位输出为高电平 /第9位输出低电平 for(i = 0;i 1000000;i+); /延时 flag = 0; 2、掌握S3C2410A/D转换器接口原理要求:掌握A/D转换器接口原理,能编写A/D转换器初始化函数和获取A/D转换值程序。 (1)A/D转换器(模数转换器)完成电模拟量到数字量转换。实现A/D转换方法很多,常见方法有计数法、双积分法和逐次迫近法等。(2)对A/D转换器进行初始化程序中参数ch表示所选择通道号,程序以下: void AD_Init (unsigned char ch) rADCDLY=

24、100; /ADC开启或间隔延时 rADCTSC=0; /选择ADC模式 rADCCON=(114)|(496)|(ch3)|(02)|(07) return 0; /通道不能大于7 for(i=0; i 16; i+) /为转换正确,转换16次 rADCCON |=0x1; /开启A/D转换 rADCCON= rADCCON0xffc7 |(ch 4); /为转换正确,除以16取均值3、 掌握四线式电阻式触摸屏工作原理,能分析触摸点X轴坐标和Y轴坐标是怎样测量出来。触摸屏按其工作原理可分为矢量压力传感式、电阻式、电容式、红外线式和表面声波式5类。在嵌入式系统中常见是电阻式触摸屏。四线式触摸屏

25、X工作面和Y工作面分别加在两个导电层上,共有4根引出线:X、X,Y、Y分别连到触摸屏X电极对和Y电极对上。四线电阻屏触摸寿命小于100万次。当给X方向电极对施加一确定电压,而Y方向电极对不加电压时,在x平行电压场中,触点处电压值能够在Y(或Y)电极上反应出来,经过测量Y电极对地电压大小,经过A/D转换,便可得悉触点X坐标值。同理,当给Y电极对施加电压,而X电极对不加电压时,经过测量X电极电压,经过A/D转换便可得悉触点Y坐标。四线电阻触摸屏分辨方法是将四线电阻触摸后改变模拟量转换成数字量,经过软件计算得出不一样屏幕上不一样,坐标。此工作关键是靠S3C2440A 芯片中模数转换器来实现。4、 了

26、解 S3C2410UART串行接口工作原理,掌握S3C2410UART发送和接收数据程序设计。UART(通用异步收发器)关键由数据线接口、控制逻辑、配置寄存器、波特率发生器、发送部分和接收部分组成,采取异步串行通信方法,采取RS-232C 9芯接插件(DB-9)连接,是广泛使用串行数据传输方法. 本程序实例实现从UART0接收数据,然后分别从UART0和UART1发送出去。其功效能够把键盘敲击字符经过PC机串口发送给ARM系统上UART0,ARM系统上UART0接收到字符后,再经过UART0和UART1送给PC机,这么就完成了串口间收发数据。要实现以上数据收发功效,需要编写关键代码以下。(1)

27、发送数据其中whichUart为全局变量,指示目前选择UART通道,使用串口发送一个字节代码以下: void Uart_SendByte(int data) if(whichUart= =0) if(data= =n) while(!(rUTRSTAT00x2); Delay(10); /延时,和终端速度相关 WrUTXH(r); while(!(rUTRSTAT00x2); /等候,直到发送状态就绪 Delay(10); WrUTXH0(data); else if(whichUart= =1) if(data=n) while(!(rUTRSTAT10x2); Delay(10); /延时

28、,和终端速度相关 rUTXH1=r; while(!(rUTRSTAT10x2); /等候,直到发送状态就绪 Delay(10); rUTXH1data; else if(whichUart= =2) if (data= =n) while(!(rUTRSTAT20x2); Delay(10); /延时,和终端速度相关 rUTXH2r; while(!(rUTRSTAT20x2); /等候,直到发送状态就绪 Delay(10); rUTXH2data; (2)接收数据假如没有接收到字符则返回0。使用串口接收一个字符代码以下: char Uart_GetKey(void) if(whichUar

29、t0) if(rUTRSTAT00x1) /UARTO接收到数据 return RdURXH0(); else return 0; else if(whichUart= =1) if(rUTRSTAT10x1) /UART1接收到数据 return RdURXH1(); else return 0; else if(whichUart= =2) if(rUTRSTAT20x1) /UART2接收到数据 return RdURXH2(); else return 0; else return 0; 5、掌握键盘接口设计方法。 要求:掌握矩阵式键盘扫描原理,能设计一个和S3C2410连接4X4矩阵

30、式键盘接口电路 ,并编写键盘扫描程序。(1) 矩阵键盘按键按N行M列排列,每个按键占据行列一个交点,需要I/O口数目是N+M,许可最大按键数是NM。矩阵键盘能够降低和微控制器I/O接口连线数,是常见一个键盘结构形式。依据矩阵键盘识键和译键方法不一样,矩阵键盘又能够分为非编码键盘和编码键盘两种。(2) 一个用I/O口实现键盘接口,为了识别键盘上闭合键,常采取行扫描法。行扫描法是使键盘上某一行线为低电平,而其它行接高电平,然后读取列值,假如列值中有某位为低电平,则表明行列交点处键被按下;不然扫描下一行,直到扫描完全部行线为止。(3) 依据行扫描法原理,识别矩阵键盘按键闭合分两步进行: a.识别键盘

31、哪一行键被按下:让全部行线均为低电平,检验各列线电平是否为低,假如有列线为低,则说明该列有键被按下,不然说明无键被按下。 b.假如某列有键被按下,识别键盘哪一行键被按下:逐行置低电平,并置其它各行为高电平,检验各列线电平改变,假如列电平变为低电平,则可确定此行此列交叉点处按键被按下。1.键盘控制初始化程序void keyboard_test(void) UINT8T ucChar; UINT8T szBuf40; uart_printf(“n Keyboard Test Examplen”); uart_printf(“Press any key to exitn”); Keyboard_in

32、it(); g_nKeyPress=0xFE; While(1) f_nKeyPress=0; while(f_nKeyPress=0) if(uart_tetkey() /Press any key from UART0 to exit return; else if(ucChar=7) /or press 5*4 Key-7 to exit return; else if(g_nKeyPress!=0xFE) /or SB1202/SB1203 to exit return; iic_read_keybd(0x70,0x1,&ucChar); /get data from ZLG7290

33、If(ucChar!=0) ucChar-key_set(ucChar); /key map for Edukit II if(ucChar16) sprintf(&szBuf,”press key %d”,ucChar); else if(ucChar255) sprintf(&szBuf,”press key %d”,ucChar); if(ucChar=0xFF) sprintf(&szBuf,”press key %c”,ucChar); if(ucChar=0xFF) sprintf(&szBuf,”press key FUN”); #ifdef BOARDTEST print_lc

34、d(200,170,0x1c,&szBuf); #endif uart_printf(szBuf); uart_printf(“n”) uart_printf(“end.n”);九、 嵌入式软件及操作系统1、 正确了解进程、线程概念,掌握进程及进程关键特点,并能说明进程和程序有什么区分。 (1) 进程(process)是在描述多道系统中并发活动过程引入一个概念。进程和程序是两个现有联络又有区分概念,二者不能混为一谈。而进程则是一次实施过程,它是临时,是动态地产生和终止。 一个进程通常包含有以下多个方面内容: 对应程序;CPU上下文;一组系统资源。进程特点:进程含有动态性;进程含有独立性;进程含

35、有并发性。(2)线程(thread)是一个比进程更小能独立运行基础单位。所谓线程,就是进程当中一条实施步骤。包含运行上下文、内存地址空间、打开文件等。能够用线程来作为CPU基础调度单位,使得各个线程之间能够并发实施。对于同一个进程当中各个线程来说,运行在相同资源平台上,能够共享该进程大部分资源,但也有一小部分资源是不能共享,每个线程全部必需拥有各自独立一份。2、 任务实现(1)任务层次结构;(2).任务创建和终止;(3)任务状态;(4)任务控制块;(5)任务切换;(6)任务队列.任务状态:了解任务状态是怎样转换,转换过程。 通常来说,任务含有运行(running)、就绪(ready)和阻塞(b

36、locked)三种基础状态。任务会在不一样状态之间往返转换,存在:运行 阻塞、运行 就绪、就绪 运行、阻塞 就绪这四种转换关系。当一个任务已含有运行条件,但因为CPU正在运行其它任务,临时不能运行该任务时,称为就绪状态。不过,只要把CPU分给该任务,它就能够立即实施。任务因为正在等候某种事件发生而临时不能运行称为阻塞状态,也叫等候状态(waiting)。此时,即使CPU已经空闲下来了,该任务也还是不能运行。什么是任务控制块TCB,任务控制块包含哪些关键内容 。TCB(Task Control Block,任务控制块)是在操作系统当中用来描述和管理一个任务数据结构。TCB关键包含任务管理信息、C

37、PU上下文信息、资源管理信息等内容。 3、 实时系统调度:解实时系统任务是怎样调度。 基于优先级调度算法给每个进程分配一个优先级,在每次进程调度时,调度器总是调度那个含有最高优先级任务来实施。 很多嵌入式操作系统全部是实时操作系统(RTOS),实时系统调度追求是实时性,RTOS调度器要让每个任务全部在其最终时间期限(deadline)之前完成,而各任务之间公平性并不是最关键指标。RTOS调度器多采取基于优先级可抢占调度算法。在RTOS任务模型中,每一个任务用一个三元组来表示(实施时间、周期、时间期限)。其中:实施时间(execution time)E(i)是指对于第i个任务,当它所需要资源全部己含有时,它实施所需要最长时间。周期(peri

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服