第六讲MC9S12单片机IO接口和功能模块

合集下载

【精品课件教案PPT】 第六讲 MC9S12单片机IO接口和功能模块PPT文档共98页

【精品课件教案PPT】 第六讲 MC9S12单片机IO接口和功能模块PPT文档共98页
【精品课件教案PPT】 第六讲 MC9S12单片机IO接口和功能模块
6













7、翩翩新 来燕,双双入我庐 ,先巢故尚在,相 将还旧居。
8













9、 陶渊 明( 约 365年 —427年 ),字 元亮, (又 一说名 潜,字 渊明 )号五 柳先生 ,私 谥“靖 节”, 东晋 末期南 朝宋初 期诗 人、文 学家、 辞赋 家、散
文 家 。汉 族 ,东 晋 浔阳 柴桑 人 (今 江西 九江 ) 。曾 做过 几 年小 官, 后辞 官 回家 ,从 此 隐居 ,田 园生 活 是陶 渊明 诗 的主 要题 材, 相 关作 品有 《饮 酒 》 、 《 归 园 田 居 》 、 《 桃花 源 记 》 、 《 五 柳先 生 传 》 、 《 归 去来 兮 辞 》 等 。

60、生活的道路一旦选定,就要勇敢地 走到底 ,决不 回头。 ——左
1
0














Байду номын сангаас

56、书不仅是生活,而且是现在、过 去和未 来文化 生活的 源泉。 ——库 法耶夫 57、生命不可能有两次,但许多人连一 次也不 善于度 过。— —吕凯 特 58、问渠哪得清如许,为有源头活水来 。—— 朱熹 59、我的努力求学没有得到别的好处, 只不过 是愈来 愈发觉 自己的 无知。 ——笛 卡儿

飞思卡尔MC9S12G系列芯片之【GPIO】模块总结

飞思卡尔MC9S12G系列芯片之【GPIO】模块总结

位数 8 8 8 8 2
小注: a. 由上表可知,这五个寄存器通过同一个电阻控制寄存器 PUCR 的 0~4 位分别
对应控制端口 A~D;
b. 在学习板中(这是前提,以下模块与寄存器的连接仅限此开发板):
LED 灯是通过 PORTA 寄存器控制,LED1~LED8 分别对应 PORTA 的 P0~P7 位(注意
置 0:输入 置 1:输出 置 0:上拉设备禁止 置 1:上拉设备使能 置 0:下降沿触发 置 1:上升沿触发 置 0:中断禁止 置 1:中断使能 置 0:无极性沿发生 置 1:有极性沿发生
位数 8
8
端口 P 和 J 都含有 7 个寄存器,其中与中断有关的寄存器有两个:
中断使能寄存器 PIEx 及中断标志寄存器 PIFx。
置 0:低电平 置 1:高电平 用于检测过载或输出 引脚短路条件 置 0:输入 置 1:输出 置 0:上拉设备禁止 置 1:上拉设备使能 置 0:下降沿触发 置 1:上升沿触发
WOMN 寄存器为 PORTS 和 PORTM 特有的寄存器,不常用。
位数 8
8
端口名称
寄存器种类 数据寄存器(PTT)
PORTT (PT)
GPIO 模块总结(以 MC9S12G128 为例)
一、常见功能
功能 设置输入/输出端口 设定 I/O 口的高低电平 选择内置上拉/下拉电阻 中断输入方式的选择 驱动能力的设置
需配置寄存器 DDRx(置 0 为输入,置 1 时为输出) PORTx(置 0 低电平、置 1 高电平) PERx PIEX XS128 芯片具有
EnableInterrupt;
// 定义主函数
// 禁止中断 // 设置 I/O 方向为输出 / *对 data 取反后为 0111 1111,因 LED 在低

MC9S12XS128单片机简介(综合)

MC9S12XS128单片机简介(综合)

MC9S12XS128 单片机简介1、HCS12X 系列单片机简介Freescale公司的16位单片机主要分为HC12、HCS12 HCS12X三个系列。

HC12核心是16 位高速CPU12 核,总线速度8MHZ;HCS12 系列单片机以速度更快的CPU12 内核为核心,简称S12 系列,典型的S12 总线速度可以达到25MHZ。

HCS12X 系列单片机是Freescale 公司于2005 年推出的HCS12 系列增强型产品,基于S12 CPU 内核,可以达到25MHz 的HCS12 的2-5 倍性能。

总线频率最高可达40 MHz。

S12X 系列单片机目前又有几个子系列:MC9S12XA系列、MC9S12XB系列、MC9S12XD系列、MC9S12XE系列、MC9S12XF系列、MC9S12XH 系列和MC9S12XS 系列。

MC9S12XS128 就是S12X 系列中的一个成员。

2、MC9S12XS128 性能概述MC9S12XS128 是16 位单片机,由16 位中央处理单元( CPU12X)、128KB 程序Flash(P-lash)8KB RAM、8KB数据Flash(D-lash)组成片内存储器。

主要功能模块包括:内部存储器内部PLL 锁相环模块 2 个异步串口通讯SCI 1 个串行外设接口SPIMSCAN 模块1 个8 通道输入/输出比较定时器模块TIM 周期中断定时器模块PIT16 通道A/D 转换模块ADC1 个8 通道脉冲宽度调制模块PWM 输入/输出数字I/O 口3、输入/ 输出数字I/O 口MC9S12XS128 有3 种封装,分别为64 引脚、80 引脚、112 引脚封装。

其全名分别为MC9S12XS128MAE、MC9S12XS128MAA、MC9S12XS128MAL。

MC9S12XS 系列具有丰富的输入/ 输出端口资源,同时集成了多种功能模块,端口包括PORTA、PORTB、PORTE、PORTK、PORTT PORTS PORTM PORTR PORTH PORTJ和PORTAD 共11 个端口。

MC9S12单片机原理及嵌入式应用开发技术(8) 第6章 单片机定时器相关模块(PIT)

MC9S12单片机原理及嵌入式应用开发技术(8) 第6章 单片机定时器相关模块(PIT)

College of Communication Engineering, Jilin University
3
6.1 定时器/计数器概述
实现方法(续1)
2、 微处理器内置定时器(硬件定时器) 如:MC9S12XS内置
RTI ( Real Time Interrupt) ECT – enhanced capture timer OC – Output comparer PWM – Pulse width modulation Period and pulse width measurement
6.3.2 周期中断定时器寄存器
1.2 PIT通道使能寄存器 PITCE($0342)
PCE[3..0]:定时器通道3~0PIT使能控制位。 1 通道使能 0 通道禁止
College of Communication Engineering, Jilin University
12
6.3.2 周期中断定时器寄存器
( N 1) ( M 1) 定时周期 = BusCLK
College of Communication Engineering, Jilin University
9
6.3.1 周期中断定时器简介
设置方法
1、使能某一定时器,需要写通道使能寄存器和PIT控制寄存器来使能PIT模块 2、4个16位定时器,共享2个8位微计数器,通过写PIT复用寄存器配置 3、某一路定时器使能时,16位和8位计数器对应的加载寄存器的值自动加载 4、按照MCU内部总线时钟,24计数器减1,直至为0时,自动重加载 5、同时置超时标志,若对应的定时中断被使能,则产生定时中断
第6章 单片机定时器相关模块
College of Communication Engineering, Jilin University

MC9S12串行总线接口

MC9S12串行总线接口

MC9S12系列单片机片内串行总线接口:所谓串行通信是指微控制器与外设之间使用一根数据信号线一位一位地传输数据。

串行通信线路少,在远距离传输时可以极大地降低成本,所以适合远距离数据传输,也常用于要求不高的近距离传输。

串行总线的数据传输方式分为全双工、半双工和单工方式。

全双工是指发送数据的接收和发送可以同时进行。

半双工是指数据发送方能够接收数据,接收方也能够发送数据,但是数据的发送和接收不能同时进行。

单工方式是指数据发送方只能发送数据,而接收方只能接受数据。

1. SPI总线接口SPI(Serial Peripheral Interface,串行外设接口)是一种高效的同步串行接口,这种接口技术主要用于MCU与外部的接口芯片交换数据,已逐渐成为一种工业接口标准。

在SPI中,只允许有一个主机,但是可以有多个从机,主机提供同步时钟信号给从机,主机的MISO和MOSI引脚要跟从机的MISO和MOSI引脚相连。

1)SPI的引脚SPI接口常用于主从的分布系统中,一个标准的SPI系统包括一个MCU和若干个外部设备。

