Ch07寄存器与计数器

合集下载

AMPCI-9111使用说明书

AMPCI-9111使用说明书

AMPCI-9111通用数据采集控制板使用说明书2001/03一、概述AMPCI-9111板是PCI总线通用采集控制板,该板可直接插入具备PCI插槽的工控机或个人微机,构成模拟量电压信号、数字量电压信号采集、监视输入和模拟量电压/电流信号输出、数字量信号输出及计数定时系统。

AMPCI-9111板为用户提供了单端32路/双端16路模拟量数据采集输入通道, 模拟量输入通道具有程控放大功能,2路12Bit模拟量电压或电流信号输出,16Bit TTL数字量输入和16Bit TTL数字量输出,配接AMPCD821光隔端子板实现光隔I/O,可直接驱动继电器, 3路16位计数定时通道(一片82C54),计数频率8M,板内自带基准时钟4M,82C54的0、 1、2通道均引至输出插座J2,可构成脉冲计数、频率测量、脉冲信号发生器等电路。

对AMPCI-9111板的所有读写操作均为16Bit即D00~D15,当对82C54进行读写时只有D00~D07有效,同样A/D转换数据一次读入的为B00~B11。

二、性能和技术指标2.1 性能•模拟信号输入A/D分辩率: 12Bit•模拟信号通道: 单端32路/双端16路•模拟信号输入程控放大倍数: 1/2/4/8 (B型为1/10/100/1000)•模拟信号输出D/A分辩率: 12Bit•模拟信号输出通道: 2路•数字量输入/输出: 16Bit DI/16Bit DO ;TTL/COMS兼容•计数定时通道: 3路16BIT• A/D转换触发工作方式: 软件触发• A/D转换数据传输方式: 查询方式2.2 技术指标•输入电压范围: ±5V、0-10V、±10V•输入阻抗: > 100 MΩ• A/D转换时间: 8.5uS• A/D转换精度: 优于±0.1%(10V满量程)•输出电压范围: ±5V、0-5V、0-10V•输出电流范围: 0-10mA 、4-20mA•内部时钟基准: 4MHz三、使用3.1本板A/D转换工作过程描述AMPCI-9111板的A/D转换是通过软件来控制和启动A/D转换的<1>使用时首先应程序设定要进行A/D转换的通道号,即要对哪一通道进行A/D转换,该写操作见后面《寄存器功能描述》的(1)节: “模拟输入通道选择、增益选择寄存器”,该寄存器I/O地址Offset=00H ,“Offset”是相对地址的偏移量,为该寄存器的I/O地址(详细对“Offset”的读写操作见软件说明部分)<2>程序设定完要进行A/D转换的通道号和放大倍数后,需执行程序启动A/D转换操作,A/D转换器才开始转换,即再执行《寄存器功能描述》的(2)节,“启动A/D转换”,该写操作的I/O地址 Offset=02H,该操作为软件触发启动一个周期的A/D转换,若A/D转换的放大倍数不是1倍,应在设定“模拟输入通道选择、增益选择寄存器”操作后,适当加几个μS的延时以给程控放大器足够的建立时间,再执行启动A/D转换操作,以保证精度<3>启动A/D转换后,通过软件查询A/D转换完成状态标志位,见《寄存器功能描述》的(3)节,“查询A/D 转换状态位+A/D转换数据”,“Z”该位为1,说明A/D转换器正在进行转换,不可读取A/D转换数据,继续查询该位,若该位为0,说明A/D转换已完成,可读取A/D转换数据,该读操作的I/O地址 Offset=0AH,标志位Z对应该标志寄存器数据线D15-D00的D15,当查询A/D转换完成状态标志位“Z”位为0时,此时读取该口的B11-B00 即为A/D转换数据3.2本板D/A转换工作过程描述进行D/A转换时只需向相应的I/O端口写12BIT数据即可,如对D/A1进行转换,将数据B11-B00写入D/A1数据寄存器offset=06H端口即可3.3本板结构如下:主要元件位置、信号输入/输出插座及跳线选择定义AMPCI-9111/9111BJ1: 模拟量输入输出37P孔式D型插座J2: 数字量计数定时输入输出50P双排针插座JP1/JP2: 单双端输入方式设定JP3: A/D输入范围设定JP6: D/A1输出方式设定JP7: D/A2输出方式设定3.4 J1模拟信号输入/输出插座定义:<1>模拟输入单端方式引线定义见下:⊙ 19 GNDGND 37 ⊙⊙ 18 D/A-1 +12V 36 ⊙⊙ 17 D/A-2通道32 35 ⊙⊙ 16 通道16通道31 34 ⊙⊙ 15 通道15通道30 33 ⊙⊙ 14 通道14通道29 32 ⊙⊙ 13 通道13通道28 31 ⊙⊙ 12 通道12通道27 30 ⊙⊙ 11 通道11通道26 29 ⊙⊙ 10 通道10通道25 28 ⊙⊙ 9 通道9通道24 27 ⊙⊙ 8 通道8通道23 26 ⊙⊙ 7 通道7通道22 25 ⊙⊙ 6 通道6通道21 24 ⊙⊙ 5 通道5通道20 23 ⊙⊙ 4 通道4通道19 22 ⊙⊙ 3 通道3通道18 21 ⊙⊙ 2 通道2通道17 20 ⊙□ 1 通道1印制板D/A-1: 模拟输出通道1D/A-2: 模拟输出通道2GND: 模拟输入/输出地单端方式时32路模拟输入信号连接到通道n输入端,所有信号的地端接到GND端,下图所示CH00(1通道)输入 CH01(2通道) Vi 被测信号端 .口 . Vi.CH1F(32通道)ViGND(地线)单端方式时32路模拟输入信号接线示意图单端输入时通道代码与选择通道对应关系如下:<2>模拟输入双端方式引线定义见下:双端方式时16路模拟输入信号连接到通道正端和通道负端,信号的负端经电阻接到GND端,下图所示⊙ 19 GNDGND 37 ⊙⊙ 18 D/A-1+12V 36 ⊙⊙ 17 D/A-2通道16- 35 ⊙⊙ 16 通道16+通道15- 34 ⊙⊙ 15 通道15+通道14- 33 ⊙⊙ 14 通道14+通道13- 32 ⊙⊙ 13 通道13+通道12- 31 ⊙⊙ 12 通道12+通道11- 30 ⊙⊙ 11 通道11+通道10- 29 ⊙⊙ 10 通道10+通道9- 28 ⊙⊙ 9 通道9+通道8- 27 ⊙⊙ 8 通道8+通道7- 26 ⊙⊙ 7 通道7+通道6- 25 ⊙⊙ 6 通道6+通道5- 24 ⊙⊙ 5 通道5+通道4- 23 ⊙⊙ 4 通道4+通道3- 22 ⊙⊙ 3 通道3+通道2- 21 ⊙⊙ 2 通道2+通道1- 20 ⊙□ 1 通道1+印制板现场信号双端方式时16路模拟输入信号接线示意图双端使用说明:双端输入时信号加在CHn+和CHn-之间,模拟输入采用双端方式时,负输入端应与GND之间接一只几十KΩ~几百KΩ的电阻(信号源内阻小于100Ω时,该电阻应为信号源内阻的1000倍,当信号源内阻大于100Ω时,该电阻应为信号源内阻的2000倍),从而为仪表放大器输入电路提供偏置,见上图所示双端输入时通道代码与选择通道对应关系如下(双端时只有16个通道):3.5 数字量和计数定时器输入输出插座J2定义:J2为50P双排针插座GND 50 ⊙⊙ 49 GND+5V 48 ⊙⊙ 47 +5VCLK2 46 ⊙⊙ 45 OUT2GATE2 44 ⊙⊙ 43 CLK1GATE1 42 ⊙⊙ 41 OUT1 OUT0 40 ⊙⊙ 39 CLK0GATE0 38 ⊙⊙ 37 ФGND 36 ⊙⊙ 35 GND+5V 34 ⊙⊙ 33 +5VPB07 32 ⊙⊙ 31 PB06PB05 30 ⊙⊙ 29 PB04PB03 28 ⊙⊙ 27 PB02PB01 26 ⊙⊙ 25 PB00PB08 24 ⊙⊙ 23 PB09PB10 22 ⊙⊙ 21 PB11PB12 20 ⊙⊙ 19 PB13PB14 18 ⊙⊙ 17 PB15PA07 16 ⊙⊙ 15 PAO6PA05 14 ⊙⊙ 13 PAO4PA03 12 ⊙⊙ 11 PAO2PA01 10 ⊙⊙ 9 PAO0PA08 8 ⊙⊙ 7 PA09PA10 6 ⊙⊙ 5 PA11PA12 4 ⊙⊙ 3 PA13PA14 2 ⊙□ 1 PA15插座J2定义见图示其中:PAO0~PA15: 16bit数字量输出PB00~PB15: 16bit数字量输入+5V: 机内PCI总线+5VGND: 机内地GATE0: 计数器通道0门控GATEOUT0: 计数器通道0输出端CLK0: 计数器通道0时钟输入端GATE1: 计数器通道1门控GATEOUT1: 计数器通道1输出端CLK1: 计数器通道1时钟输入端GATE2: 计数器通道2门控GATEOUT2: 计数器通道2输出端CLK2: 计数器通道2时钟输入端3.6 跨接线选择定义:<1> JP1/JP2: JP1和JP2用来设置A/D模拟输入采用单端方式/双端方式①A/D输入采用单端方式时JP1/JP2按如下设置(出品状态):□○○○○ JP1 ; 即JP1的2和3短接, 4和5短接 1□○○○○○ JP2 ; 即JP2的2和3短接, 5和6短接1② A/D输入采用双端差分方式时JP1/JP2按如下设置:□○○○○ JP1 ; 即JP1的1和2短接, 3和4短接 1□○○○○○ JP2; 即JP2的1和2短接, 4和5短接 1<2>JP3 ;JP3用于设置A/D输入范围;可分别设置①-5V~+5V; ②0~+10V; ③-10V~+10V① -5V ~ +5V 输入范围时按如下设置(出品状态):○○○○2 ○□ 1 JP3; 即JP3的1和3短接, 4和6短接② 0 ~ +10V 输入范围时按如下设置:○○○○2 ○□ 1 JP3; 即JP3的1和3短接, 2和4短接③ -10V ~ +10V 输入范围时按如下设置:○○○○2 ○□ 1 JP3; 即JP3的3和5短接, 4和6短接<3> JP6与JP7JP6与JP7分别用来设置D/A1输出和D/A2输出的输出方式, JP6与JP7设置方式相同,可分别设置① D/A输出电压方式 -5V ~ +5V(出品状态):3○○○○○○○○○○□○○○○即(3,6);(9,12);(10,13)短接1 JP6/JP7② D/A输出电压方式 0V ~ +5V:3○○○○○○○○○○□○○○○即(3,6);(12,15);(10,13)短接1 JP6/JP7③ D/A输出电压方式 0V ~ +10V:3○○○○○○○○○○□○○○○即 (3,6); (10,13) 短接1 JP6/JP7④ D/A输出电流方式 0 ~ 10mA:3○○○○○○○○○○□○○○○即 (2,3); (7,8);(12,15) 短接1 JP6/JP7⑤ D/A输出电流方式 4 ~ 20mA:3○○○○○○○○○○□○○○○即 (2,3); (4,5); (7,8);(11,14) ;(12,15) 短接1JP6/JP73.7 I/O寄存器功能描述①: 模拟输入通道选择、增益选择寄存器(写操作)Offset=00H,Offset:相对地址的偏移量,即该写操作的I/O地址(详细对Offset=##H I/O端口的读写操作见后面软件说明部分,后同)G2~G0:程控放大增益选择位,意义见下:G1 G0 程控放大增益倍数 B型程控放大增益倍数(此时放大器为PGA202)0 0 1 10 1 2 101 0 4 1001 1 8 1000C4~C0: 模拟信号输入通道选择位 (注:单端方式时)C4 C3 C2 C1 C0 通道代码通道号0 0 0 0 0 00H 通道10 0 0 0 1 01H 通道20 0 0 1 0 02H 通道3...... ....... .1 1 1 1 0 1EH1 1 1 1 1 1FH 通道32注:双端方式时只有C3~C0有意义,此时只有16个通道,C4位无意义②启动A/D转换 (写操作)Offset=02H,Offset是相对地址的偏移量,该写操作的I/O地址D15~D00 此时无意义,软件设定通道和增益后需执行启动A/D转换,即执行对Offset=02H的写操作③查询A/D 转换状态位+A/D转换数据 (读操作)Offset=0AH Offset:相对地址的偏移量,该读操作的I/O地址读Offset=0AH时数据对应表:Z: A/D 转换状态位 Z=1, A/D转换器正在进行转换Z=0, 转换结束,可以读取本次A/D转换数据B11~B0 : 本次A/D转换数值在用户应用程序执行启动A/D转换后,应查询”Z”标志位, 当Z=1时A/D转换器正在进行转换,处于忙状态, 当Z=0时A/D转换结束,此时读回的数据B11-B00为有效的A/D转换值④ D/A1 模出转换数据寄存器 (写操作)Offset=06H, Offset:相对地址的偏移量,对D/A1写操作的I/O地址D/A1输出数据对应表:X: 未用位B11~B00: D/A1转换12Bit数据,输出D/A1时向Offset=06H写入B11~B00数值即可⑤D/A2 模出转换数据寄存器 (写操作)Offset=08H, Offset:相对地址的偏移量,对D/A2写操作的I/O地址D/A2输出数据对应表:X: 未用位B11~B00: D/A2转换12Bit数据,输出D/A2时向Offset=08H写入B11~B00数值即可⑥16位PA口TTL数字量输出寄存器(写操作)Offset=0CH, Offset:相对地址的偏移量,该写操作的I/O端口地址输出寄存器数据格式:A15~A00 : 16Bit数字量输出,对应J2的PA15~PA00⑦: 16位TTL数据输入寄存器 (读操作)Offset=0EH , Offset:相对地址的偏移量,该读操作的I/O地址输入寄存器数据格式:B15~B00 : 16Bit数字量输入, 对应J2的PB15~PB00⑧计数定时器8254的I/O地址分配(读操作+写操作)Offset=10H-16H, Offset是相对地址的偏移量,具体I/O地址分配见下表, 对82C54的所有读写操作只有D7~D0 有意义,编程时请注意具体对82C54的工作方式设定请参阅INTEL8253手册等相关资料AMPCI-9111读写I/O操作命令表:3.8 调整电位器定义PR1: 程控放大器增益输出调整电位器PR2: A/D转换单极性零偏移调整电位器PR3: A/D转换双极性零偏移调整电位器PR4: A/D转换满量程调整电位器PR5: D/A输出电流方式基准源-2.5V调整电位器PR6: D/A1零偏移调整电位器PR7: D/A1满量程调整电位器PR8: D/A2零偏移调整电位器PR9: D/A2满量程调整电位器PR10: D/A输出基准源+5V调整电位器3.9校准①A/D部分校准a.程控放大器调整:软件设置放大倍数8倍,任一通道接一500mV电压,调整PR1 使PGA202的12脚输出为4.000V(出品时已调整)b.单极性输入0~+10V:任一通道对地短接,调整PR2,使转换值为001H;输入任一通道接5V,调整PR4,使转换值为800H;c.双极性输入-5V~+5V:任一通道对地短接,调整PR3,使转换值为800H;输入任一通道4.997V调整PR4使转换值为FFEH;需要注意的是此时A/D转换的零点与满度需反复调整d.双极性输入-10V~+10V:任一通道对地短接,调整PR3,使转换值为800H;输入任一通道10V调整PR4使转换值为FFEH;同样需要注意的是此时A/D转换的零点与满度需反复调整② D/A部分校准基准源调整: 调整PR10使336-5V输出+5.000V,出厂时已调整。

《单片机原理及应用》课件01-51单片机基本结构与存储器分配

《单片机原理及应用》课件01-51单片机基本结构与存储器分配

内中断
并行口
外中断
P0 P1 P2 P3
串口模块 TXD RXD
中断模块 INT0 INT1
P0.0~P0.7
P2.0~P2.7
VCC (+5V)
GND
RAM地址 锁存器
RAM
通道0驱动器
通道0锁 存器
通道2驱动器
通道2锁 存器
ROM/ EPROM
程序地址寄存器
PSEN ALE
EA RST
B寄存器 ACC TMP2
片内地址空间:RAM 128B(00H-7FH) SFR 128B(80H-FFH)
128B SFR
128B RAM
FFH 21个SFR分布 在80H-FFH
83个可寻址位
80H 7FH
用户、
堆栈区
30H 2FH
位寻址区
20H 1FH
工作寄存器区
00H
内部RAM组织结构
10
所有的RAM区(位 寻址区、工作寄 存器区)都可以 用于存放数据, 故也称为数据缓 存寄存器
特殊功能寄存器(SFR)
▼特殊功能寄存器SFR(专用寄存器)
专用于控制、选择、管理、存放单片机内部各功能 部件的工作方式、条件、状态、结果的寄存器。
▼不同的SFR管理不同的硬件模块,负责不同的功 17 能——各司其职
换言之:要让单片机实现预定的功能,必须有相应 的硬件和软件,而软件中最重要的一项工作就是对 SFR写命令(要求)。
4 堆栈指针SP
堆栈:
在片内RAM中,指定一个专门的区域来存放某 些特别的数据,它遵循先进后出和后进先出 (LIFO/FILO)的原则,这个RAM区叫堆栈。
功用:
22

寄存器结构、存储器管理

寄存器结构、存储器管理

08
例: MOV AX, [BX+03H]
CX——Count可以作计数寄存器使用。 在循环LOOP指令和串处理指令中用作隐含计数器。 例: MOV CX , 200H AGAIN: …… …… LOOP AGAIN ;(CX)-1(CX),结果0转AGAIN DX——Data可以作为数据寄存器使用。 一般在双字长乘除法运算时, 把DX和AX组合在一起存放一个双字长(32位)数,DX用来存放高16位; 对某些I/O操作DX可用来存放I/O的端口地址(口地址 256)。 例: MUL BX ; (AX)(BX)(DX)(AX) 例: IN AL , DX
奇偶标志PF(Parity Flag)
若算术运算的结果有溢出,则OF=1;
否则 OF=0
3AH + 7CH=B6H,产生溢出:OF=1 AAH + 7CH=(1)26H,没有溢出:OF=0
溢出标志OF(Overflow Flag)
3AH+7CH=B6H,就是58+124=182,
什么是溢出
处理器内部以补码表示有符号数 8位表达的整数范围是:+127 ~ -128 16位表达的范围是:+32767 ~ -32768 如果运算结果超出这个范围,就产生了溢出 有溢出,说明有符号数的运算结果不正确
01
AX——(Accumulator)作为累加器。
02
它是算术运算的主要寄存器,
03
所有I/O指令都使用这一寄存器与外部设备交换数据。
04
例: IN AL , 20H
05
OUT 30H , AX
06
BX——Base用作基址寄存器使用。
07
在计算内存储器地址时,经常用来存放基址。
0

48086CPU指令系统

48086CPU指令系统
• 不能使用段寄存器
XCHG DS,ES XCHG AX,DS XCHG DS,[ BX ] • 不能使用双存储器 XCHG [ BX ],[ SI ] • 不能使用立即数 XCHG AX,2000H XCHG 20H,BL
《例》用 MOV、PUSH,POP、XCHG 指令 完成两寄存器AX、BX 中数据的交换
• 指令格式

指令功能
OPR1、OPR2 两个操作数间交换数据
数据传送类指令
XCHG指令的应用范围
• 通用寄存器与通用寄存器间交换数据
XCHG AX,BX XCHG DL,CH • 通用寄存器与存储器间交换数据 XCHG AX,[ BX ] XCHG [ SI ],AL
数据传送类指令
XCHG指令的 禁用情况
通用传送指令 PUSH、POP 中 src、dst 操作数的使用
• 为通用寄存器、段寄存器操作数
PUSH AX、PUSH ES POP DS、 POP BX • 为存储器操作数 PUSH [ 2000H ]、PUSH [ BX ] POP [ BX ]、 POP [ 1000H ]
通用传送指令PUSH、POP中 src、dst 操作数的禁用
数据传送类指令
指令 LEA 与 LDS,LES 的区别
• LEA src
scr 表示存储器地址本身
• LDS r,src
LES r,src src 表示存储器地址中的值
地址传送指令的比较
已知:DS=09A0H,BX= 0048H
LEA DI,[BX] → 执行后:DI=0048H 等价于 MOV DI,OFFSET [BX] LDS DI,[BX] → 执行后:DI=003EH DS=0816H LES DI,[BX] → 执行后:DI=003EH ES=0816H Memory

定时器 计数器的结构、特殊功能寄存器TMOD、TCON

定时器 计数器的结构、特殊功能寄存器TMOD、TCON
特殊功能寄存器tmod控制定时计数器的工作方式14定时器计数器的结构特殊功能寄存器tmodtcon工作方式控制寄存器tmod不可位寻址1gate门控位gate0以运行控制位tr启动定时器gate1以外中断请求信号imt0或int1启动定时器计数工作方式采用外部引脚的输入脉冲为计数脉冲3m1m0工作方式选择位m1m000方式0m1m001方式1m1m010方式2m1m011方式314定时器计数器的结构特殊功能寄存器tmodtcon定时器控制寄存器tcon可位寻址1tf0tf1计数溢出标志位当计数器计数溢出计满时该位置1查询方式时此位作状态位供查询软件清0
TC=1微秒
可见,初值越小,定时时间越长。
实验27 初值与定时时间的关系
因为 脉冲个数=溢出值-初值=216-初值 ①
计数脉冲的频率fc = 振荡频率fosc÷12
所以
定时时间=脉冲个数×计数脉冲的周期
=(216-初值)×1/计数脉冲的频率fc =(216-初值)×12/振荡频率fosc 由②式可得: … ②
5. 1-4 定时器/计数器的结构、特殊功பைடு நூலகம்寄存器TMOD、TCON
教学目的
1、单片机定时/计数器的结构及工作原理。 2、掌握初值的计算公式,理解初值、满值 和溢出值等概念。 3、掌握专用寄存器TMOD、TCON 。
教学重点
1、了解定时/计数器组成框图; 2、掌握定时/计数器的初值计算公式。
教学难点
1、GATE 门控位 GATE=0 以运行控制位TR启动定时器 GATE=1 以外中断请求信号(/IMT0或/INT1)启动定时器 2、C/T 定时方式或计数方式选择位 C/T=0 定时工作方式 C/T=l 计数工作方式(采用外部引脚的输入脉冲为计数脉冲) 3、M1、M0 工作方式选择位 M1、M0=00 方式0 M1、M0=01 方式1 M1、M0=10 方式2 M1、M0=11 方式3

微型计算机原理

微型计算机原理
1. 2.
I/O设备 图1.1 微型计算机的系统组成
3.
4.
微处理器子系统 存储器 I/O设备和I/O接口 系统总线
系统总线
总线是指传递信息的一组公用导线 总线是传送信息的公共通道 微机系统采用总线结构连接系统功能部件 总线信号可分成三组

地址总线AB:传送地址信息 数据总线DB
并行打印机接口LPT2 串行通信接口COM2 并行打印机接口LPT1 SDLC通信接口 BSC通信接口 单色显示/打印机适配器 彩色图形适配器CGA 软盘适配器 串行通信接口COM1
DMA控制器1 中断控制器1 定时计数器 并行接口电路 DMA页面寄存器 中断控制器2 DMA控制器2 15 协处理器

BX称为基址寄存器(Base address Register)
常用做存放存储器地址
CX称为计数器(Counter)
作为循环和串操作等指令中的隐含计数器

DX称为数据寄存器(Data register)
常用来存放双字长数据的高16位,或存放外设端口地址
第2章:(1)数据寄存器

AX称为累加器(Accumulator)
定堆栈段中的存储单元地址
内部结构
第2章:2. 指令指针寄存器
IP(Instruction Pointer)为指令指针寄存 器,指示主存储器指令的位置 随着指令的执行,IP将自动修改以指示下一 条指令所在的存储器位置 IP寄存器是一个专用寄存器 IP寄存器与CS段寄存器联合使用以确定下 一条指令的存储单元地址

进制的表示
二进制数用B或b结尾 十进制数可不用结尾字母,
也可用D或d结尾 十六进制数用H或h结尾
第二章

第2章51系列单片机系统结构2.2存储器组织

第2章51系列单片机系统结构2.2存储器组织

字节 地址 80H
复位后 初值 FFH
I/O 端口 0(P0 口)
*I/O 端口 1(P1 口)
P1
P1.7 A7H
90H
FFH
*I/O 端口 2(P2 口)
P2
P2.7 B7H P3.7
A0H
FFH
*I/O 端口 3(P3 口) 串行数据缓冲 *串行控制 电源控制及 波特率选择 从地址寄存器 从地址掩蔽寄存器



(1) 工作寄存器区。该区域容量为32个字节,分为 四个区,每区8个字节,对应R0~R7寄存器名。 因此,R0的物理地址可能是00H,也可能是08H、 10H 或18H;同理,R1的物理地址可能是01H, 也可能是09H、11H或19H。 任何时候都只能选择四个工作寄存器区中的一个区 作为当前工作寄存器区,当前工作寄存器区由程序 状态字寄存器PSW的b4(RS1)、b3(RS0)位确定,具 体情况4、b3位 当前区 寄存器R7~R0地址 00 0区 07H~00H 01 1区 0FH~08H 10 2区 17H~10H 11 3区 1FH~18H 由于复位后PSW的b4、b3位为00,因此复位后将选择0 区作为当前工作寄存器区。 修改PSW的b4、b3位即可选择不同的工作寄存器区,这 有利于快速保护现场,提高程序执行效率和中断的响应速 度。

SFR 寄存器名 累加器 B 寄存器 助功能寄存器 助功能寄存器 1 时钟控制寄存器 堆栈指针 数据指针低 8 位 数据指针高 8 位 *程序状态字 符号 b7 Acc B AUXR AUXR1 CKCON SP DPL DPH PSW D7H Cy AFH EA BFH IP — IPH — E7H F7 — — —
哈佛体系结构的程序存储器与数据存储器都拥有自己独立 的总线和寻址空间(典型的如DSP,TI的C5000系列)

试验一_寄存器试验

试验一_寄存器试验

1实验一:寄存器实验实验要求:利用COP2000实验仪上的K16..K23开关做为DBUS 的数据,其它开关做为控制信号,将数据写入寄存器,这些寄存器包括累加器A ,工作寄存器W ,数据寄存器组R0..R3,地址寄存器MAR ,堆栈寄存器ST ,输出寄存器OUT 。

实验目的:了解模型机中各种寄存器结构、工作原理及其控制方法。

实验说明: 寄存器的作用是用于保存数据的,因为我们的模型机是8位的,因此在本模型机中大部寄存器是8位的,标志位寄存器(Cy, Z)是二位的。

COP2000用74HC574来构成寄存器。

74HC574的功能如下:1. 在CLK 的上升沿将输入端的数据打入到8个触发器中74HC574工作波形图第一部分:A,W寄存器实验寄存器A原理图寄存器W原理图寄存器A,W写工作波形图连接线表- 2 -将22H写入A寄存器二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据22H置控制信号为:由高变低,这时寄存器A的黄色选择指示灯亮,表明选择A 寄存器。

放开CLOCK键,CLOCK由低变高,产生一个上升沿,数据22H被写入A寄存器。

将33H写入W寄存器二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据33H置控制信号为:按住CLOCK脉冲键,CLOCK由高变低,这时寄存器W的黄色选择指示灯亮,表明选择W 寄存器。

放开CLOCK键,CLOCK由低变高,产生一个上升沿,数据33H被写入W寄存器。

体会:1.数据是在放开CLOCK键后改变的,也就是CLOCK的上升沿数据被打入。

2.WEN,AEN为高时,即使CLOCK有上升沿,寄存器的数据也不会改变。

第二部分:R0,R1,R2,R3寄存器实验3- 4 -寄存器R 原理图寄存器R 写工作波形图连接线表将33H 写入R0寄存器二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据33HR0寄存器。

放开CLOCK 键,CLOCK 由低变高,产生一个上升沿,数据33H 被写入R0寄存器。

计算机组成原理 实验3

计算机组成原理 实验3

实验3通用寄存器实验一、实验目的1.熟悉通用寄存器的数据通路。

2.掌握通用寄存器的构成和运用。

二、实验要求在掌握了AX、BX运算寄存器的读写操作后,继续完成CX、DX通用寄存器的数据写入与读出。

三、实验原理实验中所用的通用寄存器数据通路如下图所示。

由四片8位字长的74LS574组成CX(R1 R0)、DX(R3 R2)通用寄存器组。

图中X2 X1 X0定义输出选通使能,SI、XP控制位为源选通选择。

RXW为寄存器数据写入使能,OP、DI为目的寄存器选择。

DRCK信号为寄存器写脉冲,下降沿有效。

准双向I/O输入输出端口用于置数操作,经2片74LS245三态门与数据总线相连。

图2-3-3通用寄存器数据通路四、实验内容五、实验过程 & 实验结果1.寄存器组写操作(1)(2)寄存器组的字写入通过“I/O单元”把CX的地址00打入IR,然后向CX写入2211h,操作步骤如下:按【单拍】按钮通过“I/O单元”把DX的地址02打入IR,然后向DX写入4433h,操作步按【单拍】按钮(3)寄存器组的字节写入通过“I/O单元”把CX的地址00打入IR,然后向CL写入55h,操作步骤按【单拍】按钮按【单拍】按钮K21 K16 K2=000 K21 K6 K2=111在IR保持为“XX00”的条件下,可省略打地址环节,按下流程向CH写入AAh2.寄存器读操作(1)(2)寄存器组字读(3)寄存器组字节读CH。

K7=1K10~K6=00101准双向I/O口实验一、实验目的熟悉与了解准双向I/O口的构成原理。

二、实验要求掌握准双向I/O口的输入/输出特性的运用。

三、实验原理Dais-CMX16+向用户提供的是按准双向原理设计的十六位输入/输出I/O口,当该位为“1”时才能用作输入源,上电或复位(手动态按【返回】键),该十六位I/O口被置位(即为“0FFFFh”)。

通常情况下,在用作输入的时候就不能再有输出定义。

电路结构如图2-3-4所示。

数据寄存器是什么意思

数据寄存器是什么意思

数据寄存器是什么意思数据寄存器是什么意思2010-07-09 14:28数据寄存器数据寄存器包括累加器AX、基址寄存器BX、计数寄存器CX和数据寄存器DX。

这4个16位寄存器又可分别分成高8位(AH、BH、CH、DH)和低8位(AL、BL、CL、DL)。

因此它们既可作为4个16位数据寄存器使用,也可作为8个8位数据寄存器使用,在编程时可存放源操作数、目的操作数或运算结果。

数据寄存器是存放操作数、运算结果和运算的中间结果,以减少访问存储器的次数,或者存放从存储器读取的数据以及写入存储器的数据的寄存器。

8086有14个16位寄存器,这14个寄存器按其用途可分为(1)通用寄存器、(2)指令指针、(3)标志寄存器和(4)段寄存器等4类。

(1)通用寄存器有8个,又可以分成2组,一组是数据寄存器(4个),另一组是指针寄存器及变址寄存器(4个).顾名思义,通用寄存器是那些你可以根据自己的意愿使用的寄存器,修改他们的值通常不会对计算机的运行造成很大的影响。

数据寄存器分为:AH&AL=AX(accumulator):累加寄存器,常用于运算;在乘除等指令中指定用来存放操作数,另外,所有的I/O指令都使用这一寄存器与外界设备传送数据.BH&BL=BX(base):基址寄存器,常用于地址索引;CH&CL=CX(count):计数寄存器,常用于计数;常用于保存计算值,如在移位指令,循环(loop)和串处理指令中用作隐含的计数器.DH&DL=DX(data):数据寄存器,常用于数据传递。

他们的特点是,这4个16位的寄存器可以分为高8位:AH,BH,CH,DH.以及低八位:AL,BL,CL,DL。

这2组8位寄存器可以分别寻址,并单独使用。

另一组是指针寄存器和变址寄存器,包括:SP(Stack Pointer):堆栈指针,与SS配合使用,可指向目前的堆栈位置;BP(Base Pointer):基址指针寄存器,可用作SS的一个相对基址位置;SI(Source Index):源变址寄存器可用来存放相对于DS段之源变址指针;DI(Destination Index):目的变址寄存器,可用来存放相对于ES段之目的变址指针。

KL25-ch07(定时器模块)-20130910课件

KL25-ch07(定时器模块)-20130910课件

15
PIT有以下三个基本操作: 1.定时器 当使能时,定时器定期产生触发。定时器加载 LDVAL寄存器中指定的开始值,递减计数到0,然后再次加 载单独的开始值。每当定时器达到0时,它将生成一个触发 脉冲并置位中断标志。一个新的中断只有在当前一个中 断被清0后才能产生。 有两种方法来改变计数器的周期: 1)通过先禁用定时器,设置一个新的载入值,然后再 使能计时器的方式可以修改正在运行的定时器的计数器 周期。
7.4.3 PIT构件设计及测试实例 在 P183 的 程 序中 ,将 MCU 的 串口与 PC 机相连 , PIT每次中断进行一次计时,并通过串口将计时信息发送 给PC机。通过串口调试工具,我们可以看到时间计数值 在递增。 PIT 模块具有初始化、使能 PIT 通道、禁止 PIT 通道以及PIT中断处理函数。
2
7.2 ARM Cortex-M0+内核时钟
ARM Cortex-M内核中包含了一个简单的定时器 SysTick,又称为“滴答”定时器。 SysTick定时器被捆 绑在NVIC(嵌套向量中断控制器)中,有效位数是24位 ,采用减1计数的方式工作,当减1计数到0,可产生 SysTick异常(中断),中断号为15。
7.2.2 Systick构件设计及测试工程
书P158给出以Systick定时器模块为时钟源,每隔一 秒钟通过串口向PC机发送时钟、分钟和秒钟的应用。
5
7.3 定时器/PWM模块功能概述及编程结构
7.3.1 TPM模块功能概述
TPM(定时器/脉宽调制模块)共有三个模块 TPM0/TPM1/TPM2,TPM0有6个通道,TPM1和TPM2 只有2个通道。TPM支持输入捕捉、输出比较,并且能够 产生PWM信号来控制电机。 TPM的基本定时器部分是一个递增的计数器,通过 设定模块的溢出值,当计数器递增到该数值时,产生 TPM中断,可以通过选择时钟源和溢出值设定该计数器 的频率。 1.外部引脚 TPM模块具有基本定时、输入捕捉、输出比较、脉 宽调制(PWM)功能。

