实验四 串行通信实验

电信19-2 翁大弟

一、实验目的

  1. 熟练掌握Keil和Proteus软件的C51设计与仿真操作
  2. 锻炼算法设计能力
  3. 熟练掌握定时计数器、外部中断的编程设计
  4. 掌握串行通信编程方法

三、实验实现的功能说明

实现的功能:

  1. 使用主、从机进行传输数据,主机间隔1s向从机发送自己的信息,并将个人学号显示在数码管上。

(2)在主机中设置外部中断,边沿触发,只要点击外部中断0的按键,就会进入外部中断函数,将3.141590发送给从机,并显示在数码管上。

主机部分:

1设置延时函数和需要的学号和3.141590

 2初始化串口和设置串口发送函数

 

 3中断0初始化,并设置中断源是外部中断0的外部中断函数。只要按键P3.2按下就触发

 4、在main()中声明各个函数,包括:串口初始化和中断0初始化。

 

从机部分:

1、设置延时函数和对应的数值。

 2设置数码管显示程序和设置定时器1的工作方式,以及串口的工作方式。

 3、初始化串口中断,以及设置串行口中断函数

 4在main()中设置这些函数。

 

四、实验实现的原理及仿真电路设计

实验原理:

串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。

只需要在串口控制寄存器SCON和电源控制寄存器PCON来初始化串口。就可以设置串口发送函数,将数据发送到SBUF中。

从机初始化出口后,也可以设置串行口中断函数,从SBUF中得到数据,并进行下一步动作。比如:在数码管显示数据。

实验原理电路图:

 五、实验流程图:

 

六、实验主要功能代码

主机部分:

1设置延时函数和需要的学号和3.141590

 2初始化串口和设置串口发送函数

 3中断0初始化,并设置中断源是外部中断0的外部中断函数。只要按键P3.2按下就触发

 4、在main()中声明各个函数,包括:串口初始化和中断0初始化。

 

从机部分:

1、设置延时函数和对应的数值。

 2设置数码管显示程序和设置定时器1的工作方式,以及串口的工作方式。

 3、初始化串口中断,以及设置串行口中断函数

 4在main()中设置这些函数。

 

七、实验过程及实验情况

问题:

  1. 对于主机的串口通信不太熟悉,导致初始化串口时,多次配置错误。
  2. 对于本实验的数码管认识不多,使用方法不了解,导致遇到问题。

解决方法:

多次查阅资料并和同学共同探讨后,明白了初始化串口的方法,并成功发送数值至从机。

查阅资料后,发现可以用7seg-mpx8-ca,这中数码管8位共阳极数码显示管。7seg-mpx8-ca是共阳极数码管显示器,它左下侧的abcdefg dp是LED数码管显示器的I/O口,是段选信号,右下侧的12345678是它的位选信号,就是从左到右分别是第一位到第八位,段选信号与位选信号分别接到单片机的不同输出口,例如段选信号可以接到P0口,位选信号可以接到P2口

  • 6
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值