实验9 串口通信

上传人:枫** 文档编号:508969816 上传时间:2023-03-08 格式:DOCX 页数:4 大小:40.12KB
返回 下载 相关 举报
实验9 串口通信_第1页
第1页 / 共4页
实验9 串口通信_第2页
第2页 / 共4页
实验9 串口通信_第3页
第3页 / 共4页
实验9 串口通信_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《实验9 串口通信》由会员分享,可在线阅读,更多相关《实验9 串口通信(4页珍藏版)》请在金锄头文库上搜索。

1、实验9串口通信一、实验目的1、掌握串口通信的线路连接方式;2、掌握串口通信的编程方法。二、实验内容直接用短线交叉连接两个单片机的P3.0和P3.1 口,在单片机A上编写按键计数 程序,当扫描到有键被按下时,记录按键次数,并通过串口发送给单片机B;在 单片机B上编写led控制程序,当单片机B收到单片机A发送来的按键次数后, 若按键次数为奇数,led灯点亮,若按键次数为偶数,led灯熄灭。三、实验方法和手段多媒体教学、演示、讲练结合、软件仿真四、实验条件实验指导书、计算机、Proteus软件、Keil C51软件五、实验学时2学时六、实验步骤1、Proteus设计电路原理图(1)按照图14-1,在

2、Proteus软件中绘制好电路原理图。R21k :T=-Eiza C5HH ioufR1C1卄22PFrrn| X1C21922PFD1C32202930iLED-YELLQi=:TEXT -J56;TAL1P0.0/AD0P0.1/AD1LP0.2/AD2XTAL2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6RSTP0.7/AD7P2.0/A8P2.1/A9P2.2/A10FSENP2.3/A11ALEP2.4/A12EAP2.5/A13P2.6/A14P2.7/A15P1.0P3.0/RXDF1.1P3.inXDPI.2P3.2/INT0PI.3P3.3/INT1PI.

3、4P3.4JT0F1.5P3.5mF1.6P3.6/WRPI.7P3.7/RDAT89C51uTEXTn3938373635n3332212223n252627283938373635343332212223242526272811121213131414151516161717101U -P0.0/AD0XTAL1 P0.1/AD1P0.2/AD2P0.3/AD3XTAL2P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8RSTP2.1/A9P2.2/A10P2.3/A11 P2.4/A12FSENALEEArz.OJrt I JP2.6/A14P2.7/A15P

4、3.0/RXDF1.0P3.1)TKDP1.1P1.2r J.zJIN 1 UP3.3/INT1P1.3P3.4JTUPI .4P3.5JT1F1.5P3.6M/R-F1.6P1.7r J. f JriUAT89C51:729301237H7I1922PF|1 oYSTAL18R3 22PFI 1kC6 eHH 10uf:7图14-1电路原理图说明:单片机A的P2.0 口接按钮开关;单片机B的P1.0 口接led灯阴极,led 灯阳极接电源。两块单片机的RXD和TXD交叉相连。(2)电路原理图中所需要的元件见表14-1。表14-1元件列表元件名称型号数量Proteus中的名称单片机芯片AT89

5、C512个AT89C51晶振12MHz2个CRYSTAL电容22PF4个CAP电解电容10uF/16V2个CAP-ELEC电阻220Q/1K1/2个RES发光二极管1个LED-YELLOW按钮开关1个BUTTON2、编程控制在Keil软件中进行程序编制,完成目标:在单片机A上编写按键计数程序, 当扫描到有键被按下时,记录按键次数,并通过串口发送给单片机B;在单片机 B上编写led控制程序,当单片机B收到单片机A发送来的按键次数后,若按键 次数为奇数,led灯点亮,若按键次数为偶数,led灯熄灭。将下面的参考程序补充完整,也可自行编写新程序。参考程序代码如下:(1)发送方程序:#inelude

6、#include #define uchar unsigned char#define uint unsigned intsbit flag=P2/K0; /定义按键端口/延时程序(延时区觸)void delay_ms(uint x)uint j;for(i=0;ix;i+)for(j=0;j120;j+);void main()uchar count=0; /按键计数初值为0SCON=0x40; /串口工作方我1TMOD=0x20; /T1定时工祚方式2TLl=0xf4;THl=0xf4;/定时器初值TR1=1;/启动 T1P2=0xff;/P2 口赋初值while(1)if (flag=O

7、) /按键按下delay_ms (10) ; / / 延时消抖if (flag=0) /按键焉实按下 count+; /按键次数加1 SBUF=count;/发送按键次数到发送缓冲区 while ( ! TI) ;/等待发疾完毕 TI=0;/清发送标志位(2)接收方程序:#include #define uchar unsigned charvoid main()uchar temp; /定义临时变量SCON=0x40; /串口工作方我1TMOD=0x20; /T1定时工祚方式2TLl=0xf4;THl=0xf4;/定时器初值TR1=1;/启动定时器T1REN=1;/允许接收数据Pl=0xff ;/LED 灯赋初值while(1)while ( !RI) ;/等待接收完毕RI=0;/接收中断清0temp=SBUF;/提取接收到的数据if (temp%2=0) Pl=0xff; / /偶数,丄ed灯熄灭 else Pl=0x00; /奇数,ledT点亮3、仿真调试将生成的HEX文件加载到Proteus中,进行软件仿真,查看效果。七、思考题如果将实验需求发生变化:在一块板子上编写矩阵键盘扫描程序,当扫描到 有键被按下时,将键值通过串口发送出去,另一块板上单片机收到串口发送来的 键值后,将对应键值以0-F方式显示在数码管上。需要如何更改实验原理图和控制程序?

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号