特殊功能寄存器

特殊功能寄存器

特殊功能寄存器1、寄存器B(F0H)。

乘法指令的两个操作数分别取自A和B,结果存于BA中;除法指令中,被除数除数取自A,除数取自B,商存放于A,余数存放于B。

2、累加器ACC(E0H)。

3、程序状态字寄存器PSW(D0H~D7H)1)CY进位标志位。

加、减法运算指令时,运算结果最高位向前有进位(或借位)时,CY由硬件置“1”,无进位(或借位)时,CY由硬件清“0”。

2)AC 为半进位标志位。

加、减法运算指令时,低半字节向高半字节有半进位(借位)时,AC 由硬件置“1”,否则被除数自动清“0”。

3)F0 用户标志位。

4)RS0和5)0V 补码溢出标志位。

运算结果超出-128~+127的范围时溢出0V = 1,无溢出0V = 0。

6)P奇偶校验标志位。

奇数个“1”置P = 1,否则P = 0。

4、中断优先级寄存器IP。

(B8H)1)PS 决定串行通道中断优先级。

PS = 1,则编程为高优先级。

2)PT1 决定定时器1中断优先级。

PT1 = 1,则编程为高优先级。

3)PX1 决定外中断1中断优先级。

PX1 = 1,则编程为高优先级。

