第06章 8098单片机的高速输出口(HSO)原理及应用
8098单片机资料介绍
8098单片机资料介绍MSC-96单片机是当今世界上具有最高性能的单片微型计算机系列产品之一,而8098单片机又是该系列中面向控制应用领域性能价格比最高的。
1、十六位中央处理器(CPU)该CPU在结构上的最大特点:抛弃习惯的累加器结构,改用寄存器——寄存器结构,其CPU是直接在由寄存器阵列和SFR特殊功能寄存器所构成的256字节寄存器空间内进行操作。
这些寄存器都具有累加器的特殊功能,它们可使CPU对运算前后的数据进行快速交换,同时又提供了高速数据处理能力和频繁的输入/输出能力,消除了一般累加器结构中存在的瓶颈现象。
16位CPU支持位、字节和字操作,在部分指令中还支持32位双字操作,如32位除16位。
2、高效的指令系统8098单片机具有丰富的指令系统,不但运算速度快,而且编程效率高。
与8031(MCS-51)单片机相比,完成同样一个计算任务,8098单片机的速度要高出5到6倍,并且指令字节数还不到8031单片机的一半。
它可以对不带符号和带符号数进行操作,有16位乘法指令,32位除16位除法指令,符号扩展指令,数据规格化指令(有利于浮点计算)等等。
许多指令即可用双操作数,也可用三操作数,使用灵活。
12MHz晶振下,一条指令最短执行时间为1μs,16位×16位乘法运算或32位除16位除法运算6.5μs。
3、十位A/D转换器四通道十位A/D转换器,12MHz晶振下,完成一次A/D转换所需时间只要22μs。
4、PWM脉宽调制输出作为D/A转换器输出,8098单片机可以直接提供一路脉宽调制信号,可以直接驱动某些电机。
PWM 输出信号经过积分就可以获得直流输出。
D/A转换器的分辨率为8位。
脉冲周期64μs(12MHz时)。
5、全双工串行口与MCS-51系列单片机兼容的全双工串行口。
这个串行口同样也有4种操作方式,能方便地用于I/O 扩展、多机通信及与CRT终端等设备进行通信。
6、HSI/O高速输入/输出接口高速输入器可以利用相对于内部定时器T1产生的实时时钟,记下某个外部事件发生的时间,共可记下8个事件;而高速输出器可以按规定的时刻去触发某一事件,任何时刻,都可以悬挂起8个事件。
8098单片机用于直流电动机拖动
!!!公’{{{口口l一常‘)))))))111.公.{{{1.’一写lllllllllllllllllllllllll111111111111111111111111111111111111111110111
14《煤矿机电》1995.6
(6)具有可编程的高速输人l输出(HSllHSO)
口。无需CPU干预,能自动在8个状态周期中处理8
个输人事件(记录外部事件发生的时间)和8个输出事
件(按预定的时间去触发某事件)。
(7)4路10位A/0转换器。
(8)可遥以作为0/A转换的脉宽调制输出
(PWM).可直接驱动某些电机,也可经外部积分电
路。这样便比较合理地解决了人身触电和选择接地线
路的矛盾,做到单相故障可以不停电。
5单相接地电弧过电压问题
在380V、660V低压供电网络中,由于电压低,供
电线路短,接地电流小,造成间歇性接地电弧过电压的
机率也较小,特别在工矿企业低压供电网络,为了改善
功率因数,一般在变电所低压母线上装有三角接线的
(l)16位中央处理器和外部采用8位数据总线,
可对与其配合的256个字节的片内寄存器组合直接进
行操作。这些寄存器都具有累加器的功能,克服了类
似MCS一51系列单片机只有l一2个累加器所产生
的瓶颈现象,大大提高了数据处理能力。
(2)与MCS一51相比,不但运算速度快,且编程
效率高。16位加法仅需l,‘s,16位乘法和32位对16
.6、P4、7构成键盘和显示控制。串行口以方
式O工作在移位寄存器方式,RXD用申行数据发送
8098单片机与软盘驱动器接口技术
第28卷 第4期 长春科技大学学报 V o l .28 N o.4 1998年10月 JOU RNAL O F CHAN GCHUN UN I V ER S IT Y O F SC IEN CE AND T ECHNOLO GY O ct .19988098单片机与软盘驱动器接口技术刘守会 李文全姜 虹(长春科技大学信息科学与技术学院,长春130026)(长春煤炭干部管理学院应用技术系,长春130012)摘要 8098系列单片机近几年在工业控制、数据采集等方面得到了广泛的应用。
因缺少大容量存储器限制了它的应用。
介绍了8098单片机与I BM 系列软盘驱动的接口,硬件连接,实现数据的读、写操作和数据传送方法,扩大了8098单片机的使用范围。
关键词 单片机 软盘控制器 时间保持中图分类号 T P 311第一作者简介 刘守会 男 27岁 硕士生 电磁测量技术及仪器专业 已合作发表“P sp ice 模拟R F -SQU I D 器件的方法”等论文收稿日期 199712228098系列单片机因采用寄存器—寄存器结构,消除了M CS -51系列中存在的寄存器瓶颈效应,程序设计相应比8051方便,片内含有8路10位的A D 转换器,有高速输入、高速输出通道,和一个可用于DA C 的PWM 输出。
因而近年来在工业控制、数据采集等方面得到了广泛的应用。
但在需要长期连续记录和存储大量数据的情况下,对8098的应用有一定限制。
本文为解决8098单片机缺少外部存储器提供了一种有效的方法,采用In tel 的S 82078软盘控制器和8098相连接。
1 硬件电路设计思路本系统由8098单片机[1~4]、DALLA S 1216C 时钟智能插座、字符液晶显示器、译码图1 电路原理图F ig .1 The c ircuit of sche ma tic电路、软盘控制器82078[6]、键盘等组成,结构原理框图如图1所示。
电路用DAL 2LA S 1216C 提供写文件的日期和时间,字符型液晶显示器显示时间、文件名、命令等,82078为8098和软盘驱动器之间的接口,键盘作为输入。
单片机输入输出口课件
串行输出口的应用
串行输出口常用于与外部设备进 行通信,如串口通信、I2C通信 等,实现数据的传输和控制等功
能。
串行输出口的配置
串行输出口的输出数据格式、波 特率等参数可以通过编程进行配 置,以满足不同的通信协议和数
据传输需求。
04
单片机输入输出口编 程
编程语言的选择
C语言
C语言是一种通用编程语言,具有高效、可移植性 强的特点,适用于单片机编程。
单片机输入输出口 课件
目录
• 单片机输入输出口概述 • 单片机输入口详解 • 单片机输出口详解 • 单片机输入输出口编程 • 单片机输入输出口应用实例
01
单片机输入输出口概 述
输入输出口的定义
输入输出口是单片机中用于与 外部设备进行通信的接口。
输入输出口可以接收外部设备 的数据,并将其传输到单片机 内部进行处理。
模拟输入口的精度和范围取决于ADC 的特性和位数,常见的有8位、10位 、12位和16位等。
模拟输入口通常需要一个模拟-数字 转换器(ADC)来将模拟信号转换为 数字信号,以便单片机进行处理。
模拟输入口在数据采集、智能传感器 等领域应用广泛。
数字输入口
01
数字输入口是单片机中 用于接收数字信号的接 口,如开关状态、脉冲 信号等。
02
数字输入口可以直接接 收高低电平信号,并通 过内部逻辑电路进行处 理。
03
数字输入口的响应速度 较快,适用于高速数字 信号的采集和传输。
04
数字输入口在工业控制 、智能仪表等领域应用 广泛。
串行输入口
01
02
03
04
串行输入口是单片机中用于接 收串行数据信号的接口,如
I2C、SPI等通信协议。
第07章-8098单片机的AD和PWM转换器原理及应用
7.1 A/D转换器工作原理
• 图7.1所示为A/D转换器的基本结构和工作原理 示意图。其工作原理分述如下:
VREF
来自用户电路
270Ω
模拟输入引脚
0.005uF
图7.3 简单模拟接口电路
• 当转换精度要求较
VREF
高,模拟量变化范
围较宽时,应考虑
VIN
增设输入缓冲电路。 V
常用的输入缓冲电
VIN
路如图7.4所示,它 RB1
可针对模拟输入进 RB3 行增益整定和偏移 RB2 RG1
+ -
RG2 RG3
调整。其中RB1、RB2 的分压比设定了偏
;读结果高字节
•
SHR AX,# 06H
•
ST AX,[DX]+
;存结果数据
•
INCB BL
•
JBS BL,4,ADEND
•
SJMP NEXT
• ADEND:POPF
•
RET
•
END
• 例2:用立即启动方式启动A/D转换,用中断法取走A/D转换结果,实现一 路A/D转换。转换结果存3000H,输入通道选ACH.7。采样周期为 1/(50Hz*8)=1/400=2.5ms,T1计数值为4E2H,用软件定时器0定时。
•
LDB HSO_COMMAND,# 18H ;选T1作为时间基
•
;值,允许HSO中断,启动软件定时器0(8号事件)。
8098单片机智能控制交流伺服
首先对这些论域执行模糊化, 将其离散为 [ - 6, - 5, - 4, - 3, - 2, - 1, 0, + 1, + 2, + 3,
+ 4, + 5, + 6 ], 考虑到速度的控制精度要求较高, 将 [ - 6, + 6 ] 分为负大 [NL ]、 负中 [NM ]、 负
小 [N S ]、 零 [ZE ]、 正小 [PS ]、 正中 [PM ]、 正大 [ PL ]7 个语言变量 . α 同理, 将偏差变化率 e = d e d t 对应的语言变量 EC ( e ) 及模糊判决语言变量 U 划分为 13 个等级, 形成相应的模糊子集. 这样, 根据 FU ZZY 合成规则可得到控制变量 u 及偏差 e, 偏差 变化率 d e d t 之间的关系, 如表 2 所示. 表中输出变量 u 的模糊判决采用加权平均法, 并根据 实验在线修正获得. 表 2 模糊控制表
・52・
甘 肃 工 业 大 学 学 报 第 26 卷
图 1 BDCM 交流伺服系统框图
图 2 主电路结构图
8098 单片机具有高集成度、 高性能价格比、 高抗干扰能力, 其各项性能指标均属上乘 . 硬
© 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved.
1 系统的硬件配置
根据方波型无刷直流电机的特点, 该交流伺服系统由 3 部分组成: 主电路、 控制电路和伺 服电机. 主电路由整流桥、 滤波电容和 IGB T 逆变器等组成 . 使用 IGB T 主要是提高逆变器的 工作频率, 减小谐波损耗, 降低力矩波动. 其驱动电路采用 EXB 841 驱动模块 . 系统结构框图如 图 1 所示. 控制电路以 8098 单片机为核心, 并辅以主回路保护电路; 采用位置、 速度、 电流三闭环控 制; 兼顾到系统的快速性和实时性, 电流环由模拟电路构成, 速度环、 位置环通过软件实现 . 在 控制策略上, 电流环采用 P I 调节器, 速度环采用 FU ZZY 2P I D 控制, 位置环采用 P I 调节器; 运 行状态判别电路控制电机实现四象限运行; 还有电流、 速度、 位置反馈测量电路, 转子位置信息 [1 ] 测量电路和逻辑控制电路等 . 主电路结构如图 2 所示 .
第05章 8098单片机的高速输入口(HSI)原理及应用
例1: 用HSI.0引脚测脉冲周期,采用查询法取走数据。程 序中用到的寄存器及其用途如图5.5。
• • • • • • • • • • • • • •
HTIME EQU 30H ;高电平持续时间 LTIME EQU 32H ;低电平持续时间 PERIOD EQU 34H ;脉冲周期 HEDGE EQU 36H ;正跳时刻 LEDGE EQU 38H ;负跳时刻 IOS1_IMAGE EQU 3AH ;IOS1的映像 ORG 2080H LD SP, #00C0H LDB IOC0, #01H ;允许HSI.0输入 LDB INT_MASK, #00H ;屏蔽中断,采用查询法 LDB HSI_MODE, #03H ;选择触发方式3 CLR HTIME CLR LTIME CLR IOS1_IMAGE
2、HSI数据有效中断(中断向量2004H,优先级2) •该中断类型含有两个中断源:FIFO队列满和保持寄存器有 值。具体由哪一个中断源来申请中断由IOC1.7来控制。置1, 由FIFO队列满申请中断,置0,由保持寄存器有值来申请中 断。 •HSI数据有效中断是HSI的四个引脚的公共中断,当多引脚 同时启动时,在中断服务程序中,尚需查询HSI_STATUS寄 存器,以确定待处理事件是哪一引脚上发生的。
5.1 HSI的工作原理
5.1.1 HSI的基本结构
• 图5.1所示为HSI的基本结构图,下面对其工作原理逐 一介绍。
1、HSI允许逻辑控制: HSI的 4条输入引脚是否允许输入 信号,或是作为其他用途,用户可通过对IOC0和IOC1 的有关位的设置来实现这种控制。具体情况见图5.2。
2、跳变检测器:跳变检测器主要负责两件事情,第一, 检测HSI的4个输入引脚的当前电平状态(每个状态周 期T自动检测一次),并将检测结果送HSI_STATUS寄 存器对应的奇数位,高电平置1,低电平置0。第二, 按照HSI_MODE寄存器规定的事件方式对HSI的4个输 入引脚的状态变化进行监视与检测。一旦出现规定事 件,即将FIFO寄存器高4位的对应位置1。 3、HSI_MODE寄存器是一个8位的只写专用寄存器,地 址是03H,用于规定HSI引脚上的事件触发方式,共4 种方式,每种方式对应一种事件。图5.3给出了 HSI_MODE寄存器各数据位的定义图。
单片机原理及应用(概述)
嵌入式系统的由来:
微型计算机功能的划分:
数值计算:海量、高速(通用计算机系统) 智能控制:对象嵌入,I/O控制(嵌入式计算机系统) 嵌入到对象体系中的专用计算机系统 关键词:计算机、嵌入性、专用性 采样、控制要求(接口电路、实时性) 环境要求(体积、可靠性) 专用要求(软硬件的裁剪性)
嵌入式计算机的定义:
新的发展——ARM
ARM公司是享誉全球的知识产权(IP)供应商,提供高性 能低功耗IP设计的授权。 全球20家最大的半导体厂商中有19家是ARM的用户 发售了超过10亿个ARM微处理器内核 在2001年,全行业74.6%采用的是ARM的微处理器结构。 ARM公司通过出售芯片技术授权,而非生产或销售芯片, 建立起新型的微处理器设计、生产和销售商业模式。
ARM的发展历史
1985年4月26日第一个ARM原型诞生在英国剑 桥的Acorn公司 1990年成立了Advanced RISC Machines Limited 20世纪90年代,ARM32位嵌入式RISC处理器 占据了低功耗、低成本和高性能的嵌入式系统应 用领域的领先地位
ARM处理器的3大特点:
应用系统的开发
(1)总体方案设计 (2)系统硬件设计 (3)系统软件设计(监控程序设计)协调各执行模块和操作者的 关系,在系统软件钟充当组织调度的角色 (4)应用软件的编制(构造数据结构、建立逻辑/算术运算关系、 绘制流程图)、调试 (5)仿真调试 (6)程序固化 (7)脱机运行
硬件实现:实时性强,响应速度快 软件实现:简化电路结构,降低成本,减少故障率,提高系统的 灵活性与通用性,同时降低系统实时性,增加处理时间,增加 软件设计费用,设计时间增加
第05章 8098单片机的高速输入口(HSI)原理及应用
• WAIT: ADD PERIOD,HTIME, LTIME ;求周期 • ORB IOS1_IMAGE, IOS1 ;更新IOS1映像 • JBC IOS1_IMAGE, 7 , WAIT ;无脉冲输入则等待 • AND IOS1_IMAGE, #7FH ;IOS1_IMAGE 7清零 • LDB AL, HSI_STATUS ;取HSI状态 • LD BX, HSI_TIME ;取HSI时间 • JBS AL,1, HSI_HI ;若HSI.0为高电平则跳转 • HSI_LO:ST BX, LEDGE ;记下负跳变时刻 • SUB HTIME, LEDGE, HEDGE ;计算高电平T BX, HEDGE ;记下正跳变时刻 • SUB LTIME, HEDGE, LEDGE ;计算低电平持续时间 • SJMP WAIT • END
4、FIFO寄存器队列是由七个20位的寄存器组成,可以按 照事件发生的先后顺序存放7条记录。高4位记录对应 的HSI引脚是否有事件发生,有置1,低16位记录事件 发生时对应的时间值(即当时的T1值),FIFO寄存 器队列存放满7条记录时,会使标志位IOS1.6置1。 5、保持寄存器也是一个20位的寄存器,结构同FIFO寄存 器,可存放一个事件的记录,最先进入FIFO寄存器 队列的事件直接进入保持寄存器中。随后的事件则按 顺序排列在FIFO寄存器中。当保持寄存器中的数据 被取走后,先进入FIFO寄存器队列的事件将自动移 入保持寄存器中,随后的事件记录依次前移。若 FIFO寄存器队列和保持寄存器均满,则新出现的事 件因进入不了寄存器队列而丢失。保持寄存器有值时, 会使标志位IOS1.7置1。
5.3 HSI的应用举例
• HSI的使用可归纳为如下几步: 1、通过对IOC0的设置来确定启用哪些HSI引脚。若启用 了HSI.2 和HSI.3引脚,则不要忘记应同时将IOC1.4和 IOC1.6置0。 2、确定采用查询法还是中断法取走HSI的输入数据,并 安排好INT_MASK寄存器的各屏蔽位状态。 3、设置HSI_MODE寄存器,以各引脚的运行方式。 4、用查询法和中断法了解是否有事件发生。 5、若事件发生,先读HSI_STATUS,后读HSI_TIME, 并对HSI_STATUS进行测试,然后做进一步的处理。 • HSI最广泛的用途之一就是脉冲测量,利用HSI具有上 跳变、下跳变的检测和记载功能。可方便地测量出脉 冲宽度、占空比、频率、周期及统计脉冲数。
高速计数指令实验(HSO)
高速计数指令实验(HSO)
一实验目的
了解和掌握高速计数指令的应用。
二、预习要求
根据工作原理及动作要求,仔细阅读有关PTO、HSO(高速计数器)及中断指令的有关章节,尤其是弄懂HSO的初始化过程。
写出程序清单(梯形图)。
三、实验原理及动作要求
1. 实验原理
由于PLC的普通计数器只能在输入频率不高的情况下使用,所以在对高频输入计数,必须采用高速计数器。
高速计数器最大计数频率可达到2kHz。
在本实验中,为了获得高频输入,我们采用脉冲发生指令产生一定频率的方波作为计数输入,并在计数完成后,执行中断程序。
2. 动作要求
脉冲发生器采用PTO模式在Q0.0上产生一定频率的方波,以I0.0作为脉冲输入,在计数一定个数的脉冲后,使一个指示灯亮(H3)。
基本的动作要求是:
①Q0.0能够产生一定频率的方波;
②Q0.0产生的方波接到I0.0上,作为高速计数器的输入;
③计数到一定值时,能使指示灯H3点亮。
3.注意事项
由于实验板上的PLC为继电器输出型。
所以不能应用PLC的PTO功能发出过高的脉冲。
为了安全起见,PTO发出的脉冲频率不要超过5Hz。
四、实验要求与实验报告
1.理解HSO功能的工作过程,尤其是掌握初始化程序的编写。
2.实验程序需经指导老师检查确认运行正确才能通过。
3.完成实验报告的相关内容,包括控制程序及注释等。
第06章 8098单片机的高速输出口(HSO)原理及应用
IOS1.0置1 IOS1.1置1 IOS1.2置1 IOS1.3置1
无标志 无标志
2、HSO_TIME寄存器:是一个16位按字只写寄存器,地 址为04H。用来设定HSO_COMMAND所欲触发事件 的触发时间(用时间计数值来表示)。通常写入的时 间值是以T1(或T2)的当前值为起点加上所需延时 的时间间隔。因此设置时间值时常用如下的方法: ADD HSO_TIME, TIMER1( TIMER2), # TIMER1(或TIMER2), #延时计数值 具体写入时应注意先写HSO_COMMAND后写 HSO_TIME,一旦时间值写入,则该16位时间值与前 面写入的8位命令字中的后7位即被一同送入保持寄存 器中,在向HSO_COMMAND和HSO_TIME写值时, 应该注意先关中断。
事件发生的标志 IOS0.0置1 IOS0.1置1 IOS0.2置1 IOS0.3置1 IOS0.4置1 IOS0.5置1 IOS0.0和IOS0.1 置1 IOS0.2和IOS0.3 置1
内 部 事 件 (200A H,5)
8 9 A B C D E F
软件定时器0时间到 软件定时器1时间到 软件定时器2时间到 软件定时器3时间到 无定义 无定义 复位定时器2 启动A/D转换
3、保持寄存器:是一个23位的寄存器,高7位放命令字 中的低7位有效数字。低16位放触发时间值。保持寄 存器负责将HSO_COMMAND和HSO_TIME的内容向 CAM阵列传送。只要CAM阵列中有空位,保持寄存 器中的命令便会自动向CAM阵列中传送。一旦CAM 阵列中已存满8项命令,保持寄存器中的命令就不再 向CAM阵列中传送。保持寄存器中的命令只有进入 CAM阵列后才有机会被执行。 • 保持寄存器中有值时,会使IOS0.7置1,此时不能再 向其中写入新的命令,否则原有命令会被新的命令取 代。保持寄存器向CAM阵列传送一条命令需8个状态 周期。因此向保持寄存器写命令的前后间隔不能短于 8个状态周期。
第08章 8098单片机的串行口原理及应用
• 同步方式的特点是:传输速度高,信息量大,但 灵活性差,适合大批量数据传输的场合。图8.1为 同步方式的数据传输格式。
2、异步方式 • 异步方式中通讯双方须事先约定以下事项: – 数据传输的速率。 – 传输数据的格式。一般每帧数据由1位起始标志位, 8位数据位(有效数据),1位奇偶校验位和1位停 止位组成。 • 每当数据传输开始时,先发送一位低电平信号,表明 数据传输开始,随后的8位数据即是欲传输的有效数据 (一般低位在前,高位在后)第9位供奇偶校验用。然 后送出一位高电平,表明数据传输结束。此后若无数 据传输,则继续发送高电平位,称为空闲位。直至下 一低电平位出现,表明数据传输再度开始。
• 8.2.1 串行口的基本结构 • MCS-96单片机串行口部分可供用户配置的资源仅为四个专用寄 存器,用户通过对这四个专用寄存器的设置和读写即可完成所希 望的串行通讯工作。 1、SP_CON寄存器:是一个8位只写专用寄存器,地址为11H,用来 确定串行口的工作方式,各数据位的定义如下: • • • • •
• 8.1.4 奇偶校验 • 数据在传输过程中可能会因种种干扰而出错,因此需 要解决如何检查出差错,以及校正差错的问题。一般 检出差错有:奇偶校验、检验和、循环冗余码校验等 基本方法。校正差错有海明码校验、交叉奇偶校验等 主要方法。在串行异步通讯中,常采用奇偶校验法来 作为检错方法。 • 奇偶校验法又分为奇校验和偶校验。即在发送端,采 用对校验位置1或置0的方法,以保证数据位与校验位 配合后,其中为“1”的位数为偶数(偶校验)或为奇 数(奇校验)。在接收端,则检查数据位和校验位中 为“1”的位数是否为偶数(偶校验)或奇数(奇校 验)。是则说明传输无错,否则说明传输出错。 • 显然奇偶校验法仅能检测出奇数次出错的情况。而对 偶数次出错的情况则无能为力。在采用奇偶校验法时, 通讯双方应事先约定是共同采用奇校验还是偶校验。
第十章 高速输出部件HSO及其应用no
HSO – High Speed Output
在程序的设定下,HSO在设定的时间触发事件,可触发 的事件共14个,包括: 1. 内部事件:事件在芯片内发生,不由引脚向片外输入。 1)启动A/D转换; 2)使定时器T2复位; 3)设置软件定时器:通过对HSO编程,使之在预定的 时间产生中断,共可设置4个软件定时器,即软件定时器 0~3。 2. 外部事件:在规定的时间内由HSO的外部引脚输出高、 低 电 平 , 共 有 8 个 , 即 :6 个 单 通 道 触 发 ( HSO.0 ~ HSO.5 ) ,2 个 双 通 道 同 时 触 发 ( HSO.0 和 HSO.1 , HSO.2和HSO.3 )。
18
与HSO有关的特殊功能寄存器
2. HSO时间寄存器 例1: LDB HSO_COMMAND, #00100001b ADD HSO_TIME, TIMER1, #100 800T后将HSO.1变为高电平 例2: LDB HSO_COMMAND, #00100010b ADD HSO_TIME, TIMER1, #200 1600T后将HSO.2变为高电平 例3: LDB HSO_COMMAND, #00111000b ADD HSO_TIME, TIMER1, #64H 800T后将产生软件定时器0中断
24
与HSO有关的特殊功能寄存器
6. INT_MASK寄存器 当HSO_COMMAND寄存器的D4位=l时,表示HSO以中断 方式来工作。这时要用到INT_MASK寄存器,其中有关位的定 义如下图所示。
25
10.1.3 HSO的清除
一旦所设定事件的有关信息(包括命令字节和时间 值)进入CAM,除非触发时间到或芯片复位,否则上 述信息是无法被清除的。但我们可以利用HSO的一些 固有特性来设法将已设定但并不需要的事件清除掉。 HSO在触发某一外部事件之前,要将所有CAM 寄存器(共8个)中的触发时间值与定时器所提供的基准 时间相比较,即外部事件的触发与定时器1同步,这 就为清除某些已登记的外部事件提供了这样一条途 径:只要在原来设定的触发时刻向CAM写入一个与 原设定的外部事件相反的事件即可使原来设定的事件 不再被触发。 注意:内部事件(包括HSO通道08~0FH和全部中 断)复杂。因此,对内部事件不能用上述方法清除。 在80C196KC中可用将IOC2.7置位的方法将CAM中已 预置事件全部予以清除。
8098单片机在曼彻斯特数据解码中的应用
al electric exploration system V6 of PHOENIX Geophysics Limited in Canada. And we successfully developed seismoelec2 tric experiment measure system. Subject Words :electrical exploration equipment ,computer control ,programing , seismoelectric measure , object2oriented method
This paper proposes practical measures to solve problems in interfacing combination process between SCB - 5 acous2 tic logging tools and SYLX - 2 poteclinometers which commonly used in domestic oil field. Field application and indoor experiment show the application results of improved logging tools are satisfactory. Subject Words :sonic logging tool ,combination ,matching ,interfering signal ,continuous inclinometer ,logical symbol
V5第6章 S08输入输出接口
第6章S08输入输出接口S08AW系列微控制器的I/O接口采用模块化设计方式,即输入/输出系统端口由许多标准模块组成。
以S08AW60为例,其64-Pin封装的芯片端口包括PTA、PTB、PTC、PTD、PTE、PTF和PTG这7个I/O口,共54个通用I/O引脚。
这些引脚大都与片上多种外围设备复用,如定时器模块、通信模块和键盘中断模块等。
这些特殊外围设备模块的优先级比通用I/O接口的优先级高,因此当使能某个外围设备时,则与该复用管脚相关的输入/输出功能将被禁止。
本章主要介绍S08AW系列微控制器通用I/O端口的功能、设置和使用方法,以及按键和LED显示接口、输入/输出接口的设计例程等。
6.1S08 I/O端口原理通用I/O端口又称并行数字I/O端口,用来实现微控制器与外部设备的信息交换,并完成控制和数据采集,是微控制器一个必不可少的基本组成部分。
当一个MCU引脚作为通用I/O 端口时,应对该引脚的两个寄存器进行设置:一个是该引脚的方向寄存器,用来设定该引脚是用于输入还是输出;另一个是该引脚的数据寄存器,当用作输出时,应先将要输出的数据写入该数据寄存器,然后才能送到引脚上;当用作输入口时,引脚上的数据将先存入该数据寄存器,然后CPU再读该寄存器中已存入的数据。
设定MCU的某个引脚是输入还是输出的方向寄存器是PTxDD,PTxDD是方向寄存器的英文缩写名称,x代表A、B、C、D、E、F、G这八个端口之一。
6.1.1I/O端口引脚分布S08AW60的I/O引脚包括8个端口,共计54个引脚:●PTA(0-7):A口8个引脚仅具有普通I/O引脚功能,没有与其它功能模块复用●PTB(0-7):B口8个引脚可与ADC1模块共用●PTC(0-6):C口7个引脚可与SCI2、IIC1以及MCLK模块共用●PTD(0-7):D口8个引脚可与ADC1、KBI1、TPM1以及TPM2模块共用●PTE(0-7):E口8个引脚可与SCI1、TPM1以及SPI1模块共用●PTF(0-7):F口8个引脚可与TPM1以及TPM2模块共用●PTG(0-6):G口7个引脚可与ICG以及KBI1模块共用S08AW60通用I/O引脚分布以及与各个功能模块的复用关系如图6-1所示。
fpga高速串口原理
fpga高速串口原理FPGA高速串口原理引言在FPGA(可编程逻辑门阵列)的设计过程中,高速串口通信是一项重要的技术。
本文将从浅入深地介绍FPGA高速串口的原理及相关概念。
什么是高速串口高速串口是指在FPGA中实现的,具有高速传输速率的串行通信接口。
它可以通过一根信号线同时传输多个bit的数据,相比传统的串行通信接口,高速串口能够更快地传输数据,提高系统的通信效率。
高速串口的工作原理1.串行通信:高速串口采用串行通信的方式进行数据传输。
串行通信是指逐位逐位地传输数据,相对于并行通信,串行通信能够充分利用有限数量的信号线来传输大量的数据。
2.串行-并行转换:在发送端,高速串口会将并行数据转换为串行数据进行传输。
在接收端,高速串口则将串行数据转换为并行数据供后续处理。
这种串行-并行的转换方式,能够更高效地利用信号线进行数据传输。
3.时钟同步:高速串口的发送端和接收端需要通过共享一个时钟信号来进行数据的传输。
通过时钟同步,可以确保发送端和接收端在相同的时间点进行数据的采样和发送,避免数据丢失或错误。
4.编解码和差分传输:为了提高数据传输的可靠性,高速串口通常会采用编解码技术和差分传输方式。
编解码技术可以将原始数据进行压缩和差错校验,以提高数据传输的速率和可靠性。
差分传输则可以减小传输过程中的干扰和噪声对数据的影响。
高速串口的应用高速串口广泛应用于许多领域,包括但不限于以下几个方面:1.网络通信:高速串口能够实现高速传输和接收网络数据,用于局域网和广域网的通信。
2.存储系统:高速串口可以连接到存储设备,实现高速数据的读写和传输。
3.图像和视频处理:高速串口可以用于实时图像和视频的采集、传输和处理,提高图像和视频处理系统的效率。
4.仪器仪表:高速串口可以连接仪器仪表,实现高速数据的采集和控制。
总结本文从浅入深地讲解了FPGA高速串口的原理及相关概念。
通过了解高速串口的工作原理和应用领域,读者可以更好地理解和应用这一重要技术。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4、按内容寻址的寄存器(CAM)阵列:由8个23位的寄 存器组成,每个寄存器的结构同保持寄存器。CAM阵 列自动将8个寄存器的时间值循环地送时间比较器中与 T1(或T2)的时间做比较。一旦相等,则将相应的命 令值送HSO译码器译码,从而触发相应的事件。同时 CAM阵列中存放该命令的寄存器自动被清0。 • 每次比较时间值需1个状态周期,因此循环比较一轮需 要8个状态周期。这就决定了HSO的时间分辨率为8个 状态周期。 • CAM阵列中的命令不存在先进先出问题,某事件发生 的早晚取决于命令中的时间值。 • CAM阵列满且保持寄存器有值时,会使标志位IOS0.6 置1。 5、HSO允许逻辑:用于控制HSO.4和HSO.5两引脚是否允 许输出信号。允许则IOC1.4和IOC1.6置1,反之置0。
事件 类型 外 部 事 件 (2006 H,3)
事件 编号 0 1 2 3 4 5 6 7
事 件 内 容 在HSO.0引脚上输出D位规定的电平状态 在HSO.1引脚上输出D位规定的电平状态 在HSO.2引脚上输出D位规定的电平状态 在HSO.3引脚上输出D位规定的电平状态 在HSO.4引脚上输出D位规定的电平状态 在HSO.5引脚上输出D位规定的电平状态 在HSO.0和HSO.1引脚对上同时输出D位 规定的电平状态 在HSO.2和HSO.3引脚对上同时输出D位 规定的电平状态
第六章 高速输出口(HSO)
• • MCS-96单片机的高速输出口不同于普通的输出端口。 1. 普通输出端口的状态(数据)由CPU直接管理, 而HSO内设有CAM(按内容寻址的寄存器)阵列。欲 触发的事件可由CPU预置其中,到时由HSO自动触发, 无须CPU的参与。 2. 普通输出端口只限于输出高低高低电平信号外, 还可触发4个软件定时器、启动A/D转换、复位定时器 2等事件。
事件发生的标志 IOS0.0置1 IOS0.1置1 IOS0.2置1 IOS0.3置1 IOS0.4置1 IOS0.5置1 IOS0.0和IOS0.1 置1 IOS0.2和IOS0.3 置1
内 部 事 件 (200A H,5)
8 9 A B C D E F
软件定时器0时间到 软件定时器1时间到 软件定时器2时间到 软件定时器3时间到 无定义 无定义 复位定时器2 启动A/D转换
6.2 HSO的中断
• HSO有两种中断类型,即内部事件中断和外部事件中断。 1、HSO内部事件中断(中断向量200AH,优先级5) • 该类型中断有6个中断源,其中4个软件定时器,启动A/D转换和复 位定时器2,6个中断源是否允许申请中断由公共控制开关 HSO_COMMAND.4控制。置1允许,置0禁止。 • 四个软件定时器预定时刻到,会设置对应的标志位IOS1.0~IOS1.3。 而启动A/D转换和复位定时器2,则没有相应的标志来指示这类事 件的发生。 2、HSO外部事件中断(中断向量2006H,优先级3) • 该类型中断有8个中断源,即6个HSO.0~HSO.5单通道输出,HSO.0 和HSO.1双通道输出,HSO.2和HSO.3双通道输出。8个中断源是否 允许申请中断仍由公共控制开关HSO_COMMAND.4控制。置1允许, 置0禁止。 • 6个通道HSO.0—HSO.5产生输出会使对应的标志位IOS0.0-—IOS0.5 置1。
3、保持寄存器:是一个23位的寄存器,高7位放命令字 中的低7位有效数字。低16位放触发时间值。保持寄 存器负责将HSO_COMMAND和HSO_TIME的内容向 CAM阵列传送。只要CAM阵列中有空位,保持寄存 器中的命令便会自动向CAM阵列中传送。一旦CAM 阵列中已存满8项命令,保持寄存器中的命令就不再 向CAM阵列中传送。保持寄存器中的命令只有进入 CAM阵列后才有机会被执行。 • 保持寄存器中有值时,会使IOS0.7置1,此时不能再 向其中写入新的命令,否则原有命令会被新的命令取 代。保持寄存器向CAM阵列传送一条命令需8个状态 周期。因此向保持寄存器写命令的前后间隔不能短于 8个状态周期。
IOS1.0置1 IOS1.1置1 IOS1.2置1 IOS1.3置1
无标志 无标志
2、HSO_TIME寄存器:是一个16位按字只写寄存器,地 址为04H。用来设定HSO_COMMAND所欲触发事件 的触发时间(用时间计数值来表示)。通常写入的时 间值是以T1(或T2)的当前值为起点加上所需延时 的时间间隔。因此设置时间值时常用如下的方法: ADD HSO_TIME, TIMER1( TIMER2), # TIMER1(或TIMER2), #延时计数值 具体写入时应注意先写HSO_COMMAND后写 HSO_TIME,一旦时间值写入,则该16位时间值与前 面写入的8位命令字中的后7位即被一同送入保持寄存 器中,在向HSO_COMMAND和HSO_TIME写值时, 应该注意先关中断。
•
6.1 HSO的工作原理
HSO的基本结构 6.1.1 HSO的基本结构
• 图6.1所示为HSO的基本结构图,下面对其工作 原理逐一介绍。
1、HSO_COMMAND寄存器:是一个8位只写专用寄存器, 地址为06H,用以规定在设定的时刻触发什么样的事件。 HSO共可触发14种事件,其中8种为外部事件,6种为 内部事件。内部事件只在芯片内部起作用,不对外输 出信号。HSO_COMMAND寄存器各数据位的定义如 下: X T D I 事 件 编 号
• • • • • • • • • • • •
ORG DI LD LDB ADD NOP NOP LDB ADD EI RET END
3200H
;中断服务子程序
AX , TIMER1 ;取正跳变时间 HSO_COMMAND , # 00H ;HSO.0置0 HSO_TIME , AX , 5000H[0] ;等待8状态周期 HSO_COMMAND , # 30H ;HSO.0置1,且允许中断 HSO_TIME ,AX , 5002H[0]
• 程序设计中应考虑中断响应时间Techo,故实际的TN、TP应做如 下修正: • T1N = 脉冲宽度TN - Techo • T1P = 脉冲周期TP - Techo • 其中:T1N≥8(64T)(16µs), T1P≥9
6.3 HSO的应用举例
• HSO的使用应注意以下几点: 1、通过对IOC1的设置来确定是否启用HSO.4、HSO.5引脚,若启用则 IOC1.4和IOC1.6置1。同时记住将IOC0.4和IOC0.6置0。 2、写命令前若不能确定保持寄存器是否空闲,应先查询IOS0的最高两位, 在确知保持寄存器空闲时方可写入命令。 3、写命令时先关闭中断,且先写HSO_COMMAND命令字,后写 HSO_TIME时间值。 4、若以定时器1作为时间基准,则所设定的时间值不应小于定时器现行 值加3。 • 例1:利用HSO.0输出脉冲,其宽度存于5000H单元,周期存于5002H : 单元。 • 用HSO产生脉冲需设置正跳变和负跳变两个事件。正到负跳变期 间为脉冲宽度TN,正到正跳变期间为脉冲周期TP。
• 主程序: • • • • • • • • • • • • • ORG 2080H LD SP,#00C0H DI ORB INT_MASK ,# 08H ;开HSO外部事件中断 CLRB INT_PENDING ;清中断信号 LD AX , # T1N LD BX , # T1P ST AX ,5000H[0] ;设置脉宽 ST BX ,5002H[0] ;设置周期 LDB HSO_COMMAND , # 30H ;HSO.0置1且允许中断 ADD HSO_TIME , TIMER1 ,# 3 EI HERE:SJMP HERE ;执行其他任务,等待中断
• D3~D0:触发事件的编号,见表6.1 • D4:事件触发时是否申请中断,置1申请,置0不申请。 • D5:事件触发时在HSO引脚输出高电平还是低电平。置 1输出高电平,置0输出低电平。(仅对外部事件有效) • D6:事件触发时间基准选T1还是T2,置1选T2,置0选 T1。 • D7:无定义,不进入保持寄存器。