历史上的今天
今天是:2025年04月01日(星期二)
2021年04月01日 | 51单片机串-并转换实验
2021-04-01 来源:eefocus
一.实验要求
利用8031串行口,和并行输出串行移位寄存器74LS164,扩展一位数码显示在数码显示器上循环显示0-9这10个数字。
二.实验目的
1.掌握8031串行口方式0工作方式及编程方法。
2.掌握利用串行口扩展I/O通道的方法。
三.实验电路及连线

RXD接DATAIN,TXD接DCLK。
四.实验说明
串行口工作在方式0时,可通过外接移位寄存器实现串并行转换。在这种方式下,数据为8位,只能从RXD端输入输出,TXD端总是输出移位同步时钟信号,其波特率固定为晶振频率1/12。由软件置位串行控制寄存器(SCON)的REN后才能启动串行接收,在CPU将数据写入SBUF寄存器后,立即启动发送。待8位数据输完后,硬件将SCON寄存器的TI位置1,TI必须由软件清零。
五.实验程序框图

六.实验程序
TIMER EQU 01H
ORG 0000H
AJMP START
ORG 000BH ;T0 中断程序入口地址
AJMP INT_T0
ORG 0040H
START:
MOV SP,#60H
MOV TMOD,#01H ;T0 方式 1
MOV TL0,#00H ;延时 50mS 的常数
MOV TH0,#4BH
MOV R0,#0H
MOV TIMER,#20
MOV SCON,#00H ;置串口工作方式 0
CLR TI
CLR RI
SETB TR0 ;开中断
SETB ET0
SETB EA
SJMP $
INT_T0: ;T0 中断子程序
PUSH ACC ;保护现场
PUSH PSW
CLR EA ;关中断
CLR TR0
MOV TL0,#00H ;延时 50mS 的常数
MOV TH0,#4BH
SETB TR0
DJNZ TIMER,EXIT
MOV TIMER,#20 ;延时一秒的常数
MOV DPTR,#DATA ;置表格基址
MOV A,R0 ;置表格偏移量
MOVC A,@A+DPTR ;读表格数据
CLR TI
MOV SBUF,A ;串行发送数据
INC R0
CJNE R0,#0AH,EXIT ;判断是否到表尾
MOV R0,#00H ;调整表格偏移量
EXIT: SETB EA ;开中断
POP PSW
POP ACC ;恢复现场
RETI
;数码管显示常数表
DATA: DB 03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,09H
;0 1 2 3 4 5 6 7 8 9
END
史海拾趣
|
S3C2440 WINCE 5.0上SD接口的WIFI驱动移植上去了,可以检测到网卡,但是搜不到网络 好不容易才把WIFI驱动移植进去,但是现在搜不到网络,但是用笔记本可以一下子搜到很多。 我的WIFI是接外置天线的,就是把一根比较长的天线焊在上面,我不知接之后是否还要考虑信号问题。 用的WIFI型号叫GM9601,是基于MARVELL 8686的。它的数据手 ...… 查看全部问答> |
|
listview (ownerdraw)中背景图片怎么能不平铺? 我这边设置的背景图片,再拉动滚动条的时候,背景也滚动的,背景图片是平铺的? 有没有办法不平铺,改成固定背景? 谢谢。… 查看全部问答> |
|
序列检测器的逻辑功能描述:10010 的序列检码器,状态转移图如下图所示: 我我有一点不明白, 在状态B的情况下要是输入1的话,直接进入A状态不行么?G状态下如果输入1的话也可以直接进入A状态啊,我就是这样做 ...… 查看全部问答> |
|
最近折腾 matlab 和c28通讯,程序下进DSP后一直出现跑飞的现象。 经过N次的折腾,终于在装了另一个版本的ccs3.3后成功了。 不知有大侠也碰到过这样的问题不。 .matlab 和ccs 是否有安装先后的问题。我实在是懒得再去试了,已经试的吐血了,装了 ...… 查看全部问答> |