4)PT0 决定定时器0中断优先级。

PT1 = 1,则编程为高优先级。

5)PX0 决定外中断0中断优先级。

PX0 = 1,则编程为高优先级。

5、中断允许寄存器IE。

(A8H)1)EA开放或禁止所有中断。

EA = 1开放中断,EA = 0禁止中断。

2)ES 开放或禁止串行通道中断。

ES = 1开放中断,ES = 0禁止中断。

3)ET1 开放或禁止定时器1中断。

ET1 = 1开放中断,ET1 = 0禁止中断。

4)EX1 开放或禁止外部中断源1中断EX1 = 1开放中断EX1 = 0禁止中断。

5)ET0 开放或禁止定时器0中断。

ET0 = 1开放中断ET0 = 0禁止中断。

6)EX0 开放或禁止外部中断源0中断EX0 = 1开放中断,EX0 = 0禁止中断。

6、串行数据缓冲寄存器SBUF。

计数器与移位寄存器

计数器与移位寄存器

计数器与移位寄存器计数器和移位寄存器是数字电路中常用的两种重要组件。

它们在现代电子设备中起到了至关重要的作用。

本文将分别介绍计数器和移位寄存器的基本概念、工作原理及应用。

一、计数器计数器是一种能够记录和累加输入脉冲信号的电子器件。