SPI使用4条信号线,具体如下:1)串行时钟线SCKSCK是主从机之间数据传输的同步时钟信号。

SCK信号由主机产生并且通过硬件给从机;2)主机输入、从机输出数据线MISOMISO是SPI模块的两根串行数据线之一。

当配置为从机时,该引脚用来由SPI模块向外发送数据;当配置为主机时,该引脚用来接受数据;3)主机输出、从机输入数据线MOSIMOSI是SPI模块另一根串行数据线。

当配置成主机时,该引脚用来由SPI 模块向外发送数据;当配置成从机时,该引脚用来接受数据;4)低电平有效的从机选择线SS此引脚在主机和从机模式中具有不同的功能。

从机模式下,该引脚是一次数据传输开始前允许SPI工作的片选信号;主机模式下,该引脚可以控制MODE 标志位,保证一个系统只有一个主机。

2)SPI模块的寄存器:SPI模块提供了5个寄存器,包括SPI控制寄存器(SPICR1)、控制寄存器2(SPICR2)、SPI波特率寄存器(SPIBR)、SPI状态寄存器(SPISR)、SPI数据寄存器(SPIDR)。

MC9S12EVKC模块使用说明

MC9S12EVKC模块使用说明

MC9S12EVKC模块MC9S12EVKC模块是专为第一届“飞思卡尔杯”全国大学生智能车邀请赛设计的一款S12微控制器模块,以80pin微控制器MC9S12DG128为核心芯片,通过核心子板上的欧式插槽将I/O接口引出,用以替代原有的以112pin MC9S12DG128微控制器为核心的MC9S12EVKX模块。

相比较而言,新的模块具有板面面积小、重量轻、板面标识丰富等特点,有59个通用 I/O端口可供使用。

在I/O端口资源足够的情况下,新的模块能为您的车模系统提供尽可能优越的性能:MC9S12EVKC核心子板采用80pin的封装替代了原有的112pin封装,板面尺寸减小至53.7mm×73.2mm,欧槽的间距也缩小至1800mil(1英寸=1000mil),与原MC9S12EVKX模块大小的比较见图1;MC9S12EVKC核心子板采用两个32针欧式插槽替代了原有的64针插槽,减轻了重量;在对核心子板的重量有特殊要求的情况下,可以选焊或不焊DB9的接头,直接用排线把板上的Header1×3串行通讯的信号引出来,以减轻重量。

,将DB9接头简化后利用RS232接口通讯的MC9S12EVKC核心子板如图2所示。

图1:原有MC9S12EVKX模块(左)与现有MC9S12EVKC模块(右)的比较图2:利用Header1×3引出RS232信号与PC连接通讯表2-1 MC9S12EVKC核心子板欧式插槽引脚定义表EU_LNumber Pin Number Pin1 VCC2 VCC3 Reserved4 Reserved5 PWM76 PWM67 Reserved 8 PWM49 SPI1/SS 10 SPI1/SCK11 SPI1/MOSI 12 SPI1/MISO13 PT0 14 PT115 PT2 16 PT317 PT4 18 PT519 PT6 20 PT721 Reserved 22 MODC23 PB0 24 PB125 PB2 26 PB327 PB4 28 PB529 PB6 30 PB731 GND 32 GND表2-1(续) MC9S12EVKC核心子板欧式插槽引脚定义表EU_RNumber Pin Number Pin1 VCC2 VCC3 SPI0/SS4 SPI0/MISO5 SPI0/SCK6 SPI0/MOSI7 PJ7 8 PJ69 SCI1/R 10 SCI1/T11 SCI0/R 12 SCI0/T13 AN07 14 AN0615 AN05 16 AN0417 AN03 18 AN0219 AN01 20 AN0021 PA7 22 PA623 PA5 24 PA425 PA3 26 PA227 PA1 28 PA029 XIRQ 30 IRQ31 GND 32 GND (注:Reserved处为保留端,没有引脚定义)。

