当前位置:文档之家› 96系列单片机简介及

96系列单片机简介及

ִIOC0控制定时器2和高速输入线。 ִIOC1控制某些引脚功能、中断源和两个HSO引 脚。
控制寄存器
0 1 2 3 4 5 6 7
HSI.0 输入/分断 定时器2 复位,写1 使之复位 HSI.1 输入/分断
定时器2 外部复位允许/禁止 HSI.2 输入/分断 定时器2 复位源HSI.0/T2RST HSI.3 输入/分断 定时器2 时钟源HSI.1/T2CLK 图3.5 I/0 控制寄存器0
AD_RESULT
脉冲宽度调制输出(PWM)
数/模转换可以通过脉冲宽度PWM输出来实 现,PWM输出波形是一个重复周期为256个 状态周期,而占空比可变,占空比的变化 通过向PWM寄存器写入新值来实现。对此波 形进行积分,那么,即可得到一个DC电平, 通过改变占空比,可使该电平分256个阶梯 变化。
第三章 96系列单片机简介及 应用实例
主要内容
ִ§3.1 硬件结构 ִ§3.2 MCS-96指令系统 ִ§3.3 80C196KB单片机应用实例
目的:通过一种单片机的设计实例,掌握智能仪器仪表中CPU设计的 一般方法。
§3.1 硬件结构
主要内容 ִ3.1.7 高速输入单元 (√) ִ3.1.1 内部定时 ִ3.1.8 高速输出单元 (√) ִ3.1.2 存储空间 ִ3.1.9 模拟接口 ִ3.1.3 芯片配置寄存器CCR ִ3.1.10 串行口 (√) ִ3.1.4 状态和控制寄存器 ִ3.1.11 监视定时器 ִ3.1.5 中断结构 (√)——重点 ִ3.1.12 复位和掉电保护 ִ3.1.6 定时器
S T AC KP PW M_CON IO C 1 IO C 0 R ES ER V ED SP_CON PORT2 R ES ER V ED BAUD_R A R ES ER V ED W AT C HDO G IN T _ P E N IN T _ M A S K S B U F (T X ) HSO _C MD H S O _ T IM (H ) H S O _ T IM (L ) H S I_ M O D AD_C MD R 0(H I) R 0(L O ) W R IT E R ES ER VED C O DE R ES ER VED JU M P S E L F R ES ER VED CCR R ES ER VED IN T E R U P T V E C T O R PO RT4 PO RT3 O U T E R M E M I/O IN E R O R O U T E R R O M R A,SPCON 的中断向量 ORG 2000H DCW TYCINT ;T1溢出中断 ORG 2004H DCW HSIINT ;HSIINT---高速输入中断 ORG 200AH DCW TIMEINT ;TIMEINT---软件定时中断
3.1.6定时器
系统中有两个16位定时器,定时器1和定时 器2。 定时器1作为实时时钟用来同步其 他事件。它自由运行,每8个状态周期加1。 (定时器+1时间为8T=?) 该计数器在任何时刻均可读出,但一般不 可改写,且除芯片复位之外也没有其他手 段使其停止计数并恢复为0。
状态寄存器
0 1 2 3 4 5 6 7
HSO.0 现行状态 HSO.1 现行状态 HSO.2 现行状态 HSO.3 现行状态 HSO.4 现行状态 HSO.5 现行状态 CAM 或保持寄存器满 HSO 保持寄存器满 图 3.7 I/0 状态寄存器 0
0 1 2 3 4 5 6 7
软件定时器 0 到时 软件定时器 1 到时 软件定时器 2 到时 软件定时器 3 到时 定时器 2 溢出 定时器 1 溢出 HSI FIFO 已满 HSI 保持寄存器数据可用 图 3.8 I/0 状态寄存器 1
IN N E R R A M 0000H
图 3.3 存 储 空 间 图
3.1.3芯片配置寄存器CCR
CCR的内容由用户预先写入018H单元(芯片配置字 节),系统复位时,该芯片配置字节被自动送入 CCR寄存器。(8位总线时一般为0BDH)
3.1.4状态和控制寄存器
8098有两个I/O控制寄存器IOC0和IOC1
软件定时1ms中断服务子程序
TIMEINT:PUSHF DI LDB HSOCOM ,#38H ;重设TIMEINT ADD HSOTIM ,TIMER1 ,#TIJG ;12M=#750 6M=#375 EI INC ZDCS ;中断次数加1 POPF RET
3.1.9模拟接口
模拟输入 AD_COMMAND
XTAL1 ;B ≠ 0 4( B + 1)
BAUD RATE 方式0 方式1、2、3 12M 9600 8137 H 8270 H 8013 H 8026 H 6M 8009H 8000H +19
XTAL1 方式1、2、3= 64( B + 1)
4800
因为波特率寄存器的最高位用于对内部时钟源的 选择 ,当用XTAL1时,固定为“1”
寄存器组合空间 专用寄存器空间 掉电保护空间 ROM空间的寻址
(√)
0F F H 0F 0H 0E F H 1A H 19H 18H 17H 16H 15H 14H 13H 12H 11H 10H 0F H 0E H 0D H 0C H 0B H 0A H 09H 08H 07H 06H 05H 04H 03H 02H 01H 00H
;累计A/D变换值 累计A/D变换值 A/D ;A/D变换次数+1 A/D变换次数
3.1.10串行口
方式0:同步方式,通常用在以移位寄存器 为基础的I/O扩展方面 方式1:标准异步通讯方式。
串行口(续)
方式2和方式3:用于多机通讯
串行口(续)
串行口的控制
串行口波特率设置
1. 98:方式0=
ִ ִ ִ
P R O T EC T P O W D ER D O W N R AM R AM
STAC KP IO S 1 IO S 0 R ES ER VED SP_STAT R ES ER VED PORT2 PORT0 T IM E R 2(H ) T IM E R 2(L ) T IM E R 1(H ) T IM E R 1(L ) IN T _ P E N IN T _ M A S K S B U F (R X ) H S I_ S T A H S I_ T IM (H ) H S I_ T IM (L ) A D _ R E S (H ) A D _ R E S (L ) R 0(H I) R 0(L O ) R EA D
AD变换子程序
ADBH: ADBH: ORB LDB NOP NOP NOP ADDD1 ADDD1: JBS LDB LDB SHR ADD ADDC INC RET LDB TDHAO,ACHTDH TDHAO,#00001000 00001000B TDHAO,#00001000B ADCOM,TDHAO
;判断是否0口中断 ;判断是否1口中断 ; 2 ; 3 ;读时间到HI0T中
3.1.8高速输出单元
HSO输出控制
ִ LDB HSO_COMMAND, #WHAT_TO_DO ִ ADD HSO_TIME,TIMER1, #WHEN_TO_DO_IT
高速输出单元(续)
0 1 2 3 4 5 6 7 通 道 : 0-5 HSO.0-5 相 应 各 位 6 HSO.0-1 两 位 同 时 7 HSO.2-3 两 位 同 时 8-B 软 件 定 时 器 0-3 E 定时器 2 复位 F 启 动 A/D 转 换 中 断 /无 中 断 置 位 /清 0 定 时 器 2/1 × 图 3.10 HSO 命 令 格 式
0 1 2 3 4 5 6 7
PWM/P2.5 选择 ACH7/EXTINT 选择 定时器1 溢出中断允许/禁止 定时器2 溢出中断允许/禁止 HSO.4 输出允许/禁止 TXD/P2.0 选择 HSO.5 输出允许/禁止
HIS 中断源选择FIFO 满/保持寄存
器已有数据 图3.6 I/0 控制寄存器1
HSI运行方式 运行方式HSI_MODE 一. HSI运行方式HSI_MODE
0 1 2 3 4 5 6 7
图3.9 HSI_MODE 寄存器 HSI.3 方式选择位 HSI.2 方式选择位 HSI.1 方式选择位 HSI.0 方式选择位
方式选择位 事件定义
00 8个正跳变为一个事件 01 每个正跳变为一个事件 10 每个负跳变为一个事件 11 每个跳变(正和负)均 为事件
二.HSI状态寄存器HSI_STATUS) HSI状态寄存器HSI_STATUS) 状态寄存器HSI_STATUS
各位的定义同图3.9
ִ其中低位表示本引脚上是否有事件发生; ִ高位表示本引脚的现行状态。
三.HSI的控制和操作 HSI的控制和操作
有 关 控 制 见 HSI_MODE 、 IOC0 、 IOC1 、 INT_MASK、INT_PENDING以及中断向量。 中断发生后:先读HSI的状态,后读其中断 时间。(两者均得读,且顺序读)
HSIINT 子程序(记录脉冲)
HSIINT: LDB JBS JBS JBS JBS SJMP HI0: PUSHF HSIBJ,HSISTA HSIBJ,0,HI0 HSIBJ,2,HI1 HSIBJ,4,HI2 HSIBJ,6,HI3 HSIFH ST HSITIM ,HI0T … POPF RET
3.1.1内部定时
内部定时(续)
8098为3分频结构,即每3个时钟周期为1个 状态周期,在12M的晶振下:
ִ ִ1个状态周期=3个时钟周期 =1/12000000*3s=1/4μs (8T)
80C196为2分频结构:
ִ1个状态周期=2个时钟周期 =1/12000000*2s=1/6μs
3.1.2存储空间
;TDHAO标记ACHTDH TDHAO标记ACHTDH 标记 ;立即启动AD变换 立即启动AD变换 AD
相关主题