《嵌入式硬件子系统》由会员分享,可在线阅读,更多相关《嵌入式硬件子系统(175页珍藏版)》请在金锄头文库上搜索。
1、嵌入式硬件子系统嵌入式硬件子系统一般嵌入式系统的硬件结构一般嵌入式系统的硬件结构处理器处理器RAMROM地址锁存地址锁存复位电路复位电路晶晶 振振芯片片选芯片片选外设控外设控制锁存器制锁存器三态三态缓冲器缓冲器应用专用应用专用控制电路控制电路AD/DALCDLED通信接口通信接口2024/7/242Embedded System主 要 内 容一、处理器子系统一、处理器子系统二、存储器子系统二、存储器子系统三、三、I/O子系统子系统四、总线系统四、总线系统2024/7/243Embedded System嵌入式处理器一、微处理器的架构一、微处理器的架构1。基本架构。基本架构2。内部存储体系结构。
2、内部存储体系结构二、嵌入式处理器的种类二、嵌入式处理器的种类 MPU、MCU 、DSP、混合型、混合型三、常用的嵌入式处理器三、常用的嵌入式处理器MCS51、M68HCS12、 ARM、PowerPC、NIOSCISC、RISC冯冯诺依曼、哈佛诺依曼、哈佛2024/7/244Embedded System处理器的基本架构1. CISC (Complex Instruction Set Computer) 指令复杂且格式不规范、寻址方式多,处理指令复杂且格式不规范、寻址方式多,处理特殊任务时编程效率高。特殊任务时编程效率高。 多数复杂指令利用率低,却导致多数复杂指令利用率低,却导致CPU硬件复杂
3、度硬件复杂度增加(可采用微程序技术缓解)。增加(可采用微程序技术缓解)。2. RISC (Reduced Instruction Set Computer) 指令种类少且格式规范、指令种类少且格式规范、CPU硬件简单。硬件简单。 存储器操作指令少,寄存器数目多,操作速度快。存储器操作指令少,寄存器数目多,操作速度快。 利用超标量利用超标量(Super scale)与流水线与流水线(Pipeline)技术增强平行处理能力,效率高。技术增强平行处理能力,效率高。2024/7/245Embedded System结论结论: RISC在嵌入式系统中占有优势。在嵌入式系统中占有优势。1。对外部中断响应更
4、快,执行效率更高。对外部中断响应更快,执行效率更高。2。功耗更低,集成度更高,更新换代迅速。功耗更低,集成度更高,更新换代迅速。 (缺点是程序代码量大。)(缺点是程序代码量大。)补充:补充:1。CISC采用采用“RISC内核微代码解码器内核微代码解码器” 。2。新架构。新架构EPIC (显式并行指令计算机,(显式并行指令计算机,Explicitly Parallel Instruction Computer) 采用超长指令为大的执行单位,长指令被分割成较采用超长指令为大的执行单位,长指令被分割成较短的小指令以实现并行执行。结合了短的小指令以实现并行执行。结合了CISC和和RISC的的优点,但目
5、前支撑技术不够。优点,但目前支撑技术不够。2024/7/246Embedded System处理器内部的存储体系结构P11。冯。冯 诺依曼结构诺依曼结构(普林斯顿结构普林斯顿结构) 数据和指令存储在一起。数据和指令存储在一起。CPU采用同采用同一套片内总线一套片内总线分分时读对指令和数据进行操作,因此一般指令和数据具有时读对指令和数据进行操作,因此一般指令和数据具有相同的宽度。相同的宽度。2。哈佛结构。哈佛结构 数据和指令分开存放。数据和指令分开存放。CPU采用采用两套片内总线两套片内总线,对指,对指令和数据可并行操作以提高工作效率。指令和数据可以令和数据可并行操作以提高工作效率。指令和数据可
6、以有不同的宽度。有不同的宽度。2024/7/247Embedded SystemMPURAMROMI/O接口接口外设外设ABDBCB哈佛体系结构哈佛体系结构DSP程序程序RAM数据数据RAMI/O接口接口外设外设程序地址程序地址数据地址数据地址程序读总线程序读总线数据读数据读/写总线写总线其它控制信号其它控制信号数据数据ROM程序程序ROM冯冯诺依曼诺依曼体系结构体系结构2024/7/248Embedded System2024/7/249Embedded System嵌入式微处理器EMPU(Embedded Microprocessor Unit) 以通用以通用CPU为基础,计算功能较强;为
7、基础,计算功能较强; 需在可靠性、抗电磁干扰、工作温度等需在可靠性、抗电磁干扰、工作温度等方面做特殊处理;方面做特殊处理;民用级民用级070C,工业级工业级4085C ,军品级,军品级65125C 通常装配在专门设计的电路板上,配上通常装配在专门设计的电路板上,配上必要的存储器及必要的存储器及I/O扩展电路构成板级扩展电路构成板级设备;或以设备;或以IP核形式组建核形式组建EMCU或或SoC 2024/7/2410Embedded System微控制器MCU(Micro Controller Unit) 通常即指通常即指单片机单片机:将微处理器内核、:将微处理器内核、ROM /RAM以及以及I
8、/O接口集成在一个芯片内。通常由接口集成在一个芯片内。通常由多种衍生产品组成一个系列。多种衍生产品组成一个系列。 集成度高、可靠性高、功耗低、成本低,丰集成度高、可靠性高、功耗低、成本低,丰富的片上外设资源非常适合于工业控制领域。富的片上外设资源非常适合于工业控制领域。 MCU常带的外部接口:常带的外部接口:Interrupt、Timer、PWM、AD/DA、GPIO、UART、I2C、SCI、SPI、USB、CAN2024/7/2411Embedded SystemCPUTIMERRAMROM、EPROM、FLASHPWMUARTINTERRUPTUSBI/O PORTI2CWDTAD/DA
9、CANPower Manager微控制器微控制器MCU的硬件结构的硬件结构SCISPI2024/7/2412Embedded System嵌入式数字信号处理器(EDSP:Embedded Digital Signal Processor)1。采用。采用Harward(哈佛)体系结构。(哈佛)体系结构。2. MAC、移位器和数据地址生成器、移位器和数据地址生成器等专用模等专用模块能快速实现滤波、域变换等信号运算。块能快速实现滤波、域变换等信号运算。3。适合于运算量较大的各种嵌入式应用,如。适合于运算量较大的各种嵌入式应用,如音频、视频以及图像处理场合。音频、视频以及图像处理场合。4。形式:普通。
10、形式:普通DSP增加片上外设、增加片上外设、EMC改造改造等单片化为等单片化为EDSP;或以;或以IP核形式构成核形式构成DSP协处理器。协处理器。2024/7/2413Embedded System混合型嵌入式处理器 一、中低端一、中低端 MCU/MPU采用哈佛结构,增加乘加运算指令;采用哈佛结构,增加乘加运算指令; DSP内部集成内部集成AD/DA、UART、定时、定时/计数器等;计数器等;二、高端二、高端 双核双核/多核处理器,如:多核处理器,如:RISCDSP、RISCCISCDSP、MCUDSP、SoC 应用于网络、通信设备上的通信处理器;应用于网络、通信设备上的通信处理器; 应用于
11、数码相机、应用于数码相机、MP4等上的媒体处理器;等上的媒体处理器; 应用于智能手机上的应用处理器;应用于智能手机上的应用处理器; 应用于电机控制上的应用于电机控制上的DSC(Digital Signal Controller)2024/7/2414Embedded SystemSDRAM CONTROLLERROM,RAMFIFOARM+RTOSFIR,IIR,FFTUSB,PCI,CANVGA, UART, EthernetA/D、D/ADMAC2024/7/2415Embedded System外外部部中中断断计计数数输输入入MCS-51系列单片机体系结构2024/7/2416Embed
12、ded System MCS-51是由是由Intel公司率先开发的公司率先开发的通用通用8位位MCU系列,其特点是:系列,其特点是: 片内具备振荡器和时钟电路,可工作于片内具备振荡器和时钟电路,可工作于112MHz(有些型号可以更高);有些型号可以更高); 可寻址片外可寻址片外RAM/ROM各各64KB; 可处理两级、多个中断源;可处理两级、多个中断源; 指令集包含上百条指令。指令集包含上百条指令。 根据其中集成的存储器可分为无根据其中集成的存储器可分为无ROM型、型、ROM型、型、EPROM型、型、Flash型等。型等。2024/7/2417Embedded System系列系列系列系列片内
13、存储器(字节)片内存储器(字节)片内存储器(字节)片内存储器(字节)定时器定时器定时器定时器计数器计数器计数器计数器并行并行并行并行I/OI/OI/OI/O串行串行串行串行I/OI/OI/OI/O中中中中断断断断源源源源片内片内片内片内ROMROMROMROM片内片内片内片内RAMRAMRAMRAM无无无无有有有有ROMROMROMROM有有有有EPROMEPROMEPROMEPROMIntelIntelIntelIntelMCS-51MCS-51MCS-51MCS-51子系列子系列子系列子系列803180318031803180808080C31C31C31C3180518051805180
14、5180808080C51C51C51C51(4K(4K(4K(4K字节字节字节字节) ) ) )875187518751875187878787C51C51C51C51(4K(4K(4K(4K字节字节字节字节) ) ) )128128128128字节字节字节字节2 2 2 2个个个个16161616位位位位4 4 4 4x8x8x8x8位位位位1 1 1 15 5 5 5IntelIntelIntelIntelMCS-52MCS-52MCS-52MCS-52子系列子系列子系列子系列803280328032803280808080C32C32C32C3280528052805280528080
15、8080C52C52C52C52(8K(8K(8K(8K字节字节字节字节) ) ) )875287528752875287878787C52C52C52C52(8K(8K(8K(8K字节字节字节字节) ) ) )256256256256字节字节字节字节3 3 3 3个个个个16161616位位位位4 4 4 4x8x8x8x8位位位位1 1 1 16 6 6 6ATEMLATEMLATEMLATEML89C89C89C89C系列系列系列系列( ( ( (常用型常用型常用型常用型) ) ) )1051105110511051(1(1(1(1K)K)K)K)/ / / / 205120512051
16、2051(2K)(2K)(2K)(2K)/ / / / 4051405140514051(4K)(4K)(4K)(4K)(DIP20DIP20DIP20DIP20封装)封装)封装)封装)1281281281282 2 2 2151515151 1 1 15 5 5 589898989C51C51C51C51(4K) (4K) (4K) (4K) / / / / 89C5289C5289C5289C52(8K)(8K)(8K)(8K)(DIP40DIP40DIP40DIP40封装)封装)封装)封装)128/128/128/128/2562562562562/32/32/32/3323232321
17、 1 1 15/65/65/65/6常见常见MCS-51系列单片机的配置系列单片机的配置2024/7/2418Embedded SystemFreescale HC12/HCS12系列MCU简介 Freescale Semiconductors HCS12 Family of microcontrollers (MCUs) is the next generation of the highly successful 68HC12 architecture. Using Freescales industry-leading 0.25 s Flash, the MC9S12DG128 is p
18、art of a pin-compatible family that scales from 32 KB to 512 KB of Flash memory. The MC9S12DG128 provides an upward migration path from Freescales 68HC08, 68HC11 and 68HC12 architectures for applications that need larger memory, more peripherals and higher performance. Also, with the increasing numb
19、er of CAN-based electronic control units (ECUs), its multiple network modules support this environment by enabling highly efficient communications between different network buses.2024/7/2419Embedded SystemFreescaleHCS12结构 框图2024/7/2420Embedded System16 bit CPU CoreOn-chip DebugCRG with PLLFlash MemE
20、EPROMA/D ConverterE Capture TimerPWMS Comm InterfaceNetwork ModulesGeneral I/O2024/7/2421Embedded SystemFreescale HCS12系列单片机的配置P11P11系列系列系列系列内存配置内存配置内存配置内存配置串行串行串行串行通信通信通信通信PWMPWMROMROMRAMRAMEEPROMEEPROM闪存闪存闪存闪存MC9MC9S12S12D D64644 4KBKB1 1KBKB6464KBKBSCI/SPSCI/SPI/CANI/CAN8 8通道通道通道通道8 8位或位或位或位或4 4通
21、道通道通道通道1616位位位位MC9MC9S12S12DGDG 128B128B8KB8KB2KB2KB128128KBKBSCI/SPSCI/SPI/CANI/CAN8 8通道通道通道通道8 8位或位或位或位或4 4通道通道通道通道1616位位位位MC9MC9S12S12DPDP 256B256B1212KBKB4 4KBKB256256KBKBSCI/SPSCI/SPI/CANI/CAN8 8通道通道通道通道8 8位或位或位或位或4 4通道通道通道通道1616位位位位MC9MC9S12S12DPDP 5125121414KBKB4 4KBKB512512KBKBSCI/SPSCI/SPI/
22、CANI/CAN8 8通道通道通道通道8 8位或位或位或位或4 4通道通道通道通道1616位位位位2024/7/2422Embedded SystemARM微处理器(内核) ARM 32位体系结构被公认是目前业界领先的位体系结构被公认是目前业界领先的32位嵌入式位嵌入式RISC微处理器微处理器结构。其特点是:结构。其特点是:1、RISC架构架构,小体积、低功耗、低成本、高性能小体积、低功耗、低成本、高性能2、支持、支持16位位(Thumb)/32位双指令集位双指令集。3、支持高效率的、支持高效率的DSP乘加指令乘加指令。4、采用、采用Jazelle技术以提高技术以提高JAVA运行效率运行效率。
23、5、浮点运算单元、浮点运算单元FPU、内存管理单元、内存管理单元MMU可选可选6、提供嵌入式提供嵌入式ICE-RT逻辑和嵌入式跟踪宏单元逻辑和嵌入式跟踪宏单元ETM系列,以辅助高集成系列,以辅助高集成SoC器件的调试。器件的调试。2024/7/2423Embedded SystemARM内核内核用于开用于开放平台放平台用于用于RTOSARM720T rev4ARM922T rev1ARM920T rev1ARM926EJ-S rev0 Jazelle使能、可综合使能、可综合ARM1020E rev1高性能高性能ARM7TDMI rev4整型核整型核ARM7TDM-S4可综合整型核可综合整型核A
24、RM7EJ rev1 Jazelle使能使能ARM966E-S rev2可综合可综合ARM946E-S rev1可综合可综合ARM940T rev22024/7/2424Embedded System ARM(Advanced RISC Machines)公)公司推出高性能司推出高性能IP核核出售给各著名芯片厂家,出售给各著名芯片厂家,重新剪裁和整合后封装成重新剪裁和整合后封装成ARM芯片。芯片。 Freescale的龙珠系列的龙珠系列 Intel的的StrongARM系列、系列、xScale系列系列 Samsung的便携式的便携式PDA系列、网络芯片系列系列、网络芯片系列 其他如其他如TI、
25、Philips、Conexant、Agilent、Altera、国内的华为、中兴等著名公司都有国内的华为、中兴等著名公司都有已推出大量采用已推出大量采用ARM微处理器内核的产品。微处理器内核的产品。2024/7/2425Embedded SystemAtmel公司的公司的AT91芯片芯片AHBAPB2024/7/2426Embedded SystemSamsung公司的公司的S3C44B0X芯片芯片系统总线控制器系统总线控制器2024/7/2427Embedded SystemPowerPC微处理器(内核) 多级内存高速缓冲和分支处理器大大提多级内存高速缓冲和分支处理器大大提高了高了指令预取指
26、令预取的效率;的效率; 同时拥有定点处理器、浮点处理器和分同时拥有定点处理器、浮点处理器和分支处理器的支处理器的超标量设计超标量设计提供了多处理流提供了多处理流水线,使得一个时钟周期内执行多条指水线,使得一个时钟周期内执行多条指令成为可能;令成为可能; 可处理可处理“字节非对齐字节非对齐” 和和”Big/Littleendian”等等特殊数据类型特殊数据类型。2024/7/2428Embedded System PowerPC是是1991年由年由Apple、IBM、Motorola组成的组成的AIM联盟推出的一种联盟推出的一种RISC CPU。 PowerPC IP核核应用也十分广泛:应用也十
27、分广泛: 通信领域中通信领域中DSL调制解调器、交换机、调制解调器、交换机、VPN路由器等应用广泛的路由器等应用广泛的PowerQuicc由由PowerPC、CPM(通信处理模块通信处理模块Communication Process Module)以及其他应用模块构成;以及其他应用模块构成; 汽车电子领域中智能交通、智能驾驶、汽车汽车电子领域中智能交通、智能驾驶、汽车控制等应用广泛的控制等应用广泛的MPC系列;系列;2024/7/2429Embedded System扩展总线扩展总线统一总线统一总线U-Bus加载加载/存储总线存储总线L-Bus内部模块总线内部模块总线IMB3Freescale
28、公司的公司的MPC555芯片芯片2024/7/2430Embedded SystemNIOS微处理器(软核) Nios是是Altera公司的一种通用公司的一种通用RISC嵌入嵌入式处理器软核,用户可通过式处理器软核,用户可通过SOPC Builder系系统开发工具很容易的创建自己的多处理器系统,统开发工具很容易的创建自己的多处理器系统,并利用自动形成的并利用自动形成的Avalon交换结构总线将这些交换结构总线将这些系统连接在一起。系统连接在一起。1。16/32位可配置位可配置;2。五级流水线,大多数指令可在一个时钟周。五级流水线,大多数指令可在一个时钟周期内完成期内完成;3。允许多达。允许多达
29、64级矢量中断级矢量中断;2024/7/2431Embedded SystemNios嵌入式处理器系统嵌入式处理器系统DMADMA控制器控制器数据存储器数据存储器程序存储器程序存储器NiosNiosCPUCPU数据缓存数据缓存指令缓存指令缓存片内调试模块片内调试模块SDRAMSDRAM控制器控制器PIOPIOUARTUART1010M/100MM/100M以太网以太网AvalonAvalon交换交换结构结构总线总线JTAG接口接口DRAM以太网以太网2024/7/2432Embedded SystemNios嵌入式处理器典型配置比较嵌入式处理器典型配置比较特性特性特性特性32323232位位位
30、位Nios CPUNios CPUNios CPUNios CPU16161616位位位位Nios CPUNios CPUNios CPUNios CPU数据总线宽度数据总线宽度数据总线宽度数据总线宽度/ /bitbit32321616算术逻辑单元宽度算术逻辑单元宽度算术逻辑单元宽度算术逻辑单元宽度/ /bitbit32321616内部寄存器宽度内部寄存器宽度内部寄存器宽度内部寄存器宽度/ /bitbit32321616地址总线宽度地址总线宽度地址总线宽度地址总线宽度/ /bitbit32321616指令长度指令长度指令长度指令长度/ /bitbit16161616逻辑单元数(逻辑单元数(逻辑
31、单元数(逻辑单元数(LesLes)150015001000125125MHzMHz125125MHzMHz2024/7/2433Embedded System嵌入式系统中的(内)存储系统一、存储系统的构成一、存储系统的构成 片内:片内: 片外:片外:二、存储系统的设计二、存储系统的设计 硬件设计、软件设置硬件设计、软件设置三、存储系统的测试三、存储系统的测试 RAM、ROM内部内部RAM、内部、内部ROM 、寄存器、寄存器外部外部RAM、外部、外部ROM2024/7/2434Embedded System一、与通用计算机中存储器设计的不同点一、与通用计算机中存储器设计的不同点 容量限制容量限制
32、 通常根据软件大小确定是否需要进行外部扩展通常根据软件大小确定是否需要进行外部扩展 体积、功耗限制体积、功耗限制 尽量采用高集成度的、低功耗的存储芯片尽量采用高集成度的、低功耗的存储芯片 类型选择类型选择 RAM(SRAM、DRAM)用于保存中间结果;用于保存中间结果; ROM(EEPROM、FLASH)用于保存代码,写入不方便;用于保存代码,写入不方便; 混合型(混合型(NVRAM)用于保存少量配置参数;用于保存少量配置参数;二、与通用计算机中存储器设计的相同点二、与通用计算机中存储器设计的相同点 速度(时序)、接口(驱动)方式速度(时序)、接口(驱动)方式存储系统设计硬件相关2024/7/
33、2435Embedded System1 1。软件的固化。软件的固化 ROM编程、烧写编程、烧写2 2。软件的引导。软件的引导 代码开始、代码开始、OS启动启动3 3。中断向量表的设置。中断向量表的设置 固定在固定在ROM中或由初始化代码设置中或由初始化代码设置4 4。存储空间的分配(映射)与重映射。存储空间的分配(映射)与重映射 设置各段存储器及统一编址端口的地址设置各段存储器及统一编址端口的地址存储系统设计软件相关复位向量设置复位向量设置“固件固件Fireware”2024/7/2436Embedded System一、测试目的一、测试目的 确认每一个存储单元都能正常工作。确认每一个存储单
34、元都能正常工作。二、测试时机二、测试时机 初始化软件应首先运行存储器的测试代初始化软件应首先运行存储器的测试代 码,即进行码,即进行内存自检内存自检。三、测试策略三、测试策略 1.1.存储器问题:内部问题、外部问题、灾难性失效存储器问题:内部问题、外部问题、灾难性失效 2.2.测试策略:合理选择测试步骤和测试数据测试策略:合理选择测试步骤和测试数据存储系统的测试2024/7/2437Embedded System1. 1. 普通问题普通问题 内部:工艺或生产导致芯片内某一部分内部:工艺或生产导致芯片内某一部分存储单元失效存储单元失效. . 外部:电子线路问题、存储芯片的连线外部:电子线路问题、
35、存储芯片的连线或时序问题或时序问题. .2.2.灾难性失效灾难性失效 如严重物理或电子损伤等。如严重物理或电子损伤等。存储系统可能存在的问题实际中出现最多实际中出现最多2024/7/2438Embedded System一、一、RAM的测试的测试 1. 基本思想:基本思想: 2. 测试步骤:测试步骤: 写入、读出,且每一根线都可以置写入、读出,且每一根线都可以置1、 清清0而互不干涉。而互不干涉。 每一根线都可以置每一根线都可以置1、清、清0而互不干涉而互不干涉,否则会导致地址重叠。,否则会导致地址重叠。 每一个每一个bit都可以正确地保存都可以正确地保存0或或1;二、二、ROM及混合存储器的
36、测试及混合存储器的测试1。基本思想:。基本思想:2。测试方法:。测试方法:存储系统的测试策略测试灾难性问题测试灾难性问题及芯片有无及芯片有无测试连线问题及芯测试连线问题及芯片是否正确插入片是否正确插入奇偶校验奇偶校验写每个内存单元,并校验读回的数据写每个内存单元,并校验读回的数据数据总线的测试:数据总线的测试:地址总线的测试:地址总线的测试:存储器件的测试存储器件的测试:读出每个单元,并校验是否正确;读出每个单元,并校验是否正确;校验和(对字节数据求和并校验结果);校验和(对字节数据求和并校验结果);CRC校验(对全部数据运算并校验结果);校验(对全部数据运算并校验结果);2024/7/243
37、9Embedded System嵌入式系统中的I/O模块一、时钟电路一、时钟电路CLK二、通用并行接口二、通用并行接口GPIO三、中断系统三、中断系统Interrupt四、复位电路四、复位电路RESET五、定时五、定时/计数器计数器Timer六、模数六、模数/数模转换数模转换AD/DA七、各类串行接口七、各类串行接口八、其他接口八、其他接口九、简单人机界面设备九、简单人机界面设备开关开关/键盘键盘/触摸屏、触摸屏、LED/LCDRC振荡、石英振荡、倍频振荡、石英振荡、倍频/分频(多时钟源)分频(多时钟源)p19看门狗、看门狗、PWMIRDA、Bluetooth、Audio、Video、LCD中
38、断或异常中断或异常采样保持采样保持 -量化量化 -编码编码扩展总线扩展总线通信总线通信总线UART、SCI、SPI、 I2C 、 USBp117端口配置及编程端口配置及编程2024/7/2440Embedded System时钟电路CLKXTAL和和EXTAL(47、46)振荡器引脚振荡器引脚 XTALXTALXTALXTAL和和和和EXTALEXTALEXTALEXTAL分别是晶体驱动输出和外部时钟输入引脚。分别是晶体驱动输出和外部时钟输入引脚。分别是晶体驱动输出和外部时钟输入引脚。分别是晶体驱动输出和外部时钟输入引脚。EXTALEXTALEXTALEXTAL引脚既可以接晶振,也可以接引脚既
39、可以接晶振,也可以接引脚既可以接晶振,也可以接引脚既可以接晶振,也可以接COMSCOMSCOMSCOMS兼容的时钟信号,兼容的时钟信号,兼容的时钟信号,兼容的时钟信号,驱动内部时钟发生电路,器件中所有的时钟信号都来自该驱动内部时钟发生电路,器件中所有的时钟信号都来自该驱动内部时钟发生电路,器件中所有的时钟信号都来自该驱动内部时钟发生电路,器件中所有的时钟信号都来自该引脚输入的时钟。引脚输入的时钟。引脚输入的时钟。引脚输入的时钟。XTALXTALXTALXTAL引脚为晶体驱动输出,当引脚为晶体驱动输出,当引脚为晶体驱动输出,当引脚为晶体驱动输出,当EXTALEXTALEXTALEXTAL引引引引
40、脚外接时钟时,该引脚悬空。时钟电路的几种接法如图脚外接时钟时,该引脚悬空。时钟电路的几种接法如图脚外接时钟时,该引脚悬空。时钟电路的几种接法如图脚外接时钟时,该引脚悬空。时钟电路的几种接法如图2.82.82.82.8、图、图、图、图2.92.92.92.9和图和图和图和图2.102.102.102.10所示。所示。所示。所示。 2024/7/24Embedded SystemP.42/9416 bit CPU CoreOn-chip DebugCRG with PLLFlash MemEEPROMA/D ConverterE Capture TimerPWMS Comm InterfaceNe
41、twork ModulesGeneral I/OMC9S12DG128的运行模式一、普通运行模式一、普通运行模式一、普通运行模式一、普通运行模式 普通模式共分三种,都是应用系统开发结束后的最终运行模式,它们都普通模式共分三种,都是应用系统开发结束后的最终运行模式,它们都普通模式共分三种,都是应用系统开发结束后的最终运行模式,它们都普通模式共分三种,都是应用系统开发结束后的最终运行模式,它们都支持背景调试模式(支持背景调试模式(支持背景调试模式(支持背景调试模式(BDMBDMBDMBDM),但对于某些操作必须首先将),但对于某些操作必须首先将),但对于某些操作必须首先将),但对于某些操作必须首先
42、将BDMBDMBDMBDM使能,然后再激活使能,然后再激活使能,然后再激活使能,然后再激活后才能通过后才能通过后才能通过后才能通过BDMBDMBDMBDM命令进行调试。命令进行调试。命令进行调试。命令进行调试。 1 1 1 1普通单芯片模式普通单芯片模式普通单芯片模式普通单芯片模式 该模式无外部总线,端口该模式无外部总线,端口该模式无外部总线,端口该模式无外部总线,端口A A A A、端口、端口、端口、端口B B B B和端口和端口和端口和端口E E E E被设置成通用被设置成通用被设置成通用被设置成通用I/OI/OI/OI/O接口。端口接口。端口接口。端口接口。端口E E E E的两个的两个
43、的两个的两个引脚引脚引脚引脚PE1PE1PE1PE1和和和和PE0PE0PE0PE0仅能工作在内部上拉的输入方式,其他仅能工作在内部上拉的输入方式,其他仅能工作在内部上拉的输入方式,其他仅能工作在内部上拉的输入方式,其他22222222个引脚均可设置为输入或输出,不个引脚均可设置为输入或输出,不个引脚均可设置为输入或输出,不个引脚均可设置为输入或输出,不过复位后它们均被默认设置为高阻输入方式,另外复位后,端口过复位后它们均被默认设置为高阻输入方式,另外复位后,端口过复位后它们均被默认设置为高阻输入方式,另外复位后,端口过复位后它们均被默认设置为高阻输入方式,另外复位后,端口E E E E的上拉
44、有效,端口的上拉有效,端口的上拉有效,端口的上拉有效,端口A A A A和端和端和端和端口口口口B B B B的上拉被禁止。的上拉被禁止。的上拉被禁止。的上拉被禁止。 2 2 2 2普通宽扩展模式普通宽扩展模式普通宽扩展模式普通宽扩展模式 端口端口端口端口A A A A和端口和端口和端口和端口B B B B为外部地址和数据总线,其中为外部地址和数据总线,其中为外部地址和数据总线,其中为外部地址和数据总线,其中A15A15A15A15A8A8A8A8和和和和D15D15D15D15D8D8D8D8分时使用端口分时使用端口分时使用端口分时使用端口A A A A的的的的8 8 8 8个引脚,个引脚,
45、个引脚,个引脚,A7A7A7A7A0A0A0A0和和和和D7D7D7D7D0D0D0D0分时使用端口分时使用端口分时使用端口分时使用端口B B B B的的的的8 8 8 8个引脚。个引脚。个引脚。个引脚。R/WR/WR/WR/W等总线控制信号复位后默认有等总线控制信号复位后默认有等总线控制信号复位后默认有等总线控制信号复位后默认有效。效。效。效。 3 3 3 3普通窄扩展模式普通窄扩展模式普通窄扩展模式普通窄扩展模式 端口端口端口端口A A A A和端口和端口和端口和端口B B B B为为为为16161616位外部地址总线,其中端口位外部地址总线,其中端口位外部地址总线,其中端口位外部地址总线
46、,其中端口A A A A输出高输出高输出高输出高8 8 8 8位(位(位(位(A15A15A15A15A8A8A8A8),其中),其中),其中),其中端口端口端口端口B B B B输出低输出低输出低输出低8 8 8 8位(位(位(位(A7A7A7A7A0A0A0A0),),),),8 8 8 8位外部数据总线位外部数据总线位外部数据总线位外部数据总线D7D7D7D7D0D0D0D0与高与高与高与高8 8 8 8位地址线分时复用端口位地址线分时复用端口位地址线分时复用端口位地址线分时复用端口A A A A的的的的8 8 8 8个个个个引脚。引脚。引脚。引脚。 MC9S12DG128的运行模式 二
47、、特殊运行模式二、特殊运行模式二、特殊运行模式二、特殊运行模式特殊模式主要用于系统开发和器件测试。特殊模式主要用于系统开发和器件测试。特殊模式主要用于系统开发和器件测试。特殊模式主要用于系统开发和器件测试。 1 1 1 1特殊单芯片模式特殊单芯片模式特殊单芯片模式特殊单芯片模式 该模式可用于强制该模式可用于强制该模式可用于强制该模式可用于强制MCUMCUMCUMCU激活激活激活激活BDMBDMBDMBDM,以允许通过,以允许通过,以允许通过,以允许通过BKGDBKGDBKGDBKGD引脚进行系统调试。在该模引脚进行系统调试。在该模引脚进行系统调试。在该模引脚进行系统调试。在该模式下,式下,式下
48、,式下,MCUMCUMCUMCU不像在其他模式下那样取中断向量,然后执行应用程序代码等,而是以激活的不像在其他模式下那样取中断向量,然后执行应用程序代码等,而是以激活的不像在其他模式下那样取中断向量,然后执行应用程序代码等,而是以激活的不像在其他模式下那样取中断向量,然后执行应用程序代码等,而是以激活的BDMBDMBDMBDM固件接收来自固件接收来自固件接收来自固件接收来自BKGDBKGDBKGDBKGD引脚的串行命令,并控制引脚的串行命令,并控制引脚的串行命令,并控制引脚的串行命令,并控制CPUCPUCPUCPU的运行。该模式下没有外部总线,的运行。该模式下没有外部总线,的运行。该模式下没有
49、外部总线,的运行。该模式下没有外部总线,MCUMCUMCUMCU作为一个独立器件运行,所有程序和数据存储空间均位于片内,外部接口均可作为通用作为一个独立器件运行,所有程序和数据存储空间均位于片内,外部接口均可作为通用作为一个独立器件运行,所有程序和数据存储空间均位于片内,外部接口均可作为通用作为一个独立器件运行,所有程序和数据存储空间均位于片内,外部接口均可作为通用I/OI/OI/OI/O。 2 2 2 2单片运行模式单片运行模式单片运行模式单片运行模式 单片运行模式是单片运行模式是单片运行模式是单片运行模式是MC9S12MC9S12MC9S12MC9S12单片及最常用的一种运行模式。系统复位
50、时,单片及最常用的一种运行模式。系统复位时,单片及最常用的一种运行模式。系统复位时,单片及最常用的一种运行模式。系统复位时,CPUCPUCPUCPU检测检测检测检测到到到到MODAMODAMODAMODA(PE5PE5PE5PE5)和)和)和)和MODBMODBMODBMODB(PE6PE6PE6PE6)引脚为低电平时进入单片运行模式。单片运行模式又分为普)引脚为低电平时进入单片运行模式。单片运行模式又分为普)引脚为低电平时进入单片运行模式。单片运行模式又分为普)引脚为低电平时进入单片运行模式。单片运行模式又分为普通单片模式和特殊单片模式。普通单片模式是正常运行应用程序时应使用的模式,特殊单通
51、单片模式和特殊单片模式。普通单片模式是正常运行应用程序时应使用的模式,特殊单通单片模式和特殊单片模式。普通单片模式是正常运行应用程序时应使用的模式,特殊单通单片模式和特殊单片模式。普通单片模式是正常运行应用程序时应使用的模式,特殊单片模式是指片模式是指片模式是指片模式是指BDMBDMBDMBDM调试模式。进入特殊模式时,要求单片及复位时引脚调试模式。进入特殊模式时,要求单片及复位时引脚调试模式。进入特殊模式时,要求单片及复位时引脚调试模式。进入特殊模式时,要求单片及复位时引脚MODCMODCMODCMODC(BKGDBKGDBKGDBKGD)为低电)为低电)为低电)为低电平。通常,当单片及输入
52、引脚浮空时,平。通常,当单片及输入引脚浮空时,平。通常,当单片及输入引脚浮空时,平。通常,当单片及输入引脚浮空时,CPUCPUCPUCPU默认高电平,默认高电平,默认高电平,默认高电平,BKGDBKGDBKGDBKGD引脚上的低电平是由引脚上的低电平是由引脚上的低电平是由引脚上的低电平是由BDMBDMBDMBDM调试调试调试调试工具的相应引脚提供的。故可以理解为,当插上工具的相应引脚提供的。故可以理解为,当插上工具的相应引脚提供的。故可以理解为,当插上工具的相应引脚提供的。故可以理解为,当插上BDMBDMBDMBDM头时,可进入特殊单片模式;当不插头时,可进入特殊单片模式;当不插头时,可进入特
53、殊单片模式;当不插头时,可进入特殊单片模式;当不插BDMBDMBDMBDM头时,自动进入普通单片模式。头时,自动进入普通单片模式。头时,自动进入普通单片模式。头时,自动进入普通单片模式。 3 3 3 3扩展运行模式扩展运行模式扩展运行模式扩展运行模式 80808080引脚的单片机引脚的单片机引脚的单片机引脚的单片机A A A A、B B B B、K K K K口都没有引出,故不能使用扩展运行模式。扩展运行口都没有引出,故不能使用扩展运行模式。扩展运行口都没有引出,故不能使用扩展运行模式。扩展运行口都没有引出,故不能使用扩展运行模式。扩展运行模式又有普通运行模式和特殊运行模式之分,其区别是有些寄
54、存器只能在特殊模式下读写。模式又有普通运行模式和特殊运行模式之分,其区别是有些寄存器只能在特殊模式下读写。模式又有普通运行模式和特殊运行模式之分,其区别是有些寄存器只能在特殊模式下读写。模式又有普通运行模式和特殊运行模式之分,其区别是有些寄存器只能在特殊模式下读写。GPIO:输入/输出端口简介MC9S12DG128 MC9S12DG128 MC9S12DG128 MC9S12DG128 内部有非常丰富的输入内部有非常丰富的输入内部有非常丰富的输入内部有非常丰富的输入/ / / /输出端口资源,输出端口资源,输出端口资源,输出端口资源,同时也集成了多种功能模块,其输入同时也集成了多种功能模块,其
55、输入同时也集成了多种功能模块,其输入同时也集成了多种功能模块,其输入/ / / /输出引脚大输出引脚大输出引脚大输出引脚大多为复用引脚。多为复用引脚。多为复用引脚。多为复用引脚。MC9S12DG128MC9S12DG128MC9S12DG128MC9S12DG128单片机的单片机的单片机的单片机的I/OI/OI/OI/O接口包接口包接口包接口包括括括括PORTAPORTAPORTAPORTA、PORTBPORTBPORTBPORTB、PORTEPORTEPORTEPORTE、PORTKPORTKPORTKPORTK、PORTTPORTTPORTTPORTT、PORTSPORTSPORTSPOR
56、TS、PORTMPORTMPORTMPORTM、PORTPPORTPPORTPPORTP、PORTHPORTHPORTHPORTH、PORTJPORTJPORTJPORTJ以及以及以及以及PORTADPORTADPORTADPORTAD。其中,。其中,。其中,。其中,PORTAPORTAPORTAPORTA、PORTBPORTBPORTBPORTB、PORTEPORTEPORTEPORTE和和和和PORTKPORTKPORTKPORTK属于复用扩展总线属于复用扩展总线属于复用扩展总线属于复用扩展总线接口(接口(接口(接口(MEBIMEBIMEBIMEBI),当),当),当),当MC9S12DG
57、128MC9S12DG128MC9S12DG128MC9S12DG128在扩展方式下工作在扩展方式下工作在扩展方式下工作在扩展方式下工作时,作为总线信号,如下图所示时,作为总线信号,如下图所示时,作为总线信号,如下图所示时,作为总线信号,如下图所示GPIO:输入/输出端口简介GPIO:输入/输出端口简介PORTTPORTTPORTTPORTT、PORTSPORTSPORTSPORTS、PORTMPORTMPORTMPORTM、PORTPPORTPPORTPPORTP、PORTHPORTHPORTHPORTH和和和和PORTJPORTJPORTJPORTJ属于端口集成属于端口集成属于端口集成属于
58、端口集成模块,与片内其他功能模块,与片内其他功能模块,与片内其他功能模块,与片内其他功能模块的引脚复用,如图模块的引脚复用,如图模块的引脚复用,如图模块的引脚复用,如图 所示。所示。所示。所示。 GPIO:输入/输出端口简介每个功能模块的按照优先级从高到低列出引每个功能模块的按照优先级从高到低列出引每个功能模块的按照优先级从高到低列出引每个功能模块的按照优先级从高到低列出引脚使用方式,即用户同时设定了某些功能后,脚使用方式,即用户同时设定了某些功能后,脚使用方式,即用户同时设定了某些功能后,脚使用方式,即用户同时设定了某些功能后,优先级高的功能先被使用。各端口的功能优先优先级高的功能先被使用。
59、各端口的功能优先优先级高的功能先被使用。各端口的功能优先优先级高的功能先被使用。各端口的功能优先级如所示级如所示级如所示级如所示。表:各端口功能复用优先级GPIO:输入/输出端口寄存器及设置 通用通用通用通用I/OI/OI/OI/O口一般可以设置输入输出、驱动能口一般可以设置输入输出、驱动能口一般可以设置输入输出、驱动能口一般可以设置输入输出、驱动能力、内部上拉力、内部上拉力、内部上拉力、内部上拉/ / / /下拉电阻、中断输入等功能。通过下拉电阻、中断输入等功能。通过下拉电阻、中断输入等功能。通过下拉电阻、中断输入等功能。通过设置设置设置设置DDRDDRDDRDDR、I/OI/OI/OI/O
60、、RDRRDRRDRRDR、PEPEPEPE、PSPSPSPS和和和和IEIEIEIE等寄存器,用户等寄存器,用户等寄存器,用户等寄存器,用户可以选择可以选择可以选择可以选择I/OI/OI/OI/O口的工作方式。其中,口的工作方式。其中,口的工作方式。其中,口的工作方式。其中,DDRDDRDDRDDR寄存器用寄存器用寄存器用寄存器用于设定于设定于设定于设定I/OI/OI/OI/O口的数据方向;口的数据方向;口的数据方向;口的数据方向;I/OI/OI/OI/O寄存器用于设定端寄存器用于设定端寄存器用于设定端寄存器用于设定端口输出电平高低;口输出电平高低;口输出电平高低;口输出电平高低;RDRRD
61、RRDRRDR寄存器用于选择寄存器用于选择寄存器用于选择寄存器用于选择I/OI/OI/OI/O的输出的输出的输出的输出驱动能力;驱动能力;驱动能力;驱动能力;PEPEPEPE寄存器用于当寄存器用于当寄存器用于当寄存器用于当I/OI/OI/OI/O口为输入口时使用口为输入口时使用口为输入口时使用口为输入口时使用内部上拉电阻或下拉电阻;内部上拉电阻或下拉电阻;内部上拉电阻或下拉电阻;内部上拉电阻或下拉电阻;PSPSPSPS寄存器当中断允许寄存器当中断允许寄存器当中断允许寄存器当中断允许位置位时,用于选择上升沿触发或下降沿触发中位置位时,用于选择上升沿触发或下降沿触发中位置位时,用于选择上升沿触发或
62、下降沿触发中位置位时,用于选择上升沿触发或下降沿触发中断,当使能内部上拉断,当使能内部上拉断,当使能内部上拉断,当使能内部上拉/ / / /下拉器件时,用于选择上拉下拉器件时,用于选择上拉下拉器件时,用于选择上拉下拉器件时,用于选择上拉或下拉。或下拉。或下拉。或下拉。GPIO:输入/输出端口寄存器及设置 一一一一 、PORTTPORTT、PORTSPORTS、PORTMPORTM、PORTPPORTP、 PORTHPORTH、PORTJPORTJGPIO:输入/输出端口寄存器及设置一一 、PORTT、PORTS、PORTM、PORTP、 PORTH、PORTJGPIO:输入/输出端口寄存器及设
63、置1 1I/OI/O寄存器寄存器PTxPTx 如果对应位数据方向寄存器如果对应位数据方向寄存器如果对应位数据方向寄存器如果对应位数据方向寄存器DDRxDDRxDDRxDDRx的数值为的数值为的数值为的数值为“0”0”0”0”,即将对应引脚定义为输入时,读取该寄存器返回,即将对应引脚定义为输入时,读取该寄存器返回,即将对应引脚定义为输入时,读取该寄存器返回,即将对应引脚定义为输入时,读取该寄存器返回引脚值;如果对应位数据方向寄存器引脚值;如果对应位数据方向寄存器引脚值;如果对应位数据方向寄存器引脚值;如果对应位数据方向寄存器DDRxDDRxDDRxDDRx的数值为的数值为的数值为的数值为“1”1
64、”1”1”,即将对应引脚定义为输出时,读取该寄存,即将对应引脚定义为输出时,读取该寄存,即将对应引脚定义为输出时,读取该寄存,即将对应引脚定义为输出时,读取该寄存器返回器返回器返回器返回I/OI/OI/OI/O寄存器的内容。寄存器的内容。寄存器的内容。寄存器的内容。一、一、一、一、PORTTPORTT、PORTSPORTS、PORTMPORTM、PORTPPORTP、PORTHPORTH、PORTJPORTJGPIO:输入/输出端口寄存器及设置2 2输入寄存器输入寄存器PTIxPTIx 输入寄存器是一个只读寄存器,对应位数据方输入寄存器是一个只读寄存器,对应位数据方输入寄存器是一个只读寄存器,
65、对应位数据方输入寄存器是一个只读寄存器,对应位数据方向寄存器向寄存器向寄存器向寄存器DDRxDDRxDDRxDDRx的数值为的数值为的数值为的数值为“0”“0”“0”“0”,即将对应引脚定义,即将对应引脚定义,即将对应引脚定义,即将对应引脚定义为输入时,读取该寄存器总是返回引脚值;如果对为输入时,读取该寄存器总是返回引脚值;如果对为输入时,读取该寄存器总是返回引脚值;如果对为输入时,读取该寄存器总是返回引脚值;如果对应位数据方向寄存器应位数据方向寄存器应位数据方向寄存器应位数据方向寄存器DDRxDDRxDDRxDDRx的数值为的数值为的数值为的数值为“1”“1”“1”“1”,即将对,即将对,即
66、将对,即将对应引脚定义为输出时,利用该寄存器可以监视对应应引脚定义为输出时,利用该寄存器可以监视对应应引脚定义为输出时,利用该寄存器可以监视对应应引脚定义为输出时,利用该寄存器可以监视对应引脚是否过载或短路。引脚是否过载或短路。引脚是否过载或短路。引脚是否过载或短路。一、一、一、一、 PORTTPORTT、PORTSPORTS、PORTMPORTM、PORTPPORTP、PORTHPORTH、PORTJPORTJGPIO:输入/输出端口寄存器及设置3 3数据方向寄存器数据方向寄存器DDRxDDRx 数据方向寄存器决定对应引脚为输出还是输入,数据方向寄存器决定对应引脚为输出还是输入,数据方向寄存
67、器决定对应引脚为输出还是输入,数据方向寄存器决定对应引脚为输出还是输入,如果某位为如果某位为如果某位为如果某位为“0”“0”“0”“0”,则对应引脚为输入;如果某位,则对应引脚为输入;如果某位,则对应引脚为输入;如果某位,则对应引脚为输入;如果某位为为为为“1”“1”“1”“1”,则对应引脚为输出。复位后,数据方向,则对应引脚为输出。复位后,数据方向,则对应引脚为输出。复位后,数据方向,则对应引脚为输出。复位后,数据方向寄存器值为寄存器值为寄存器值为寄存器值为0x000x000x000x00,所以单片机复位后引脚默认为输,所以单片机复位后引脚默认为输,所以单片机复位后引脚默认为输,所以单片机复
68、位后引脚默认为输入。入。入。入。 一、一、一、一、PORTTPORTT、PORTSPORTS、PORTMPORTM、PORTPPORTP、PORTHPORTH、PORTJPORTJGPIO:输入/输出端口寄存器及设置4 4驱动控制寄存器驱动控制寄存器RDRxRDRx 如果端口为输出时,驱动控制寄存器可以控制如果端口为输出时,驱动控制寄存器可以控制如果端口为输出时,驱动控制寄存器可以控制如果端口为输出时,驱动控制寄存器可以控制对应引脚的驱动能力。如果寄存器某位为对应引脚的驱动能力。如果寄存器某位为对应引脚的驱动能力。如果寄存器某位为对应引脚的驱动能力。如果寄存器某位为“1”“1”“1”“1”,则
69、对应引脚输出驱动能力为正常时的则对应引脚输出驱动能力为正常时的则对应引脚输出驱动能力为正常时的则对应引脚输出驱动能力为正常时的1/61/61/61/6;如果寄;如果寄;如果寄;如果寄存器某位为存器某位为存器某位为存器某位为“0”“0”“0”“0”,则对应引脚为正常驱动输出。,则对应引脚为正常驱动输出。,则对应引脚为正常驱动输出。,则对应引脚为正常驱动输出。复位后,驱动控制寄存器值为复位后,驱动控制寄存器值为复位后,驱动控制寄存器值为复位后,驱动控制寄存器值为0x000x000x000x00,所以单片机复,所以单片机复,所以单片机复,所以单片机复位后引脚以满功率驱动输出。位后引脚以满功率驱动输出
70、。位后引脚以满功率驱动输出。位后引脚以满功率驱动输出。一、一、一、一、PORTTPORTT、PORTSPORTS、PORTMPORTM、PORTPPORTP、PORTHPORTH、PORTJPORTJGPIO:输入/输出端口寄存器及设置5 5上拉上拉/ /下拉使能寄存器下拉使能寄存器PERxPERx 如果端口为输入或者如果端口为输入或者如果端口为输入或者如果端口为输入或者“线或线或线或线或”模式时,可以模式时,可以模式时,可以模式时,可以通过上拉通过上拉通过上拉通过上拉/ / / /下拉使能寄存器选择使用内置上拉下拉使能寄存器选择使用内置上拉下拉使能寄存器选择使用内置上拉下拉使能寄存器选择使用
71、内置上拉/ / / /下拉下拉下拉下拉器件。如果寄存器某位为器件。如果寄存器某位为器件。如果寄存器某位为器件。如果寄存器某位为“1”“1”“1”“1”,则对应引脚允许,则对应引脚允许,则对应引脚允许,则对应引脚允许内置上拉内置上拉内置上拉内置上拉/ / / /下拉器件;如果寄存器某位为下拉器件;如果寄存器某位为下拉器件;如果寄存器某位为下拉器件;如果寄存器某位为“0”“0”“0”“0”,则,则,则,则对应引脚禁用内置上拉对应引脚禁用内置上拉对应引脚禁用内置上拉对应引脚禁用内置上拉/ / / /下拉器件。下拉器件。下拉器件。下拉器件。一、一、一、一、 PORTTPORTT、PORTSPORTS、
72、PORTMPORTM、PORTPPORTP、PORTHPORTH、PORTJPORTJGPIO:输入/输出端口寄存器及设置6 6上拉上拉/ /下拉选择寄存器下拉选择寄存器PPSxPPSx 当某位引脚被定义为输入且允许内置上拉当某位引脚被定义为输入且允许内置上拉当某位引脚被定义为输入且允许内置上拉当某位引脚被定义为输入且允许内置上拉/ / / /下拉器件时,上下拉器件时,上下拉器件时,上下拉器件时,上拉拉拉拉/ / / /下拉选择寄存器用于选择上拉或者下拉。如果寄存器某位为下拉选择寄存器用于选择上拉或者下拉。如果寄存器某位为下拉选择寄存器用于选择上拉或者下拉。如果寄存器某位为下拉选择寄存器用于选
73、择上拉或者下拉。如果寄存器某位为“0”“0”“0”“0”,则对应引脚选择上拉器件;如果寄存器某位为则对应引脚选择上拉器件;如果寄存器某位为则对应引脚选择上拉器件;如果寄存器某位为则对应引脚选择上拉器件;如果寄存器某位为“1”“1”“1”“1”,则对应引脚选择,则对应引脚选择,则对应引脚选择,则对应引脚选择下拉器件。下拉器件。下拉器件。下拉器件。 PORTPPORTPPORTPPORTP、PORTHPORTHPORTHPORTH和和和和PORTJPORTJPORTJPORTJ三个端口具有中断功能,当这三个端口三个端口具有中断功能,当这三个端口三个端口具有中断功能,当这三个端口三个端口具有中断功能
74、,当这三个端口允许中断时,上拉允许中断时,上拉允许中断时,上拉允许中断时,上拉/ / / /下拉选择寄存器还具有第二个作用,用于选择引脚下拉选择寄存器还具有第二个作用,用于选择引脚下拉选择寄存器还具有第二个作用,用于选择引脚下拉选择寄存器还具有第二个作用,用于选择引脚端的上升沿或下降沿触发中断。当某位引脚使能中断时,如果该寄存器端的上升沿或下降沿触发中断。当某位引脚使能中断时,如果该寄存器端的上升沿或下降沿触发中断。当某位引脚使能中断时,如果该寄存器端的上升沿或下降沿触发中断。当某位引脚使能中断时,如果该寄存器某位为某位为某位为某位为“0”“0”“0”“0”,则对应引脚下降沿触发中断;如果该寄
75、存器某位为,则对应引脚下降沿触发中断;如果该寄存器某位为,则对应引脚下降沿触发中断;如果该寄存器某位为,则对应引脚下降沿触发中断;如果该寄存器某位为“1”“1”“1”“1”,则对应引脚上升沿触发中断。,则对应引脚上升沿触发中断。,则对应引脚上升沿触发中断。,则对应引脚上升沿触发中断。 一、一、一、一、PORTTPORTT、PORTSPORTS、PORTMPORTM、PORTPPORTP、PORTHPORTH、PORTJPORTJGPIO:输入/输出端口寄存器及设置7 7中断使能寄存器中断使能寄存器PIExPIEx PORTPPORTPPORTPPORTP、PORTHPORTHPORTHPORT
76、H和和和和PORTJPORTJPORTJPORTJ三个端口具有中断功能,且都有中断使能寄存三个端口具有中断功能,且都有中断使能寄存三个端口具有中断功能,且都有中断使能寄存三个端口具有中断功能,且都有中断使能寄存器,该寄存器允许或者禁止相应端口对有效电平的中断。如果该寄存器器,该寄存器允许或者禁止相应端口对有效电平的中断。如果该寄存器器,该寄存器允许或者禁止相应端口对有效电平的中断。如果该寄存器器,该寄存器允许或者禁止相应端口对有效电平的中断。如果该寄存器某位为某位为某位为某位为“1”“1”“1”“1”,则对应引脚允许中断;如果该寄存器某位为,则对应引脚允许中断;如果该寄存器某位为,则对应引脚允
77、许中断;如果该寄存器某位为,则对应引脚允许中断;如果该寄存器某位为“0”“0”“0”“0”,则对,则对,则对,则对应引脚禁止中断。复位后,中断使能寄存器值为应引脚禁止中断。复位后,中断使能寄存器值为应引脚禁止中断。复位后,中断使能寄存器值为应引脚禁止中断。复位后,中断使能寄存器值为0x000x000x000x00,所以单片机复位,所以单片机复位,所以单片机复位,所以单片机复位后所有端口中断关闭。后所有端口中断关闭。后所有端口中断关闭。后所有端口中断关闭。 一、一、一、一、PORTTPORTT、PORTSPORTS、PORTMPORTM、PORTPPORTP、PORTHPORTH、PORTJPO
78、RTJGPIO:输入/输出端口寄存器及设置8 8中断标志寄存器中断标志寄存器PIFxPIFx PORTPPORTPPORTPPORTP、PORTHPORTHPORTHPORTH和和和和PORTJPORTJPORTJPORTJ三个端口具有中断功能,且都有中断使三个端口具有中断功能,且都有中断使三个端口具有中断功能,且都有中断使三个端口具有中断功能,且都有中断使能寄存器,该寄存器允许或者禁止相应端口对有效电平的中断。如果该能寄存器,该寄存器允许或者禁止相应端口对有效电平的中断。如果该能寄存器,该寄存器允许或者禁止相应端口对有效电平的中断。如果该能寄存器,该寄存器允许或者禁止相应端口对有效电平的中断
79、。如果该寄存器某位为寄存器某位为寄存器某位为寄存器某位为“1”“1”“1”“1”,则对应引脚允许中断;如果该寄存器某位为,则对应引脚允许中断;如果该寄存器某位为,则对应引脚允许中断;如果该寄存器某位为,则对应引脚允许中断;如果该寄存器某位为“0”“0”“0”“0”,则对应引脚禁止中断。复位后,中断使能寄存器值为,则对应引脚禁止中断。复位后,中断使能寄存器值为,则对应引脚禁止中断。复位后,中断使能寄存器值为,则对应引脚禁止中断。复位后,中断使能寄存器值为0x000x000x000x00,所以单片,所以单片,所以单片,所以单片机复位后所有端口中断关闭。机复位后所有端口中断关闭。机复位后所有端口中断
80、关闭。机复位后所有端口中断关闭。一、一、一、一、 PORTTPORTT、PORTSPORTS、PORTMPORTM、PORTPPORTP、PORTHPORTH、PORTJPORTJGPIO:输入/输出端口寄存器及设置 PORTPPORTP、PORTHPORTH和和PORTJPORTJ三个端口的中断向量地址及相关标志位、三个端口的中断向量地址及相关标志位、控制位如表控制位如表5.35.3所示。所示。 一、一、一、一、PORTTPORTT、PORTSPORTS、PORTMPORTM、PORTPPORTP、PORTHPORTH、PORTJPORTJ GPIO:输入/输出端口寄存器及设置二、二、二、二
81、、PORTAPORTA、PORTBPORTB、PORTEPORTE和和和和PORTKPORTK MC9S12SG128MC9S12SG128MC9S12SG128MC9S12SG128单片机的单片机的单片机的单片机的PORTAPORTAPORTAPORTA、PORTBPORTBPORTBPORTB、PORTEPORTEPORTEPORTE和和和和PORTKPORTKPORTKPORTK属于复用扩展总线接口(属于复用扩展总线接口(属于复用扩展总线接口(属于复用扩展总线接口(MEBIMEBIMEBIMEBI),当),当),当),当MC9S12DG128MC9S12DG128MC9S12DG128M
82、C9S12DG128在扩展方式下工作时,作为总线信号;在扩展方式下工作时,作为总线信号;在扩展方式下工作时,作为总线信号;在扩展方式下工作时,作为总线信号;当当当当MC9S12DG128MC9S12DG128MC9S12DG128MC9S12DG128在单片方式下工作时,作为普通在单片方式下工作时,作为普通在单片方式下工作时,作为普通在单片方式下工作时,作为普通I/OI/OI/OI/O口,除了口,除了口,除了口,除了PORTKPORTKPORTKPORTK有有有有7 7 7 7个引脚,其余端口都有个引脚,其余端口都有个引脚,其余端口都有个引脚,其余端口都有8 8 8 8个引脚,个引脚,个引脚,
83、个引脚,其用法和其用法和其用法和其用法和5.2.15.2.15.2.15.2.1节中介绍的节中介绍的节中介绍的节中介绍的6 6 6 6组端口类似,也可以进组端口类似,也可以进组端口类似,也可以进组端口类似,也可以进行输入或者输出选择,选择上拉电阻,驱动能力等行输入或者输出选择,选择上拉电阻,驱动能力等行输入或者输出选择,选择上拉电阻,驱动能力等行输入或者输出选择,选择上拉电阻,驱动能力等设置。各个端口的寄存器名称、地址和相应引脚如设置。各个端口的寄存器名称、地址和相应引脚如设置。各个端口的寄存器名称、地址和相应引脚如设置。各个端口的寄存器名称、地址和相应引脚如表表表表5-45-45-45-4所
84、示。所示。所示。所示。GPIO:输入/输出端口寄存器及设置二、二、二、二、PORTAPORTA、PORTBPORTB、PORTEPORTE和和和和PORTKPORTKGPIO:输入/输出端口寄存器及设置二、二、二、二、 PORTA PORTA、PORTBPORTB、PORTEPORTE和和和和PORTKPORTK1 1I/O I/O 寄存器寄存器PxPx I/OI/OI/OI/O寄存器中寄存器中寄存器中寄存器中8 8 8 8位对应每个端口中的相应引脚,如果某端口的引脚被位对应每个端口中的相应引脚,如果某端口的引脚被位对应每个端口中的相应引脚,如果某端口的引脚被位对应每个端口中的相应引脚,如果某
85、端口的引脚被定义为输出,写入定义为输出,写入定义为输出,写入定义为输出,写入I/OI/OI/OI/O寄存器中的数值会从对应引脚输出;如果某端口寄存器中的数值会从对应引脚输出;如果某端口寄存器中的数值会从对应引脚输出;如果某端口寄存器中的数值会从对应引脚输出;如果某端口的引脚被定义为输入,通过的引脚被定义为输入,通过的引脚被定义为输入,通过的引脚被定义为输入,通过I/OI/OI/OI/O寄存器读取对应引脚电平。寄存器读取对应引脚电平。寄存器读取对应引脚电平。寄存器读取对应引脚电平。 需要注意需要注意需要注意需要注意PORTEPORTEPORTEPORTE端口是一个特例,它的最低两位只能为输入口,
86、端口是一个特例,它的最低两位只能为输入口,端口是一个特例,它的最低两位只能为输入口,端口是一个特例,它的最低两位只能为输入口,所以所以所以所以PORTEPORTEPORTEPORTE端口的端口的端口的端口的I/OI/OI/OI/O寄存器最低两位是只读位。寄存器最低两位是只读位。寄存器最低两位是只读位。寄存器最低两位是只读位。GPIO:输入/输出端口寄存器及设置二、二、二、二、PORTAPORTA、PORTBPORTB、PORTEPORTE和和和和PORTKPORTK2 2数据方向寄存器数据方向寄存器DDRxDDRx 数据方向寄存器决定对应引脚为输出还是输入,如果某位为数据方向寄存器决定对应引脚
87、为输出还是输入,如果某位为数据方向寄存器决定对应引脚为输出还是输入,如果某位为数据方向寄存器决定对应引脚为输出还是输入,如果某位为“0”“0”“0”“0”,则对应引脚为输入;如果某位为,则对应引脚为输入;如果某位为,则对应引脚为输入;如果某位为,则对应引脚为输入;如果某位为“1”“1”“1”“1”,则对应引脚为输出。复位后,则对应引脚为输出。复位后,则对应引脚为输出。复位后,则对应引脚为输出。复位后,数据方向寄存器值为数据方向寄存器值为数据方向寄存器值为数据方向寄存器值为0x000x000x000x00,所以单片机复位后引脚默认为输入。,所以单片机复位后引脚默认为输入。,所以单片机复位后引脚默
88、认为输入。,所以单片机复位后引脚默认为输入。 需要注意的是,需要注意的是,需要注意的是,需要注意的是,PORTEPORTEPORTEPORTE端口是一个特例,它的最低两位只能为端口是一个特例,它的最低两位只能为端口是一个特例,它的最低两位只能为端口是一个特例,它的最低两位只能为输入口,所以输入口,所以输入口,所以输入口,所以PORTEPORTEPORTEPORTE端口的数据方向寄存器最低两位是只读位,读取这端口的数据方向寄存器最低两位是只读位,读取这端口的数据方向寄存器最低两位是只读位,读取这端口的数据方向寄存器最低两位是只读位,读取这两位始终返回两位始终返回两位始终返回两位始终返回“0”“0
89、”“0”“0”。GPIO:输入/输出端口寄存器及设置二、二、二、二、 PORTA PORTA、PORTBPORTB、PORTEPORTE和和和和PORTKPORTK3 3上拉电阻控制寄存器上拉电阻控制寄存器 PORTAPORTAPORTAPORTA、PORTBPORTBPORTBPORTB、PORTEPORTEPORTEPORTE和和和和PORTKPORTKPORTKPORTK端口都有内置上拉电阻,共用一个端口都有内置上拉电阻,共用一个端口都有内置上拉电阻,共用一个端口都有内置上拉电阻,共用一个控制寄存器,该寄存器的第控制寄存器,该寄存器的第控制寄存器,该寄存器的第控制寄存器,该寄存器的第7
90、7 7 7、4 4 4 4、1 1 1 1和和和和0 0 0 0位分别控制位分别控制位分别控制位分别控制K K K K、E E E E、B B B B和和和和A A A A端口。当端口。当端口。当端口。当控制位为控制位为控制位为控制位为“1”“1”“1”“1”时,允许使用对应端口的上拉电阻;当控制位为时,允许使用对应端口的上拉电阻;当控制位为时,允许使用对应端口的上拉电阻;当控制位为时,允许使用对应端口的上拉电阻;当控制位为“0”“0”“0”“0”时,时,时,时,禁止使用对应端口的上拉电阻。单片机复位后,禁止使用对应端口的上拉电阻。单片机复位后,禁止使用对应端口的上拉电阻。单片机复位后,禁止使
91、用对应端口的上拉电阻。单片机复位后,PORTKPORTKPORTKPORTK和和和和 PORTEPORTEPORTEPORTE端口端口端口端口的上拉电阻使能,的上拉电阻使能,的上拉电阻使能,的上拉电阻使能,PORTBPORTBPORTBPORTB和和和和PORTAPORTAPORTAPORTA端口的上拉电阻禁止。端口的上拉电阻禁止。端口的上拉电阻禁止。端口的上拉电阻禁止。GPIO:输入/输出端口寄存器及设置二、二、二、二、PORTAPORTA、PORTBPORTB、PORTEPORTE和和和和PORTKPORTK4 4驱动控制寄存器驱动控制寄存器 PORTAPORTAPORTAPORTA、PO
92、RTBPORTBPORTBPORTB、PORTEPORTEPORTEPORTE和和和和PORTKPORTKPORTKPORTK端口都可以设置端口输出驱动能力,端口都可以设置端口输出驱动能力,端口都可以设置端口输出驱动能力,端口都可以设置端口输出驱动能力,共用一个控制寄存器,该寄存器的第共用一个控制寄存器,该寄存器的第共用一个控制寄存器,该寄存器的第共用一个控制寄存器,该寄存器的第7 7 7 7、4 4 4 4、1 1 1 1和和和和0 0 0 0位分别控制位分别控制位分别控制位分别控制K K K K、E E E E、B B B B和和和和A A A A端口。如果某个控制位为端口。如果某个控制位
93、为端口。如果某个控制位为端口。如果某个控制位为“1”“1”“1”“1”,对应端口输出驱动能力降低;如果某,对应端口输出驱动能力降低;如果某,对应端口输出驱动能力降低;如果某,对应端口输出驱动能力降低;如果某个控制位为个控制位为个控制位为个控制位为“0”“0”“0”“0”,对应端口为正常驱动输出方式。,对应端口为正常驱动输出方式。,对应端口为正常驱动输出方式。,对应端口为正常驱动输出方式。GPIO: 输入/输出端口基础应用实例 一、输出设备一、输出设备一、输出设备一、输出设备LEDLED控制实例控制实例控制实例控制实例 典型典型典型典型LEDLEDLEDLED有阳极和阴极两个引脚,有阳极和阴极两
94、个引脚,有阳极和阴极两个引脚,有阳极和阴极两个引脚,LEDLEDLEDLED在正向偏置的状态下能够发在正向偏置的状态下能够发在正向偏置的状态下能够发在正向偏置的状态下能够发光,通过通用光,通过通用光,通过通用光,通过通用I/OI/OI/OI/O口连接到口连接到口连接到口连接到LEDLEDLEDLED其中一个引脚,其中一个引脚,其中一个引脚,其中一个引脚,LEDLEDLEDLED另外一个引脚接固定另外一个引脚接固定另外一个引脚接固定另外一个引脚接固定电平,即可点亮电平,即可点亮电平,即可点亮电平,即可点亮LEDLEDLEDLED。 本实例硬件连接如图本实例硬件连接如图本实例硬件连接如图本实例硬件
95、连接如图5.155.155.155.15所示,所示,所示,所示,PORTBPORTBPORTBPORTB端口连接端口连接端口连接端口连接8 8 8 8只只只只LEDLEDLEDLED,编程,编程,编程,编程实现明灯流水灯操作。实现明灯流水灯操作。实现明灯流水灯操作。实现明灯流水灯操作。 GPIO:输入/输出端口基础应用实例 一、输出设备一、输出设备一、输出设备一、输出设备LEDLED控制实例控制实例控制实例控制实例 由电路图可知,使用由电路图可知,使用由电路图可知,使用由电路图可知,使用MC9S12DG128MC9S12DG128MC9S12DG128MC9S12DG128的的的的PORTBP
96、ORTBPORTBPORTB端口控制端口控制端口控制端口控制8 8 8 8只只只只LEDLEDLEDLED,PORTBPORTBPORTBPORTB端口输出低电平点亮相应端口输出低电平点亮相应端口输出低电平点亮相应端口输出低电平点亮相应LEDLEDLEDLED。本例中流水灯的流动速度没有实现精确。本例中流水灯的流动速度没有实现精确。本例中流水灯的流动速度没有实现精确。本例中流水灯的流动速度没有实现精确控制,即延时时间没有精确计算控制,即延时时间没有精确计算控制,即延时时间没有精确计算控制,即延时时间没有精确计算. . . .GPIO:输入/输出端口基础应用实例一、输出设备一、输出设备一、输出设
97、备一、输出设备LEDLED控制实例控制实例控制实例控制实例流水灯实例程序清单如下所示。流水灯实例程序清单如下所示。流水灯实例程序清单如下所示。流水灯实例程序清单如下所示。GPIO:输入/输出端口基础应用实例一、输出设备一、输出设备一、输出设备一、输出设备LEDLED控制实例控制实例控制实例控制实例GPIO:输入/输出端口基础应用实例一、输出设备一、输出设备一、输出设备一、输出设备LEDLED控制实例控制实例控制实例控制实例GPIO:输入/输出端口基础应用实例二、二、二、二、 输入设备拨码开关读取实例输入设备拨码开关读取实例输入设备拨码开关读取实例输入设备拨码开关读取实例 用户通过拨码开关可用户
98、通过拨码开关可用户通过拨码开关可用户通过拨码开关可以实现简单的输入控制。以实现简单的输入控制。以实现简单的输入控制。以实现简单的输入控制。本实例拨码开关的硬件连本实例拨码开关的硬件连本实例拨码开关的硬件连本实例拨码开关的硬件连接如图接如图接如图接如图5.165.165.165.16所示。所示。所示。所示。 由电路图可知,由电路图可知,由电路图可知,由电路图可知,使用使用使用使用MC9S12DG128MC9S12DG128MC9S12DG128MC9S12DG128的的的的PORTAPORTAPORTAPORTA端口读取端口读取端口读取端口读取8 8 8 8位拨码开关状态。位拨码开关状态。位拨码
99、开关状态。位拨码开关状态。本例依然使用图本例依然使用图本例依然使用图本例依然使用图5.155.155.155.15所示所示所示所示的的的的LEDLEDLEDLED灯控制电路,使用灯控制电路,使用灯控制电路,使用灯控制电路,使用MC9S12DG128MC9S12DG128MC9S12DG128MC9S12DG128的的的的PORTBPORTBPORTBPORTB端口端口端口端口控制控制控制控制8 8 8 8只只只只LEDLEDLEDLED灯,考虑通过灯,考虑通过灯,考虑通过灯,考虑通过8 8 8 8只只只只LEDLEDLEDLED灯的亮灭反映灯的亮灭反映灯的亮灭反映灯的亮灭反映8 8 8 8位拨
100、位拨位拨位拨码开关的设置情况。码开关的设置情况。码开关的设置情况。码开关的设置情况。GPIO:输入/输出端口基础应用实例二、二、二、二、 输入设备拨码开关读取实例输入设备拨码开关读取实例输入设备拨码开关读取实例输入设备拨码开关读取实例GPIO:输入/输出端口基础应用实例三、三、三、三、键盘接口设计键盘接口设计键盘接口设计键盘接口设计 键盘多由多个按键组成,一般将其排列成阵列式,如图键盘多由多个按键组成,一般将其排列成阵列式,如图键盘多由多个按键组成,一般将其排列成阵列式,如图键盘多由多个按键组成,一般将其排列成阵列式,如图5.175.175.175.17所示。所示。所示。所示。GPIO:输入/
101、输出端口基础应用实例三、三、三、三、 键盘接口设计键盘接口设计键盘接口设计键盘接口设计 当没有键按下时,行和列线之间是不相连的,若第当没有键按下时,行和列线之间是不相连的,若第当没有键按下时,行和列线之间是不相连的,若第当没有键按下时,行和列线之间是不相连的,若第N N N N行第行第行第行第M M M M列的键列的键列的键列的键被按下,那么第被按下,那么第被按下,那么第被按下,那么第N N N N行与第行与第行与第行与第M M M M列的线就被接通。如果在列线上加上信号,根列的线就被接通。如果在列线上加上信号,根列的线就被接通。如果在列线上加上信号,根列的线就被接通。如果在列线上加上信号,根
102、据行线的状态,便可得知是否有键按下。如果在列线上逐行加上一个扫据行线的状态,便可得知是否有键按下。如果在列线上逐行加上一个扫据行线的状态,便可得知是否有键按下。如果在列线上逐行加上一个扫据行线的状态,便可得知是否有键按下。如果在列线上逐行加上一个扫描信号,就可以判断按键的位置。描信号,就可以判断按键的位置。描信号,就可以判断按键的位置。描信号,就可以判断按键的位置。 根据上述原理,利用根据上述原理,利用根据上述原理,利用根据上述原理,利用MC9S12DG128MC9S12DG128MC9S12DG128MC9S12DG128的一个或两个端口就能方便的一个或两个端口就能方便的一个或两个端口就能方
103、便的一个或两个端口就能方便地实现扩展键盘接口。图地实现扩展键盘接口。图地实现扩展键盘接口。图地实现扩展键盘接口。图5.185.185.185.18给出了用给出了用给出了用给出了用MC9S12DG128MC9S12DG128MC9S12DG128MC9S12DG128的的的的PORTAPORTAPORTAPORTA端口扩展端口扩展端口扩展端口扩展44444444的键盘。的键盘。的键盘。的键盘。PORTAPORTAPORTAPORTA端口的低端口的低端口的低端口的低4 4 4 4位作为行线,高位作为行线,高位作为行线,高位作为行线,高4 4 4 4位作为列线。位作为列线。位作为列线。位作为列线。G
104、PIO:输入/输出端口基础应用实例三、三、三、三、 键盘接口设计键盘接口设计键盘接口设计键盘接口设计GPIO:输入/输出端口基础应用实例三、三、三、三、键盘接口设计键盘接口设计键盘接口设计键盘接口设计 PORTAPORTAPORTAPORTA端口的低端口的低端口的低端口的低4 4 4 4位设置为输入、高位设置为输入、高位设置为输入、高位设置为输入、高4 4 4 4位设置为输出(即位设置为输出(即位设置为输出(即位设置为输出(即DDRA=0xF0DDRA=0xF0DDRA=0xF0DDRA=0xF0)。通过)。通过)。通过)。通过PORTAPORTAPORTAPORTA的高的高的高的高4 4 4
105、 4位逐列输出低电平,同时读取位逐列输出低电平,同时读取位逐列输出低电平,同时读取位逐列输出低电平,同时读取PORTAPORTAPORTAPORTA的低的低的低的低4 4 4 4位,将高位,将高位,将高位,将高4 4 4 4位的输出状态与读取的低位的输出状态与读取的低位的输出状态与读取的低位的输出状态与读取的低4 4 4 4位的状态相位的状态相位的状态相位的状态相“与与与与”,然后查询保,然后查询保,然后查询保,然后查询保存在存在存在存在RAMRAMRAMRAM中的表就能判断被按下键的位置。中的表就能判断被按下键的位置。中的表就能判断被按下键的位置。中的表就能判断被按下键的位置。GPIO:输入
106、/输出端口基础应用实例三、三、三、三、 键盘接口设计键盘接口设计键盘接口设计键盘接口设计 ZLG7289BZLG7289BZLG7289BZLG7289B是广州周立功单片机是广州周立功单片机是广州周立功单片机是广州周立功单片机发展有限公司自行设计的数码管显发展有限公司自行设计的数码管显发展有限公司自行设计的数码管显发展有限公司自行设计的数码管显示驱动及键盘扫描管理芯片,可直示驱动及键盘扫描管理芯片,可直示驱动及键盘扫描管理芯片,可直示驱动及键盘扫描管理芯片,可直接驱动接驱动接驱动接驱动8 8 8 8位共阴式数码管(或位共阴式数码管(或位共阴式数码管(或位共阴式数码管(或64646464只独只独
107、只独只独立立立立LEDLEDLEDLED),同时还可以扫描管理多达),同时还可以扫描管理多达),同时还可以扫描管理多达),同时还可以扫描管理多达64646464只按键。只按键。只按键。只按键。ZLG7289BZLG7289BZLG7289BZLG7289B内部含有译码内部含有译码内部含有译码内部含有译码器,可直接接收器,可直接接收器,可直接接收器,可直接接收BCDBCDBCDBCD码或码或码或码或16161616进制码,进制码,进制码,进制码,并同时具有两种译码方式。此外,并同时具有两种译码方式。此外,并同时具有两种译码方式。此外,并同时具有两种译码方式。此外,还具有多种控制指令,如消隐、闪还
108、具有多种控制指令,如消隐、闪还具有多种控制指令,如消隐、闪还具有多种控制指令,如消隐、闪烁、左移、右移、段寻址等。烁、左移、右移、段寻址等。烁、左移、右移、段寻址等。烁、左移、右移、段寻址等。 ZLG7289BZLG7289BZLG7289BZLG7289B采用采用采用采用SPISPISPISPI串行总线与微控制串行总线与微控制串行总线与微控制串行总线与微控制器接口,仅占用少数几根器接口,仅占用少数几根器接口,仅占用少数几根器接口,仅占用少数几根I/OI/OI/OI/O口线。口线。口线。口线。利用片选信号,利用片选信号,利用片选信号,利用片选信号,ZLG7289BZLG7289BZLG7289
109、BZLG7289B还可以并还可以并还可以并还可以并接在一起使用,能够方便地实现多接在一起使用,能够方便地实现多接在一起使用,能够方便地实现多接在一起使用,能够方便地实现多于于于于8 8 8 8位的显示或多于位的显示或多于位的显示或多于位的显示或多于64646464只按键的应用。只按键的应用。只按键的应用。只按键的应用。ZLG7289BZLG7289BZLG7289BZLG7289B的引脚如图的引脚如图的引脚如图的引脚如图5.195.195.195.19所示。所示。所示。所示。GPIO:输入/输出端口基础应用实例三、三、三、三、 键盘接口设计键盘接口设计键盘接口设计键盘接口设计本节仅叙述使用本节
110、仅叙述使用本节仅叙述使用本节仅叙述使用ZLG7289BZLG7289BZLG7289BZLG7289B实现键盘扩展,将在实现键盘扩展,将在实现键盘扩展,将在实现键盘扩展,将在5.4.25.4.25.4.25.4.2节介绍如何采节介绍如何采节介绍如何采节介绍如何采用用用用ZLG7289BZLG7289BZLG7289BZLG7289B扩展显示功能。用扩展显示功能。用扩展显示功能。用扩展显示功能。用ZLG7289BZLG7289BZLG7289BZLG7289B扩展扩展扩展扩展44444444键盘的方案如图键盘的方案如图键盘的方案如图键盘的方案如图5.205.205.205.20所所所所示。示。示
111、。示。GPIO:输入/输出端口基础应用实例四、四、四、四、 LEDLED显示接口设计显示接口设计显示接口设计显示接口设计LEDLEDLEDLED(Light Emitting DiodeLight Emitting DiodeLight Emitting DiodeLight Emitting Diode)显示是用发光二极管显示字段的显)显示是用发光二极管显示字段的显)显示是用发光二极管显示字段的显)显示是用发光二极管显示字段的显示器,也称为数码管,其外形结构如图示器,也称为数码管,其外形结构如图示器,也称为数码管,其外形结构如图示器,也称为数码管,其外形结构如图5.215.215.215.2
112、1所示,它由所示,它由所示,它由所示,它由8 8 8 8个发光二极管个发光二极管个发光二极管个发光二极管构成,通过不同的组合可用来显示构成,通过不同的组合可用来显示构成,通过不同的组合可用来显示构成,通过不同的组合可用来显示0 0 0 09 9 9 9、A A A AF F F F及小数点。及小数点。及小数点。及小数点。GPIO:输入/输出端口基础应用实例四、四、四、四、 LEDLED显示接口设计显示接口设计显示接口设计显示接口设计LEDLEDLEDLED显示器一般分为共阴极和共阳极两种,共阴极是将显示器一般分为共阴极和共阳极两种,共阴极是将显示器一般分为共阴极和共阳极两种,共阴极是将显示器一
113、般分为共阴极和共阳极两种,共阴极是将8 8 8 8个发光二极个发光二极个发光二极个发光二极管阴极连接在一起作为公共端,而共阳极则是将管阴极连接在一起作为公共端,而共阳极则是将管阴极连接在一起作为公共端,而共阳极则是将管阴极连接在一起作为公共端,而共阳极则是将8 8 8 8个发光二极管的阳极连个发光二极管的阳极连个发光二极管的阳极连个发光二极管的阳极连接在一起作为公共端。以下叙述都以共阴极为例。数码管的公共端相当接在一起作为公共端。以下叙述都以共阴极为例。数码管的公共端相当接在一起作为公共端。以下叙述都以共阴极为例。数码管的公共端相当接在一起作为公共端。以下叙述都以共阴极为例。数码管的公共端相当
114、于一个位选开关,一般称为位码开关。当该位处于高电平时,数码管全于一个位选开关,一般称为位码开关。当该位处于高电平时,数码管全于一个位选开关,一般称为位码开关。当该位处于高电平时,数码管全于一个位选开关,一般称为位码开关。当该位处于高电平时,数码管全灭;当该位处于低电平时,根据二极管阳极(一般称为段码或字形码)灭;当该位处于低电平时,根据二极管阳极(一般称为段码或字形码)灭;当该位处于低电平时,根据二极管阳极(一般称为段码或字形码)灭;当该位处于低电平时,根据二极管阳极(一般称为段码或字形码)的电平状态,确定段码是否点亮。段码高电平时,该段码亮;段码低电的电平状态,确定段码是否点亮。段码高电平时
115、,该段码亮;段码低电的电平状态,确定段码是否点亮。段码高电平时,该段码亮;段码低电的电平状态,确定段码是否点亮。段码高电平时,该段码亮;段码低电平时,该段码不亮。输出相应的段码值就可以控制平时,该段码不亮。输出相应的段码值就可以控制平时,该段码不亮。输出相应的段码值就可以控制平时,该段码不亮。输出相应的段码值就可以控制LEDLEDLEDLED显示器的字形,表显示器的字形,表显示器的字形,表显示器的字形,表5.55.55.55.5中给出了段码与字形的关系,假定段码中给出了段码与字形的关系,假定段码中给出了段码与字形的关系,假定段码中给出了段码与字形的关系,假定段码a a a a、b b b b、
116、c c c c、d d d d、e e e e、f f f f、g g g g、dpdpdpdp分分分分别对应别对应别对应别对应8 8 8 8位数字位位数字位位数字位位数字位D0D0D0D0、D1D1D1D1、D2D2D2D2、D3D3D3D3、D4D4D4D4、D5D5D5D5、D6D6D6D6、D7D7D7D7。GPIO:输入/输出端口基础应用实例四、四、四、四、 LEDLED显示接口设计显示接口设计显示接口设计显示接口设计GPIO:输入/输出端口基础应用实例四、四、四、四、 LEDLED显示接口设计显示接口设计显示接口设计显示接口设计LEDLEDLEDLED显示接口一般采用静态驱动和动态
117、扫描两种驱动方式。静态驱显示接口一般采用静态驱动和动态扫描两种驱动方式。静态驱显示接口一般采用静态驱动和动态扫描两种驱动方式。静态驱显示接口一般采用静态驱动和动态扫描两种驱动方式。静态驱动方式工作原理是每个动方式工作原理是每个动方式工作原理是每个动方式工作原理是每个LEDLEDLEDLED显示器用一个显示器用一个显示器用一个显示器用一个I/OI/OI/OI/O端口驱动,亮度较高,功耗端口驱动,亮度较高,功耗端口驱动,亮度较高,功耗端口驱动,亮度较高,功耗也较大,占用也较大,占用也较大,占用也较大,占用I/OI/OI/OI/O端口多,显示位数多时很少采用;动态扫描驱动方式端口多,显示位数多时很少
118、采用;动态扫描驱动方式端口多,显示位数多时很少采用;动态扫描驱动方式端口多,显示位数多时很少采用;动态扫描驱动方式工作原理是将多个显示器的段码同名端连接在一起,位码分别控制,利工作原理是将多个显示器的段码同名端连接在一起,位码分别控制,利工作原理是将多个显示器的段码同名端连接在一起,位码分别控制,利工作原理是将多个显示器的段码同名端连接在一起,位码分别控制,利用眼睛的余辉暂留效应实现显示。只要保证一定的显示刷新频率,其显用眼睛的余辉暂留效应实现显示。只要保证一定的显示刷新频率,其显用眼睛的余辉暂留效应实现显示。只要保证一定的显示刷新频率,其显用眼睛的余辉暂留效应实现显示。只要保证一定的显示刷新
119、频率,其显示效果与静态显示相当。在电路上使用一个示效果与静态显示相当。在电路上使用一个示效果与静态显示相当。在电路上使用一个示效果与静态显示相当。在电路上使用一个I/OI/OI/OI/O端口驱动段码,用一个端口驱动段码,用一个端口驱动段码,用一个端口驱动段码,用一个I/OI/OI/OI/O端口实现位码控制,占用端口实现位码控制,占用端口实现位码控制,占用端口实现位码控制,占用I/OI/OI/OI/O端口少,功耗也小,简化了电路,降低端口少,功耗也小,简化了电路,降低端口少,功耗也小,简化了电路,降低端口少,功耗也小,简化了电路,降低了成本,显示位数多时,多采用这种方式。了成本,显示位数多时,多
120、采用这种方式。了成本,显示位数多时,多采用这种方式。了成本,显示位数多时,多采用这种方式。ZLG7289BZLG7289BZLG7289BZLG7289B便是采用的动态扫便是采用的动态扫便是采用的动态扫便是采用的动态扫描驱动方式,图描驱动方式,图描驱动方式,图描驱动方式,图5.225.225.225.22给出了在智能车系统中采用给出了在智能车系统中采用给出了在智能车系统中采用给出了在智能车系统中采用ZLG7289BZLG7289BZLG7289BZLG7289B扩展扩展扩展扩展4 4 4 4位位位位LEDLEDLEDLED显显显显示的方案。示的方案。示的方案。示的方案。GPIO:输入/输出端口
121、基础应用实例四、四、四、四、 LEDLED显示接口设计显示接口设计显示接口设计显示接口设计GPIO:输入/输出端口基础应用实例五、五、五、五、 LCDLCD显示接口设计显示接口设计显示接口设计显示接口设计LCDLCDLCDLCD液晶显示器由于具有体积小、重量轻、电压低、功耗低等特点,液晶显示器由于具有体积小、重量轻、电压低、功耗低等特点,液晶显示器由于具有体积小、重量轻、电压低、功耗低等特点,液晶显示器由于具有体积小、重量轻、电压低、功耗低等特点,在大量便携式产品中得到了广泛的应用。在智能车系统中,在大量便携式产品中得到了广泛的应用。在智能车系统中,在大量便携式产品中得到了广泛的应用。在智能车
122、系统中,在大量便携式产品中得到了广泛的应用。在智能车系统中,LCDLCDLCDLCD显示也显示也显示也显示也提供了比提供了比提供了比提供了比LEDLEDLEDLED显示更为灵活方便的一种显示解决方案。显示更为灵活方便的一种显示解决方案。显示更为灵活方便的一种显示解决方案。显示更为灵活方便的一种显示解决方案。 LCDLCDLCDLCD可分为段位式可分为段位式可分为段位式可分为段位式LCDLCDLCDLCD、字符式、字符式、字符式、字符式LCDLCDLCDLCD和点阵式和点阵式和点阵式和点阵式LCDLCDLCDLCD,其中段位式,其中段位式,其中段位式,其中段位式LCDLCDLCDLCD和字符式和
123、字符式和字符式和字符式LCDLCDLCDLCD只能用于字符和数字的简单显示,不能满足图形、曲线只能用于字符和数字的简单显示,不能满足图形、曲线只能用于字符和数字的简单显示,不能满足图形、曲线只能用于字符和数字的简单显示,不能满足图形、曲线和汉字显示的要求;而点阵式和汉字显示的要求;而点阵式和汉字显示的要求;而点阵式和汉字显示的要求;而点阵式LCDLCDLCDLCD不仅可以显示字符、数字、还可以显不仅可以显示字符、数字、还可以显不仅可以显示字符、数字、还可以显不仅可以显示字符、数字、还可以显示各种图形、曲线以及汉字,并且可以实现屏幕上下左右滚动、动画、示各种图形、曲线以及汉字,并且可以实现屏幕上
124、下左右滚动、动画、示各种图形、曲线以及汉字,并且可以实现屏幕上下左右滚动、动画、示各种图形、曲线以及汉字,并且可以实现屏幕上下左右滚动、动画、分区开窗口、反转、闪烁等多种功能。分区开窗口、反转、闪烁等多种功能。分区开窗口、反转、闪烁等多种功能。分区开窗口、反转、闪烁等多种功能。GPIO:输入/输出端口基础应用实例五、五、五、五、 LCDLCD显示接口设计显示接口设计显示接口设计显示接口设计 本书以本书以本书以本书以YM-0802BYM-0802BYM-0802BYM-0802B系列字符式系列字符式系列字符式系列字符式LCDLCDLCDLCD模块为例,叙述模块为例,叙述模块为例,叙述模块为例,叙
125、述LCDLCDLCDLCD显示在智能车显示在智能车显示在智能车显示在智能车系统中的应用。系统中的应用。系统中的应用。系统中的应用。YM-0802BYM-0802BYM-0802BYM-0802B实物如图实物如图实物如图实物如图5.235.235.235.23所示,是所示,是所示,是所示,是28282828字符式字符式字符式字符式LCDLCDLCDLCD模块模块模块模块(可显示(可显示(可显示(可显示2 2 2 2行,每行行,每行行,每行行,每行8 8 8 8个字符)。个字符)。个字符)。个字符)。GPIO:输入/输出端口基础应用实例五、五、五、五、 LCDLCD显示接口设计显示接口设计显示接口
126、设计显示接口设计 YM-0802BYM-0802BYM-0802BYM-0802B的引脚说明如表的引脚说明如表的引脚说明如表的引脚说明如表5.65.65.65.6所示。所示。所示。所示。GPIO:输入/输出端口基础应用实例五、五、五、五、 LCDLCD显示接口设计显示接口设计显示接口设计显示接口设计 YM-0802BYM-0802BYM-0802BYM-0802B可以工作在全字或半字模式下。在此采用了半字模式,以可以工作在全字或半字模式下。在此采用了半字模式,以可以工作在全字或半字模式下。在此采用了半字模式,以可以工作在全字或半字模式下。在此采用了半字模式,以节省节省节省节省MC9S12DG1
127、28MC9S12DG128MC9S12DG128MC9S12DG128的的的的I/OI/OI/OI/O口线。采用口线。采用口线。采用口线。采用PORAPORAPORAPORA口的高口的高口的高口的高4 4 4 4位作为数据线,与位作为数据线,与位作为数据线,与位作为数据线,与YM-YM-YM-YM-0802B0802B0802B0802B的的的的DB4DB4DB4DB4DB7DB7DB7DB7连接,用连接,用连接,用连接,用PORTBPORTBPORTBPORTB的低的低的低的低3 3 3 3位作为控制线,分别与位作为控制线,分别与位作为控制线,分别与位作为控制线,分别与YM-0802BYM-
128、0802BYM-0802BYM-0802B的的的的RSRSRSRS、R/WR/WR/WR/W、E E E E连接,应用原理图如图连接,应用原理图如图连接,应用原理图如图连接,应用原理图如图5.245.245.245.24所示。所示。所示。所示。YM-0802BYM-0802BYM-0802BYM-0802B详细资料和完整代码请参阅本书网上的资料详细资料和完整代码请参阅本书网上的资料详细资料和完整代码请参阅本书网上的资料详细资料和完整代码请参阅本书网上的资料。 中断系统 P137一、中断源一、中断源 IRQ硬件中断、复位中断、定时器中断、未定硬件中断、复位中断、定时器中断、未定义指令中断、取指中
129、止中断、数据中止中断等义指令中断、取指中止中断、数据中止中断等二、中断源种类二、中断源种类 内部和外部;可屏蔽和不可屏蔽内部和外部;可屏蔽和不可屏蔽三、中断向量表设置三、中断向量表设置四、中断优先级定义四、中断优先级定义五、中断过程五、中断过程 请求、响应、服务、返回请求、响应、服务、返回2024/7/2489Embedded System一、复位模式一、复位模式 上电复位上电复位 硬件硬件/手动手动/外部复位外部复位 软件复位软件复位 看门狗复位看门狗复位 电压电压/时钟监控复位时钟监控复位 其它其它二、实现方式二、实现方式复位电路p138阻容复位电路、专用复位芯片阻容复位电路、专用复位芯片
130、电源引脚的电平变化导致电源引脚的电平变化导致RESET引脚中断引脚中断手动开关闭合导致手动开关闭合导致RESET引脚中断引脚中断用户设置的用户设置的WDT发出复位中断请求发出复位中断请求1.通过软件设置控制标志位实现;通过软件设置控制标志位实现;2.不会初始化硬件寄存器;不会初始化硬件寄存器;SCI、SPI、ADC监控部件发出复位中断请求监控部件发出复位中断请求2024/7/2490Embedded System中断:中断系统概述 尽管单片机或者微控制器中的中断系统各尽管单片机或者微控制器中的中断系统各尽管单片机或者微控制器中的中断系统各尽管单片机或者微控制器中的中断系统各不相同,但中断系统的
131、基本功能是相同的:不相同,但中断系统的基本功能是相同的:不相同,但中断系统的基本功能是相同的:不相同,但中断系统的基本功能是相同的:n n 能实现中断响应、中断处理(服务)、中断返回能实现中断响应、中断处理(服务)、中断返回能实现中断响应、中断处理(服务)、中断返回能实现中断响应、中断处理(服务)、中断返回和中断屏蔽;和中断屏蔽;和中断屏蔽;和中断屏蔽;n n 能实现中断优先级排队(管理);能实现中断优先级排队(管理);能实现中断优先级排队(管理);能实现中断优先级排队(管理);n n 能实现中断嵌套。能实现中断嵌套。能实现中断嵌套。能实现中断嵌套。 中断:中断系统概述S12S12系列单片机的
132、中断属于异常情况处理的一部分,异常情况处系列单片机的中断属于异常情况处理的一部分,异常情况处系列单片机的中断属于异常情况处理的一部分,异常情况处系列单片机的中断属于异常情况处理的一部分,异常情况处理还包括复位,所以本章除论述了理还包括复位,所以本章除论述了理还包括复位,所以本章除论述了理还包括复位,所以本章除论述了S12S12系列单片机的中断系统,也简系列单片机的中断系统,也简系列单片机的中断系统,也简系列单片机的中断系统,也简要介绍了要介绍了要介绍了要介绍了S12S12系列单片机的几种复位情况。正常情况下,单片机有序系列单片机的几种复位情况。正常情况下,单片机有序系列单片机的几种复位情况。正
133、常情况下,单片机有序系列单片机的几种复位情况。正常情况下,单片机有序的执行相应程序,按照明确的获取的执行相应程序,按照明确的获取的执行相应程序,按照明确的获取的执行相应程序,按照明确的获取- -解码解码解码解码- -执行的方式顺序处理各种指执行的方式顺序处理各种指执行的方式顺序处理各种指执行的方式顺序处理各种指令。程序计数器记录了下一条程序指令位于内存中的位置,即使当程令。程序计数器记录了下一条程序指令位于内存中的位置,即使当程令。程序计数器记录了下一条程序指令位于内存中的位置,即使当程令。程序计数器记录了下一条程序指令位于内存中的位置,即使当程序为了相应分支或跳转指令而偏离了正常的顺序处理,
134、但仍然是在顺序为了相应分支或跳转指令而偏离了正常的顺序处理,但仍然是在顺序为了相应分支或跳转指令而偏离了正常的顺序处理,但仍然是在顺序为了相应分支或跳转指令而偏离了正常的顺序处理,但仍然是在顺序事件处理的控制范围之内。可能发生的异常情况会打破这种事件处序事件处理的控制范围之内。可能发生的异常情况会打破这种事件处序事件处理的控制范围之内。可能发生的异常情况会打破这种事件处序事件处理的控制范围之内。可能发生的异常情况会打破这种事件处理的顺序流,将一个正常程序流的中断归为一个异常情况,异常情况理的顺序流,将一个正常程序流的中断归为一个异常情况,异常情况理的顺序流,将一个正常程序流的中断归为一个异常情
135、况,异常情况理的顺序流,将一个正常程序流的中断归为一个异常情况,异常情况不一定总是和错误相关联的,中断是在一个处理器上运行多个系统的不一定总是和错误相关联的,中断是在一个处理器上运行多个系统的不一定总是和错误相关联的,中断是在一个处理器上运行多个系统的不一定总是和错误相关联的,中断是在一个处理器上运行多个系统的有效方法。通过上面的论述可以知道,有效方法。通过上面的论述可以知道,有效方法。通过上面的论述可以知道,有效方法。通过上面的论述可以知道,S12S12程序运行时可能发生的异程序运行时可能发生的异程序运行时可能发生的异程序运行时可能发生的异常可分为两类:复位和中断,而中断又进一步分为可屏蔽中
136、断和不可常可分为两类:复位和中断,而中断又进一步分为可屏蔽中断和不可常可分为两类:复位和中断,而中断又进一步分为可屏蔽中断和不可常可分为两类:复位和中断,而中断又进一步分为可屏蔽中断和不可屏蔽中断。屏蔽中断。屏蔽中断。屏蔽中断。S12S12系列单片机的异常分类如图系列单片机的异常分类如图系列单片机的异常分类如图系列单片机的异常分类如图6.16.1所示。所示。所示。所示。中断:中断系统概述 中断:中断系统概述一、一、一、一、 S12S12单片机的复位单片机的复位单片机的复位单片机的复位 S12S12系列单片机共有四种事件可以触发系统复位。系列单片机共有四种事件可以触发系统复位。系列单片机共有四种
137、事件可以触发系统复位。系列单片机共有四种事件可以触发系统复位。(1 1)外部复位)外部复位)外部复位)外部复位 S12S12配备一个标记为配备一个标记为配备一个标记为配备一个标记为RESETRESET的低电平有效的低电平有效的低电平有效的低电平有效复位引脚,当该引脚电压为低电平时,触发复位。复位引脚,当该引脚电压为低电平时,触发复位。复位引脚,当该引脚电压为低电平时,触发复位。复位引脚,当该引脚电压为低电平时,触发复位。(2 2)上电复位)上电复位)上电复位)上电复位 在在在在S12S12的的的的VDDVDD引脚上的一个正向变化将触引脚上的一个正向变化将触引脚上的一个正向变化将触引脚上的一个正
138、向变化将触发上电复位,这意味着当给发上电复位,这意味着当给发上电复位,这意味着当给发上电复位,这意味着当给S12S12上电时,它以一个上电时,它以一个上电时,它以一个上电时,它以一个已知的、确定的设置启动。已知的、确定的设置启动。已知的、确定的设置启动。已知的、确定的设置启动。中断:中断系统概述一、一、一、一、 S12S12单片机的复位单片机的复位单片机的复位单片机的复位 (3 3)计算机工作正常()计算机工作正常()计算机工作正常()计算机工作正常(COPCOP)复位)复位)复位)复位 COPCOP系统允许系统允许系统允许系统允许S12S12检测软件运行故障,通常检测软件运行故障,通常检测软
139、件运行故障,通常检测软件运行故障,通常COPCOP在软件开发过在软件开发过在软件开发过在软件开发过程中是关闭的。但是,一旦某个基于程中是关闭的。但是,一旦某个基于程中是关闭的。但是,一旦某个基于程中是关闭的。但是,一旦某个基于S12S12的系统完全运行后,这是一项的系统完全运行后,这是一项的系统完全运行后,这是一项的系统完全运行后,这是一项重要的安全保障功能之一。重要的安全保障功能之一。重要的安全保障功能之一。重要的安全保障功能之一。COPCOP系统包含一个用户设置的倒计数定时器,系统包含一个用户设置的倒计数定时器,系统包含一个用户设置的倒计数定时器,系统包含一个用户设置的倒计数定时器,一旦定
140、时器过期,则触发一个系统复位。为了防止定时器过期,执行的一旦定时器过期,则触发一个系统复位。为了防止定时器过期,执行的一旦定时器过期,则触发一个系统复位。为了防止定时器过期,执行的一旦定时器过期,则触发一个系统复位。为了防止定时器过期,执行的程序必须在倒计数定时器失效之前,向程序必须在倒计数定时器失效之前,向程序必须在倒计数定时器失效之前,向程序必须在倒计数定时器失效之前,向ARM/RESET COPARM/RESET COP定时器寄存定时器寄存定时器寄存定时器寄存器(器(器(器(COPRSTCOPRST)中写入)中写入)中写入)中写入$55$55和和和和$AA$AA。若某个程序陷入一个死循环
141、,它。若某个程序陷入一个死循环,它。若某个程序陷入一个死循环,它。若某个程序陷入一个死循环,它将不能发送上述必须的信息,因此将产生将不能发送上述必须的信息,因此将产生将不能发送上述必须的信息,因此将产生将不能发送上述必须的信息,因此将产生COPCOP复位。为了有效地实现这复位。为了有效地实现这复位。为了有效地实现这复位。为了有效地实现这个功能,向个功能,向个功能,向个功能,向COPRSTCOPRST寄存器中写入寄存器中写入寄存器中写入寄存器中写入$55$55的代码应该有策略的分布在程序的代码应该有策略的分布在程序的代码应该有策略的分布在程序的代码应该有策略的分布在程序的重要部分,写入的重要部分
142、,写入的重要部分,写入的重要部分,写入$AA$AA的代码则可以放在程序的其他部分。这样,一的代码则可以放在程序的其他部分。这样,一的代码则可以放在程序的其他部分。这样,一的代码则可以放在程序的其他部分。这样,一旦微控制器在某代码处运行失效,将不会产生需要的代码序列(旦微控制器在某代码处运行失效,将不会产生需要的代码序列(旦微控制器在某代码处运行失效,将不会产生需要的代码序列(旦微控制器在某代码处运行失效,将不会产生需要的代码序列($55$55或或或或$AA$AA),这样就会触发),这样就会触发),这样就会触发),这样就会触发COPCOP复位。可以在程序设计中设置多对复位。可以在程序设计中设置多
143、对复位。可以在程序设计中设置多对复位。可以在程序设计中设置多对$55$55和和和和$AA$AA,实现错误恢复功能。,实现错误恢复功能。,实现错误恢复功能。,实现错误恢复功能。中断:中断系统概述一、一、一、一、 S12S12单片机的复位单片机的复位单片机的复位单片机的复位 (4 4)时钟监控复位)时钟监控复位)时钟监控复位)时钟监控复位 当系统时钟频率低于某个预设置值或停止当系统时钟频率低于某个预设置值或停止当系统时钟频率低于某个预设置值或停止当系统时钟频率低于某个预设置值或停止工作时,将触发时钟监控复位。工作时,将触发时钟监控复位。工作时,将触发时钟监控复位。工作时,将触发时钟监控复位。 当上
144、述事件触发复位时,当上述事件触发复位时,当上述事件触发复位时,当上述事件触发复位时,S12S12单片机在程单片机在程单片机在程单片机在程序计数器中放置一个复位向量,处理器执行启动例序计数器中放置一个复位向量,处理器执行启动例序计数器中放置一个复位向量,处理器执行启动例序计数器中放置一个复位向量,处理器执行启动例程。程。程。程。COPCOP复位和时钟监控复位具有各自的复位向量。复位和时钟监控复位具有各自的复位向量。复位和时钟监控复位具有各自的复位向量。复位和时钟监控复位具有各自的复位向量。中断:中断系统概述二、二、二、二、 S12S12单片机的中断单片机的中断单片机的中断单片机的中断 S12S1
145、2系列单片机的中断分为可屏蔽中断和不可屏蔽中断。系列单片机的中断分为可屏蔽中断和不可屏蔽中断。系列单片机的中断分为可屏蔽中断和不可屏蔽中断。系列单片机的中断分为可屏蔽中断和不可屏蔽中断。S12S12的的的的编程模型中有一个条件代码寄存器,如图编程模型中有一个条件代码寄存器,如图编程模型中有一个条件代码寄存器,如图编程模型中有一个条件代码寄存器,如图6.26.2所示,其中的所示,其中的所示,其中的所示,其中的X X位和位和位和位和I I位与位与位与位与中断相关,中断相关,中断相关,中断相关,X X位是不可屏蔽中断的屏蔽位,置为位是不可屏蔽中断的屏蔽位,置为位是不可屏蔽中断的屏蔽位,置为位是不可屏
146、蔽中断的屏蔽位,置为“ “1”1”则不可屏蔽中断则不可屏蔽中断则不可屏蔽中断则不可屏蔽中断被关闭,置为被关闭,置为被关闭,置为被关闭,置为“ “0”0”则允许不可屏蔽中断;则允许不可屏蔽中断;则允许不可屏蔽中断;则允许不可屏蔽中断;I I位是可屏蔽中断的屏蔽位,位是可屏蔽中断的屏蔽位,位是可屏蔽中断的屏蔽位,位是可屏蔽中断的屏蔽位,置为置为置为置为“ “1” 1” 则可屏蔽中断被关闭,置为则可屏蔽中断被关闭,置为则可屏蔽中断被关闭,置为则可屏蔽中断被关闭,置为“ “0”0”则允许可屏蔽中断。在系则允许可屏蔽中断。在系则允许可屏蔽中断。在系则允许可屏蔽中断。在系统复位时,这些中断屏蔽位默认为统复
147、位时,这些中断屏蔽位默认为统复位时,这些中断屏蔽位默认为统复位时,这些中断屏蔽位默认为“ “1”1”,所以单片机复位后,不可屏,所以单片机复位后,不可屏,所以单片机复位后,不可屏,所以单片机复位后,不可屏蔽中断和可屏蔽中断都处于关闭状态。蔽中断和可屏蔽中断都处于关闭状态。蔽中断和可屏蔽中断都处于关闭状态。蔽中断和可屏蔽中断都处于关闭状态。中断:中断系统概述二、二、二、二、 S12 S12单片机的中断单片机的中断单片机的中断单片机的中断 1 1不可屏蔽中断不可屏蔽中断不可屏蔽中断不可屏蔽中断 不可屏蔽中断包括软件中断、非法指令陷阱和不可屏蔽中断包括软件中断、非法指令陷阱和不可屏蔽中断包括软件中断
148、、非法指令陷阱和不可屏蔽中断包括软件中断、非法指令陷阱和 XIRQXIRQ中断,下面中断,下面中断,下面中断,下面简要介绍常用的几个不可屏蔽中断。简要介绍常用的几个不可屏蔽中断。简要介绍常用的几个不可屏蔽中断。简要介绍常用的几个不可屏蔽中断。 (1 1)软件中断)软件中断)软件中断)软件中断 SWISWI实质上是一条指令,但其执行过程与中断相同,即通过中实质上是一条指令,但其执行过程与中断相同,即通过中实质上是一条指令,但其执行过程与中断相同,即通过中实质上是一条指令,但其执行过程与中断相同,即通过中断矢量确定目标地址,中断矢量为断矢量确定目标地址,中断矢量为断矢量确定目标地址,中断矢量为断矢
149、量确定目标地址,中断矢量为$FFF6$FFF6$FFF7$FFF7,它自动保存,它自动保存,它自动保存,它自动保存MCUMCU的的的的寄存器和返回地址,最后必须通过寄存器和返回地址,最后必须通过寄存器和返回地址,最后必须通过寄存器和返回地址,最后必须通过RTIRTI指令返回。指令返回。指令返回。指令返回。 (2 2)非法指令陷阱)非法指令陷阱)非法指令陷阱)非法指令陷阱 MCUMCU正常工作时,每次获得的都是由汇编或编译程序生成的有正常工作时,每次获得的都是由汇编或编译程序生成的有正常工作时,每次获得的都是由汇编或编译程序生成的有正常工作时,每次获得的都是由汇编或编译程序生成的有效操作码,效操
150、作码,效操作码,效操作码,MCUMCU能够正确解释并执行它们,但当受到干扰或系统出现混能够正确解释并执行它们,但当受到干扰或系统出现混能够正确解释并执行它们,但当受到干扰或系统出现混能够正确解释并执行它们,但当受到干扰或系统出现混乱时,可能得到无法识别的操作码,即非法指令,这时乱时,可能得到无法识别的操作码,即非法指令,这时乱时,可能得到无法识别的操作码,即非法指令,这时乱时,可能得到无法识别的操作码,即非法指令,这时MCUMCU自动产生一自动产生一自动产生一自动产生一次中断,中断矢量地址为次中断,中断矢量地址为次中断,中断矢量地址为次中断,中断矢量地址为$FFF8$FFF8$FFF9$FFF
151、9。中断:中断系统概述二、二、二、二、 S12S12单片机的中断单片机的中断单片机的中断单片机的中断 1 1不可屏蔽中断不可屏蔽中断不可屏蔽中断不可屏蔽中断 (3 3)XIRQ XIRQ XIRQ XIRQ是非屏蔽中断引脚,无论是非屏蔽中断引脚,无论是非屏蔽中断引脚,无论是非屏蔽中断引脚,无论MCUMCU处于哪处于哪处于哪处于哪种运行状态,该引脚一旦被拉成低电平,种运行状态,该引脚一旦被拉成低电平,种运行状态,该引脚一旦被拉成低电平,种运行状态,该引脚一旦被拉成低电平,MCUMCU执行执行执行执行完当前指令后,都会响应该中断,中断矢量为完当前指令后,都会响应该中断,中断矢量为完当前指令后,都会
152、响应该中断,中断矢量为完当前指令后,都会响应该中断,中断矢量为$FFF4$FFF4$FFF5$FFF5。该中断一般用于系统掉电检测、。该中断一般用于系统掉电检测、。该中断一般用于系统掉电检测、。该中断一般用于系统掉电检测、硬件故障等重要事件处理,当硬件故障等重要事件处理,当硬件故障等重要事件处理,当硬件故障等重要事件处理,当MCUMCU处于等待或暂停处于等待或暂停处于等待或暂停处于等待或暂停模式时,该中断将唤醒模式时,该中断将唤醒模式时,该中断将唤醒模式时,该中断将唤醒MCUMCU。中断:中断系统概述二、二、二、二、 S12S12单片机的中断单片机的中断单片机的中断单片机的中断 2 2可屏蔽中
153、断可屏蔽中断可屏蔽中断可屏蔽中断 可屏蔽中断可以在程序控制下由用户开启或者关闭。可屏蔽中断可以在程序控制下由用户开启或者关闭。可屏蔽中断可以在程序控制下由用户开启或者关闭。可屏蔽中断可以在程序控制下由用户开启或者关闭。可屏蔽中断的开关是条件代码寄存器(可屏蔽中断的开关是条件代码寄存器(可屏蔽中断的开关是条件代码寄存器(可屏蔽中断的开关是条件代码寄存器(CCRCCR)中的)中的)中的)中的I I位。通位。通位。通位。通过清除过清除过清除过清除I I可以开启可屏蔽中断。可以开启可屏蔽中断。可以开启可屏蔽中断。可以开启可屏蔽中断。S12S12系列单片机中的可屏蔽系列单片机中的可屏蔽系列单片机中的可屏
154、蔽系列单片机中的可屏蔽中断数量非常多,这里仅对中断数量非常多,这里仅对中断数量非常多,这里仅对中断数量非常多,这里仅对 做简要介绍,其他的可屏蔽中断做简要介绍,其他的可屏蔽中断做简要介绍,其他的可屏蔽中断做简要介绍,其他的可屏蔽中断可参见相关功能模块的可参见相关功能模块的可参见相关功能模块的可参见相关功能模块的章节。章节。章节。章节。 S12S12系列单片机配备一个标记为系列单片机配备一个标记为系列单片机配备一个标记为系列单片机配备一个标记为 的外部引脚,当该的外部引脚,当该的外部引脚,当该的外部引脚,当该引脚出现低电平或者电平下降沿时,则会产生中断请求,这引脚出现低电平或者电平下降沿时,则会
155、产生中断请求,这引脚出现低电平或者电平下降沿时,则会产生中断请求,这引脚出现低电平或者电平下降沿时,则会产生中断请求,这也是也是也是也是S12S12单片机接受外部事件中断的主要手段。有一个中断单片机接受外部事件中断的主要手段。有一个中断单片机接受外部事件中断的主要手段。有一个中断单片机接受外部事件中断的主要手段。有一个中断控制寄存器(控制寄存器(控制寄存器(控制寄存器(INTCRINTCR)和)和)和)和 的设置相关,如图的设置相关,如图的设置相关,如图的设置相关,如图6.36.3所示。所示。所示。所示。中断:中断系统概述二、二、二、二、 S12S12单片机的中断单片机的中断单片机的中断单片机
156、的中断 通过该寄存器中的通过该寄存器中的通过该寄存器中的通过该寄存器中的IRQEIRQE位和位和位和位和IRQENIRQEN位对位对位对位对IRQIRQ中断进行设置。中断进行设置。中断进行设置。中断进行设置。IRQEIRQE:中断电平:中断电平:中断电平:中断电平/ /边沿有效选择:边沿有效选择:边沿有效选择:边沿有效选择: 0 0表示表示表示表示IRQIRQ引脚配置为低电平有效;引脚配置为低电平有效;引脚配置为低电平有效;引脚配置为低电平有效; 1 1表示表示表示表示IRQIRQ引脚配置为下降沿有效。引脚配置为下降沿有效。引脚配置为下降沿有效。引脚配置为下降沿有效。IRQENIRQEN:外部
157、:外部:外部:外部IRQIRQ中断请求使能:中断请求使能:中断请求使能:中断请求使能: 0 0表示表示表示表示IRQIRQ中断关闭;中断关闭;中断关闭;中断关闭; 1 1表示表示表示表示IRQIRQ中断允许。中断允许。中断允许。中断允许。中断:中断系统概述二、二、二、二、 S12S12单片机的中断单片机的中断单片机的中断单片机的中断 3 3中断堆栈操作顺序中断堆栈操作顺序中断堆栈操作顺序中断堆栈操作顺序 因为中断响应过程中,会有隐含的堆栈操作,因为中断响应过程中,会有隐含的堆栈操作,因为中断响应过程中,会有隐含的堆栈操作,因为中断响应过程中,会有隐含的堆栈操作,所以中断响应前,堆栈必须有效,即
158、堆栈指针所以中断响应前,堆栈必须有效,即堆栈指针所以中断响应前,堆栈必须有效,即堆栈指针所以中断响应前,堆栈必须有效,即堆栈指针SPSP必必必必须指向一个有效的须指向一个有效的须指向一个有效的须指向一个有效的RAMRAM区,而且堆栈的大小必须不区,而且堆栈的大小必须不区,而且堆栈的大小必须不区,而且堆栈的大小必须不少于少于少于少于9 9个字节。中断响应堆栈操作如表个字节。中断响应堆栈操作如表个字节。中断响应堆栈操作如表个字节。中断响应堆栈操作如表6.16.1所示。所示。所示。所示。中断: S12中断优先级 S12S12与多个中断源相连,所以在同一时刻可能会有两个或两个以上与多个中断源相连,所以
159、在同一时刻可能会有两个或两个以上与多个中断源相连,所以在同一时刻可能会有两个或两个以上与多个中断源相连,所以在同一时刻可能会有两个或两个以上的中断源同时请求中断,这就要求必须根据任务的轻重缓急给每个中断的中断源同时请求中断,这就要求必须根据任务的轻重缓急给每个中断的中断源同时请求中断,这就要求必须根据任务的轻重缓急给每个中断的中断源同时请求中断,这就要求必须根据任务的轻重缓急给每个中断源分配不同的中断优先级。当两个或两个以上中断源同时发生时,优先源分配不同的中断优先级。当两个或两个以上中断源同时发生时,优先源分配不同的中断优先级。当两个或两个以上中断源同时发生时,优先源分配不同的中断优先级。当
160、两个或两个以上中断源同时发生时,优先级高的中断将先被处理。一般来说,不可屏蔽中断的优先级高于可屏蔽级高的中断将先被处理。一般来说,不可屏蔽中断的优先级高于可屏蔽级高的中断将先被处理。一般来说,不可屏蔽中断的优先级高于可屏蔽级高的中断将先被处理。一般来说,不可屏蔽中断的优先级高于可屏蔽中断的优先级。复位以及不可屏蔽中断的优先级从高到低依次为:中断的优先级。复位以及不可屏蔽中断的优先级从高到低依次为:中断的优先级。复位以及不可屏蔽中断的优先级从高到低依次为:中断的优先级。复位以及不可屏蔽中断的优先级从高到低依次为:中断: S12中断优先级中断: S12中断优先级中断: S12中断优先级 表表表表6
161、.26.2中的最后一列表示最高优先级中断设定寄存器(中的最后一列表示最高优先级中断设定寄存器(中的最后一列表示最高优先级中断设定寄存器(中的最后一列表示最高优先级中断设定寄存器(HPRIOHPRIO)中)中)中)中可以设置的数值,通过设置该寄存器,可以将某个可屏蔽中断的优先级可以设置的数值,通过设置该寄存器,可以将某个可屏蔽中断的优先级可以设置的数值,通过设置该寄存器,可以将某个可屏蔽中断的优先级可以设置的数值,通过设置该寄存器,可以将某个可屏蔽中断的优先级“ “推进推进推进推进” ”为可屏蔽中断中的最高优先级中断。最高优先级中断设定寄存为可屏蔽中断中的最高优先级中断。最高优先级中断设定寄存为
162、可屏蔽中断中的最高优先级中断。最高优先级中断设定寄存为可屏蔽中断中的最高优先级中断。最高优先级中断设定寄存器(器(器(器(INTCRINTCR)如图)如图)如图)如图6.46.4所示。所示。所示。所示。 复位后该寄存器默认值为复位后该寄存器默认值为复位后该寄存器默认值为复位后该寄存器默认值为$F2$F2,表示,表示,表示,表示IRQIRQ($FFF2$FFF2,$FFF3$FFF3)中断)中断)中断)中断在可屏蔽中断中的优先级最高在可屏蔽中断中的优先级最高在可屏蔽中断中的优先级最高在可屏蔽中断中的优先级最高。中断: S12中断优先级 需要注意的是,通过需要注意的是,通过需要注意的是,通过需要注
163、意的是,通过HPRIOHPRIO设定的优先级并不设定的优先级并不设定的优先级并不设定的优先级并不表示当出现中断嵌套时,高优先级中断可以中止低表示当出现中断嵌套时,高优先级中断可以中止低表示当出现中断嵌套时,高优先级中断可以中止低表示当出现中断嵌套时,高优先级中断可以中止低优先级中断的服务程序执行,而转向高优先级中断优先级中断的服务程序执行,而转向高优先级中断优先级中断的服务程序执行,而转向高优先级中断优先级中断的服务程序执行,而转向高优先级中断的服务程序运行。这里高优先级作用只有当多个中的服务程序运行。这里高优先级作用只有当多个中的服务程序运行。这里高优先级作用只有当多个中的服务程序运行。这里
164、高优先级作用只有当多个中断源同时请求中断时才能体现,这时断源同时请求中断时才能体现,这时断源同时请求中断时才能体现,这时断源同时请求中断时才能体现,这时S12S12单片机将单片机将单片机将单片机将首先响应高优先级的中断,低优先级的中断不会得首先响应高优先级的中断,低优先级的中断不会得首先响应高优先级的中断,低优先级的中断不会得首先响应高优先级的中断,低优先级的中断不会得到响应。到响应。到响应。到响应。中断: S12中断优先级 S12S12单片机默认的中断处理机制如图单片机默认的中断处理机制如图单片机默认的中断处理机制如图单片机默认的中断处理机制如图6.56.5所示。从图中可以看到,所示。从图中
165、可以看到,所示。从图中可以看到,所示。从图中可以看到,S12S12单片机默认状态下在进入中断服务程序时,单片机默认状态下在进入中断服务程序时,单片机默认状态下在进入中断服务程序时,单片机默认状态下在进入中断服务程序时,I I位自动置位自动置位自动置位自动置1 1,所以禁止,所以禁止,所以禁止,所以禁止其他可屏蔽中断,尽管在处理中断其他可屏蔽中断,尽管在处理中断其他可屏蔽中断,尽管在处理中断其他可屏蔽中断,尽管在处理中断A A的服务程序过程中又来了更高级别的服务程序过程中又来了更高级别的服务程序过程中又来了更高级别的服务程序过程中又来了更高级别的中断的中断的中断的中断B B的中断请求,单片机也无
166、法及时处理,必须等待当前中断服务程的中断请求,单片机也无法及时处理,必须等待当前中断服务程的中断请求,单片机也无法及时处理,必须等待当前中断服务程的中断请求,单片机也无法及时处理,必须等待当前中断服务程序执行完以后才能响应。序执行完以后才能响应。序执行完以后才能响应。序执行完以后才能响应。中断: S12中断优先级 如果希望在如果希望在如果希望在如果希望在S12S12单片机中实现中断嵌套,一个比较简单的方法是进单片机中实现中断嵌套,一个比较简单的方法是进单片机中实现中断嵌套,一个比较简单的方法是进单片机中实现中断嵌套,一个比较简单的方法是进入中断服务程序时,将可屏蔽中断屏蔽位入中断服务程序时,将
167、可屏蔽中断屏蔽位入中断服务程序时,将可屏蔽中断屏蔽位入中断服务程序时,将可屏蔽中断屏蔽位I I清零。这样可以实现如图清零。这样可以实现如图清零。这样可以实现如图清零。这样可以实现如图6.66.6所示的中断嵌套。所示的中断嵌套。所示的中断嵌套。所示的中断嵌套。中断: S12中断优先级 从图从图从图从图6.66.6中可以看到,这样简单的处理也可能会带来问题,就是低优中可以看到,这样简单的处理也可能会带来问题,就是低优中可以看到,这样简单的处理也可能会带来问题,就是低优中可以看到,这样简单的处理也可能会带来问题,就是低优先级的中断请求会使得高优先级中断服务程序挂起。因为在中断先级的中断请求会使得高优
168、先级中断服务程序挂起。因为在中断先级的中断请求会使得高优先级中断服务程序挂起。因为在中断先级的中断请求会使得高优先级中断服务程序挂起。因为在中断B B的服务的服务的服务的服务程序中清除可屏蔽中断屏蔽位程序中清除可屏蔽中断屏蔽位程序中清除可屏蔽中断屏蔽位程序中清除可屏蔽中断屏蔽位I I,所以此时任何可屏蔽中断请求都可以得,所以此时任何可屏蔽中断请求都可以得,所以此时任何可屏蔽中断请求都可以得,所以此时任何可屏蔽中断请求都可以得到处理,出现了低优先级的中断到处理,出现了低优先级的中断到处理,出现了低优先级的中断到处理,出现了低优先级的中断A A打断高优先级打断高优先级打断高优先级打断高优先级B B
169、中断服务程序的情况。中断服务程序的情况。中断服务程序的情况。中断服务程序的情况。为了解决这个问题,可以只在中断为了解决这个问题,可以只在中断为了解决这个问题,可以只在中断为了解决这个问题,可以只在中断A A的服务程序中清除可屏蔽中断屏蔽的服务程序中清除可屏蔽中断屏蔽的服务程序中清除可屏蔽中断屏蔽的服务程序中清除可屏蔽中断屏蔽位位位位I I,而在中断,而在中断,而在中断,而在中断B B的服务程序中不做处理,这样就可以得到如图的服务程序中不做处理,这样就可以得到如图的服务程序中不做处理,这样就可以得到如图的服务程序中不做处理,这样就可以得到如图6.76.7所示所示所示所示的中断处理机制,这样只有高
170、优先级的中断请求可以打断低优先级中断的中断处理机制,这样只有高优先级的中断请求可以打断低优先级中断的中断处理机制,这样只有高优先级的中断请求可以打断低优先级中断的中断处理机制,这样只有高优先级的中断请求可以打断低优先级中断的服务程序。的服务程序。的服务程序。的服务程序。中断: S12中断程序设计实例 本实例硬件连接如图本实例硬件连接如图本实例硬件连接如图本实例硬件连接如图6.86.8所示,所示,所示,所示,PORTAPORTA端口连接端口连接端口连接端口连接1 1个个个个8 8位拨码开关,位拨码开关,位拨码开关,位拨码开关,PORTBPORTB端口连接端口连接端口连接端口连接8 8只只只只LE
171、DLED,单片机,单片机,单片机,单片机IRQ IRQ 引脚外接一个按键,按键按下为引脚外接一个按键,按键按下为引脚外接一个按键,按键按下为引脚外接一个按键,按键按下为低电平。要求编程实现利用低电平。要求编程实现利用低电平。要求编程实现利用低电平。要求编程实现利用 IRQ IRQ 作为中断源,采用中断方式,利用作为中断源,采用中断方式,利用作为中断源,采用中断方式,利用作为中断源,采用中断方式,利用8 8位位位位拨码开关控制拨码开关控制拨码开关控制拨码开关控制8 8只只只只LEDLED灯的循环点亮速度,拨码开关的不同状态设置代表灯的循环点亮速度,拨码开关的不同状态设置代表灯的循环点亮速度,拨码
172、开关的不同状态设置代表灯的循环点亮速度,拨码开关的不同状态设置代表灯循环点亮时点亮速度值的设定。灯循环点亮时点亮速度值的设定。灯循环点亮时点亮速度值的设定。灯循环点亮时点亮速度值的设定。中断: S12中断程序设计实例 本实例中关于流水灯的实现已经在第本实例中关于流水灯的实现已经在第本实例中关于流水灯的实现已经在第本实例中关于流水灯的实现已经在第5 5章中介绍过,本章着重介绍中断服务章中介绍过,本章着重介绍中断服务章中介绍过,本章着重介绍中断服务章中介绍过,本章着重介绍中断服务程序的编写。中断服务程序可以有两种编写方式,一种是利用中断编号关联中断程序的编写。中断服务程序可以有两种编写方式,一种是
173、利用中断编号关联中断程序的编写。中断服务程序可以有两种编写方式,一种是利用中断编号关联中断程序的编写。中断服务程序可以有两种编写方式,一种是利用中断编号关联中断服务程序;另外一种是通过在服务程序;另外一种是通过在服务程序;另外一种是通过在服务程序;另外一种是通过在.prm.prm文件中的声明关联中断服务程序。首先介绍文件中的声明关联中断服务程序。首先介绍文件中的声明关联中断服务程序。首先介绍文件中的声明关联中断服务程序。首先介绍利用中断编号编写中断服务程序。从表利用中断编号编写中断服务程序。从表利用中断编号编写中断服务程序。从表利用中断编号编写中断服务程序。从表6.26.2中可以看到,中断向量
174、表依次自上而中可以看到,中断向量表依次自上而中可以看到,中断向量表依次自上而中可以看到,中断向量表依次自上而下从下从下从下从0 0开始编号,开始编号,开始编号,开始编号,IRQIRQ中断在表格中是第中断在表格中是第中断在表格中是第中断在表格中是第7 7个,所以编号为个,所以编号为个,所以编号为个,所以编号为6 6,下面是部分实例程,下面是部分实例程,下面是部分实例程,下面是部分实例程序代码。序代码。序代码。序代码。中断: S12中断程序设计实例中断: S12中断程序设计实例中断: S12中断程序设计实例中断: S12中断程序设计实例 还有另外一种方法实现中断服务程序的编写,这里以还有另外一种方
175、法实现中断服务程序的编写,这里以还有另外一种方法实现中断服务程序的编写,这里以还有另外一种方法实现中断服务程序的编写,这里以CodeWarriorCodeWarrior为开发工具介绍。在为开发工具介绍。在为开发工具介绍。在为开发工具介绍。在CodeWarriorCodeWarrior工程中,可以找到扩展名是工程中,可以找到扩展名是工程中,可以找到扩展名是工程中,可以找到扩展名是.prm.prm的文的文的文的文件,在这个文件下定义中断向量和中断服务程序的名称,这样在编写中件,在这个文件下定义中断向量和中断服务程序的名称,这样在编写中件,在这个文件下定义中断向量和中断服务程序的名称,这样在编写中件
176、,在这个文件下定义中断向量和中断服务程序的名称,这样在编写中断服务程序时,就不用写编号了。因为其他部分的程序实现方式和上面断服务程序时,就不用写编号了。因为其他部分的程序实现方式和上面断服务程序时,就不用写编号了。因为其他部分的程序实现方式和上面断服务程序时,就不用写编号了。因为其他部分的程序实现方式和上面一样,此处只介绍中断服务程序的设计。一样,此处只介绍中断服务程序的设计。一样,此处只介绍中断服务程序的设计。一样,此处只介绍中断服务程序的设计。PWM:Pulse Width Modulate PWM信号是一种占空比可调的信号是一种占空比可调的脉冲信号;脉冲信号; 可用于控制直流电机的转速或
177、者可用于控制直流电机的转速或者伺服电机的旋转角度;伺服电机的旋转角度;2024/7/24117Embedded System模数变换的基本原理采样采样保持保持量化量化编码编码模拟量输入模拟量输入数字量输出数字量输出t101110000110110110t模拟信号模拟信号连续时间信号连续时间信号脉冲信号串脉冲信号串离散时间信号离散时间信号(特殊模拟信号)(特殊模拟信号)采样采样量量 化、化、0-1 编编 码码并行的数字信号并行的数字信号离散时间信号离散时间信号(特殊脉冲信号)(特殊脉冲信号)数数 字字 化化ttt主要指标:采样频率主要指标:采样频率主要指标:转换分辨率主要指标:转换分辨率时间离散
178、化时间离散化幅度离散化幅度离散化2024/7/24118Embedded System 采样频率采样频率fs Nyquist定律:定律: fs2fh ,Ts=1/fs 量化编码位数量化编码位数b 不同编码样本数不同编码样本数n2b 动态范围动态范围DR(dB)20log2b=20blog2=6.02b 分辨率分辨率 =(VRH-VRL)/n 数据码率数据码率d dfsb模数变换的基本指标 2024/7/24119Embedded System模数变换的基本方法P170P170优点:转换速度快,转换时间优点:转换速度快,转换时间 10ns 1 s;优点:电路结构简单,性价比高;优点:电路结构简单
179、,性价比高; 转换速度中,转换时间转换速度中,转换时间 几几 s 100 s;优点:精度高,抗干扰性强,工作稳定优点:精度高,抗干扰性强,工作稳定缺点:所需比较器数目多,位数越多矛盾越突出;缺点:所需比较器数目多,位数越多矛盾越突出;缺点:转换速度慢,转换时间缺点:转换速度慢,转换时间 几百几百 s 几几ms缺点:位数多时速度较慢;缺点:位数多时速度较慢;组成:比较器、分压器、编码器组成:比较器、分压器、编码器组成:比较器、组成:比较器、DAC、寄存器、控制逻辑电路、寄存器、控制逻辑电路组成:比较器、积分器、计数器、控制逻辑电路组成:比较器、积分器、计数器、控制逻辑电路并行比较型并行比较型逐次
180、逼近型逐次逼近型双积分型双积分型2024/7/24120Embedded System串行通信的相关概念串行通信串行通信- -简介简介串行通信串行通信- -分类分类串行通信串行通信- -特点特点串行通信串行通信- -常见术语常见术语 2024/7/24121Embedded System串行通信串行通信-简介简介 n n在通信领域内,有两种数据通信方式:并行通信在通信领域内,有两种数据通信方式:并行通信在通信领域内,有两种数据通信方式:并行通信在通信领域内,有两种数据通信方式:并行通信和串行通信。随着计算机网络化和微机分级分布和串行通信。随着计算机网络化和微机分级分布和串行通信。随着计算机网络
181、化和微机分级分布和串行通信。随着计算机网络化和微机分级分布式应用系统的发展,通信的功能越来越重要。通式应用系统的发展,通信的功能越来越重要。通式应用系统的发展,通信的功能越来越重要。通式应用系统的发展,通信的功能越来越重要。通信是指计算机与外界的信息传输,既包括计算机信是指计算机与外界的信息传输,既包括计算机信是指计算机与外界的信息传输,既包括计算机信是指计算机与外界的信息传输,既包括计算机与计算机之间的传输,也包括计算机与外部设备,与计算机之间的传输,也包括计算机与外部设备,与计算机之间的传输,也包括计算机与外部设备,与计算机之间的传输,也包括计算机与外部设备,如终端、打印机和磁盘等设备之间
182、的传输。如终端、打印机和磁盘等设备之间的传输。如终端、打印机和磁盘等设备之间的传输。如终端、打印机和磁盘等设备之间的传输。 n n串行通信是指串行通信是指串行通信是指串行通信是指 使用一条数据线,将数据一位一位使用一条数据线,将数据一位一位使用一条数据线,将数据一位一位使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长地依次传输,每一位数据占据一个固定的时间长地依次传输,每一位数据占据一个固定的时间长地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信度。其只需要少数几条线就可以在系统间交换信度。其只需要少数几条线就可以在系统间交换信度。其
183、只需要少数几条线就可以在系统间交换信息,特别使用于计算机与计算机、计算机与外设息,特别使用于计算机与计算机、计算机与外设息,特别使用于计算机与计算机、计算机与外设息,特别使用于计算机与计算机、计算机与外设之间的远距离通信。之间的远距离通信。之间的远距离通信。之间的远距离通信。 串行通信串行通信-简介简介串行通信串行通信-分类分类n n同步通信同步通信同步通信同步通信同步通信是一种连续串行传送数据的通信方式,一次通信只传送一同步通信是一种连续串行传送数据的通信方式,一次通信只传送一同步通信是一种连续串行传送数据的通信方式,一次通信只传送一同步通信是一种连续串行传送数据的通信方式,一次通信只传送一
184、帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若干个帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若干个帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若干个帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。数据字符。数据字符。数据字符。 它们均由同步字符、数据字符和校验字符(它们均由同步字符、数据字符和校验字符(它们均由同步字符、数据字符和校验字符(它们均由同步字符、数据字符和校验字符(CRCCRC)组)组)组)组成。其中同步字符位于帧开头,用于确认数据字符的开始。数据字符成。其中同步字符位于帧开头,用于确认数据字符的开始。数据字符成。其中同步字符位
185、于帧开头,用于确认数据字符的开始。数据字符成。其中同步字符位于帧开头,用于确认数据字符的开始。数据字符在同步字符之后,个数没有限制,由所需传输的数据块长度来决定;在同步字符之后,个数没有限制,由所需传输的数据块长度来决定;在同步字符之后,个数没有限制,由所需传输的数据块长度来决定;在同步字符之后,个数没有限制,由所需传输的数据块长度来决定;校验字符有校验字符有校验字符有校验字符有1 1到到到到2 2个,用于接收端对接收到的字符序列进行正确性的校个,用于接收端对接收到的字符序列进行正确性的校个,用于接收端对接收到的字符序列进行正确性的校个,用于接收端对接收到的字符序列进行正确性的校验。同步通信的
186、缺点是要求发送时钟和接收时钟保持严格的同步。验。同步通信的缺点是要求发送时钟和接收时钟保持严格的同步。验。同步通信的缺点是要求发送时钟和接收时钟保持严格的同步。验。同步通信的缺点是要求发送时钟和接收时钟保持严格的同步。n n 异步通信异步通信异步通信异步通信异步通信中,在异步通行中有两个比较重要的指标:字符帧格式和异步通信中,在异步通行中有两个比较重要的指标:字符帧格式和异步通信中,在异步通行中有两个比较重要的指标:字符帧格式和异步通信中,在异步通行中有两个比较重要的指标:字符帧格式和波特率。数据通常以字符或者字节为单位组成字符帧传送。字符帧由波特率。数据通常以字符或者字节为单位组成字符帧传送
187、。字符帧由波特率。数据通常以字符或者字节为单位组成字符帧传送。字符帧由波特率。数据通常以字符或者字节为单位组成字符帧传送。字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。发送端和接收端发送端逐帧发送,通过传输线被接收设备逐帧接收。发送端和接收端发送端逐帧发送,通过传输线被接收设备逐帧接收。发送端和接收端发送端逐帧发送,通过传输线被接收设备逐帧接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,可以由各自的时钟来控制数据的发送和接收,这两
188、个时钟源彼此独立,互不同步。互不同步。互不同步。互不同步。 接收端检测到传输线上发送过来的低电平逻辑接收端检测到传输线上发送过来的低电平逻辑接收端检测到传输线上发送过来的低电平逻辑接收端检测到传输线上发送过来的低电平逻辑00(即字(即字(即字(即字符帧起始位)时,确定发送端已开始发送数据,每当接收端收到字符符帧起始位)时,确定发送端已开始发送数据,每当接收端收到字符符帧起始位)时,确定发送端已开始发送数据,每当接收端收到字符符帧起始位)时,确定发送端已开始发送数据,每当接收端收到字符帧中的停止位时,就知道一帧字符已经发送完毕。帧中的停止位时,就知道一帧字符已经发送完毕。帧中的停止位时,就知道一
189、帧字符已经发送完毕。帧中的停止位时,就知道一帧字符已经发送完毕。 串行通信串行通信-特点特点 n n节省传输线,这是显而易见的。尤其是在远程通信时,此节省传输线,这是显而易见的。尤其是在远程通信时,此节省传输线,这是显而易见的。尤其是在远程通信时,此节省传输线,这是显而易见的。尤其是在远程通信时,此特点尤为重要。这也是串行通信的主要优点。特点尤为重要。这也是串行通信的主要优点。特点尤为重要。这也是串行通信的主要优点。特点尤为重要。这也是串行通信的主要优点。 n n数据传送效率低。与并行通信比,这也这是显而易见的。数据传送效率低。与并行通信比,这也这是显而易见的。数据传送效率低。与并行通信比,这
190、也这是显而易见的。数据传送效率低。与并行通信比,这也这是显而易见的。这也是串行通信的主要缺点这也是串行通信的主要缺点这也是串行通信的主要缺点这也是串行通信的主要缺点例如:传送一个字节,并行通信只需要例如:传送一个字节,并行通信只需要例如:传送一个字节,并行通信只需要例如:传送一个字节,并行通信只需要1T1T的时间,而串行通的时间,而串行通的时间,而串行通的时间,而串行通信至少需要信至少需要信至少需要信至少需要8T8T的时间。的时间。的时间。的时间。 由此可见,串行通信适合于远距由此可见,串行通信适合于远距由此可见,串行通信适合于远距由此可见,串行通信适合于远距离传送,可以从几米到数千公里。对于
191、长距离、低速率的离传送,可以从几米到数千公里。对于长距离、低速率的离传送,可以从几米到数千公里。对于长距离、低速率的离传送,可以从几米到数千公里。对于长距离、低速率的通信,串行通信往往是唯一的选择。并行通信适合于短距通信,串行通信往往是唯一的选择。并行通信适合于短距通信,串行通信往往是唯一的选择。并行通信适合于短距通信,串行通信往往是唯一的选择。并行通信适合于短距离、高速率的数据传送,通常传输距离小于离、高速率的数据传送,通常传输距离小于离、高速率的数据传送,通常传输距离小于离、高速率的数据传送,通常传输距离小于3030米。特别值米。特别值米。特别值米。特别值得一提的是,现成的公共电话网是通用
192、的长距离通信介质,得一提的是,现成的公共电话网是通用的长距离通信介质,得一提的是,现成的公共电话网是通用的长距离通信介质,得一提的是,现成的公共电话网是通用的长距离通信介质,它虽然是为传输声音信号设计的,但利用调制解调技术,它虽然是为传输声音信号设计的,但利用调制解调技术,它虽然是为传输声音信号设计的,但利用调制解调技术,它虽然是为传输声音信号设计的,但利用调制解调技术,可使现成的公共电话网系统为串行数据通信提供方便、实可使现成的公共电话网系统为串行数据通信提供方便、实可使现成的公共电话网系统为串行数据通信提供方便、实可使现成的公共电话网系统为串行数据通信提供方便、实用的通信线路。用的通信线路
193、。用的通信线路。用的通信线路。 串行通信串行通信-常见术语常见术语n n比特率比特率比特率比特率:比特率是指每秒传输的二进制位数,用:比特率是指每秒传输的二进制位数,用:比特率是指每秒传输的二进制位数,用:比特率是指每秒传输的二进制位数,用bps bps (bit/s)bit/s)表示。表示。表示。表示。 n n波特率波特率波特率波特率:波特率是指每秒传输的符号数,若每个符号所含:波特率是指每秒传输的符号数,若每个符号所含:波特率是指每秒传输的符号数,若每个符号所含:波特率是指每秒传输的符号数,若每个符号所含的信息量为的信息量为的信息量为的信息量为1 1比特,则波特率等于比特率。在计算机中,比
194、特,则波特率等于比特率。在计算机中,比特,则波特率等于比特率。在计算机中,比特,则波特率等于比特率。在计算机中,一个符号的含义为高低电平,它们分别代表逻辑一个符号的含义为高低电平,它们分别代表逻辑一个符号的含义为高低电平,它们分别代表逻辑一个符号的含义为高低电平,它们分别代表逻辑“ “1”1”和和和和逻辑逻辑逻辑逻辑“ “0”0”,所以每个符号所含的信息量刚好为,所以每个符号所含的信息量刚好为,所以每个符号所含的信息量刚好为,所以每个符号所含的信息量刚好为1 1比特,因比特,因比特,因比特,因此在计算机通信中,常将比特率称为波特率,即:此在计算机通信中,常将比特率称为波特率,即:此在计算机通信
195、中,常将比特率称为波特率,即:此在计算机通信中,常将比特率称为波特率,即: 1 1波特(波特(波特(波特(B B)= 1= 1比特(比特(比特(比特(bitbit)= 1= 1位位位位/ /秒(秒(秒(秒(1bps1bps)n n位时间位时间位时间位时间TdTd 位时间是指传送一个二进制位所需时间,用位时间是指传送一个二进制位所需时间,用位时间是指传送一个二进制位所需时间,用位时间是指传送一个二进制位所需时间,用Td Td 表示。表示。表示。表示。Td = 1/Td = 1/波特率波特率波特率波特率 = 1/B= 1/B 串行通信串行通信-常见术语常见术语n n线路码线路码(NRZ),常用正电
196、压表示),常用正电压表示“1”,负电压表示负电压表示“0” n n单工通信单工通信:要么发送数据,要么接收数据:要么发送数据,要么接收数据的通信的通信n n半双工通信半双工通信:在某一时刻只能发送或接收:在某一时刻只能发送或接收数据的连接数据的连接n n全双工通信全双工通信:可以同时提供双向通信通路:可以同时提供双向通信通路的连接的连接串行通信串行通信-常见术语常见术语在串行通信中,二进制数据以数字信号的信号形式出现在串行通信中,二进制数据以数字信号的信号形式出现在串行通信中,二进制数据以数字信号的信号形式出现在串行通信中,二进制数据以数字信号的信号形式出现, ,不不不不论是发送还是接收,都必
197、须有时钟信号对传送的数据进行论是发送还是接收,都必须有时钟信号对传送的数据进行论是发送还是接收,都必须有时钟信号对传送的数据进行论是发送还是接收,都必须有时钟信号对传送的数据进行定位。在定位。在定位。在定位。在TTLTTL标准表示的二进制数中,传输线上高电平表标准表示的二进制数中,传输线上高电平表标准表示的二进制数中,传输线上高电平表标准表示的二进制数中,传输线上高电平表示二进制示二进制示二进制示二进制1 1,低电平表示二进制,低电平表示二进制,低电平表示二进制,低电平表示二进制0 0,且每一位持续时间是固,且每一位持续时间是固,且每一位持续时间是固,且每一位持续时间是固定的,由发送时钟和接收
198、时钟的频率决定。定的,由发送时钟和接收时钟的频率决定。定的,由发送时钟和接收时钟的频率决定。定的,由发送时钟和接收时钟的频率决定。 n n发送时钟发送时钟发送时钟发送时钟 发送数据时,先将要发送的数据送入移位寄存器,然后发送数据时,先将要发送的数据送入移位寄存器,然后发送数据时,先将要发送的数据送入移位寄存器,然后发送数据时,先将要发送的数据送入移位寄存器,然后在发送时钟的控制下,将该并行数据逐位移位输出。通常在发送时钟的控制下,将该并行数据逐位移位输出。通常在发送时钟的控制下,将该并行数据逐位移位输出。通常在发送时钟的控制下,将该并行数据逐位移位输出。通常是在发送时钟的下降沿将移位寄存器中的
199、数据串行输出,是在发送时钟的下降沿将移位寄存器中的数据串行输出,是在发送时钟的下降沿将移位寄存器中的数据串行输出,是在发送时钟的下降沿将移位寄存器中的数据串行输出,每个数据位的时间间隔由发送时钟的周期来划分。每个数据位的时间间隔由发送时钟的周期来划分。每个数据位的时间间隔由发送时钟的周期来划分。每个数据位的时间间隔由发送时钟的周期来划分。 n n接收时钟接收时钟接收时钟接收时钟 在接收串行数据时,接收时钟的上升沿对接收数据采样,在接收串行数据时,接收时钟的上升沿对接收数据采样,在接收串行数据时,接收时钟的上升沿对接收数据采样,在接收串行数据时,接收时钟的上升沿对接收数据采样,进行数据位检测,并
200、将其移入接收器的移位寄存器中,最进行数据位检测,并将其移入接收器的移位寄存器中,最进行数据位检测,并将其移入接收器的移位寄存器中,最进行数据位检测,并将其移入接收器的移位寄存器中,最后组成并行数据输出。后组成并行数据输出。后组成并行数据输出。后组成并行数据输出。 UART: Universal Asynchronous Receiver Transmitter 异步异步串行通信接口串行通信接口 全双工全双工通信通信 波特率波特率可调可调 可编程可编程79位位数据格式数据格式 支持发送和接收支持发送和接收中断中断 多种多种错误检测错误检测机制:机制: 奇偶校验错、帧格式错、溢出错奇偶校验错、帧格
201、式错、溢出错2024/7/24129Embedded System电平电平转换转换2024/7/24130Embedded System 异步异步串行通信接口串行通信接口 与标准与标准RS232兼容兼容 全双工全双工通信通信 波特率可调波特率可调 可编程可编程8位或位或9位数据格式位数据格式 丰富的中断源丰富的中断源 多种唤醒方式多种唤醒方式 多种错误检测机制多种错误检测机制SCI:Serial Communications Interface 2024/7/24131Embedded System 一位起始位、一位停止位一位起始位、一位停止位 可选可选8 8位或位或9 9位数据格式,最低位先
202、发送位数据格式,最低位先发送 可选校验位可选校验位SCI数据格式2024/7/24132Embedded System 波特率因子波特率因子1616(即发送或接收时钟的频率要比数据传即发送或接收时钟的频率要比数据传送的波特率高送的波特率高n倍倍 ) 采用多数判决方式恢复数据采用多数判决方式恢复数据SCI接收端数据恢复(HCS12)2024/7/24133Embedded SystemRT3、RT5、RT7起始位确认起始位确认噪声标志噪声标志000000YesYes0 0001001YesYes1 1010010YesYes1 1011011NoNo0 0100100YesYes1 110110
203、1NoNo0 0110110NoNo0 0111111NoNo0 0SCI接收端搜寻起始位2024/7/24134Embedded SystemRT8、RT9、RT10恢复数据位值恢复数据位值噪声标志噪声标志0000000 00 00010010 01 10100100 01 10110111 11 11001000 01 11011011 11 11101101 11 11111111 10 0SCI接收端恢复数据位2024/7/24135Embedded SystemEmbedded SystemRT8、RT9、RT10帧错误标志帧错误标志(逻辑(逻辑(逻辑(逻辑0 0做终止位,置位)做终
204、止位,置位)做终止位,置位)做终止位,置位)噪声标志噪声标志0000001 10 00010011 11 10100101 11 10110110 01 11001001 11 11011010 01 11101100 01 11111110 00 0SCI接收端恢复停止位2024/7/24136Embedded System SPI是一种是一种同步同步串行接口,有串行接口,有主控主控(微控制器)(微控制器)和和从属从属(外设)两种工作模式。(外设)两种工作模式。 可用于可用于单主控器同标准外设芯片单主控器同标准外设芯片的通信,如:的通信,如:ADC、LCD控制器、串并移位寄存器控制器、串并移
205、位寄存器 也可用于组建菊花链或并行总线式的也可用于组建菊花链或并行总线式的多主控器多主控器同步网络同步网络,通信效率比,通信效率比UART高高SPI:Serial Peripherals Interface P155P1552024/7/24137Embedded System 同步同步串行通信接口串行通信接口 有有主、从主、从模式模式 全双工全双工通信通信 主机移位频率主机移位频率可调可调 丰富的中断源丰富的中断源 多种错误检测机制多种错误检测机制SPI总线的基本特性2024/7/24138Embedded SystemSPI的分布移位寄存器无需说明数据传送方向无需说明数据传送方向从属选择从
206、属选择时钟时钟2024/7/24139Embedded SystemSPI网络结构设备设备A设备设备B设备设备C时钟时钟选通选通数据数据设备设备A设备设备B设备设备C时钟时钟选通选通数据数据1菊花链结构菊花链结构总线结构总线结构数据数据22024/7/24140Embedded SystemI2C:Inter- Integrated Circuit 同步串行同步串行总线总线 半双工半双工:双向单数据线:双向单数据线SDA 多主多从多主多从网络:网络:7或或10位的器件地址位的器件地址 三种运行模式:标准、快速、高速三种运行模式:标准、快速、高速 数据格式数据格式 一次可发送多个字节帧,每个字节
207、帧后都会检一次可发送多个字节帧,每个字节帧后都会检测应答位;每个字节帧包括一个启动位、一个停测应答位;每个字节帧包括一个启动位、一个停止位和止位和8个数据位。个数据位。 与与SPI兼容兼容,但传输速率稍低,但传输速率稍低2024/7/24141Embedded SystemUSB: Universal Serial Bus 异步串行异步串行总线总线 半双工半双工 具有具有主从主从结构结构 3种传送速度、种传送速度、4种传送模式种传送模式 支持支持P&P及热拔插,无需电源及热拔插,无需电源 接口体积小,兼容性好接口体积小,兼容性好2024/7/24142Embedded SystemUSB系统硬
208、件构成 USB HOST USB DEVICE USB HUB 由于连线不能由于连线不能过长过长(5m),所以,所以通常最多只能级通常最多只能级连连5级。级。USB OTG2024/7/24143Embedded System串行总线比较2024/7/24144Embedded SystemEmbedded System 普通开关通常用于向普通开关通常用于向MCU输入一个逻辑输入一个逻辑“0”或者或者“1”。基本输入设备:开关普通按键开关普通按键开关DIP拨动开关拨动开关10K10K+5V+5VMCUPin限流电阻限流电阻2024/7/24145Embedded System基本输入设备:键盘
209、 一般嵌入式系统中的键盘与计算机键盘一般嵌入式系统中的键盘与计算机键盘在按键数量和按键设置上都有较大差别。在按键数量和按键设置上都有较大差别。 按键值编码方式分类按键值编码方式分类 编码键盘和非编码键盘编码键盘和非编码键盘 按键组连接方式分类按键组连接方式分类 独立连接键盘和矩阵连接键盘独立连接键盘和矩阵连接键盘2024/7/24146Embedded System一、编码键盘一、编码键盘 采用采用专用的硬件编码专用的硬件编码/译码器件译码器件获得键值。获得键值。 特点:编码固定。编程简单,但增加硬件开销。适特点:编码固定。编程简单,但增加硬件开销。适用于规模大的键盘。用于规模大的键盘。二、非
210、编码键盘二、非编码键盘 采用采用软件编软件编/译码的方式译码的方式获得键值。获得键值。 特点:编码灵活,不增加硬件开销。但编程相对复特点:编码灵活,不增加硬件开销。但编程相对复杂杂,占用占用CPU时间,且须进行时间,且须进行“去抖去抖”操作。操作。适用于小规模的键盘,特别是嵌入式系统。适用于小规模的键盘,特别是嵌入式系统。编码键盘与非编码键盘2024/7/24147Embedded System一、硬件去抖动一、硬件去抖动 利用利用阻容滤波电路和施密特触发器阻容滤波电路和施密特触发器的滞后特性消除的滞后特性消除按键抖动噪声。按键抖动噪声。 特点:需要额外增加硬件电路,但去抖效果好。特点:需要额
211、外增加硬件电路,但去抖效果好。二、软件去抖动二、软件去抖动 在检测到按键连线上信号变化后进行在检测到按键连线上信号变化后进行软件延时软件延时(通(通常是常是100200ms),以避开按键抖动的过程。,以避开按键抖动的过程。 特点:不需要额外增加硬件,但要消耗特点:不需要额外增加硬件,但要消耗CPU时间,时间,去抖效果一般。去抖效果一般。按 键 去 抖2024/7/24148Embedded System一、独立连接键盘一、独立连接键盘 键与键与I/O线直接相连,线直接相连,CPU通过读取通过读取IO状态直接判键状态直接判键 特点:占特点:占I/O口线多,但口线多,但判键速度快判键速度快。 多用
212、于设置多用于设置控制键、功能键控制键、功能键,适合键少的场合。,适合键少的场合。二、矩阵连接键盘二、矩阵连接键盘 键按矩阵排列,键按矩阵排列,CPU通过扫描结果判断键码。通过扫描结果判断键码。 特点:键多时特点:键多时占用占用I/O口线少口线少,但判键速度慢。,但判键速度慢。 多用于设置多用于设置数字数字/字母键字母键,适用于键数多的场合。,适用于键数多的场合。独立连接键盘与矩阵连接键盘2024/7/24149Embedded System独立连接键盘独立连接键盘Px.0Px.0Px.1Px.1Px.2Px.2Px.3Px.3INTINT&可使用可使用查询或中断查询或中断方式获取键盘输入。方式
213、获取键盘输入。0 0行行1 1行行2 2行行3 3行行4 4行行5 5行行6 6行行7 7行行0 0列列1 1列列2 2列列3 3列列0 1 2 30 1 2 34 5 6 74 5 6 78 9 10 118 9 10 1112 13 14 1512 13 14 1516 17 18 1916 17 18 1920 21 22 2320 21 22 2324 25 26 2724 25 26 2728 29 30 3128 29 30 31列线列线行行线线可使用可使用扫描法或反转扫描法或反转法法获取键盘输入。获取键盘输入。矩阵连接键盘矩阵连接键盘2024/7/24150Embedded Sy
214、stem LED发光二极管发光二极管 用于单一输出电平用于单一输出电平/状态的指示。状态的指示。 LED数码管数码管如如7/8段数码管、米字型数码管等,用于段数码管、米字型数码管等,用于显示数字、字母和一些简单的符号。显示数字、字母和一些简单的符号。 LED显示屏显示屏多位数码管组成数码显示屏、图形显示屏多位数码管组成数码显示屏、图形显示屏基本输出设备:LED (Light-Emitting Diode)2024/7/24151Embedded System 嵌入式系统中多用嵌入式系统中多用共阳共阳LED 共阳数码管用低电平共阳数码管用低电平(“0”)点亮,要求驱动功率很小;点亮,要求驱动功率
215、很小; 共阴数码管用高电平共阴数码管用高电平(“1”)点亮,要求驱动功率较大。点亮,要求驱动功率较大。 通常每个段笔画要串一通常每个段笔画要串一个数百欧姆的限流电阻个数百欧姆的限流电阻。公共公共阳阳极极h g f e d c b ah g f e d c b aa ab bc cd dg ge ef fh hh g f a低电平点亮低电平点亮接高电平接高电平公共公共阴阴极极h g f e d c b ah g f e d c b aa ab bc cd dg ge ef fh hh g f a高电平点亮高电平点亮接地接地LED 数码管的基本特性2024/7/24152Embedded Syst
216、em 硬件译码硬件译码 采用专用的译码采用专用的译码/驱动器件,驱动功率较大,字型固定;软件编驱动器件,驱动功率较大,字型固定;软件编程简单,但增加了硬件的开销。程简单,但增加了硬件的开销。 软件译码软件译码 驱动功率较小,字型灵活;软件编程较复杂,节省硬件开销。驱动功率较小,字型灵活;软件编程较复杂,节省硬件开销。共阴共阴a ab bc cd dg ge ef fh hg gf fe ed dc cb b a aBCDBCD码码Px.3Px.3Px.2Px.2Px.1Px.1Px.0Px.0CD4511CD4511MCUMCULED 数码管的译码方式共阳共阳a ab bc cd dg ge
217、ef fh hPx.0Px.0Px.1Px.1Px.2Px.2Px.3Px.3Px.4Px.4Px.5Px.5Px.6Px.6Px.7Px.7+5+5V VMCUMCU2024/7/24153Embedded System 静态显示静态显示 各数码管使用专用各数码管使用专用I/O口线提供显示信号。口线提供显示信号。 特点特点: 无闪烁,无闪烁,功耗大功耗大;占占I/O线多线多,编程简单编程简单,节省节省CPU时间。时间。 动态显示动态显示 各数码管的段画共用各数码管的段画共用I/O口线,在显示过程中轮口线,在显示过程中轮流得到送显信号。流得到送显信号。 特点特点: 可能有闪烁,可能有闪烁,功耗
218、低功耗低;占占I/O线少线少,CPU扫扫描费时,描费时,编程复杂编程复杂。LED屏的显示方式2024/7/24154Embedded SystemA AB BCLKCLKa b c d e f g hCLRCLRA AB BCLKCLKCLRCLRA AB BCLKCLKCLRCLR+5+5V VVCCVCCTxDTxDRxDRxDMCU74LS16474LS16474LS164a b c d e f g ha b c d e f g h+5+5V V共阳共阳LED数码管数码管动态显示方式动态显示方式2024/7/24155Embedded SystemP1.5 P1.5 P1.4P1.4P1
219、.3P1.3P1.2P1.2P1.2P1.2P1.0P1.0P0.7 P0.7 P0.6 P0.6 P0.5 P0.5 P0.4 P0.4 P0.3 P0.3 P0.2 P0.2 P0.1 P0.1 P0.0P0.07406 7406 OCOC门门 X 3X 3+5+5V VAT89C51位位选选线线段段代代码码共阴共阴 数码管数码管上拉上拉电阻电阻1414静态显示方式静态显示方式2024/7/24156Embedded System基本输出设备:LCD(Liquid Crystal Display)一、液晶的特性一、液晶的特性 液体的机械特性:液体的机械特性:流动性、形变、黏度等流动性、形变
220、、黏度等 晶体的物理特性:晶体的物理特性: 热效应、光学各向异性、电光效应、磁光效应等热效应、光学各向异性、电光效应、磁光效应等二、二、LCD显示原理显示原理三、三、LCD的种类的种类四、四、LCD的参数的参数轻薄短小,耗电量低轻薄短小,耗电量低2024/7/24157Embedded SystemLCD的显示原理 1。自然状态下长棒型液晶分子大致平行,。自然状态下长棒型液晶分子大致平行,使用偏振片获得的线偏振光将顺着分子使用偏振片获得的线偏振光将顺着分子排列方向传播。排列方向传播。2。电流作用下液晶分子产生规则旋转,产生。电流作用下液晶分子产生规则旋转,产生透光度的差别,控制电流强度即可改变
221、透光度的差别,控制电流强度即可改变颜色的深浅。颜色的深浅。3。利用彩色滤光片获得三原色后,控制电流。利用彩色滤光片获得三原色后,控制电流强度改变三原色的深浅后再混色得到不强度改变三原色的深浅后再混色得到不同的色彩。同的色彩。2024/7/24158Embedded System一、一、TN(扭曲向列型,(扭曲向列型,Twisted Nematic) 单色,分辨率低单色,分辨率低(简单显示数字、字符简单显示数字、字符),反应速度慢,便宜。,反应速度慢,便宜。 广泛应用于广泛应用于简单家电、游戏机简单家电、游戏机等。等。二、二、STN(超扭曲向列型,(超扭曲向列型,Super Twisted Ne
222、matic) 液晶分子可多次扭转,光线扭曲达到液晶分子可多次扭转,光线扭曲达到180度到度到270度。用类似度。用类似CRT扫描的方式控制液晶阵列中每个像素。分辨率、反应速度、色扫描的方式控制液晶阵列中每个像素。分辨率、反应速度、色彩等有改进;且尺寸切割容易、价格便宜。彩等有改进;且尺寸切割容易、价格便宜。 广泛应用在广泛应用在移动电话移动电话等产品上。等产品上。三、三、TFT(薄膜晶体管型,(薄膜晶体管型,Thin Film Transister) 由薄膜晶体管去控制液晶阵列中每个像素,而不是直接使用电由薄膜晶体管去控制液晶阵列中每个像素,而不是直接使用电压。控制灵活、迅速,电干扰小,适合大
223、尺寸、高分辨率场合。压。控制灵活、迅速,电干扰小,适合大尺寸、高分辨率场合。 广泛用于广泛用于电脑显示器、液晶电视电脑显示器、液晶电视等大型电子显示器产品中。等大型电子显示器产品中。LCD的分类2024/7/24159Embedded SystemLCD的主要性能参数 分辨率分辨率 与与CRT不同,物理上固定,强行改变设置会导致效果变差。不同,物理上固定,强行改变设置会导致效果变差。 背光背光 冷阴极荧光灯冷阴极荧光灯CCFL(功耗大,寿命短功耗大,寿命短)、白光、白光LED(成本高)(成本高) 透射式(强光效果差)、反射式(暗光效果差)、半反射式透射式(强光效果差)、反射式(暗光效果差)、半
224、反射式 接口接口 总线式接口:用于低端、低分辨率的总线式接口:用于低端、低分辨率的LCD 扫描式接口:内带控制器,用于高分辨率的图形点阵式扫描式接口:内带控制器,用于高分辨率的图形点阵式LCD 刷新率刷新率 对对STN型来说,高刷新率可以减少彩色图像的抖动影响。型来说,高刷新率可以减少彩色图像的抖动影响。2024/7/24160Embedded System触 摸 屏一一 、组成、组成 触摸检测部件触摸检测部件 安装在显示器前,检测到用户安装在显示器前,检测到用户触摸位置触摸位置后送控制器后送控制器控制器控制器 将触摸信息转换成将触摸信息转换成触点坐标触点坐标后送给后送给CPU,同时接收,同时
225、接收CPU命令并加以执行。命令并加以执行。二、分类二、分类 电阻式电阻式、电容式电容式、红外线式红外线式、表面声波式表面声波式2024/7/24161Embedded System电阻式触摸屏一、原理一、原理 屏体由两层平时绝缘的导电层组成,其中的屏体由两层平时绝缘的导电层组成,其中的电压分电压分布层布层提供提供X、Y方向上方向上0至至5V的精密电压网格。使用时屏的精密电压网格。使用时屏幕触点位置处两层导电层接触,控制器根据侦测层获得幕触点位置处两层导电层接触,控制器根据侦测层获得的触点电压即可计算出触点位置。的触点电压即可计算出触点位置。二、特点二、特点 与外界隔离,不怕灰尘和水汽;与外界隔
226、离,不怕灰尘和水汽; 可以用任何物体来触摸;可以用任何物体来触摸; 外层容易损伤;外层容易损伤; 比较适合工业控制领域及办公室内有限人的使用。比较适合工业控制领域及办公室内有限人的使用。2024/7/24162Embedded System电容式触摸屏一、原理一、原理 利用用户和触摸屏表面形成的利用用户和触摸屏表面形成的耦合电容耦合电容从触点吸走从触点吸走一个很小的高频电流,该电流从触摸屏四角流出,其一个很小的高频电流,该电流从触摸屏四角流出,其大小与触点到四角的距离相关。控制器对这四个电流大小与触点到四角的距离相关。控制器对这四个电流的比例进行计算即可得到触点位置。的比例进行计算即可得到触点
227、位置。二、特点二、特点 环境温度、湿度、电场改变时很容易引起误操作。环境温度、湿度、电场改变时很容易引起误操作。 外层表面防刮擦性很好,但敲击易形成小洞造成触外层表面防刮擦性很好,但敲击易形成小洞造成触摸屏损坏。摸屏损坏。2024/7/24163Embedded System 红外触摸屏一、原理一、原理 X、Y方向上密布一一对应的红外发射管和接收方向上密布一一对应的红外发射管和接收管形成管形成红外线矩阵红外线矩阵。控制器根据被遮挡的红外线的。控制器根据被遮挡的红外线的位置即可获得触点位置。位置即可获得触点位置。二、特点二、特点 分辨率低;分辨率低; 任何接触都可改变触点上的红外线,易受环境任何
228、接触都可改变触点上的红外线,易受环境干扰而产生误动作;干扰而产生误动作;2024/7/24164Embedded System表面声波触摸屏一、原理一、原理 屏四角分别固定屏四角分别固定X、Y方向的方向的超声波发射器和接收超声波发射器和接收器器,控制器靠测量表面声波衰减时刻在时间轴上的,控制器靠测量表面声波衰减时刻在时间轴上的位置来计算触摸位置。位置来计算触摸位置。二、特点二、特点 抗暴,适合公共场所;抗暴,适合公共场所; 清晰度高、反应速度快;清晰度高、反应速度快; 性能稳定,精度高,能感知压力数据;性能稳定,精度高,能感知压力数据; 能识别干扰物,但应注意防尘。能识别干扰物,但应注意防尘。
229、2024/7/24165Embedded System系统总线层次 为提高开发模块的重复利用率,降低开发为提高开发模块的重复利用率,降低开发成本,用户在不同层次上采用各种总线。成本,用户在不同层次上采用各种总线。1。芯片内部总线。芯片内部总线2。芯片间总线。芯片间总线SPI、I2C、UART3。板卡间总线。板卡间总线ISA、PCI、VME(VXI)4。设备间总线。设备间总线USB、1394、RS232、CANSoC设计设计IP复用复用2024/7/24166Embedded System一、片上总线特点一、片上总线特点1. 简单高效简单高效 结构简单:占用较少的逻辑单元结构简单:占用较少的逻辑
230、单元 时序简单:提供较高的速度时序简单:提供较高的速度 接口简单:降低接口简单:降低IP核连接的复杂性核连接的复杂性2. 灵活,具有可复用性灵活,具有可复用性地址地址/数据宽度可变、互联结构可变、仲裁机制可变数据宽度可变、互联结构可变、仲裁机制可变3. 功耗低功耗低信号尽量不变、单向信号线功耗低、时序简单信号尽量不变、单向信号线功耗低、时序简单二、常用总线标准二、常用总线标准IBM的的CoreConnect、 ARM的的AMBASilicore的的Wishbone、 Altera的的AvalonSoC的总线架构2024/7/24167Embedded SystemCoreConnect1、处理
231、器局部总线、处理器局部总线PLB (Processor Local Bus) 高带宽、低延迟、高性能高带宽、低延迟、高性能 连接高速连接高速CPU核、高速核、高速MEM控制器、高速控制器、高速DMAC等高性能设备等高性能设备2、片内外设总线、片内外设总线OPB(On-chip Peripheral Bus) 连接低性能设备,减少其对连接低性能设备,减少其对PLB的性能影响的性能影响 通过通过OPB桥实现桥实现PLB主设备和主设备和OPB从设备的数据传输从设备的数据传输3、设备控制寄存器总线、设备控制寄存器总线DCR(Device Control Register) 用于配置用于配置PLB设备和
232、设备和OPB设备的状态寄存器和控制寄存器设备的状态寄存器和控制寄存器 减轻减轻PLB总线在低性能状态下的负荷总线在低性能状态下的负荷 方案完整,但一般用于高性能系统设计中(如工作站)方案完整,但一般用于高性能系统设计中(如工作站),不太适合简单的嵌入式系统应用。,不太适合简单的嵌入式系统应用。2024/7/24168Embedded SystemCoreConnect总线结构框图High PerformanceCPU CoreHigh PerformanceMemoryArbiterHigh PerformanceDMAC CoreExternal Bus InterfaceOPB Bridg
233、eKeyboardUARTTimerPIOPLBOPBDCR2024/7/24169Embedded SystemAMBA: Advanced Microcontroller Bus Architecture1。先进高性能总线。先进高性能总线AHB(Advanced Highperformance Bus) 适用于高性能和高吞吐设备之间的连接,如适用于高性能和高吞吐设备之间的连接,如CPU、片上存储器、片上存储器、DMA设备、设备、DSP等。等。2。先进系统总线。先进系统总线ASB(Advanced System Bus) 适用于高性能系统模块。与适用于高性能系统模块。与AHB的主要不同是读写
234、的主要不同是读写数据采用了一条双向数据总线。数据采用了一条双向数据总线。3。先进外设总线。先进外设总线APB(Advanced Peripheral Bus) 适用于低功耗外部设备,经优化减少了功耗和接口适用于低功耗外部设备,经优化减少了功耗和接口复杂度。复杂度。 适合较复杂的应用,需要遵守较简单的操作协议;拥有众多适合较复杂的应用,需要遵守较简单的操作协议;拥有众多的第三方支持。的第三方支持。2024/7/24170Embedded SystemAMBA2.0总线结构图High PerformanceARM CoreHigh PerformanceOn-chip RAMHigh Perfor
235、manceDMAC CoreHigh Bandwidth Extend Memory InterfaceBridgeKeyboardUARTTimerPIOAHB or ASBAPB2024/7/24171Embedded SystemWishbone 定义了一条高速总线的信号和总线周期。在定义了一条高速总线的信号和总线周期。在复杂系统中可采用两条复杂系统中可采用两条Wishbone总线分别连接总线分别连接高速和低速设备,两条总线之间的接口简单。高速和低速设备,两条总线之间的接口简单。 提供了提供了4种互连方式:两个种互连方式:两个IP核的点到点连核的点到点连接;多个串行接;多个串行IP核的数
236、据流连接;多个核的数据流连接;多个IP核的核的共享总线连接、高吞吐量的交叉开关。共享总线连接、高吞吐量的交叉开关。 完全免费,开发性强;结构简单、互连灵活;完全免费,开发性强;结构简单、互连灵活;通常应用于简单的嵌入式控制器和一些高速系通常应用于简单的嵌入式控制器和一些高速系统中,但对高性能系统的支持不够。统中,但对高性能系统的支持不够。2024/7/24172Embedded SystemAvalon 主要用于主要用于Altera公司的公司的NIOS软核系软核系统中实现统中实现SOPC; 规定了主设备和从设备之间进行连接规定了主设备和从设备之间进行连接的端口和通信时序,配置简单,可的端口和通
237、信时序,配置简单,可由由EDA工具(工具(SOPC Builder)快速)快速生成。生成。 采用从设备仲裁技术,允许多个主设采用从设备仲裁技术,允许多个主设备真正同步操作,优化了数据流,备真正同步操作,优化了数据流,提高了系统的吞吐量。提高了系统的吞吐量。2024/7/24173Embedded System传统总线的仲裁方式控制器控制器2 2(DMADMA控制器)控制器)UARTUART程序程序存储器存储器PIOPIO数据数据存储器存储器系统总线系统总线控制器控制器从属设备从属设备控制器控制器1 1(系统(系统CPUCPU)仲裁器仲裁器瓶颈瓶颈2024/7/24174Embedded SystemAvalon总线的仲裁方式AvalonAvalon总线总线控制器控制器2 2(DMADMA控制器)控制器)UARTUART程序程序存储器存储器PIOPIO数据数据存储器存储器控制器控制器从属设备从属设备控制器控制器1 1(系统(系统CPUCPU)仲裁器仲裁器2024/7/24175Embedded System