飞思卡尔MC9S12XS128单片机各模块使用方法及寄存器配置

飞思卡尔MC9S12XS128单片机各模块使用方法及寄存器配置

飞思卡尔MC9S12XS128单片机各模块使用方法及寄存器配置手把手教你写S12XS128程序--PWM模块介绍该教程以MC9S12XS128单片机为核心进行讲解,全面阐释该16位单片机资源。

本文为第一讲,开始介绍该MCU的PWM模块。

PWM 调制波有8个输出通道,每一个输出通道都可以独立的进行输出。

每一个输出通道都有一个精确的计数器(计算脉冲的个数),一个周期控制寄存器和两个可供选择的时钟源。

每一个P WM 输出通道都能调制出占空比从0—100% 变化的波形。

PWM 的主要特点有:1、它有8个独立的输出通道,并且通过编程可控制其输出波形的周期。

2、每一个输出通道都有一个精确的计数器。

3、每一个通道的P WM 输出使能都可以由编程来控制。

4、PWM 输出波形的翻转控制可以通过编程来实现。

5、周期和脉宽可以被双缓冲。

当通道关闭或PWM 计数器为0时,改变周期和脉宽才起作用。

6、8 字节或16 字节的通道协议。

7、有4个时钟源可供选择(A、SA、B、SB),他们提供了一个宽范围的时钟频率。

8、通过编程可以实现希望的时钟周期。

9、具有遇到紧急情况关闭程序的功能。

10、每一个通道都可以通过编程实现左对齐输出还是居中对齐输出。

1、PWM启动寄存器PWMEPWME 寄存器每一位如图1所示:复位默认值:0000 0000B图1 PWME 寄存器每一个PWM 的输出通道都有一个使能位P WMEx 。

它相当于一个开关,用来启动和关闭相应通道的PWM 波形输出。

当任意的P WMEx 位置1,则相关的P WM 输出通道就立刻可用。

用法:PWME7=1 --- 通道7 可对外输出波形PWME7=0 --- 通道7 不能对外输出波形注意:在通道使能后所输出的第一个波形可能是不规则的。

当输出通道工作在串联模式时(PWMCTL 寄存器中的CONxx置1),那么)使能相应的16位PWM 输出通道是由PWMEx 的高位控制的,例如:设置PWMCTL_CON01 = 1,通道0、1级联,形成一个16位PWM 通道,由通道 1 的使能位控制PWM 的输出。

MC9S12单片机原理及嵌入式应用开发技术第2章 单片机内部结构

MC9S12单片机原理及嵌入式应用开发技术第2章 单片机内部结构

4个要素 Two input data -- operands(操作数) instruction -- operation(运算) Status -- flag(标志位) one output data -- result(运算结果)
Quiz: 下面几个操作中,4要素分别为? A+B=C A>B? A >>= 1
ms CAN 1
ms CAN 0 or BDLC
PIM
AD0
AD1
PWM 8 CHAN
College of Communication Engineering, Jilin University
4
2.1 MC9S12XS单片机的性能
2.1.2 S12XS系列单片机主要功能模块
1.16位CPU 2.内部RAM或ROM: 3.A/D模块:16路8位、10位或12位; 4.CAN模块:支持CAN2.0A、B两种协议,1Mbps; 5.TIM模块:标准定时器,输入捕捉、输出比较 6.PIT模块:4通道24位递减计数器 7.PWM模块:8通道8位,或4通道16位,占空比可编程; 8.串口模块:两个SCI,支持LIN协议;一个SPI; 9.中断模块:最多20个带位中断的外部中断引脚,中断源 细分 为7级; 10.时钟模块:可通过内部锁相环使片内总线速度提升到最高 40MHz。
Memory peripheral
College of Communication Engineering, Jilin University
11
A complete CPU
College of Communication Engineering, Jilin University
12
CPU – the core of microcontroller

MC9S12DG128的结构与工作原理

MC9S12DG128的结构与工作原理
❖ Z——0标志(Zero Flag) 当运算结果为0时,Z=1;结果不为0时,Z=0。
❖ N——符号位(负标志) (Negative Flag) 当运算结果为负时,N=1,否则,N=0。
❖ H——辅助进位(半进位)标志(Half-carry Flag) 在加法过程中,若累加器A中的D3向D4位产生进位,H=1;否则,H=0。
❖ MC9S12DG128的内部结构 ❖ MC9S12DG128引脚功能 ❖ MC9S12DG128的运行模式 ❖ MC9S12DG128的存储器组织
1
概述
➢ MC9S12DG128的内核是16位中央处理单元CPU12, 有29个独立的数字I/O口(A、B、K和E),20个独 立的数字I/O口(H、P、J)具有中断和唤醒功能。
图2.7堆栈的类型
13
2.1 MC9S12DG128的内部结构
2.1.1 CPU12内核(Star Core)
❖ 向上生长型堆栈——栈底占用较低地址,栈顶占用较高地址。 ➢ 数据压入堆栈时,SP的内容自动加1,作为本次进栈的地址,然后再存
入信息。随着数据的存入,SP的值越来越大。数据从堆栈弹出后,SP的 内容自动减1。 ❖ 向下生长型堆栈——栈底占用较高地址,栈顶占用较低地址。 ➢ CPU12的堆栈属于向下生长型,将一个字节数据压入堆栈时,SP自动减 1。从堆栈中弹出一个字节数据时,SP自动加1。若操作数为双字节,则 SP每次加2或减2。因此,随着数据的存入,SP的值越来越小。 ➢ SP总是指向最后压入堆栈的一个字节数据,称为实栈顶。压栈操作时, 先调整指针(减1或减2),后保存数据。初始化时,一般将SP指向与栈底 相邻的单元,它不属于栈底,以此表示堆栈为空。
❖ 影响SP内容的指令有加载、目的操作数为SP的寄存器传送指令、压栈、 退栈、加减1、中断和子程序调用等。