它通常可以按照规定的时钟信号进行递增或递减操作,并能够实现各种计数模式。

1.1 基本概念计数器由若干个触发器和逻辑门构成。

触发器用于存储并传递数据,逻辑门用于产生控制信号。

计数器的位数决定了能够表示的计数范围,常见的位数有4位、8位、16位等。

1.2 工作原理计数器的工作原理基于二进制数制。

当计数器接收到时钟信号时,触发器根据当前的状态进行状态转移,并输出新的计数值。

计数器的时钟信号可以是连续的,也可以是根据特定条件产生的。

1.3 应用领域计数器广泛应用于各种计数场景中。

在数字电路中,它可以用于频率分割、时序控制等;在计算机中,它可以用于指令计数、内存地址生成等;在工业自动化中,它可以用于计量和控制等。

二、移位寄存器移位寄存器是一种能够在内部存储和移动数据的电子器件。

它可以实现数据的左移、右移、循环移位等操作,常用于数据的串行传输和处理。

2.1 基本概念移位寄存器由若干个触发器和逻辑门组成。

触发器用于存储数据位,逻辑门用于控制数据的传输和移位操作。

移位寄存器的位数决定了能够存储和处理的数据位数,常见的位数有4位、8位、16位等。

2.2 工作原理移位寄存器的工作原理基于串行数据传输的概念。

数据从输入端依次进入移位寄存器,根据控制信号进行移位操作后,最终从输出端读取。

移位寄存器可以实现左移、右移、循环移位等功能,根据应用需求选择不同的操作模式。

2.3 应用领域移位寄存器在各个领域都有重要应用。

在通信领域中,它可以用于串行数据传输、解调调制等;在图像处理领域中,它可以用于像素处理、图像滤波等;在存储器设计中,它可以用于数据缓存、地址生成等。

结语计数器和移位寄存器作为数字电路中重要的组件,为现代电子设备提供了强大的功能支持。

数字电子技术 第6章 寄存器与计数器

数字电子技术 第6章 寄存器与计数器

68
工作原理分析
69
74LS90具有以下功能:(1)异步清零。(2)异步置9。(3) 正常计数。(4)保持不变。
70
例6-7 分别采用反馈清零法和反馈置9法,用 74LS90构成8421BCD码的8进制加法计数器。 解:(1)采用反馈清零法。
71
(2)采用反馈置9法。
首先连接成8421BCD码十进制计数器,然后在此基础 上采用反馈置9法。8进制加法计数器的计数状态为 1001、0000~0110,其状态转换图如图(a)所示。
41
6.4.1
集成同步二进制计数器
其产品多以四位二进制即十六进制为主,下面 以典型产品 74LS161为例讨论。
42
① 异步清零。当CLR=0时,不管其它输入信号的状 态如何,计数器输出将立即被置零。
43
② 同步置数。当CLR=1(清零无效)、LD=0时, 如果有一个时钟脉冲的上升沿到来,则计数器输出 端数据Q3~Q0等于计数器的预置端数据D3~D0。
13
例6-1 对于图6-4所示移位寄存器,画出下图所示输入 数据和时钟脉冲波形情况下各触发器输出端的波形。 设寄存器的初始状态全为0。
14
2. 集成电路移位寄存器 常用集成电路移位寄存器为74LS194,其逻辑符号和 引脚图如图所示。
15
16
例6-2 利用两片集成移位寄存器74LS194扩展成一 个8位移位寄存器。
连 接 规 律 加 法 计 数 减 法 计 数 T'触发器的触发沿 上 升 沿 下 降 沿
CPi Q i 1
CPi Qi 1
CPi Q i 1
例子
25
CPi Qi 1
6.2.2
异步非二进制计数器

K60-Enthernet(中文)

K60-Enthernet(中文)

第44章10/100-Mbps 以太网物理层通信(Ethernet MAC ,ENET)44.1 导言MAC-NET的核心在于通过10/100 MAC连接,实现了第3层网络加速功能。

这些功能为客户端应用提供线速服务,被设计用来加速处理各种通用网络协议,例如IP,TCP,UDP和ICMP。

