1、第第8 8章章 S5PV210S5PV210、外部电路应用、外部电路应用 4 4学时学时本章主要内容本章主要内容2 2、S5PV210S5PV210上电复位;上电复位;4 4、复习。、复习。3 3、S5PV210S5PV210 GPIO应用;1 1、人机交互设备;、人机交互设备;1本章教学要求本章教学要求 了解和掌握仅有嵌入式处理了解和掌握仅有嵌入式处理器是不能很好工作的,器是不能很好工作的,必须添必须添加相应的外围设备,加相应的外围设备,本章将本章将教会学生常用外围设备的工作原教会学生常用外围设备的工作原理,与嵌入式处理器如何接口?理,与嵌入式处理器如何接口?如何编程来实现?如何编程来实现?
2、28.1 8.1 人机交互设备人机交互设备 人机交互设备主要分为人机交互设备主要分为 两类两类:输入设备输入设备 和和 输出设备。输出设备。1 1、输入设备、输入设备 键盘、键盘、鼠标鼠标、手写板手写板、触摸屏等。、触摸屏等。2 2、输出设备、输出设备 显示器、显示器、打印机打印机、绘图仪绘图仪等。等。38.1.1 8.1.1 键盘键盘1 1、按键基本电路、按键基本电路单个按键电路单个按键电路未按键电路未按键电路 已按键电路已按键电路4 这种简单的按键有一个这种简单的按键有一个 缺点缺点 ,即按键被按下(或被释放),触即按键被按下(或被释放),触点被接通(或断开)的一瞬间点被接通(或断开)的一
3、瞬间,电,电路有一个持续路有一个持续 530ms530ms 的若通若的若通若断的抖动阶段,如下图所示:断的抖动阶段,如下图所示:1 1、按键基本电路(续)、按键基本电路(续)5按键的抖动现象图按键的抖动现象图6 解决抖动问题的办法有解决抖动问题的办法有 两种两种:(1 1)一种是使用)一种是使用 硬件硬件 消抖电路(如消抖电路(如RCRC电路、专用芯片)滤掉抖动波形。电路、专用芯片)滤掉抖动波形。(2 2)另一种是当发现键盘输出电平)另一种是当发现键盘输出电平 有变化时有变化时 ,通过,通过 延时延时 的方法躲过的方法躲过按键的抖动,待电路状态稳定之后再按键的抖动,待电路状态稳定之后再来检测按
4、键的输出电平,从而达到正来检测按键的输出电平,从而达到正确确定键盘信息的目的。确确定键盘信息的目的。1 1、按键基本电路(续)、按键基本电路(续)7 用软件进行消抖的流程如下所示:用软件进行消抖的流程如下所示:82 2、独立按键键盘、独立按键键盘9 独立按键式键盘也叫做独立按键式键盘也叫做 单线键盘单线键盘,其其 特点特点 是每一个键都占用是每一个键都占用 一条一条 接口线,接口线,所以这种键盘简单可靠,但在键数目较所以这种键盘简单可靠,但在键数目较多时,占用接口线也多时,占用接口线也 较多较多。3 3、矩阵式键盘、矩阵式键盘 当键盘的按键数目较大时,当键盘的按键数目较大时,为了减少键盘接口线
5、的数目,人为了减少键盘接口线的数目,人们常常采用们常常采用 矩阵式键盘矩阵式键盘。2 2、独立按键键盘(续)、独立按键键盘(续)104 X 44 X 4 矩阵式键盘矩阵式键盘11行扫行扫描法描法程序程序的流的流程框程框图:图:3 3、矩阵式键盘(续)、矩阵式键盘(续)128.1.2 8.1.2 数码显示器数码显示器1 1、数码显示器实物、数码显示器实物132 2、数码显示器原理、数码显示器原理143 3、共阴共阳数码显示器编码、共阴共阳数码显示器编码引脚顺序:引脚顺序:hgfedcbahgfedcba数字数字共阴共阴共阳共阳0 03F3FC0C01 10606F9F92 25B5BA4A43
6、34F4FB0B04 4666699995 56D6D92926 67D7D82827 70707F8F88 87F7F80809 96F6F9090A A77778888B B7C7C8383C C3939C6C6D D5E5EA1A1E E79798686F F71718E8E154 4、静态显示和动态显示、静态显示和动态显示 静态静态显示显示如何连接?如何连接?动态动态显示显示如何连接?如何连接?16(1 1)静态显示)静态显示(2 2)动态显示)动态显示 S5PV210S5PV210 has has four typesfour types of of resets and reset
7、 generator can resets and reset generator can place the system into one of place the system into one of fivefive reset states.reset states.8.2 8.2 S5PV210S5PV210复位复位 There are There are fivefive reset states,reset states,namely:namely:19 Hardware ResetHardware Reset,Watchdog ResetWatchdog Reset,Soft
8、ware ResetSoftware Reset,Warm resetWarm reset,Wakeup ResetWakeup Reset。1 1、HardwareHardware Reset Reset-The -The hardware reset is generated when hardware reset is generated when XnRESETXnRESET is driven to is driven to lowlow.It is an.It is an uncompromised,ungated,and total uncompromised,ungated,a
9、nd total resetreset that is used to drive S5PV210 that is used to drive S5PV210 to a to a known initial stateknown initial state.无妥协的,无闸门无妥协的,无闸门的,完全的复位。的,完全的复位。202 2、Watchdog ResetWatchdog Reset-Reset signal -Reset signal by watchdog timerby watchdog timer。3 3、Software ResetSoftware Reset-Reset sig
10、nal -Reset signal by setting special control registerby setting special control register。4 4、Warm resetWarm reset-Reset signal by -Reset signal by XnWRESET pinXnWRESET pin。215 5、Wakeup ResetWakeup Reset-Reset signal -Reset signal generated when a module that has generated when a module that has norm
11、al F/Fs is powered down,and the normal F/Fs is powered down,and the module is powered up again by wakeup module is powered up again by wakeup events;events;but in sleep modebut in sleep mode,wakeup,wakeup reset is generated to all modules reset is generated to all modules that were powered off regar
12、dless of that were powered off regardless of normal F/F or retention F/Fnormal F/F or retention F/F。22 Five resets have the following Five resets have the following priorities:priorities:Hardware Reset Watchdog Reset Hardware Reset Watchdog Reset Warm Reset Software Reset Warm Reset Software Reset W
13、akeup ResetWakeup Reset。23XnRESETXnRESET引脚引脚24最简单的硬件复位电路最简单的硬件复位电路25 这种电路简单、价格低廉。但由这种电路简单、价格低廉。但由于该电路在复位期间的信号于该电路在复位期间的信号不是一个不是一个稳定的低电平,且其波形受电路中器稳定的低电平,且其波形受电路中器件参数影响较大件参数影响较大,从而导致这种复位,从而导致这种复位电路的稳定性不好,可靠性较差。电路的稳定性不好,可靠性较差。为提高复位电路的可靠性及使为提高复位电路的可靠性及使用上的灵活性,用上的灵活性,通常使用专用的复通常使用专用的复位芯片来实现复位电路位芯片来实现复位电路。
14、最简单的硬件复位电路(续)最简单的硬件复位电路(续)26专用的复位电路专用的复位电路278.3 8.3 S5PV210S5PV210 GPIO GPIO应用应用1 1、S5PV210S5PV210 GPIO GPIO常用寄存器分类常用寄存器分类(1 1)端口控制寄存器()端口控制寄存器(GPACONGPJCONGPACONGPJCON)在在 S5PV210S5PV210 中,大多数的引脚都可中,大多数的引脚都可复用,所以必须对每个引脚进行配置。复用,所以必须对每个引脚进行配置。端口控制寄存器(端口控制寄存器(GPnCONGPnCON)定义了每个)定义了每个引用的功能。引用的功能。Port Gr
15、oup Port Group GPA0GPA0 Control Register Control Register(GPA0CON,R/W,(GPA0CON,R/W,Address=0 xE020_0000Address=0 xE020_0000)28端口控制寄存器端口控制寄存器GPA0CONGPA0CON(0 xE020_0000)0 xE020_0000)各各位控制位控制(续续)GPA0CON GPA0CON Bit Bit Description Description Initial State Initial State GPA0CON7GPA0CON7 31:28 31:28 00
16、00=Input 0001=Output 0000=Input 0001=Output 0010=UART_1_RTSn 0011 1110 0010=UART_1_RTSn 0011 1110=Reserved 1111=GPA0_INT7=Reserved 1111=GPA0_INT7 0000 0000 GPA0CON6GPA0CON6 27:24 27:24 0000=Input 0001=Output 0000=Input 0001=Output 0010=UART_1_CTSn 0011 1110 0010=UART_1_CTSn 0011 1110=Reserved 1111=G
17、PA0_INT6=Reserved 1111=GPA0_INT6 0000 0000 GPA0CON5GPA0CON5 23:20 23:20 0000=Input 0001=Output 0000=Input 0001=Output 0010=UART_1_TXD 0011 1110 0010=UART_1_TXD 0011 1110=Reserved 1111=GPA0_INT5=Reserved 1111=GPA0_INT5 0000 0000 29GPA0CON GPA0CON Bit Bit Description Description Initial State Initial
18、State GPA0CON4GPA0CON4 19:16 19:16 0000=Input 0001=Output 0000=Input 0001=Output 0010=UART_1_RXD 0011 1110 0010=UART_1_RXD 0011 1110=Reserved 1111=GPA0_INT4=Reserved 1111=GPA0_INT4 0000 0000 GPA0CON3GPA0CON3 15:12 15:12 0000=Input 0001=Output 0000=Input 0001=Output 0010=UART_0_RTSn 0011 1110 0010=UA
19、RT_0_RTSn 0011 1110=Reserved 1111=GPA0_INT3=Reserved 1111=GPA0_INT3 0000 0000 GPA0CON2GPA0CON2 11:8 11:8 0000=Input 0001=Output 0000=Input 0001=Output 0010=UART_0_CTSn 0011 1110 0010=UART_0_CTSn 0011 1110=Reserved 1111=GPA0_INT2=Reserved 1111=GPA0_INT2 0000 0000 端口控制寄存器端口控制寄存器GPA0CONGPA0CON(0 xE020_
20、0000)0 xE020_0000)各各位控制位控制(续续)30GPA0CON GPA0CON Bit Bit Description Description Initial State Initial State GPA0CON1GPA0CON1 7:4 7:4 0000=Input 0001=Output 0000=Input 0001=Output 0010=UART_0_TXD 0011 1110 0010=UART_0_TXD 0011 1110=Reserved 1111=GPA0_INT1=Reserved 1111=GPA0_INT1 0000 0000 GPA0CON0GPA
21、0CON0 3:0 3:0 0000=Input 0001=Output 0000=Input 0001=Output 0010=UART_0_RXD 0011 1110 0010=UART_0_RXD 0011 1110=Reserved 1111=GPA0_INT0=Reserved 1111=GPA0_INT0 0000 0000 端口控制寄存器端口控制寄存器GPA0CONGPA0CON(0 xE020_0000)0 xE020_0000)各各位控制位控制(续续)31(2 2)端口数据寄存器)端口数据寄存器(GPADATGPJDATGPADATGPJDAT)如果端口被配置成了输出端口,可
22、如果端口被配置成了输出端口,可以向以向 GPnDAT GPnDAT 的相应位写数据。如果端的相应位写数据。如果端口被配置成了输入端口,可以从口被配置成了输入端口,可以从 GPnDAT GPnDAT 的相应位读出数据。的相应位读出数据。Port Group Port Group GPA0GPA0 Data Register Data Register(GPA0DAT,R/W,(GPA0DAT,R/W,Address=Address=0 xE020_0004)0 xE020_0004)。32端口数据寄存器端口数据寄存器 GPA0DATGPA0DAT(0 xE020_0004)0 xE020_000
23、4)GPA0DAT GPA0DAT Bit Bit Description Description Initial State Initial State GPA0DAT7:0 GPA0DAT7:0 7:0 7:0 When the port is configured as When the port is configured as input portinput port,the corresponding bit is the pin state.When the corresponding bit is the pin state.When the port is configure
24、d as the port is configured as output portoutput port,the,the pin state is the same as the corresponding pin state is the same as the corresponding bit.When the port is configured as bit.When the port is configured as functional pin,the undefined value will be functional pin,the undefined value will
25、 be read.read.0 x00 0 x00 33(3 3)端口上)端口上/下拉寄存器下拉寄存器(GPAPUDGPJPUDGPAPUDGPJPUD)端口上拉端口上拉/下拉寄存器控制了每个端口下拉寄存器控制了每个端口组的上拉电阻和下拉电阻的允许组的上拉电阻和下拉电阻的允许/禁止。禁止。端口数据上拉端口数据上拉/下拉寄存器下拉寄存器 GPA0PUDGPA0PUD(0 xE020_0008)0 xE020_0008)各位定义:各位定义:GPA0PUDGPA0PUDBitBitDescriptionDescriptionInitial Initial StateStateGPA0PUDnGPA0
26、PUDn2n+1:2n2n+1:2nn=07 n=07 00=Pull-up/down disabled00=Pull-up/down disabled 01=Pull-down enabled01=Pull-down enabled10=Pull-up enabled10=Pull-up enabled11=Reserved11=Reserved 0 x5555 0 x5555 34(4 4)端口驱动寄存器()端口驱动寄存器(GPADRVGPJDRVGPADRVGPJDRV)GPA0DRV GPA0DRV BitBitDescriptionDescriptionInitial Initial
27、 StateStateGPA0DRVn GPA0DRVn 2n+1:2n2n+1:2n n=07 n=07 00=1 x00=1 x 10=2 x10=2 x01=3 x 01=3 x 11=4 x11=4 x 0 x0000 0 x0000 端口驱动寄存器端口驱动寄存器GPA0DRVGPA0DRV(0 xE020_000C)0 xE020_000C)各位用法:各位用法:驱动力控制寄存器:驱动力控制寄存器:1X1X、2X2X、3X3X、4X4X是表示多少倍驱动是表示多少倍驱动电流。电流。35 还有两个低功耗模式寄存器还有两个低功耗模式寄存器GPA0CONPDNGPA0CONPDN(0 xE02
28、0_0010)0 xE020_0010)、GPA0PUDPDNGPA0PUDPDN(0 xE020_0014)0 xE020_0014)。(5 5)其它寄存器)其它寄存器362 2、蜂鸣器应用、蜂鸣器应用 在应用中,为了产生在应用中,为了产生声音报警声音报警,常常使用蜂鸣器。下图为常常使用蜂鸣器。下图为S5PV210S5PV210中使用蜂鸣器的电路接线图。中使用蜂鸣器的电路接线图。37(1)蜂鸣器电路图)蜂鸣器电路图38(2)涉及寄存器及操作)涉及寄存器及操作端口控制寄存器端口控制寄存器GPA0CONGPA0CON(0 xE020_0000)0 xE020_0000)。端口数据寄存器端口数据寄
29、存器GPA0DATGPA0DAT(0 xE020_0004)0 xE020_0004)。GPA0CONGPA0CON(0 xE020_0000)=OXXXXXXXX0 xE020_0000)=OXXXXXXXX1 1。GPA0DATGPA0DAT(0 xE020_0004)=0XXXXXXXXX0 xE020_0004)=0XXXXXXXXX0 0 0XXXXXXXXX0XXXXXXXXX1 1。39(3)用)用ARM指令系统实现程序指令系统实现程序 AREA Larm,CODE,READONLY AREA Larm,CODE,READONLY ;只读的代码段;只读的代码段 ENTRY ENT
30、RY ;程序入口点;程序入口点 start LDR R0,=0XE0200000start LDR R0,=0XE0200000 LDR R1,=0XFFFFFFF1LDR R1,=0XFFFFFFF1 STR R1,R0 STR R1,R0 LDR R0,=0XE0200004 LDR R0,=0XE0200004LOOP LOOP LDR R1,=0XFFFFFFF0LDR R1,=0XFFFFFFF0 STR R1,R0 STR R1,R0 BL delay BL delay LDR R1,=0XFFFFFFF1LDR R1,=0XFFFFFFF1 STR R1,R0 STR R1,R0
31、 B LOOP B LOOP40(3)用)用ARM指令系统实现程序(续)指令系统实现程序(续)delay LDR R2,=0X0000FFFFdelay LDR R2,=0X0000FFFFdelay1 delay1 MOV R3,R3MOV R3,R3 SUBS R2,R2,#1 SUBS R2,R2,#1 BNE delay1 BNE delay1 MOV PC,LRMOV PC,LR ENDEND ;段结束;段结束若使用若使用B LRB LR,编译,编译器提示不能使用这种器提示不能使用这种方式。方式。41(4)用)用C语言实现程序语言实现程序#define GPA0CON(*(volat
32、ile unsigned int *)0 xE0200000)#define GPA0CON(*(volatile unsigned int *)0 xE0200000)#define GPA0DAT(*(volatile unsigned int *)0 xE0200004)#define GPA0DAT(*(volatile unsigned int *)0 xE0200004)/*/*延时程序延时程序*/void DelayNS(int dly)void DelayNS(int dly)int i;int i;for(;dly0;dly-)for(;dly0;dly-)for(i=0;i
33、5000;i+);for(i=0;i5000;i+);42/*/*蜂鸣程序蜂鸣程序*/int main(void)int main(void)GPA0CON=0XFFFFFFF1;/GPA0CON=0XFFFFFFF1;/输出输出 while(1)while(1)GPA0DAT=0XFFFFFFF0;GPA0DAT=0XFFFFFFF0;DelayNS(10);DelayNS(10);GPA0DAT=0XFFFFFFF1;GPA0DAT=0XFFFFFFF1;DelayNS(10);DelayNS(10);return(0);return(0);(4)用)用C语言实现程序(续)语言实现程序(续)43课程总结课程总结嵌入式嵌入式处理器处理器嵌入式嵌入式主板主板这个阶段涉这个阶段涉及哪些硬件及哪些硬件知识和硬件知识和硬件课程?课程?在这个裸机上如何控在这个裸机上如何控制各种硬件资源?这制各种硬件资源?这又涉及哪些课程?又涉及哪些课程?为了给用户提供更加为了给用户提供更加方便、更加快捷的开方便、更加快捷的开发和使用方式,这又发和使用方式,这又涉及哪些课程?涉及哪些课程?