单片机IO口介绍

单片机IO口介绍

单片机IO口介绍单片机(Microcontroller)是一种集成了微处理器、存储器和各种I/O接口的芯片。

其中,I/O口是单片机与外部设备进行数据交换的通道,它是单片机最重要的功能之一、本文将详细介绍单片机的I/O口。

一、I/O口的基本概念在单片机中,I/O口是单片机与外部设备进行数据交换的接口。

它通过I/O线与外部设备相连接,可以实现数据的输入和输出。

单片机的I/O口可以分为通用I/O口和特殊功能I/O口两种类型。

通用I/O口是单片机常用的一种I/O口,它可以通过软件编程实现不同的功能,包括数字输入、数字输出和模拟输入输出等。

通用I/O口可以根据实际需求进行设置,提供灵活的数据交换方式。

特殊功能I/O口是单片机固定的一些特殊功能接口,通常用于特定的应用,如定时器、比较器、串行通信等。

特殊功能I/O口具有特殊的功能和特殊的操作要求,需要根据具体的应用进行设置。

二、通用I/O口的工作原理通用I/O口是单片机最常用的一种I/O口,它可以通过软件编程实现不同的功能。

通用I/O口的工作原理如下:1.输入模式:通用I/O口可以设置为输入模式,接收来自外部设备的输入信号。

在输入模式下,通用I/O口通常通过上拉或下拉电阻来实现输入的稳定性,并通过软件读取输入信号的状态。

2.输出模式:通用I/O口可以设置为输出模式,向外部设备输出信号。

在输出模式下,通用I/O口可以输出高电平或低电平信号,并通过软件控制输出的状态。

通用I/O口的状态可以通过软件进行设置和读取,可以实现灵活的数据交换。

通用I/O口的应用非常广泛,可以用于控制开关、驱动显示、读取按键等。

三、特殊功能I/O口的工作原理特殊功能I/O口是单片机固定的一些特殊功能接口,通常用于特定的应用。

特殊功能I/O口具有特殊的功能和特殊的操作要求,需要根据具体的应用进行设置。

下面介绍一些常见的特殊功能I/O口。

1.定时器/计数器:定时器/计数器是特殊功能I/O口中最常用的一个。

MC9S12系列用户手册资料讲解

MC9S12系列用户手册资料讲解

MC9S12系列器件说明MC9S12系列的名称定义(以MC9S12DJ64CFU为例):MC9S12:Controller Family 该控制器系列统称9:代表FLASHS12:内核型号DJ64:Device Title 器件名称64:64K的FLASHC:Temperature Options 温度选择FU:Package Option 封装结构选择温度选择表定义(Temperature Option):C = -40°C to 85°CV = -40°C to 105°CM = -40°C to 125°C封装结构选择定义(Package Options)FU = 80QFPPV = 112LQFP使用该系列芯片需遵循如下规则:寄存器:在不使用CAN0的情况下禁止读写CAN0寄存器(系统复位后地址范围:$0140 - $017F)。

在不使用BDLC的情况下禁止读写BDLC寄存器(系统复位后地址范围:$00E8 - $00EF)。

FAQ:BDLC?Byte Data Link Controller中断:在不使用CAN0的情况下,根据你的对未使用中断的编码方式,填满CAN0中断向量($FFB0 - $FFB7)。

在不使用BDLC的情况下,根据你的对未使用中断的编码方式,填满BDLC中断向量($FFC2, $FFC3)。

接口:在不使用CAN0的情况下,CAN0带TXCAN0, RXCAN0功能的引脚在PJ7, PJ6, PM5,PM4, PM3, PM2, PM1 和PM0接口上无效。

在不使用BDLC的情况下,BDLC功能引脚TXB, RXB在PM1和 PM0接口上无效。

FAQ:各引脚功能应该先有个介绍?在不使用CAN0的情况下,禁止写Module Routing Register的MODRR1 和MODRR0位。