说明关于任何特殊功能实现的内容,详情参见设备的芯片配置章节。

44.1.1 概述核心实现了符合IEEE802.3-2002标准的双倍速10/100 Mbps Ethernet MAC。

MAC层提供了符合半双工或全双工的10/100Mbps Ethernet LAN。

MAC的工作是可以完全被程序控制的,并且可以在NIC(Network Interface Card,网络通信接口卡),桥接或开关中应用。

核心实现了基于IETF RFC 2819的远程网络监控(remote network monitoring ,RMON)的计数器。

核心还实现了一个硬件加速块,以优化网络提供IP和TCP,UDP,ICMP 协议服务功能的网络控制器的性能。

加速块在硬件中起到关键功能,此功能一般通过大型软件在高层实现。

核心实现了可编程的嵌入式FIFO,它可以为低损流控制的接收路径进行缓存。

增强版的电源管理功能可以进行异常包检测,也可以对掉电模式进行编程。

对于工业用途的自动化应用,IEEE 1588标准正在成为以太网中精确时间同步的主要技术。

它为分布的控制节点克服以太网的缺陷提供了精确的时钟同步信号。

使用IEEE 1588的可编程的10/100 Ethernet MAC集成了一个有时间戳的标准的IEEE802.3 Ethernet MAC。

44.1.2 特性MAC-NET核心包含下列特性。

44.1.2.1 Ethernet MAC特性实现了全部802.3的功能,包含首部/SFD的生成,帧框架的生成,CRC的生成与检验。

动态配置支持10/100 Mbps工作。

以太网标准寄存器和计数器详解

以太网标准寄存器和计数器详解
Page 7
AN Advertise Register---1(电口)
➢ AN Advertise Register是读写寄存器,控制PHY发出去的自协商信息。只有自 协商使能时,此寄存器才起作用。此寄存器在电口和光口上内容不一样。电口的 寄存器含义如下:
➢ Bit[4:0]:Selector域,固定为00001,不用去管 ➢ Bit[5]: 10Base-T半双工能力位,为1时告知对方本端支持10M半双工,为0时,表示
Pause流控帧
Page 12
AN Link Partner Ability Register—2(电口)
➢ Bit[11]: 非对称Pause能力位,为1时表示对方支持非对称Pause流控机制,为0时, 表示对方不支持非对称Pause流控机制
➢ Bit[12]: 保留位,不用管。 ➢ Bit[13]: 远端故障位,此bit=1时,表示对方出现接收故障。为0时,表示对方没有接
➢ Status Register是只读寄存器,反映PHY的基本状态,是最重要的寄存器。
➢ Bit[0]:扩展能力位,此Bit没什么用,不用管 ➢ Bit[1]: Jabber状态,如果为1,表示检测到了Jabber状态(Jabber就是接受端一直接
收到没有间隔载波信号,是一种故障状态)。正常情况应该为0 ➢ Bit[2]: Link状态,如果为1,表示LinkUp;如果为0,表示LinkDown。此Bit通常为
➢ Bit[5:0]:Reserved,不用管 ➢ Bit[6]:Bit[13]: Link Speed控制,当自协商关闭(Bit[12]=0)的时候,用来设置Link速
率,;当自协商打开时,此2bit不起作用。
➢ Bit[6]:Bit[13]=00 :10M ➢ Bit[6]:Bit[13]=01 :100M ➢ Bit[6]:Bit[13]=10 :1000M ➢ Bit[6]:Bit[13]=11 :Reserved

单片机寄存器名称

单片机寄存器名称

【转】【51单片机特殊功能寄存器功能一览表】Posted on 2011-03-26 15:07 香格里拉\(^o^)/阅读(688) 评论(0)编辑收藏【转】【51单片机寄存器功能一览表】21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SF R存储空间中,地址空间为80H-FFH,在这片SF R空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。

在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有R OM,用来存放程序,有R AM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。

在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SF R)。

这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):分别说明如下:1、ACC---是累加器,通常用A表示这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。

它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。

自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。

该标志常用作程序分枝转移的判断条件。

2、B--一个寄存器在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。

3、PSW-----程序状态字。

这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。

它的各位功能请看下表:下面我们逐一介绍各位的用途CY:进位标志。

8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。

单片机原理及接的口技术课后答案李朝青可编辑

单片机原理及接的口技术课后答案李朝青可编辑

