位置:51电子网 » 技术资料 » 测试测量

51单片机串-并转换实验

发布时间:2008/5/27 0:00:00 访问次数:891

        

    

    

    一.实验要求

    利用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

    

    

        

    

    

    一.实验要求

    利用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

    

    

相关IC型号

热门点击

 

推荐技术资料

音频变压器DIY
    笔者在本刊今年第六期上着重介绍了“四夹三”音频变压器的... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!