MC9S12DJ64特征:·HCS12 核心:FAQ:HCS12?16-bit HCS12 CPUMEBI多路复用外部总线接口 (Multiplexed External Bus Interface)MMC模块映射控制 (Module Mapping Control)INT中断控制 (Interrupt control)BKP 断点(Breakpoints)BDM 后台调试模式(Background Debug Mode)·CRG (low current Colpitts or Pierce oscillator, PLL, reset, clocks, COP watchdog, real time interrupt, clock monitor)·8位和4位的带中断功能的接口:-数字滤波-可编程边缘触发(上升沿/下降沿)·存储器:-64K Flash EEPROM-1K byte EEPROM-4K byte RAM·2个八通道的数字/模拟转换器:-精度达到10bit-外部转换触发功能·1M bit/每秒,CAN2.0 A,B软件兼容模块:-5个接受和3个发送缓冲单元-Flexible identifier filter programmable as 2x32 bit, 4x16bit or 8x8bitFAQ:什么意思?-4个独立的中断通道,分别对应Rx, Tx, error 和 wake-up-低通滤波器唤醒功能-自测工作回送功能(Loop-back for self test operation)·增强了的捕捉时钟功能(Enhanced Capture Timer)-16位主计数器(7-bit prescaler)FAQ:prescaler?预定标器-8个可编程输入捕捉通道/输出比较通道-4个8位/2个16位脉冲累加器(pulse accumulator)·8个PWM通道:-周期和占空比系数可编程控制-8位八通道/16位4通道-独立的单个脉冲宽度和占空比控制-Center-aligned or left-aligned outputsFAQ:什么意思?-频率范围很广的可编程时钟选择逻辑单元-快速紧急关闭输入-可作为中断输入·串行接口:-2个异步SCI(Serial Communications Interfaces)-同步SPI(Serial Peripheral Interface)·Byte Data Link Controller(BDLC):-SAE J1850 Class B数据通信网络接口兼容,兼容应用于低速串行数据通信的ISO (SAEJ1850ClassBDataCommunicationsNetworkInterfaceCompatibleandISOCompatiblefor Low-Speed (<125 Kbps) Serial Data Communications in Automotive Applications)FAQ:什么意思?·Inter-IC Bus (IIC):I2总线标准-兼容C-多路控制工作(Multi-master operation)-软件可编程256个不同的串行始终频率·112引脚封装/80引脚封装-带驱动能力的5VI/O线路-5V A/D转换-50MHz工作频率,相当于25MHz总线速度-支持开发应用-单线程后台调试模块Obackground debug TM mode (BDM) -片上硬件断点调试(On-chip hardware breakpoints)模块框图:内存映射:图1-1与1-2芯片复位后的内存地址映射,1K的EEPROM被映射放大2倍分配到2K的地址空间里。

飞思卡尔MC9S12XS128单片机重点模块讲解

飞思卡尔MC9S12XS128单片机重点模块讲解