第一章1单片机具有哪些特点1片内存储容量越来越大2抗干扰性好可靠性高3芯片引线齐全容易扩展4运行速度高控制功能强5单片机内部的数据信息保存时间很长有的芯片可以达到100年以上89C51单片机内包含哪些主要逻辑功能部件答80C51系列单片机在片内集成了以下主要逻辑功能部件l CPU 中央处理器 8位2 片内RAM128B3 特殊功能寄存器21个4 程序存储器4KB5 并行IO口8位4个6 串行接口全双工1个7 定时器计数器16位2个8 片内时钟电路1个答微处理器本身不是计算机但它是小型计算机或微机的控制和处理部分微机则是具有完整运算及控制功能的计算机除了微处理器外还包括存储器接口适配器以及输入输出设备等单片机是将微处理器一定容量的RAMROM以及IO口定时器等电路集成在一块芯片上构成的单片微型计算机4 微型计算机怎样执行一个程序答通过CPU指令提到内存当中再逐一执行5什么是嵌入式系统他有哪些类型为什么说单片机是典型的嵌入式系统答嵌入式系统是将先进的计算机技术半导体技术和电子技术和各个行业的具体应用相结合后的产物这一点就决定了它必然是一个技术密集资金密集高度分散不断创新的知识集成系统嵌入式微处理器嵌入式微控制器嵌入式系统的出现最初是基于单片机的第二章189C51单片机内包含哪些主要逻辑功能部件答80C51系列单片机在片内集成了以下主要逻辑功能部件l CPU 中央处理器 8位2 片内RAM128B3 特殊功能寄存器21个4 程序存储器4KB5 并行IO口8位4个6 串行接口全双工1个7 定时器计数器16位2个8 片内时钟电路1个289C51的EA端有何用途答EA端接高电平时CPU只访问片内flashcom并执行内部程序存储器EA端接低电平时CPU只访问外部ROM并执行片外程序存储器中的指令EA端保持高电平时CPU执行内部存储器中的指令3 89C51的存储器分哪几个空间如何区别不同空间的寻址答ROM片内ROM和片外ROM统一编址使用MOVC数据传送指令16bits地址64KB片外RAMMOVX16bits地址64KB片内RAMMOV8bits地址256B4 简述89C51片内RAM的空间分配答片内RAM有256B低128B是真正的RAM区高128B是SFR特殊功能寄存器区5 简述布尔处理存储器的空间分配片内RAM中包含哪些可位寻址单元答片内RAM区从00HFFH256B其中20H2FH字节地址是位寻址区对应的位地址是00H7FH6 如何简捷地判断89C51正在工作答用示波器观察8051的XTAL2端是否有脉冲信号输出判断震荡电路工作是否正常ALE地址锁存允许Address Latch Enable输出是fosc的6分频用示波器观察ALE是否有脉冲输出判断 8051芯片的好坏观察PSEN判断8051能够到EPROM 或ROM中读取指令码因为PSEN接外部EPROMROM的OE端子OE Output Enable输出允许7 89C51如何确定和改变当前工作寄存器组答PSW程序状态字Program Status Word中的RS1和RS0可以给出4中组合用来从4组工作寄存器组中进行选择PSW属于SFRSpecial Function Register特殊功能寄存器8 89C51 P0口用作通用IO口输入时若通过TTLOC门输入数据应注意什么为什么答9 读端口锁存器和读引脚有何不同各使用哪种指令答读锁存器ANL P0A就是相当于从存储器中拿数据而读引脚是从外部拿数据如MOV AP1 这条指令就是读引脚的意思就是把端口p1输入数据送给A 传送类MOV判位转移JBJNB这些都属于读引脚平时实验时经常用这些指令于外部通信判断外部键盘等字节交换XCHXCHD算术及逻辑运算ORLCPLANLADDADDCSUBBINCDEC控制转移CJNEDJNZ都属于读锁存器10 89C51 P0~P3口结构有何不同用作通用IO口输入数据时应注意什么答P0口内部没有上拉电阻可以用做16位地址的低8位P3有第二功能P2口可以用做16位地址的高8位需要上拉电阻OC门电路无法输出高低电平只有靠上拉电阻才能实现11 89C51单片机的EA信号有何功能在使用8031时EA信号引脚应如何处理答 1 80C51单片机的EA信号的功能EA为片外程序存储器访问允许信号低电平有效在编程时其上施加21V 的编程电压EA引脚接高电平时程序从片内程序存储器开始执行即访问片内存储器EA引脚接低电平时迫使系统全部执行片外程序存储器程序2 在使用80C31时EA信号引脚的处理方法因为80C31没有片内的程序存储器所以在使用它时必定要有外部的程序存储器EA 信号引脚应接低电平12 89C51单片机有哪些信号需要芯片引脚以第2功能的方式提供答第一功能第二功能串行口P30 RXD串行输入口P31 TXD串行输出口中断P32 INT0外部中断0P33 INT1外部中断1定时器计数器T0T1P34 T0定时器计数器0的外部输入P35 T1定时器计数器1的外部输入数据存储器选通P36 WR外部存储器写选通低电平有效输出P37 RD外部存储器读选通低电平有效输出定时器计数器T2P10 T2定时器T2的计数端P11 T2EX定时器T2的外部输入端13 内部RAM低128字节单元划分为哪3个主要部分各部分主要功能是什么答片内RAM低128单元的划分及主要功能l 工作寄存器组 00HlFH这是一个用寄存器直接寻址的区域内部数据RAM区的031 00HlFH 共32个单元它是4个通用工作寄存器组每个组包含8个8位寄存器编号为R0R72 位寻址区 20H2FH从内部数据RAM区的3247 20H2FH 的16个字节单元共包含128位是可位寻址的RAM区这16个字节单元既可进行字节寻址又可实现位寻址3 字节寻址区 30H7FH从内部数据RAM区的48127 30H7FH 共80个字节单元可以采用间接字节寻址的方法访问14 使单片机复位有几种方法复位后机器的初始状态如何答 1 单片机复位方法单片机复位方法有上电自动复位按键电平复位和外部脉冲三种方式如题图2-1所示题图2-12 复位后的初始状态复位后机器的初始状态即各寄存器的状态PC之外复位操作还对其他一些特殊功能寄存器有影响它们的复位状态如题表2-1所例15 开机复位后CPU使用的是哪组工作寄存器它们的地址是什么CPU如何确定和改变当前工作寄存器组答一般开机复位后都是选择第一组通用工作寄存器作为工作寄存器的一共有4组com3连续位于00h到1FH地址然后在机器中有个程序状态字PSW它的第四和第三位RS1RS0是用来选择工作寄存器组的可能不同机器地址稍有不同他们俩的值和寄存器组的关系RS1RS0 00 01 10 11使用的工作寄存器 0 1 2 3地址 00-07 08-0F 10-17 18-1F写程序的时候就是通过定义程序状态字来选择使用不同的寄存器组也可以直接对RS1和RS0赋值最后一问同题716 程序状态寄存器PSW的作用是什么常用标志有哪些位作用是什么答PSW是一个SFR特殊功能寄存器位于片内RAM的高128B具体地址D0H00HFFH片内RAM的编址8bits编址方法PSW Program Status Word程序状态字PSW的常用标志位有哪些CY Carry进位标志位AC Auxiliary Carry辅助进位标志位半进位标志位F0用户标志位RS1RS0用来选择当前工作寄存器组R0R74选1OV Overflow溢出标志位P Parity奇偶校验位17 位地址7CH与字节地址7CH如何区别位地址7CH具体在片内RAM中的什么位置答用不同的寻址方式来加以区分即访问128个位地址用位寻址方式访问低128字节单元用字节寻址和间接寻址具体地址为2F的第五位即为7C18 89C51单片机的时钟周期与振荡周期之间有什么关系什么叫机器周期和指令周期答时钟信号的周期称为机器状态周期是振荡周期的两倍一个机器周期是指CPU访问存储器一次所需的时间指令周期是执行一条指令所需的时间19 一个机器周期的时序如何划分答一个机器周期 12个震荡周期 6个时钟周期状态周期S1P1S1P2S2P1S2P2S3P1S3P2S4P1S4P2S5P1S5P2S6P1S6P2 其中s state 状态p phase相位20 什么叫堆栈堆栈指针SP的作用是什么89C51单片机堆栈的容量不能超过多少字节答堆栈都是一种数据项按序排列的数据结构只能在一端称为栈顶 top 对数据项进行插入和删除要点堆顺序随意栈后进先出 Last-InFirst-Out 在调用子程序时需要保存调用函数的CPU寄存器PC指针PC指针是被CALL指令自动压入SP所指向的片内存储器CPU寄存器要由用户用PUSH指令自行保存因此SP的作用就是一个指针当进行中断调用子函数调用时将现场数据压入SP所指向的存储器SP自动增加1或2当中断结束RETI调用返回RETPOP时将SP数据弹出SP自动减1或28051最大为128字节的片内存储器0X20以上理论都可以做堆栈用96字节8052为256字节224字节可用但这样便没有其它空间可用于数据存储现在的单片机的程序一般都能用C51来不用关心堆栈大小与SP寄存器21 89C51有几种低功耗方式如何实现答空闲方式和掉电方式空闲方式和掉电方式是通过对SFR中的PCON地址87H 相应位置1而启动的当CPU执行完置IDL 1 PCON1的指令后系统进入空闲工作方式这时内部时钟不向CPU提供而只供给中断串行口定时器部分CPU的内部状态维持即包括堆栈指针SP程序计数器PC程序状态字PSW累加器ACC所有的内容保持不变端口状态也保持不变ALE和PSEN保持逻辑高电平当CPU执行一条置PCON1位PD为1的指令后系统进入掉电工作方式在这种工作方式下内部振荡器停止工作由于没有振荡时钟因此所有的功能部件都停止工作但内部RAM区和特殊功能寄存器的内容被保留而端口的输出状态值都保存在对应的SFR中ALE和PSEN都为低电平22 PC与DPTR各有哪些特点有何异同答 1 程序计数器PC作为不可寻址寄存器的特点程序计数器PC是中央控制器申最基本的寄存器是一个独立的计数器存放着下一条将程序存储器中取出的指令的地址程序计数器PC变化的轨迹决定程序的流程程序计数器的宽度决定了程序存储器可以寻址的范围程序计数器PC的基本工作方式有①程序计数器PC自动加1这是最基本的工作方式也是这个专用寄存器被称为计数器的原因②执行条件或无条件转移指令时程序计数器将被置入新的数值程序的流向发生变化变化的方式有下列几种带符号的相对跳转SJMP短跳转AJMP长跳转LJMP及JMP ADPTR等③在执行调用指令或响应中断时●PC的现行值即下一条将要执行的指令的地址送入堆栈加以保护●将子程序的入口地址或者中断矢量地址送入PC程序流向发生变化执行子程序或中断服务程序●子程序或中断服务程序执行完毕遇到返回指令RET或RETI时将栈顶的内容送到PC寄存器中程序流程又返回到原来的地方继续执行2 地址指针DPTR的特点地址指针DPTR的特点是它作为片外数据存储器寻址用的地址寄存器间接寻址3 地址指针DPTR与程序计数器PC的异同①相同之处●两者都是与地址有关的16位的寄存器其中PC与程序存储器的地址有关而DPTR与数据存储器的地址有关●作为地址寄存器使用时PC与DPTR都是通过P0和P2口作为16位地址总线输出的但是PC的输出与ALE及PSEN有关DPTR的输出则与ALERD及WR 相联系②不同之处●PC只能作为16位寄存器对待由于有自动加1的功能故又称为计数器DPTR可以作为16位寄存器对待也可以作为两个8位寄存器对待●PC是不可以访问的有自己独特的变化方式它的变化轨迹决定了程序执行的流程DPTR是可以访问的如MOV DPTRXXXXHINC DPTP23 89C51端口锁存器的读修改写操作与读引脚操作有何区别答指令系统中有些指令读锁存器的值有些指令则读引脚上的值读锁存器指令是从锁存器中读取一个值并进行处理把处理后的值原值或已修改后的值重新写入锁存器中这类指令称为读-修改-写指令对于读-修改-写指令直接读锁存器而不是读端口引脚是因为从引脚上读出的数据不一定能真正反映锁存器的状态单片机原理及接口技术课后习题答案第三章1 CPU根据人的意图来执行某种操作的命令指令系统一台计算机所能执行的全部指令集合机器语言用二进制编码表示计算机能直接识别和执行的语言汇编语言用助记符符号和数字来表示指令的程序语言高级语言独立于机器的在编程时不需要对机器结构及其指令系统有深入了解的通用性语言2 1题3 [目的操作数] [源操作数]4寻址方式寻址空间立即数寻址程序存储器ROM 直接寻址片内RAM低128B特殊功能寄存器寄存器寻址工作寄存器R0-R7ABCDPTR 寄存器间接寻址片内RAM低128B片外RAM 变址寻址程序存储器APCADPTR 相对寻址程序存储器256B范围PC偏移量位寻址片内RAM的20H-2FH字节地址部分SFR 5 SFR直接寻址位寻址寄存器寻址片外RAM寄存器间接寻址6 MOV A40H 直接寻址40H→AMOV R0A寄存器寻址A→R0MOV P10F0H 立即数寻址0F0→P1MOV R030H直接寻址30H →R0MOV DPTR3848H立即数寻址 3848H→DPTRMOV 40H38H直接寻址 38H →40HMOV R030H直接寻址 30H →R0MOV P0R0寄存器寻址 R0 →P0MOV 18H30H 立即数寻址30H→18HMOV AR0 寄存器间接寻址 R0 →AMOV P2P1 直接寻址 P1→P2最后结果R0 38HA 40HP0 38HP1 P2 0F0HDPTR 3848H18H 30H30H 38H38H 40H40H 40H48H 38H注意→左边是内容右边是单元7 用直接寻址位寻址寄存器寻址8MOV ADATA 直接寻址2字节1周期MOV ADATA 立即数寻址2字节1周期MOV DATA1DATA2 直接寻址3字节2周期MOV 74H78H 立即数寻址3字节2周期如果想查某一指令的机器码字节数或周期数可查阅书本后面的附录A9设R0的内容分为32HA的内容为48H请指出在执行下列程序段后上述各单元内容的变化MOV AR0 R0 80H→AMOV R040H 40H 08H→ R0MOV 40HA A 80→40HMOV R035H 35H→R0最后结果R0 35H A 80H32H 08H40H 80H10如何访问SFR可采用那些寻址方式答用直接寻址位寻址寄存器寻址11如何访问片外RAM可使用那些寻址方式答只能采用寄存器间接寻址用MOVX指令12如何访问片内RAM可使用那些寻址方式答低128字节直接寻址位寻址寄存器间接寻址寄存器寻址R0R7高128字节直接寻址位寻址寄存器寻址13如何访问片内外程序存储器可使用那些寻址方式答采用变址寻址用MOVC指令14说明十进制调整的原因和方法答压缩BCD码在进行加法运算时应逢十进一而计算机只将其当作十六进制数处理此时得到的结果不正确用DA A指令调整加06H60H66H15说明8951布尔机处理机功能答用来进行位操作16ANL A17H 83H∧17H 03H→AORL 17HA 34H∨03H 37H→17HXRL AR0 03H??37H 34HCPL A 34H求反等于CBH所以A CBH171SETB ACC0或SETB E0H E0H是累加器的地址2 CLR ACC7CLR ACC6CLR ACC5CLR ACC43 CLR ACC6CLR ACC5CLR ACC4CLR ACC318MOV 27HR7MOV 26HR6MOV 25HR5MOV 24HR4MOV 23HR3MOV 22HR2MOV 21HR1MOV 20HR019MOV 2FH20MOV 2EH21MOV 2DH2220编程进行两个16位数的减法6F5DH-13B4H结果存入内部RAM的30和31H单元30H存低八位CLR CMOV A5DH 被减数的低8位→AMOV R2B4H 减数低8位→R2SUBB AR2 被减数减去减数差→AMOV 30HA 低8位结果→30HMOV A6FH 被减数的高8位→AMOV R213H 减数高8位→R2SUBB AR2 被减数减去减数差→AMOV 31HA 高8位结果→30H注意如果在你的程序中用到了进位位在程序开始的时候要记得清0进位位21编程若累加器A满足下列条件则程序转至LABEL存储单元设A中为无符号数1A≥10CJNE A0AHL1 A与10比较不等转L1LJMP LABEL 相等转LABELL1JNC LABEL A大于10转LABEL或者CLR CSUBB A0AHJNC LABEL2A>10CJNE A0AHL1 A与10比较不等转L1 RET 相等结束L1JNC LABEL A大于10转LABEL RET A小于10结束或者CLR CSUBB A0AHJNC L1RETL1JNZ LABELRET3A≤10CJNE A0AHL1 A与10比较不等转L1L2LJMP LABEL 相等转LABELL1JC L2 A小于10转L2RET或者CLR CSUBB A0AHJC LABELJZ LABELRET22SP 23HPC 3412H参看书上80页23SP 27H26H 48H27H 23HPC 3456H参看书上79页24不能ACALL是短转指令可调用的地址范围是2KB在看这个题的时候同时看一下AJMP指令同时考虑调用指令ACALL和LCALL 指令和RET指令的关系25 编程查找内部RAM中20H-50H单元中是否有0AAH这一数据若有则将51h 单元置为01H如无则将51H单元清零MOV R231H 数据块长度→R2MOV R020H 数据块首地址→R0LOOPMOV AR0 待查找的数据→ACLR C 清进位位SUBB A0AAH 待查找的数据是0AAH吗JZ L1 是转L1INC R0 不是地址增1指向下一个待查数据DJNZ R2LOOP 数据块长度减1不等于0继续查找MOV 51H00H 等于0未找到00H→51HRETL1MOV 51H01H 找到01H→51HRET26编程查找内部RAM的20H-50H单元中出现00H的次数并将结果存入51H中MOV R231H 数据块长度→R2MOV R020H 数据块首地址→R0LOOPMOV AR0 待查找的数据→AJNZ L1 不为0转L1INC 51H 为000H个数增1L1INC R0 地址增1指向下一个待查数据DJNZ R2LOOP 数据块长度减1不等于0继续查找RET27外部数据RAM中有一个数据块首地址为SOURCE要求将该数据传送到内部RAM以DIST开头的区域在直到遇到数字字符时结束MOV DPTRSOURCE 源首地址→DPTRMOV R0DIST 目的首地址→R0LOOPMOVX ADPTR 传送一个字符MOV R0AINC DPTR 指向下一个字符INC R0CJNE A24HLOOP 传送的是字符吗不是传送下一个字符RET28 已知R3和R4中存有一个十六位的二进制数高位在3中低位在4中编程求其补并存回原处MOV AR3 取该数高8位→AANL A80H 取出该数符号判断JZ L1 是正数转L1MOV AR4 是负数将该数低8位→ACPL A 低8位取反ADD A01H 加1MOV R4A 低8位取反加1后→R4MOV AR3 将该数高8位→ACPL A 高8位取反ADDC A00H 加上低8位加1时可能产生的进位MOV R3A 高8位取反加1后→R3L1 RET29 已知30H和31H中存有一个十六位的二进制数高位在前低位在后编程将它们乘2并存回原处CLR C 清进位位CMOV A31H 取该数低8位→ARLC A 带进位位左移1位MOV 31HA 结果存回31HMOV A30H 取该数高8位→ARLC A 带进位位左移1位MOV 30HA 结果存回30H30 内存中有两个4字节以压缩的BCD码形式存放的十进制数一个放在30H-33H的单元中一个放在40H-43H的单元中编程求他们的和结果放在30H-33H的单元中MOV R204H 字节长度→R2MOV R030H 一个加数首地址→R0MOV R140H 另一个加数首地址→R1CLR C 清进位位LOOPMOV AR0 取一个加数ADDC AR1 两个加数带进位位相加DA A 十进制调整MOV R0A 存放结果INC R0 指向下一个字节INC R1DJNZ R2LOOP 数据块长度减1不等于0继续查找RET31编程把片外RAM从2000H开始存放的8个数传送到片内30H开始的单元中MOV R208H 数据块长度→R2MOV R030H 数据块目的地址→R0MOV DPTR2000H 数据块源地址→DPTRLOOPMOVX A DPTR 传送一个数据MOV R0AINC DPTR 指向下一个数据INC R0DJNZ R2LOOP 数据块长度减1没传送完继续传送RET35解1000H 53H 1001H 54H 1002H 41H1003H 52H 1004H 54H 1005H 12H1006H 34H 1007H 30H 1008H 00H1009H 70H36阅读下列程序说明其功能MOV R040H 40H→R0MOV AR0 98H→AINC R0 41H→R0ADD AR0 98H41H 47H→AINC R0MOV R0A 结果存入42H单元CLR A 清AADDC A0 进位位存入AINC R0MOV R0A 进位位存入43H功能将40H41H单元中的内容相加结果放在42H单元进位放在43H单元R0 43HA 140H 98H41H AFH42H 47H43H 01H37同上题MOV A61H F2H→AMOV B02H 02H→BMUL AB F2H×O2H E4H→AADD A62H 积的低8位加上CCH→AMOV 63HA 结果送62HCLR A 清AADDC AB 积的高8位加进位位→AMOV 64HA 结果送64H功能将61H单元的内容乘2低8位再加上62H单元的内容放入63H将结果的高8位放在64H单元A 02HB 01H61H F2H62H CCH63H B0H64H 02H 39MOV AXXHORL A80HMOV XXHA402MOV AXXHMOV R0AXRL AR0第五章1答当CPU正在处理某件事情的时候外部发生的某一件事件请求CPU迅速去处理于是CPU暂时中止当前的工作转去处理所发生的事件中断服务处理完该事件以后再回到原来被终止的地方继续原来的工作这种过程称为中断实现这种功能的部件称为中断系统功能12 CPU在查询方式中的等待现象大大提高了CPU的工作效率32试编写一段对中断系统初始化的程序使之允许INT0INT1TO串行口中断且使T0中断为高优先级中断解MOV IE097HMOV IP02H3在单片机中中断能实现哪些功能答有三种功能分时操作实时处理故障处理489C51共有哪些中断源对其中端请求如何进行控制答189C51有如下中断源①外部中断0请求低电平有效②外部中断1请求低电平有效③T0定时器计数器0溢出中断请求④T1定时器计数器1溢出中断请求⑤TXRX串行接口中断请求2通过对特殊功能寄存器TCONSCONIEIP的各位进行置位或复位等操作可实现各种中断控制功能5什么是中断优先级中断优先处理的原则是什么答中断优先级是CPU相应中断的先后顺序原则123 CPU通过内部硬件查询电路按查询顺序确定应该响应哪个中断请求查询顺序外部中断0→定时器0中断→外部中断1→定时器1中断→串行接口中断6说明外部中断请求的查询和响应过程答当CPU执行主程序第K条指令外设向CPU发出中断请求CPU接到中断请求信号并在本条指令执行完后中断主程序的执行并保存断点地址然后转去响应中断CPU在每个S5P2期间顺序采样每个中断源CPU在下一个机器周期S6期间按优先级顺序查询中断标志如果查询到某个中断标志为1将在接下来的机器周期S1期间按优先级进行中断处理中断系统通过硬件自动将相应的中断矢量地址装入PC以便进入相应的中断服务程序中断服务完毕后CPU返回到主程序第K1条指令继续执行789C51在什么条件下可响应中断答12 EA 1即CPU开中断3 1即中断没有被屏蔽456 RETI或访问IE或IP指令时该指令以及紧接着的另一条指令已执行完毕8简述89C51单片机的中断响应过程答CPU在每个机器周期S5P2期间顺序采样每个中断源CPU在下一个机器周期S6期间按优先级顺序查询中断标志如查询到某个中断标志为1将在接下来的机器周期S1期间按优先级进行中断处理中断系统通过硬件自动将相应的中断矢量地址装入PC以便进入相应的中断服务程序一旦响应中断89C51首先置位相应的中断优先级生效触发器然后由硬件执行一条长调用指令把当前的PC值压入堆栈以保护断点再将相应的中断服务的入口地址送入PC于是CPU接着从中断服务程序的入口处开始执行对于有些中断源CPU在响应中断后会自动清除中断标志9在89C51内存中应如何安排程序区答主程序一般从0030H开始主程序后一般是子程序及中断服务程序在这个大家还要清除各个中断的中断矢量地址10试述中断的作用及中断的全过程答作用对外部异步发生的事件作出及时的处理过程中断请求中断响应中断处理中断返回11当正在执行某一个中断源的中断服务程序时如果有新的中断请求出现试问在什么情况下可响应新的中断请求在什么情况下不能响应新的中断请求答1符合以下6个条件可响应新的中断请求a 有中断源发出中断请求b 中断允许位EA 1即CPU开中断c 申请中断的中断源的中断允许位为1即中断没有被屏蔽d 无同级或更高级中断正在被服务e 当前的指令周期已结束f 若现行指令为RETI或访问IE或IP指令时该指令以及紧接着的另一条指令已被执行完1289C51单片机外部中断源有几种触发中断请求的方法如何实现中断请求答有两种方式电平触发和边沿触发电平触发方式CPU在每个机器周期的S5P2期间采样外部中断引脚的输入电平若为低电平使IE1 IE0 置1申请中断若为高电平则IE1 IE0 清零边沿触发方式CPU在每个机器周期S5P2期间采样外部中断请求引脚的输入电平如果在相继的两个机器周期采样过程中一个机器周期采样到外部中断请求为高电平接着下一个机器周期采样到外部中断请求为低电平则使IE1 IE0 置1申请中断否则IE1 IE0 置01389C51单片机有五个中断源但只能设置两个中断优先级因此在中断优先级安排上受到一定的限制试问以下几种中断优先顺序的安排级别由高到低是否可能若可能则应如何设置中断源的中断级别否则请简述不可能的理由⑴定时器0定时器1外中断0外中断1串行口中断可以MOV IP0AH⑵串行口中断外中断0定时器0外中断1定时器1 可以MOV IP10H⑶外中断0定时器1外中断1定时器0串行口中断不可以只能设置一级高级优先级如果将INT0T1设置为高级而T0级别高于INT1⑷外中断0外中断1串行口中断定时器0定时器1 可以MOV IP15H⑸串行口中断定时器0外中断0外中断1定时器1 不可以⑹外中断0外中断1定时器0串行口中断定时器1 不可以⑺外中断0定时器1定时器0外中断1串行口中断可以MOV IP09H1489C51各中断源的中断标志是如何产生的又是如何清0的CPU响应中断时中断入口地址各是多少答各中断标志的产生和清0如下1外部中断是由外部原因引起的可以通过两个固定引脚即外部中断0和外部中断1输入信号外部中断0请求信号由P32脚输入通过IT0来决定中断请求信号是低电平有效还是下跳变有效一旦输入信号有效则向CPU申请中断并且使IE0 1硬件复位外部中断1请求信号功能与用法类似外部中断02定时中断是为满足定时或计数溢出处理需要而设置的当定时器计数器中的计数结构发生计数溢出的即表明定时时间到或计数值已满这时就以计数溢出信号作为中断请求去置位一个溢出标志位这种中断请求是在单片机芯片内部发生的无需在芯片上设置引入端但在计数方式时中断源可以由外部引入TF0定时器T0溢出中断请求当定时器T0产生溢出时定时器T0请求标志TF0 1请求中断处理使用中断时由硬件复位在查询方式下可由软件复位TF1定时器T1溢出中断请求功能与用法类似定时器T03串行口中断是为串行数据的传送需要而设置的串行中断请求也是在单片机芯片内部发生的但当串行口作为接收端时必须有一完整的串行帧数据从RI端引入芯片才可能引发中断RI或TI串行口中断请求当接收或发送一串帧数据时使内部串行口中断请求标志RI或TI 1并请求中断响应后必须软件复位CPU响应中断时中断入口地址如下中断源入口地址外部中断0 0003H。

