串口控制LED闪烁实验.doc

串口控制LED闪烁实验.doc

ID:55633276

大小:46.50 KB

页数:4页

时间:2020-05-21

串口控制LED闪烁实验.doc_第1页
串口控制LED闪烁实验.doc_第2页
串口控制LED闪烁实验.doc_第3页
串口控制LED闪烁实验.doc_第4页
资源描述:

《串口控制LED闪烁实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、串口控制LED闪烁实验一、实验目的、原理及方法实验进行两片单片机都工作于串口模式1,甲单片机的K1按键可通过串口分别控制乙单片机的LED1闪烁,LED2闪烁,LED1和LED2同时闪烁,或者关闭所有LED。完成以下控制:1、甲机发送“A”,控制乙机LED1闪烁;2、甲机发送“B”,控制乙机LED2闪烁;3、甲机发送“C”,控制乙机LED1,LED2同时闪烁;4、甲机停止发送任何命令字符,则乙机的两只LED均停止闪烁。串口初始化,设置产生波特率的定时器1,串口控制和中断控制,具体步骤如下:1、设置串口模式(SCON);2、设置定时器1的工作方式(TMOD);3、计算定时器1的初

2、值(TH1/TL1);4、启动定时器1(TR1);5、如果串口工作在中断方式,还必须设置IE允许ES中断。二、实验步聚及注意事项1、使用ProteusISIS7Professional应用程序,建立一个.DSN文件2、在“库”下拉菜单中,选中“拾取元件”(快捷键P),分别选择以下元件:AT89C51、CAP、CAP-POL、BUTTON、CONN-D9F、CONN-D9M、7SEG-COM-CAT-GRN、LED-GREEN、LED-YELLOW、MAX232、RES、RESPACK-8。3、构建仿真电路4、创建一个Keil应用程序:新建一个工程项目文件;为工程选择目标器件(

3、AT89C51);为工程项目创建源程序文件并输入程序代码;保存创建的源程序项目文件;把源程序文件添加到项目中。5、把用户程序经过编译后生成的HEX文件添加到仿真电路中的处理器中(编辑元件→文件路径)三、实验仪器电路一台ProteusISIS7Professional应用程序Keil应用程序四、数据记录及处理#include#defineucharunsignedchar#defineuintunsignedintsbitLED1=P1^0;sbitLED2=P1^3;sbitK1=P1^7;ucharOperation_No=0;//操作代码//数码管代码u

4、charcodeDSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//延时voidDelayMS(uintms){uchari;while(ms--)for(i=0;i<120;i++);}//向串口发送字符voidPutc_to_SerialPort(ucharc){SBUF=c;while(TI==0);TI=0;}//主程序voidmain(){LED1=LED2=1;P0=0x00;SCON=0x50;//串口模式1,允许接收TMOD=0x20;//T1工作模式2PCON=0x00;//波特率

5、不倍增TH1=0xfd;TL1=0xfd;TI=RI=0;TR1=1;IE=0x90;//允许串口中断while(1){DelayMS(100);if(K1==0)//按下K1时选择操作代码0,1,2,3{while(K1==0);Operation_No=(Operation_No+1)%4;switch(Operation_No)//根据操作代码发送A/B/C或停止发送{case0:Putc_to_SerialPort('X');LED1=LED2=1;break;case1:Putc_to_SerialPort('A');LED1=~LED1;LED2=1;break;

6、case2:Putc_to_SerialPort('B');LED2=~LED2;LED1=1;break;case3:Putc_to_SerialPort('C');LED1=~LED1;LED2=LED1;break;}}}}//甲机串口接收中断函数voidSerial_INT()interrupt4{if(RI){RI=0;if(SBUF>=0&&SBUF<=9)P0=DSY_CODE[SBUF];elseP0=0x00;}}五、结果分析(自行填写,如:功能是否实现;整个过程中存在哪些问题;如何解决的….)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。