基于飞思卡尔 MC9S12XS128MCU 的模块讲解及测试
安徽工业大学 自动化系 刘昌元 } /*--------------------- 主函数------------------------------------*/ void main(void) { DDRB=0x3f; LED=0x01; EnableInterrupts; while(1) { delay(time); LED<<=1; delay(time); //延时 //高电平信号左移一位 //定义 B0-B5 口为输出 // 点亮第一只灯 //允许中断
基于飞思卡尔 MC9S12XS128MCU 的模块讲解及测试
安徽工业大学 自动化系 刘昌元 � 概述:
飞思卡尔单片机的端口名称和 51 系列单片机有区别, 51 单片最经典的通用 I/O 口名称是 P0 口、P1 口、 P2 口、P3 口。而飞思卡尔 128 单片机是由 A 口、B 口、 K 口、E 口等标称的, 熟悉 51 单片的同学在此学习飞思卡尔单片时要知道变通,同样的对于学习其他单片机也是 一样的,先熟悉端口名称,再熟悉其端口功能,再熟悉其寄存器。C 语言的编程语法和算法 思路是通用的。 现在功能强悍一点的单片都在内部集成了很多现成的模块, 我们可以通过对 其模块寄存器编程配置我们需要的功能即可, 此处的 128 单片机就是这样一款单片机, 在此 我就我个人学习的一些心得写出来, 仅供交流与参考, 同时我也希望帮助新手能够很快得上 手。 具体更深层的内容大家还需要去参考芯片的技术手册和其他参考书。 以下我就分模块来 讲解, 大家在学习的过程中也需要一个模块一个模块的来学习和测试。 其实我个人觉得买过 来的开发板用途不是很大,因为很多端口被其在 PCB 设计时固化了,留给我们的端口并不 多,使用起来极不方便,所以我个人建议大家可以买个带有最小系统的模块,自己用排针和 插槽焊一个程序调试板,再焊一排共阴极的发光二极管(最好能发不同颜色光的) ,再焊几 个开关电路和按键电路即可。 我们在代码的各个位置通过点亮发光二极管来知道程序走到哪 一步了。下面我提供的测试例程也是这么来的,节省硬件就是节省开支啊,多动脑子,多想 办法可以克服很多困难的。 注: 一个寄存器的多个位可以一次性写入配置的, 但是为了使大家读程序理解方便我对寄存 器的每一位几乎一位一位配置的,我麻烦了,不过可以给大家读程序带来方便。

MC9S12

MC9S12

2.1简介2.1.1概述S12XE系列端口集成模块建立了与外设模块之间的接口包括非复用的外部总线接口模块(S12X_EBI)和所有端口I / O引脚。

它控制了引脚的电气特性以及信号优先级和引脚复用。

这份文件包括:•端口A 和B 作为地址S12X_EBI输出(总线)•端口C 和D 作为S12X_EBI数据的I / O(总线)•端口E 作为S12X_EBI控制信号和IRQ,XIRQ中断输入•端口K 作为S12X_EBI地址输出(总线)和控制信号•端口T 与1个 ECT模块关联•端口S 2个SCI和1个SPI模块关联•端口M 与4个MSCAN和1个 SCI模块相关•端口P 一个PWM 模块和2个SPI模块- 输入可以用作外部中断源•端口H 4个SCI模块-输入可作为外部中断源•端口J 1个MSCAN2,1个 SCI,2个IIC个模块和芯片选择输出 - 输入可用作外部中断源•端口AD0和AD1 两个16通道ATD模块•端口R 与1个标准定时器(TIM)模块相连•端口L 4 SCI模块•端口F IIC,SCI和片选输出大多数I / O引脚可配置寄存器位来选择数据方向和驱动力,使选择上拉或下拉设备。

注意本文档假定所有功能可用(208针封装)。

低引脚数封装某些功能不可用。

在SOC的指南,请参阅在soc guide中的引脚说明摘要。

2.1.2特点端口集成模块包括这些特殊寄存器:•数据和数据方向寄存器:端口A,B,C,D,E,K,T,S,M,P,H,J,AD0,AD1,R,L;当F用作通用的I / O也有这两个寄存器。

•(拉)控制寄存器:以每个引脚为单位来启用/禁用拉设备,并选择端口是上拉还是下拉;端口T,S,M,P, H,J,R,L和F都有该寄存器。

•(拉)控制寄存器:以每个引脚为单位来启用/禁用上拉器件;端口AD0和AD1。

•(拉)单控制寄存器:以每端口为单位来启用/禁用端口上拉器件,端口A,B,C,D,E,K 和•(驱动)控制寄存器:以每个引脚为单位来启用/禁用减小输出驱动能力;端口T,S,M,P,H,J,AD0,AD1,R,L和F•(驱动)单控制寄存器:以每端口为单位来启用/禁用减小输出驱动能力;端口A,B,C,D,E,和K•(路由)控制寄存器:启用/禁用开漏(线或)模式;端口S,M和L•中断标志寄存器:对应端口P,H和J的引脚中断•(中断)控制寄存器配置:用来配置IRQ引脚•自由运行的时钟输出一个标准的端口引脚最少具有下列特性:•输入/输出选择•5V驱动输出(可选full和reduced,驱动力reduced为full的1/6)•5V的数字和模拟输入•输入可以选择上拉或下拉器件专用引脚支持的可选功能:•开漏线或连接•中断输入干扰过滤•降低了输入阈值,以支持低电压应用由运行的时钟输出2.2外部信号描述本节列出并描述了信号,连接片外。

MC9S12XS128单片机简介

MC9S12XS128单片机简介

MC9S12XS128 单片机简介1、HCS12X 系列单片机简介Freescale 公司的16 位单片机主要分为HC12 、HCS12、HCS12X 三个系列。

HC12核心是16 位高速CPU12 核,总线速度8MHZ;HCS12 系列单片机以速度更快的CPU12 内核为核心,简称S12 系列,典型的S12 总线速度可以达到25MHZ。

HCS12X 系列单片机是Freescale 公司于2005 年推出的HCS12 系列增强型产品,基于S12 CPU 内核,可以达到25MHz 的HCS12 的2-5 倍性能。

总线频率最高可达40 MHz。

S12X 系列单片机目前又有几个子系列:MC9S12XA 系列、MC9S12XB 系列、MC9S12XD 系列、MC9S12XE 系列、MC9S12XF系列、MC9S12XH 系列和MC9S12XS 系列。

MC9S12XS128 就是S12X 系列中的一个成员。

2、MC9S12XS128 性能概述MC9S12XS128 是16 位单片机,由16 位中央处理单元(CPU12X)、128KB 程序Flash(P-lash)、8KB RAM、8KB 数据Flash(D-lash)组成片内存储器。

主要功能模块包括:内部存储器内部PLL 锁相环模块2 个异步串口通讯SCI1 个串行外设接口SPIMSCAN 模块1 个8 通道输入/输出比较定时器模块TIM周期中断定时器模块PIT16 通道A/D 转换模块ADC1 个8 通道脉冲宽度调制模块PWM输入/输出数字I/O 口3、输入/输出数字I/O 口MC9S12XS128 有3 种封装,分别为64 引脚、80 引脚、112 引脚封装。

其全名分别为MC9S12XS128MAE、MC9S12XS128MAA、MC9S12XS128MAL。

MC9S12XS 系列具有丰富的输入/输出端口资源,同时集成了多种功能模块,端口包括PORTA、PORTB、PORTE、PORTK、PORTT、PORTS、PORTM、PORTP、PORTH、PORTJ 和PORTAD 共11 个端口。

s12单片机功能模块

s12单片机功能模块

---------------------------------------------------------------最新资料推荐------------------------------------------------------1 / 32s12单片机功能模块六 单 接口和功 块 内容 介、 I/O 接口 块 、 数 换 A/D 块 、 冲宽度制 PWM 4、增强型定时器 ECT 5、同 外设接口 SPI 6、串行信接口 SCI 块 块 块 块 、接口MC9S12DG128B 单 I/O 口 接按接发光二 功 中断 入, 有PJ0-PJ5 中断 入, 有 PP6 有 PM6-PM7 有 PS4-PS7 只 入 、 接口口作为 入使 设 方向寄存器(DDRx )为 入(0X00) 时取 I/O 口 数据寄存器(PORTx ) 口作为 出使设 方向寄存器(DDRx )为 出(0XFF ) 设 动 力寄存器( 必页) 拉 逩择( 必页) 时写入 I/O 口数据寄存器(PORTx ) 、 接口 口作为外 中断接收使 开 中断(CLI ) 设 方向寄存器为 入 设 中断有效 (上升 、下 )使 中断 写 关 中断服务 序有效 到杯时,会臧动 入中断服务 序 、 接口 例一 设 一个C 语 序,使教学 上发光二显效显循环效、接口例二使 PORTJ 中断口功例子,例原是:设 A 口为出口,PTA 6 PTJ 6 件,PTB 出,杯控制 8 个 LED , PTJ 开中断,并且设为上升觲发。

馒先 PTA 初始化为 0,PTB 为 0xFF,时。

在大循环冲设PTA 6 位为平,产中断,低 4 个亮, 4 个不亮。

使单行柧效。

、数换块换基念数换定义:将时縣、幅值也縣拟信号换为散、幅值也散数字信号数换精度数换精度是指二制位数。

9S12 AD 块有两精度可逩,分别为 8 位精度(0255)和10 位精度(01023)。

MC9S12相关模块

MC9S12相关模块

MC9S12相关模块{//覆盖率在软件设计和编写之前,应该定义好它期望达到的语句覆盖率。

代码的设计和编写应该能使其在测试中达到很高的语句覆盖率。

}{//PWM脉冲宽度调制。

脉冲宽度调制是一种模拟控制方式,其根据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,来实现晶体管或MOS管导通时间的改变,从而实现开关稳压电源输出的改变。

这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术。

1.每一个PWM 的输出通道都有一个使能位PWMEx。

它是用来启动和关闭波形输出的。

2.每一个PWM 的输出通道都有一个使能位PWMEx。

它是用来启动和关闭波形输出的。

3.每一个PWM 输出通道都有两个时钟可供选择(A、SA或B、SB)。

0、1、4.0、1、4、5 通通道可选用A、SA 时钟,2、3、6、7 通道可选用B、SB 通道。

此寄存器在任何时间都是可读、可写的,复位时全置0。

应当注意的是,如果当一个PWM输出波形正在产生时,时钟改变,这时就会产生一个平头的或线形脉冲。

5.PWMPRCLK寄存器是单独用来给时钟源A、B进行预分频的。

6.PWMCAE 寄存器包含8 个控制位来对每个PWM 通道设置左对齐输出或居中对齐输出。

应当注意的是,只有输出通道被关闭后才能对其进行设置,即通道被激活后不能对其进行设置。

7.时钟SA是通过对PWMSCLA寄存器的设置来对A时钟进行分频而产生的。

其计算公式为:Clock SA=Clock A /(2*PWMSCLA)时钟SB与SA的工作原理同其计算公式为:Clock SB=Clock B /(2*PWMSCLB)8.占空比的计算方法:当PPOL=0 时:占空比=[(PWMPERx—PWMDTYx)/ PWMPERx]*100%当PPOL=1 时:占空比=(PWMDTYx/ PWMPERx)*100%9.CAEx=0即当为左线性输出时:PWMx输出频率=时钟频率/ PWMPERx /*个寄存器的值就决定了相关PWM 通道的周期。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
逐次逼近型A/D 由一个比较器和D/A 转换器通过逐次 比较逻辑构成,从MSB 开始,顺序地对每一位将输入 电压与内置D/A 转换器输出进行比较,经n 次比较而输 出数字值。其电路规模属于中等。
9S12的A/D模块主要特性
8位/10位可选择的转换精度; 速度快,每进行一次10位的转换,仅
仅需要7nS; 采样时间可编程; 左对齐/右对齐的数据格式,有符号/
控制寄存器2—ATDCTL2
ADPU:A/D模块的电源管理。1=正常模式,0=低功耗 模式。
AFFC:标志位快速清零。1=对转换结果寄存器访问会 自动清除标志位,0=正常模式,访问结果寄存器前读状 态寄存器1可以清楚转换完成标志CCF。
AWAI:等待时进入低功耗模式。1=进入,0=正常工作。 ETRIGLE、ETRIGP:外部触发的边沿/极性控制。 ETRIGE:上两位的使能位。允许在PAD7输入外部触发
AN7/ETRIG/PAD7(58):模拟量输入通道7, 通用数字输入端口。它也可以被配置为A/D 转换 的外部触发引脚。
AN6/PAD6 - AN0/PAD0(51-57):模拟量输入 通道6-0,通用数字输入端口。不可以被用作外部 触发引脚。PAD0通过50K滑动变阻器接到VCC, 调可变电阻可以调试A/D转换。
没有PS4-PS7
PORTAD
只能输入
1、通用I/O接口
I/O口作为输入使用
设置方向寄存器(DDRx)为输入(0X00) 随时读取I/O口的数据寄存器(PORTx)
I/O口作为输出使用
设置方向寄存器(DDRx)为输出(0XFF) 设置驱动能力寄存器(非必须) 拉电阻选择(非必须) 随时写入I/O口数据寄存器(PORTx)
A/D时钟的计算公式如右图。
注意,A/D模块的时钟频率要在500KHz和2MHz之间, 所以在选择分频因子时一定要注意。
控制寄存器5—ATDCTL5
DJM:16位结果寄存器数据的对齐方式。1=右对齐,0=左对齐。 DSGN:结果寄存器中数据有无符号。1=有符号,0=无符号。 SRES8、DJM 和DSGN 三位配合起来使用,决定了结果寄存器中
置 紧急关断功能
9S12 PWM模块外部引脚
共7个外部引脚
PWM0—5(4、3、2、1、80、79)
PWM7(78)
9S12 PWM模块的时钟
四个时钟源CLOCKA、CLOCKB、CLOCKSA、 CLOCKSB。
其中CLOCKA(B)可以把总线时钟进行1、2、 4、8、16、32、64、128分频。Clock A 的预分频 因子通过PWMPRCLK寄存器中的PCKA2、 PCKA1 和PCKA0 来选择,Clock B 的预分频因 子通过PWMPRCLK 寄存器中的PCKB2、PCKB1 和PCKB0 来选择。
注意,引脚上的电平必须和VRH或VRL匹配,否则将返回 一个不确定的值。
如果响应通道的输入缓冲区无效(IENx=0),读取操作 只返回1。
复位后,寄存器值等于$FF。 注意,PORTAD端口模拟量和数字量是可以复用的。当输
入模拟量时,会把模拟信号直接送到A/D 转换器;当输入 数字量时,会把外部数字信号送到PORTAD 寄存器以供读 取。
数据的格式,一共有8种情况。 SCAN:连续转换队列的模式。此位定义了A/D 转换是连续进行
还是只进行一次。1=连续队列转换;0=单次队列转换。 MULT:当这位为0 时,ATD 的队列控制器只从指定的输入通道
进行采样,可以使用ATDCTL5寄存器中的CC、CB 和CA 三位来 指定需要采样的模拟量输入通道。当这位为1 时,则对多个的通 道进行采样,每次采样的通道数量由S8C、S4C、S2C 和S1C 控制 位来指定,第一个采样通道由CC、CB 和CA 控制位来指定,其 它采样通道由通道选择码CC、CB 和CA 的增加来决定。 CC、CB、CA:模拟输入通道选择码。和MULT配合使用。
状态寄存器0—ATDSTAT0
SCF:队列完成标志。置位条件:当一个队列转换完毕后;如果 处在SCAN模式,则每次都置位。清零条件:对此位写一;写 ATDCTL5,开始一个新的对列;AFFC=1(标志快速清除)且读 结果寄存器。
ETORF:外部触发溢出标志。置位条件:处于边沿触发模式时, 如果第一个边沿触发的队列转换正在进行,而这时却检测到了第 二个有效的边沿。清零条件:对此位写一;写控制寄存器2、3或 4,终止当前队列;写控制寄存器5,开始一个新队列。
通道0、1、4、5可选CLOCKA或CLOCKSA; 通道2、3、6、7可选CLOCKB或CLOCKSB。
9S12 PWM模块的计数器
每个通道的计时器都有一个8 位计数器、一 个8位周期寄存器和一个8 位占空比寄存器。 输出波形的周期受周期寄存器的控制,当
计数器的计数值等于周期寄存器的值时, PWM波周期结束。PWM的波形还跟占空比 寄存器、输出极性和对齐方式有关。
PWMCAE 寄存器中的CAEx 位是输出格式的控制位。 CAEx=0,则对应通道的输出格式是左对齐的。
当使用左对齐格式输出时,8 位的计数器只使用加法 计数。当计数器加法计数到占空比寄存器中的值时, PWM 通道输出波形的电平就发生变化;当计数器加 法计数到周期寄存器中的值时,计数器复位,输出波 形电平发生变化,然后再次读取占空比和周期寄存器 中的值作为下次计数参考使用。
1、通用I/O接口
I/O口作为外部中断接收使用
开系统中断(CLI) 设置方向寄存器为输入 设置中断有效边沿(上升沿、下降沿) 使能中断 编写相关的中断服务程序 有效边沿到来时,会自动进入中断服务程序
1、通用I/O接口
例一
设计一个C语言程序,使教学板上发光二极管
显示花等效果 显示循环流水灯效果
PWMCNTx 计数寄存器在PWM 通道工作时 也可以被写入,但是暂时产生无效的波形。
9S12 PWM模块的允许控制
PWM的允许位相当于“开关”,可以允许和 禁止相应通道的PWM输出。
每个PWM 通道都对应一个允许(PWMEx), 只有PWMEx=1 时,对应的通道才输出波形。
计数器计数结束的那一刻,只要PWMEx 为高 电平,则会自—ATDSTAT1
CCFx: x通道的转换完成标志。1=完成队 列中的第x 个转换,结果存储在ATDDRx 寄 存器中;0=转换未完成。
清零条件:写控制寄存器5,开始一个新队 列;AFFC=1,对结果寄存器访问; AFFC=0,首先读状态寄存器1,然后访问 结果寄存器。
输入允许寄存器--ATDDIEN
9S12 PWM模块的极性控制
每个PWM 通道都对应一个极性设置位,决 定了PWM 波的输出首先是高电平还是低电 平。
当PPOLx 被置位时,对应的通道首先输出 高电平,直到计数器计数到占空比寄存器 的值后变为低电平;反之则首先输出低电 平,直到计数器计数到占空比寄存器的值 后变为高电平。
左对齐的输出波型
FIFOR:FIFO 溢出标志。如果转换完成标志(CCF)在没有被清 零时结果寄存器被写入新值(覆盖),则置位。清零条件:对此 位写一;写控制寄存器5,开始一个新队列。1=有FIFO溢出,0= 无FIFO溢出。
CC2、CC1、CC0:转换计数器。代表了哪个结果寄存器将要接收 当前转换的结果。非FIFO 模式(FIFO=0),这3 位的初始值为0, 计数完成后又会回到初始值。FIFO 模式(FIFO=1),转换计数 器处于循环计数状态。
无符号的转换结果; 转换完毕可产生中断; 使用PAD7外部触发控制。
9S12的A/D模块外部引脚
VRH(60)、VRL(61):A/D 转换模块的参考 高电压和参考低电压。实验板上,VRH和VRL分 别接VCC和GND。
VDDA(59)、VSSA(62):A/D 模块提供电源。 实验板上,VDDA接到VCC,VSSA接到GND。
FRZ1、FRZ0:背景调试冻结模式允许。这 两个控制位就决定了,当遇到断点时,A/D 模块怎样反应。
控制寄存器4—ATDCTL4
SRES8:转换精度选择。1=8位精度,0=10位精度。
SMP1、SMP0:采样时间选择。可选择2、4、8、16 个A/D时钟周期。
PRS4、PRS3、PRS2、PRS1、PRS0:A/D 时钟分频因 子的选择。
IENx:通道x 输入数字允许。这8个控制位 控制了从模拟量输入端口到数据寄存器的 数字输入缓冲区。1=缓冲区有效;0=无效。 当端口作为模拟量输入端口时,也可以打 开数字缓冲区,但是会增加功耗。
数字输入寄存器PORTAD
PTADx:A/D 模块的第x 个通道(ANx)的数字输入。当 对应通道的数字输入允许时,此位返回了相应引脚上的电 平逻辑值。
A/D转换结果寄存器—ATDDRx
ATDDR0—ATDDR7:0—7通道的结果寄存器。A/D转换 的结果需要从这几个寄存器中读取。每个16位寄存器可以 分成2个8位的寄存器来读取,分别为ATDDRxH和 ATDDRxL。
注意转换结果在这8个16位寄存器中的存储格式。以10位左、 右对齐为例:
左对齐10位数据
第六讲 MC9S12单片机 I/O接口和功能模块
1、通用I/O接口
MC9S12DG128B单片机I/O口
PORTA
连接按键
PORTB
连接发光二极管
PORTE
特殊功能
PORTJ
中断输入,没有PJ0-PJ5
PORTP
中断输入,没有PP6
PORTM
没有PM6-PM7
PORTT
PORTS
√ √ √ √ √√ √ √ √ √ ××××××
右对齐10位数据
××××××√ √ √ √ √ √ √ √ √ √
另外还要注意有符号数据和无符号数据的区别。
A/D转换综合举例
使用教学板上电位器调试并观察A/D转换结 果。
相关文档
最新文档