NRF24L01+寄存器及指令集

NRF24L01+寄存器及指令集

寄存器读地址 AAAAA //读地址时,直接输入寄存器地址就可以。

空操作0xff //空操作,把要读的地址用spi写入后,需要写0xff,(写0xff的同时无线模块会输出该寄存器的设置)写寄存器地址1AAAAA //相当于二进制100000是十六进制的0x20,比如要写0x00寄存器的时候,要写0x00+0x20等于的值寄存器 0x60 255位~0位无线接收寄存器(高字节先输出)寄存器 0x61 255位~0位无线接收寄存器(低字节先输出)寄存器 0xc2 写0xff 清空无线接收寄存器(直接写0xe2,0xff)寄存器 0x80 255位~0位无线发送寄存器(写入数据可以发送出去)(直接写0xa0,uchar数据,uchar数据。

32字节)寄存器 0x90 255位~0位无线发送寄存器(写入数据可以发送出去,但不使用应答)(直接写0xb0,uchar数据,uchar数据。

32字节)寄存器 0xc1 写0xff 清空发送寄存器(直接写0xe1,0xff)寄存器 0xc3 数据重发(写地址0xe3)寄存器 0x00 7不用6接收完成中断使能(1关0开中断产生时IRQ脚底电平)5发送完成中断使能4接收满中断3校验使能2校验位选择(0:8位1:9位)1无线使能(1开,0关)0无线工作方式(1接收模式0发送模式)寄存器 0x01 7不用6不用5数据通道5自动应答(1开0关)4数据通道4自动应答(1开0关)3数据通道3自动应答(1开0关)2数据通道2自动应答(1开0关)1数据通道1自动应答(1开0关)0数据通道0自动应答(1开0关)寄存器 0x027不用6 不用5 接收通道5允许(1开,0关)4 接收通道4允许(1开,0关)3 接收通道3允许(1开,0关)2 接收通道2允许(1开,0关)1 接收通道1允许(1开,0关)0 接收通道0允许(1开,0关)寄存器 0x0376543210RX / TX地址字段宽度(00:无效01:3字节10:4字节11:5字节)寄存器 0x047654自动重发延时0000:250微秒 0001:500微秒。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7-2
數位邏輯設計 第7章 暫存器與計數器
7-3
數位邏輯設計 第7章 暫存器與計數器
7-4
數位邏輯設計 第7章 暫存器與計數器
7-5
數位邏輯設計 第7章 暫存器與計數器
7-6
數位邏輯設計 第7章 暫存器與計數器
導論(續)
7-7
• 計數器是特殊的暫存器
– 可以重覆產生預先決定的數字序列 – 設計用來記錄時脈脈波出現的次數與頻率除法
7.3 漣波計數器
7-27
7.3.1 7.3.2 7.3.3 7.3.4 7.3.5
基本電路 下數計數器 除以N的計數器 積體電路實作 漣波計數器的傳遞延遲
數位邏輯設計 第7章 暫存器與計數器 / 7.3 漣波計數器
非同步計數器導論
7-28
• 正反器時脈不同時動作
– 常只有最低位元正反器被時脈觸發 – 其餘正反器是由其他級的輸出觸發
右移順序 輸入
移位暫存器(續)
圖7.14 可控制移位暫存器
Q3
Q2
Q1
7-23
பைடு நூலகம்SHL 左移順序
輸入
Q3 D3
Q2 D2
Q1 D1
Q0 D0
CLK
數位邏輯設計 第7章 暫存器與計數器 / 7.2 暫存器
圖7.15 74194四位元雙向移位暫存器
D3 D2 D1D0
CLR S0 S1 R in L in
A B
CLK
S
Q 接下一級S
Q0
A
Q7
B
7491A
R
Q 接下一級R CLK
Q7
(a) 最低位元邏輯圖
(b)邏輯方塊圖
數位邏輯設計 第7章 暫存器與計數器 / 7.2 暫存器
移位暫存器(續)
7-20
圖7.12 74164八位元串列輸入並列輸出移位暫存器
數位邏輯設計 第7章 暫存器與計數器
圖7.13 74164串列輸入並列輸出時序圖
並列輸入
D3
D2
D1
D0
串列/並列
載入選擇
串列 SH/LD 輸入Din

