资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,0,高等学校信息技术类新方向新动能新形态系列规划教材,ARM嵌入式处理器及应用,何兴高 编著,高等学校信息技术类新方向新动能新形态系列规划教材ARM嵌入式,1,CONTANTS,1,2,S3C2440A微处理器引导,输入/输出设备,3,综合应用实例,CONTANTS12S3C2440A微处理器引导输入/输出设,2,第,9,章,基于S3C2440A微处理器的综合应用,本章主要内容,S3C2440A微处理器引导,输入/输出设备,综合应用实例,第9章 基于S3C2440A微处理器的综合应用本章主要内容,3,9.1S3C2440A微处理器引导,1工作模式和中断定义,ARM处理器有7种工作模式:用户模式(USR)、系统模式(SYS)、普通中断模式(IRQ)、快速中断模式(FIQ)、管理模式(SVC)、中止模式(ABT)、未定义指令模式(UND)。工作模式的参数由寄存器CPSR中的模式位M4:0设置。,ARM中断分为普通中断(IRQ)、快速中断(FIQ)。这两个中断开放与否由程序状态寄存器(PSR)中的I位和F位决定。,9.1S3C2440A微处理器引导1工作模式和中断定义,4,2堆栈和堆定义,在高级语言(如C语言)中编程是不会涉及堆栈的,涉及堆栈的工作都是系统工具自动给用户处理好的。但在使用汇编语言编程时,编程人员要代替系统工具来完成这部分工作。如果这部分工作处理不好,如程序空间、堆栈空间、数据空间出现冲突等,系统就会出现异常。,2堆栈和堆定义,5,3内存初始化定义,在一些应用系统中除了扩展Flash、RAM挂接在外部存储器端口上,可能还有其他外部设备挂接在外部存储器端口上。不同外部设备的操作时序可能不一样,所以在使用这些外部设备之前必须初始化连接这些外部设备的端口。,3内存初始化定义,6,4“看门狗”定时器定义,“看门狗”主要应用在无人值守的环境,设计再好的系统也有可能出现异常,如死机、程序跑飞等,这时就可以利用“看门狗”来让系统重新启动运行。,4“看门狗”定时器定义,7,5时钟和功率管理定义,S3C2440A微处理器中的时钟控制逻辑可以产生必要的时钟信号,包括CPU的FCLK、AHB总线的HCLK以及APB总线的PCLK。S3C2440A微处理器内部有两个锁相环(PLL),一个提供FCLK、HCLK及PCLK,另一个专用于为USB模块提供时钟(48MHz)。,5时钟和功率管理定义,8,6存储控制器定义,该部分定义存储器的配置情况,在实际应用中应根据具体情况调整相应的参数。,7I/O端口定义,该部分主要是对端口进行定义。,6存储控制器定义,9,8堆栈8字节对齐,汇编程序数据8字节对齐,9程序入口点,10异常向量表,11看门狗设置,12时钟设置,8堆栈8字节对齐,汇编程序数据8字节对齐,10,13存储器控制器设置,14I/O引脚设置,15复制异常向量到内部RAM,16设置堆栈,17进入C语言代码,18进入汇编语言代码,13存储器控制器设置,11,9.2输入/输出设备,9.2.1基本概念,1输入设备(Input Device),输入设备是向计算机输入数据和信息的设备,是计算机与用户或其他设备通信的桥梁。输入设备是用户和计算机系统之间进行信息交换的主要装置之一。输入设备是用户与计算机进行交互的一种装置,用于把原始数据和处理这些数据的程序输入计算机中。计算机能够接收各种各样的数据,可以是数值型的数据,也可以是各种非数值型的数据。,9.2输入/输出设备9.2.1基本概念,12,2输出设备(Output Device),输出设备是计算机硬件系统的终端设备,用于接收计算机数据的输出显示、打印,以及控制外围设备操作等。输出设备是把各种计算结果以数字、字符、图像、声音等形式表现出来。常见的输出设备有显示器、打印机、绘图仪、影像输出系统、语音输出系统、磁记录设备等。,2输出设备(Output Device),13,9.2.2键盘,键盘是用于操作设备运行的一种指令和数据输入装置,也指经过系统安排操作一台机器或设备的一组功能键(如打字机、电脑键盘等)。键盘也是组成键盘乐器的一部分,也可以指使用键盘的乐器(如钢琴、数位钢琴或电子琴等)。,键盘是最常用也是最主要的输入设备之一,通过键盘可以将英文字母、数字、标点符号等输入计算机中,从而向计算机发出命令、输入数据等。,9.2.2键盘,14,1按键基本电路,单个按键的基本电路图如图9-1所示。,图9-1所示的A为单个按键的基本电路图;B为按键未按下时的等效电路图,按键输出信号为高电平;C为按键按下时的等效电路图,按键输出信号为低电平。,1按键基本电路,15,图,9-1,单个按键的基本电路图及等效电路图,图9-1单个按键的基本电路图及等效电路图,16,按键按下和释放输出信号波形示意图如图9-2所示。,图,9-2,按键输出信号波形示意图,按键按下和释放输出信号波形示意图如图9-2所示。图,17,图9-2所示的信号如果不处理就直接拿来使用,可能会出现按下一次按键产生多次动作的情况(图9-2仅是示意图,真实的波形可能与此不同,但一般都会存在抖动)。,解决抖动问题的办法有两种:硬件方法和软件方法。,(1)硬件方法。硬件方法有简单的RC滤波和专用的芯片滤波。由RC组成的无源滤波电路中,根据电容的接法及大小可分为低通滤波器(如图9-3所示)和高通滤波器(如图9-4所示)。,图9-2所示的信号如果不处理就直接拿来使用,可能会出,18,图9-3低通滤波器,图9-4高通滤波器,图9-3低通滤波器,19,(2)软件方法。其思想是,当检测到按键输出电平有变化时,通过延迟的方法躲过按键的抖动,直到电路输出状态稳定之后再来检测按键的输出电平,从而达到正确确定按键信息的目的。用软件方法消除抖动的流程示意图如图9-5所示。,(2)软件方法。其思想是,当检测到按键输出电平有变化时,通过,20,图9-5用软件方法消除抖动的流程示意图,图9-5用软件方法消除抖动的流程示意图,21,2独立按键键盘,在许多嵌入式应用中,由于输入和交互信息相对较少,一般只需几个按键即可,这时可以采用独立按键键盘进行设计,其电路图如图9-6所示。,2独立按键键盘,22,图9-6独立按键键盘电路图,图9-6独立按键键盘电路图,23,3矩阵式键盘,当键盘的按键数目较多时,为了减少键盘端口线的数目,常常采用矩阵式键盘,类似于计算机上的键盘。但在嵌入式应用中键盘数目一般不会太多,主要有数字09,再加部分功能按键等。图9-7所示是4,4矩阵式键盘电路图。,3矩阵式键盘,24,图9-74 4矩阵式键盘电路图,图9-74 4矩阵式键盘电路图,25,图9-8行扫描流程图,图9-8行扫描流程图,26,9.2.3数码显示器,1数码显示器实物,数码显示器实物图如图9-9所示。,2数码显示器原理,数码显示器分为共阴极型和共阳极型,其原理如图9-10所示。,9.2.3数码显示器,27,图9-9数码显示器实物图,图9-9数码显示器实物图,28,图9-10数码显示器原理图,图9-10数码显示器原理图,29,3共阴极型/共阳极型数码显示器编码,共阴极型/共阳极型数码显示器编码如表9-1所示。,数字,共阴极型,共阳极型,数字,共阴极型,共阳极型,0,3F,C0,8,7F,80,1,06,F9,9,6F,90,2,5B,A4,A,77,88,3,4F,B0,B,7C,83,4,66,99,C,39,C6,5,6D,92,D,5E,A1,6,7D,82,E,79,86,7,07,F8,F,71,8E,表9-1共阴极型/共阳极型数码显示器编码,注:引脚编号与数据位关系为,HGFEDCBA,。,3共阴极型/共阳极型数码显示器编码数字共阴极型共阳极型,30,4静态显示和动态显示的连接,数码显示器在实际应用中的连接如图9-11所示。,图9-11数码显示器在实际应用中的连接,4静态显示和动态显示的连接图9-11数码显示器在实际应用,31,(1)静态显示的连接。在实际应用中如果数码显示器的位数较少,同时硬件上输出端口位数还剩余较多的情况下,可以采用静态显示的连接方式。共阴极型显示器的静态显示连接如图9-12所示。,静态显示连接的优点是显示程序控制较简单,只需在显示内容有变化时才输出,或只需定期输出即可。,静态显示连接的缺点是当显示位数较多时要占用较多的输出端口,每一位数字需要8位输出线,如果有8位数据要显示就需要64位输出线。,(1)静态显示的连接。在实际应用中如果数码显示器的位数较少,,32,图9-12共阴极型显示器的静态显示连接,图9-12共阴极型显示器的静态显示连接,33,(2)动态显示的连接。在实际应用中如果数码显示器的位数较多,同时硬件上输出端口位数却剩余较少的情况下,可以采用动态显示的连接方式。共阴极型显示器的动态显示连接如图9-13所示。,(2)动态显示的连接。在实际应用中如果数码显示器的位数较多,,34,图9-13共阴极型显示器的动态显示连接,图9-13共阴极型显示器的动态显示连接,35,图9-13中仅用了两个8位输出端口,最多可以控制8位数码显示器。这里要解释一下动态显示连接方式是如何控制显示的。其原理如下:所有数码显示器的控制端(AH)都分别接在一起,其每一个公共端(如共阴极型的COM端)分别由一位输出信号控制,也就是说当前输出的码段到了每个数码显示器时,具体哪位点亮就取决于哪位的公共端(COM端)是低电平,一次点亮一位,利用视觉暂留效果,只要每秒刷新次数大于25次,显示效果看起来就是连续的。,图9-13中仅用了两个8位输出端口,最多可以控制8位,36,动态显示连接的优点是占用输出端口位数较少。,动态显示连接的缺点是显示控制程序较复杂,要控制好点亮和熄灭时间、刷新的频率等。,动态显示连接的优点是占用输出端口位数较少。,37,9.3综合应用实例,9.3.1流水灯控制系统的设计与实现,请用S3C2440A微处理器设计和实现一个流水灯控制系统,具体要求如下:(a)有1个控制开关作为输入(当开关输入低电平时,流水灯从左端到右端显示,每次只有一个灯点亮,当流水灯点亮到最右端时再从最左端开始;当开关输入高电平时,流水灯从右端到左端显示,每次只有一个灯点亮,当流水灯点亮到最左端时再从最右端开始);(b)有8个流水灯作为输出,流水灯的初始状态为最左端的灯点亮;(c)请画出流水灯控制系统的电路图;(d)请画出流水灯控制程序的流程图;(e)请用ARM指令、伪指令写出完整程序并加注释。,9.3综合应用实例9.3.1流水灯控制系统的设计与实现,38,1流水灯控制系统电路图,流水灯控制系统硬件电路图如图9-14所示。,2流水灯控制程序流程图,流水灯点亮、熄灭的时间可以用定时器控制,也可以使用延迟子程序控制。,1流水灯控制系统电路图,39,图9-14流水灯控制系统硬件电路图,图9-14流水灯控制系统硬件电路图,40,(1)定时器控制的优点是时间准、资源利用率高;缺点是程序控制相对较复杂,主要涉及定时器编程、中断编程等。,(2)延迟子程序控制的优点是编程较简单、好理解;缺点是时间不准、CPU利用率较低等。,流水灯控制程序流程图如图9-15所示。,3程序,(1)延迟子程序。,(2)主程序。,(1)定时器控制的优点是时间准、资源利用率高;缺点是程序控制,41,图9-15流水灯控制程序流程图,图9-15流水灯控制程序流程图,42,9.3.2模拟打乒乓球系统的设计与实现,请用S3C2440A微处理器设计和实现一个模拟打乒乓球系统,具体要求如下:(a)有2个按钮开关作为输入,模拟球拍,按钮按下时接球,但必须在接球的时间按下,否则对方得分;(b)有8个指示灯的点亮、熄灭状态,用于模拟球运动的轨迹,最左边的灯点亮时左边才能接球,否则对方得分,右边同理;(c)两边各有1位数码显示器显示得分,分数为09;(d)请画出模拟打乒乓球系统的电路图;(e)请画出控制程序流程图;(
展开阅读全文