n76e003引脚图_N76E003手册阅读
I/O端口结构及工作模式最多支持26个可位寻址的通用I/O引脚,分4组,P0到P3,端口控制寄存器(Px)
端口控制寄存器的写和读有不同的意思,写端口控制寄存器设置输出锁存逻辑值,
读端口引脚的逻辑状态
四种I/O模式:准双向模式(标准8051端口结构)、推挽输出、输入和开漏模式。(P2.0不能配置)
特殊端口寄存器PxM1和PxM2选择端口Px的I/O模式:
复位后,默认配置是高阻输入模式
PxM1.nPxM2.nI/O类型x:0、1、2、3
00准双向
01推挽输出
10输入(高阻)
11开漏
PxS寄存器TTL电平输入或施密特触发输入(抗干扰能力更好)
PxSR寄存器 输出斜率控制寄存器默认 慢斜率
配置RPD(CONFIG0.2)为0,P2.0被配置为输入引脚(输入模式和施密特触发模式,通过P20UP(P2S.7)
使能内部上拉电阻);RPD为编程,P2.0为外部复位引脚(内部上拉电阻有效,读P2.0的值为0)
**准双向模式
**推挽模式
推挽输出模式用于需要从端口输出大电流时的应用
**输入高阻模式
**开漏模式
常用于I2C输出线,开漏引脚需要加一个外部上拉电阻,典型连一个电阻到VDD
**读-修改-写 指令
ANLORLXRLJBCCPLINCDECDJNZMOVbit,CCLR bit SETB bit
**管脚控制寄存器
1.输入输出数据控制
I/O输入输出数据缓存,可位寻址
2.输出模式控制
准双向模式(标准8051端口结构)、推挽输出、输入和开漏模式
对P2.0,有一个上拉电阻控制位 P2S.7
P0M1 -端口0模式选择1P1M1 -端口1模式选择1P3M1 -端口3模式选择1
P0M2 -端口0模式选择2P1M2 -端口1模式选择1P3M2 -端口3模式选择2
P2S -P20设置及定时器0/1输出使能
位70-P2.0上拉功能关闭;1-上拉打开(仅当RPD=0有效)
3.输入类型
每一个I/O引脚可独立配置成TTL输入或施密特触发输入,注意所有
PxS寄存器通过切换SFR页到页1来访问
P0S 端口0施密特触发输入0-TTL电平,1-施密特输入
P1S 端口1施密特触发输入
P2S 端口2施密特触发输入
位00-P2.0TTL电平输入;1-P2.0施密特输入
P3S 端口3 施密特触发输入
位00-P3.0TTL电平输入;1-P3.0施密特触发输入
4.输出斜率控制
P0SR -端口0斜率控制P1SR -端口1斜率控制P3SR -端口3斜率控制
位n PxSR.n:0-普通输出;1-高速输出
定时器/计数器 0和1
2个16位,每个由两个8位寄存器组成16位技术寄存器
定时器/计数器0高8位寄存器,TH0;低8位,TL0
定时器/计数器1高8位寄存器,TH1;低8位,TL01
TCON和TMOD配置0和1的工作模式
1.TMODC/T位,第2位选择定时器/计数器0功能,第6位选择定时器/计数器1功能
2.定时器功能时,定时器0设置T0M(CKCON.3)位,定时器设置T1M(CKCON.4)位,选择定时器时钟
是系统时钟(Fsys)或Fsys的12分频
3.设置P2S寄存器的T0OE和T1OE可实现定时器溢出时,引脚T0/T1自动翻转输出
(C/T位应被清除并选择Fsys作为定时器的时钟源)
4.TH0(TH1)和TL0(TL1)是独立分开访问的,在模式0或模式1下时,读/写TH0(TH1)和TL0(TL1)之前
必须清除TR0(TR1)来停止计时(TCON 定时器0和1控制寄存器)
**定时器寄存器
1.TMOD 定时器0和1模式寄存器
2.TCON 定时器0和1控制寄存器(可位寻址)
3.TL0 定时器0低字节
4.TH0 定时器0高字节
5.TL1 定时器1低字节
6.TH1 定时器1高字节
7.CKCON 时钟控制寄存器 PWM时钟源选择,定时器1,定时器0,系统时钟输出
8.P2S P20设置和定时器0/1输出使能寄存器
位3 T1OE 定时器1输出使能(0-T1引脚输出关闭,1-打开)
位2 T0OE 定时器0输出使能(0-T0引脚输出关闭,1-打开)
**模式013位定时器
**模式1 16位定时器
**模式2 8位自动重装载定时器
**模式3 两组独立8位定时器 定时器2及输入捕获
定时器2是一个16位的向上计数器,由高8位寄存器(TH2)和低8位寄存器(TL2)组成。
通过配置寄存器RCMP2H和RCMP2L,设置CM/RL2(T2CON.0),定时器2能工作在比较模式和
自动重载模式下。
定时器2具有3通道输入捕获模块,可用于测量输入脉冲宽度或周期,3通道捕获结果分别存放在
寄存器C0H及C0L,C1H及C1L,C2H及C2L中。
定时器2的时钟来自系统时钟的分频,有8级分频
TR2(T2CON.2)置1,定时器使能,置0,定时器关闭。
**寄存器
T2CON -定时器2控制寄存器
-TF2 定时器2溢出标志, -TR2 , -CM/RL2 定时器2比较(1)或自动重载功能(0)
T2MOD -定时器2模式选择
RCMP2L -定时器2重装载/比较数据低字节
RCMP2H -定时器2重装载/比较数据高字节
TL2 -定时器2低字节定时器2的16位寄存器的低8位字节数据
TH2 -定时器2高字节
建议软件在清除TR2停止定时器2工作之后再读写这两个寄存器的值
**自动重装载功能模式
**比较功能模式
**输入捕获功能模块
依靠定时器2实现输入捕获功能,通过寄存器CAPCON0-2配置来支持3组通道输入(CAP0,CAP1,CAP2)
可选择配置9个引脚(P1.5,P1,P0.0,P0.1,P0).
引脚复合功能选择通过CAPCON3和CAPCON4配置。
**寄存器
CAPCON0 -输入捕获控制寄存器0通道使能
CAPCON1 -输入捕获控制寄存器1触发边沿
CAPCON2 -输入捕获控制寄存器2噪声滤波
C0L -捕获通道0低字节
C0H -捕获通道0高字节
C1L -捕获通道1低字节
C1H -捕获通道1高字节
C2L -捕获通道2低字节
C2H -捕获通道2高字节
CAPCON3 -输入捕获控制寄存器3引脚选择 通道1 通道0
CAPCON4 -输入捕获控制寄存器4引脚选择 通道2 定时器3
定时器3是一个16位自动重装载,向上计数定时器
定时器3同时也用作串口波特率产生定时器
**寄存器
T3CON -定时器3控制寄存器
RL3 -定时器3自动重装载寄存器低字节
RH3 -定时器3自动重装载寄存器高字节 脉冲宽度调制 PWM
PWM(脉冲宽度调制)信号在控制方案中应用。
电机驱动、风扇控制、背光调节、LED光源调光或通过低通滤波器电路模拟一个简单的
数模转换模块的输出
三对(6个PWM通道)16位精度、可调周期和占空比的PWM输出。
该模块架构适用于驱动单相或三相无刷直流电机(BLDC),或三相交流感应电机。
每个通道PWM输出可配置为独立输出模式、互补模式或同步模式。
当设定为互补模式时,通过插入可配置的死区时间,保护MOS管同时导通
PWM波形可配置边沿对齐或中心对齐来选择中断响应位置
**脉冲宽度调制发生器 特殊功能寄存器(SFR)
特殊功能寄存器(SFRs)控制或监视外设和其他模块
位于地址80到FFH地址空间,仅可通过直接寻址访问,
以0H或8H结尾的SFRs可位寻址,其他可字节寻址
所有SFR访问目标都是SFR页0,寄存器SFRS用来切换SFR页地址(SFRS有TA写保护)
SFRS -SFR页选择(TA保护)
位0 0指令访问SFR页0;1指令访问SFR页1
SFR内存分布
SFR Page Addr 0/8 1/92/A 3/B 4/C 5/D 6/E 7/F
0 F8 SCON_1 PDTEN PDTCNT PMEN PMD - EIP1EIPH1
1--
0F0 B CAPCON3CAPCON4SPCR SPSR SPDRAINDIDSEIPH
1SPCR2 - --
0 E8 ADCCON0PICON PINEN PIPEN PIF C2L C2H EIP
1-
0 E0 ACC ADCCON1ADCCON2ADCDLYC0LC0H C1L C1H
1
0D8 PWMCON0PWMPLPWM0L PWM1L PWM2L PWM3L PIOCON0PWMCON1
1
0D0 PSW PWMPH PWM0H PWM1H PWM2H PWM3H PNP FBD
1
0C8 T2CON T2MOD RCMP2L RCMP2H TL2 TH2ADCMPL ADCMPH
1PWM4LPWM5L
0C0 I2CON I2ADDR ADCRL ADCRH T3CONRL3RH3TA
1PWM4HPWM5HPIOCON1
0B8 IP SADEN SADEN_1SADDR_1I2DAT I2STAT I2CLK I2TOC
1
0B0 P3 P0M1P0M2P1M1P1M2 P2S -IPH
1P0S P0SRP1S P1SR PWMINTC
0 A8 IE SADDR WDCON BODCON1 P3M1P3M2IAPFDIAPCN
1P3S P3SR
0A0 P2 - AUXR1 BODCON0IAPTRG IAPUEN IAPAL IAPAH
1
098 SCON SBUF SBUF_1 EIE EIE1 - - CHPCON
1
090 P1 SFRS CAPCON0CAPCON1CAPCON2CKDIV CKSWTCKEN
1
088 TCON TMOD TL0 TL1 TH0 TH1 CKCON WKCON
1
080 P0 SP DPL DPH - - RWK PCON
1 中断系统
**中断概念
中断的目的是让软件处理非常规或异步的事件。
4个中断优先级、18个中断源,中断可被全局使能或关闭
中断向量
源中断地址中断号
复位 0000H-
外部中断00003H0
定时器0溢出000BH1
外部中断10013H2
定时器1溢出001BH3
串口0中断0023H4
定时器2事件002BH5
I2C状态/超时中断0033H6
管脚中断003BH7
欠压检测中断0043H8
SPI中断004BH9
WDT中断0053H10
ADC中断005BH11
定时器输入捕获中断0063H12
PWM中断006BH13
故障刹车中断0073H14
串口1中断007BH15
定时器3溢出中断0083H16
WKT自唤醒定时器中断008BH17
**中断延迟
中断标志位在每个系统时钟周期都会被采样
满足特定条件,硬件将执行背部产生的LCALL指令,目标地址是中断向量地址
条件:1没有相同或更高优先级中断服务程序在执行
2当前查询中断标志周期正好是当前执行指令的最后一个周期
3当前指令不是写任何中断使能位或优先级位且也不能是中断返回指令RETI
执行LCALL指令需要4个机器周期,从中断标志位到执行中断服务程序最少需要5个机器周期
不大于16个时钟周期(RETI指令的5个时钟周期、完成最长指令的6个时钟周期、侦测中断1个时钟周
和完成硬件LCALL跳转到中断地址的4个周期) 电源管理
空闲模式
掉电模式 管脚中断
管脚中断一般用于检测接口设备(键盘板或键盘)的边沿变化
每个管脚都有输入中断功能,用于检测管脚电平状态,最多配置8个I/O用于管脚中断
边沿检测或电平触发
管脚中断能使MCU从空闲模式或掉电模式唤醒(不退出空闲模式,退出掉电模式)
PICON设置管脚中断的触发方式
PIF中断标志寄存器,最多8个中断标志,通过硬件置位,通过软件清0
1.PICON-管脚中断控制寄存器 -电平0/边沿1触发、关键中断端口选择(0 1 2 3)
2.PINEN-管脚中断反相特性使能寄存器0-关闭中断,1-低电平/下降沿触发
3.PIPEN-管脚中断正相特性使能寄存器0-关闭中断,1-高电平/上升沿触发
4.PIF -管脚中断标志寄存器
5.EIE -扩展中断使能寄存器
:定时器2,SPI,PWM故障刹车,WDT,PWM,输入捕获,引脚中断,I2C
EIE1扩展中断使能寄存器1
:WKT,定时器3,串口1
6.IE -中断使能寄存器
:所有中断 EA,ADC(ADCCON0.7),BOD(BODCON0.3),串口0(SCON.1-TI、SCON.0-RI),
定时器1(TCON.7),外部中断1(P1.7),定时器0(TCON.5),外部中断0(P3.0) 自唤醒定时器 WKT
用于低功耗模式下的周期唤醒芯片,也可用作通用定时器。
WKT在空闲或掉电模式保持计数。
WKT用作唤醒定时器时,要在进入省电模式之前开启。
WKT只能配置片内10kHz时钟源LIRC,注意系统时钟频率必须大于WKT时钟两倍以上
用户应手动使能选择的时钟源并等待它稳定确保成功(时钟源在掉电模式下也要保持工作)
WKT配备简单的8位自动重载向上计数定时器,预分频从1/1到1/2048
EWKT置1,WKT中断服务程序将被执行(计数器溢出时)
**寄存器
WKCON 自唤醒定时器控制寄存器
RWK 自唤醒定时器重装载数据寄存器
RWK仅在WKT停止(WKTR位为0)的时候可以写入,预分频是1/1时,RWK不能是FFH 串口控制器 UART
两个全双工串口,具备自动地址识别和帧错误检测功能
同步工作模式:模式0,三种全双工异步模式:模式1,2和3
串口接收带有接收缓存,接收和发送都是对SBUF进行操作访问
写入SBUF数据将直接传到发送寄存器,而读取SBUF是访问一个具有独立物理地址的接收寄存器
任何一种模式,任何以操作SBUF的指令都将开始一次传输
在使用串口功能前,串口所用管脚P0.7及P0.6(RXD及TXD引脚)或者P0.2及P1.6(RXD_1及TXD_1)
必须先置1
可将串口0的TXD及RXD通过UART0PX(AUXR1.2)更改位置
**寄存器
SCON -串口0控制寄存器(可位寻址) 模式选择,多机通信,接收发送标志,中断标志
SCON_1 -串口1控制寄存器(可位寻址)
PCON -电源控制寄存器
T3CON -定时器3控制寄存器
SBUF -串口0数据缓存寄存器
SBUF_1 -串口1数据缓存寄存器
AUXR1 -辅助寄存器1 模式描述
串口0
模式 SM0 SM1 描述 帧位数波特率
000同步 8Fsys除以12或2(当SM2(SCON.5)设为1)
101异步 10定时器1/定时器3溢出时间除以32或16(当SMOD(PCON.7)设为1)
210异步 11Fsys除以32或64(当SMOD(PCON.7)设为1)
311异步 11定时器1/定时器3溢出时间除以32或16(当SMOD(PCON.7)设为1) 串口1
模式 SM0 SM1 描述 帧位数波特率
000同步 8Fsys除以12或2(当SM2_1(SCON_1.5)设为1)
101异步 10定时器3溢出时间除以16
210异步 11Fsys除以32或64(当SMOD_1(T3CON.7)设为1)
311异步 11定时器3溢出时间除以16 模式0
主机模式
串行数据由RXD脚进行收发,TXD脚用于产生移位时钟
半双工通信,每帧接收或发送8位数据
数据的最低位被最先发送或接收
波特率设置为Fsys/12(SM2(SCON.5)为0)或Fsys/2(SM2为1)
串行时钟将一直由MCU产生,串口模式0为主机模式 模式0
主机模式
串行数据由RXD脚进行收发,TXD脚用于产生移位时钟
半双工通信,每帧接收或发送8位数据
数据的最低位被最先发送或接收
波特率设置为Fsys/12(SM2(SCON.5)为0)或Fsys/2(SM2为1)
串行时钟将一直由MCU产生,串口模式0为主机模式 模式1
异步全双工的工作方式。异步通讯模式通常用于PC间,调制解调器和其它类似接口间通讯.
10位数据通过TXD发送,通过RXD接收
10位数据组成如下:起始位(逻辑0), 8位数据(最低位在前),停止位(逻辑1)
波特率由定时器1决定, SMOD (PCON.7) 设置为1可使波特率加倍 模式2
全双工异步通信
11位收发。 数据由起始位(逻辑0), 8位数据(最低位在前),第9位数据(TB8或RB8)
和停止位(逻辑1)组成。
第9位做奇偶校验位或多机通信时用来区分数据和地址
波特率是系统时钟频率的1/32 或1/64,由 SMOD位(PCON.7)来配置 模式3
除波特率外模式 3与模式 2相同。模式3采用定时器1的溢出率作为波特率时钟 12-位模数转换 ADC
12位逐次逼近寄存器型(SAR)的模拟数字转换器(ADC)
模数转换模块负责将管脚上的模拟信号转换为12位二进制数据
支持8通道单端输入模式
内部带隙电压(band-gap voltage)为1.22V,同时也可用作内部ADC输入端
所有模拟电路复用同一组采样电路和同一组采样保持电容
该组采样保持电容为转换电路的输入端 ADC工作方式
设置ADCEN(ADCCON1.0)位使能ADC电路,激活ADC电路。
一旦ADC转换模块不再使用,建议清零ADCEN位关闭ADC模块节省功耗
ADC转换输入管脚需要特别配置,通过ADCHS选择采样所需要的ADC通道连接到采样电路上
通过PxMn寄存器把采样所用的管脚配置为'输入高阻模式'(input-only high impedance)
通过配置AINDIDS寄存器相应位关闭数字输入缓冲区(数字输入电路工作将可能产生漏电流)
如上配置,ADC输入脚将变成纯模拟输入电路
置ADCS位(ADCCON0.6)开启AD转换,转换完成,硬件自动清除该位,同时置ADCF(ADCCON0.7)位
此时ADC中断若已经使能,会产生ADC中断
转换结果存放在ADCRH(高8位)及ADCRL(低4位)中,12位转换结果值为4095*Vain/Vref
页:
[1]
2