列 輸
Q3 S3

Q3 R3
Q2 S2 Q2 R3
Q1 S1 Q1 R3
Q0 S0 Q0 R3
清除CLR
時脈CLK 時脈禁能 CLK INH
數位邏輯設計 第7章 暫存器與計數器 / 7.2 暫存器
圖7.7 74159並列存取移位暫存器
並列輸入
D3
D2
D1
D0
LO A D
串列輸出
PRE
Q3
D3
CLR
PRE Q2 D 2
CLR
PRE Q1 D1
CLR
PRE Q0 D0
CLR
D in 串列輸入
Q3
數位邏輯設計
Q2
Q1
Q0
CLK
並列輸出
第7章 暫存器與計數器 / 7.2 暫存器
移位暫存器(續)
7-14
圖7.6 可控制的並串列輸入移位暫存器
• 計數器結構
主要是由正反器與組合邏輯結構而成
• 計數器分類方式
依時脈的控制方式可分類為同步或非同步(漣波)
數位邏輯設計 第7章 暫存器與計數器 / 7.1 導論
7.2 暫存器
7-8
7.2.1 緩衝暫存器 7.2.2 移位暫存器
數位邏輯設計 第7章 暫存器與計數器 / 7.2 暫存器
7.2.1 緩衝暫存器
X3
X2
X1
X0
LOAD
Q3 D3
Q2 D2
Q1 D1
Q0 D0
CLK CLR
數位邏輯設計 第7章 暫存器與計數器 / 7.2 暫存器
7.2.2 移位暫存器
7-11
• 移位暫存器依輸入、輸出資料處理方式分為
(1) 串列輸入串列輸出(SISO)移位暫存器 (2) 串列輸入並列輸出(SIPO)移位暫存器 (3) 並列輸入串列輸出(PISO)移位暫存器 (4) 並列輸入並列輸出(PIPO)移位暫存器。
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
串列移位
串列移位

並列

載入
移位暫存器(續)
7-17
圖7.9 74165並列載入移位暫存器
數位邏輯設計 第7章 暫存器與計數器
圖7.10 74165並列載入移位暫存器的時序圖
移位暫存器(續)
7-19
圖7.11 7491A 8位元串列輸入串列輸出移位暫存器
D3 D2 D1 D0
J K S H /L D C LR C LK
74195
Q3 Q2 Q1 Q0
/ 7.2 暫存器
圖7.8 74195並列存取移位暫存器的時序圖
CLK
1
2
3
4
5
6
7
8
9
10
11
12
CLR
0

J



K
S H /LD
D0
並 列
D1
輸 入
D2
D3
Q0


Q1
輸 出
Q2
Q3
0
0
1
0
0
0
Q2
J2
Q2 K2
Q1
J1
Q1
K1
Q0
J0
Q0 K0
(a) 邏輯電路圖
7-29
高電壓 CLK CLR
數位邏輯設計 第7章 暫存器與計數器 / 7.3 漣波計數器
CLK
74194
Q3 Q2 Q1 Q0
圖7.16 74194四位元雙向移位暫存器時序圖
74299八位元雙向移位暫存器7-26
L in
CLR
CLK S1 S0 G2 G1 R in
74299
QH HQH GQG FQF EQE DQD
CQC BQB AQA QA
數位邏輯設計 第7章 暫存器與計數器 / 7.2 暫存器
7-9
圖7.2 緩衝暫存器
X3
X2
X1
X0
PRE
Q3
D3
Q2
D2
Q1 D1
Q0 D0
CLK CLR
* X位元是預設正反器的輸入 在時脈上緣時儲存 Q=X (Q3Q2Q1Q0=X3X2X1X0)
數位邏輯設計 第7章 暫存器與計數器 / 7.2 暫存器
可控制的緩衝暫存器 7-10
圖7.3 可控制的緩衝暫存器
移位暫存器(續)
7-22
• 移位暫存器由串接的正反器組成
– 各級正反器輸出接到下一級正反器的輸入 – 所有正反器都接到共同的時脈
• 移位暫存器依資料傳送的方向分為
(1) 左移暫存器 (圖7.4 ) (2) 右移暫存器 (3) 可控制移位暫存器
數位邏輯設計 第7章 暫存器與計數器 / 7.2 暫存器
數位邏輯設計 第7章 暫存器與計數器 / 7.2 暫存器
移位暫存器(續)
7-12
圖7.4 SISO與SIPO移位暫存器
並列輸出
Q3
Q2
Q1
Q0
串列輸出
Q3 D3
Q2 D2
Q1
D1
串列輸入
Q0 D0
Din
CLK
數位邏輯設計 第7章 暫存器與計數器 / 7.2 暫存器
移位暫存器(續)
7-13
圖7.5 PISO與PIPO移位暫存器
• 常稱為漣波計數器(Ripple Counter)
– 指定級的觸發脈波必須由計數器前一級(較小的 位元)的波動而來
– 非同步計數器的操作比同步計數器慢 – 非同步計數器的控制電路經常較簡單
數位邏輯設計 第7章 暫存器與計數器 / 7.3 漣波計數器
7.3.1 基本電路
圖7.17 漣波計數器
Q3 J3 Q3 K3
相关文档
最新文档