C51移位寄存器.ppt

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
80C51串行方式0归一化子程序: ⑴ 单字节串行输出子程序 ⑵ 单字节串行输入子程序 ⑶ 多字节串行输出子程序 ⑷ 多字节串行输入子程序
三、80C51 I/O虚拟串行接口
利用80C51通用I/O口虚拟移位寄存器工作方式实 现串行扩展,只需用任一通用I/O口代替RXD和TXD,设 为VRXD和VTXD。
EA WORK 1000H TH0,#0D8H TL0,#0F0H Acc PSW VUARTI 2FH,A PSW Acc
;复位地址 ;转初始化程序 ;T0中断入口地址 ;转T0中断服务子程序 ;P1.0虚拟RXD ;P1.1虚拟TXD ;P1.2虚拟PIOX2 ;初始化程序首地址 ;置T0定时器方式1 ;置T0定时初值10ms ; ;启动T0 ;T0开中 ;CPU开中 ;转主程序并等待T0中断 ;T0中断服务子程序首地址 ;重置T0定时初值10ms ; ;保护现场 ; ;调用虚拟串行输入子程序 ;存键K0~K7状态数据 ;恢复现场 ; ;
【例8-1】电路如图8-5所示,fosc = 12MHz,要求 发光二极管从左向右依次点亮,点亮时间为1秒,不 断循环。设串行方式0归一化子程序已存在ROM中。
解:
WORK: LOOP:
PIOX1 MOV CLR LCALL LCALL RR SJMP
BIT P1.0 A,#10000000B PIOX1 UART0 DLY1s A LOOP
§8-2 80C51移位寄存器 串行扩展技术
一、移位寄存器串行扩展方式
80C51串行方式0时,串行口作为 同步移位寄存器使用。TXD端(P3.1) 发出移位脉冲,频率为fosc/12,RXD 端(P3.0)输入输出数据。
1、80C51扩展并行输出口
74LS164为串入并出移位寄存器,其中A、B为串行数据输入 端,QA、QB、…、QH为并行数据输出端(QA为高位),CLK为同 步时钟输入端,CLR为输出清0端。若不需将输出数据清0,则 CLR端接Vcc。
解: ORG LJMP ORG LJMP VRXD VTXD PIOX2 ORG
STAT: MOV MOV MOV SETB SETB SETB LJMP ORG
IT0: MOV MOV PUSH PUSH
INPUT: LCALL MOV POP POP RETI
0000H STAT 000BH IT0 BIT P1.0 BIT P1.1 BIT P1.2 0100H TMOD,#01H TH0,#0D8H TL0,#0F0H TR0 ET0
;定义PIOX1 ;置D7灯亮,其余暗 ;74LS164输出全0,灯全暗 ;调用单字节串行输出子程序 ;调用延时1秒子程序(略) ;右移 ;
【例8-2】 电路如图8-6所示,fosc=12MHz,要求每 隔10ms,检测键K0~K7状态,并存入内RAM 2FH。设 虚拟串行接口归一化子程序已存在ROM中。
80C51虚拟串行I/O口归一化子程序: ⑴ 单字节虚拟串行输出子程序 ⑵ 单字节虚拟串行输入子程序 ⑶ 多字节虚拟串行输出子程序 ⑷ 多字节虚拟串行输入子程序
四、移位寄存器串行扩展应用
80C51移位寄存器串行扩展应用,只需根据 标准化的电路形式连接,设置好入口条件,然后 调用串行方式0归一化子程序或虚拟串行接口归 一化子程序,即可完成扩展应用。
2、80C51扩展并行输入口
74LS165为并入串出移位寄存器,A、B、…、H为并行输入端 (A为高位),QH为串行数据输出端,SER为串行数据输入端, CLK为同步时钟输入端,S/L为预置控制端。S/L=0时,锁存并行 输入数据S/L=1时,可进行串行移位操作。
二、串行方式0归一化子程序
所谓归一化子程序,即通用或标准化操作子程序, 将80C51串行方式0所有应用操作归纳成几个基本的输入 输出子程序,并使这些标准子程序具有规范的入口条件 和出口状态。应用时,只要设置相应的入口和出口,调 用归一化子程序,就能达到串行输入输出的目的。
相关文档
最新文档