智能仪器设计课程报告.docx

上传人:lao****ou 文档编号:906818 上传时间:2024-07-22 格式:DOCX 页数:33 大小:328.61KB
下载 相关 举报
智能仪器设计课程报告.docx_第1页
第1页 / 共33页
智能仪器设计课程报告.docx_第2页
第2页 / 共33页
智能仪器设计课程报告.docx_第3页
第3页 / 共33页
智能仪器设计课程报告.docx_第4页
第4页 / 共33页
智能仪器设计课程报告.docx_第5页
第5页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《智能仪器设计课程报告.docx》由会员分享,可在线阅读,更多相关《智能仪器设计课程报告.docx(33页珍藏版)》请在第一文库网上搜索。

1、智能仪器设计课程设计汇报采用RS485原则的主从式多机系统设计学生姓名:王*学号:班级:任课教师:*绩:1、设计规定a)系统基本构造:1个51系列单片机主机、2个51系列单片机从机(从机1和从机2)、采用RS485构成主从式多机系统;b)系统基本功能:在主机键盘上按“1”键,从机1/、J1ED数码显示屏上显示“1”,此后从机1键盘上每按下1个数字键,主机1ED数码显示屏上能显示对应的数字,当从机1键盘上按下“0”键时,本次通信结束,从机1键盘上再按下任意数字键,主机不显示对应数字;在主机键盘上按“2”,从机2BJ1ED数码显示屏上显示“2”,此后从机2键盘上每按下1个数字键,主机1ED数码显示

2、屏上能显示对应的数字,当从机2键盘上按下“0”键时,本次通信结束,从机2键盘上按下任意数字键后,主机不显示对应数字;c)选做:从机1和从机2可设计成有关物理量日勺测量系统,当主机呼喊从机时,从机能把最新的测量值发给主机。2、方案论证(I)系统构成:由三个51单片机构成主从通信系统(本组使用日勺芯片型号是STC89C52,其功能是一致的),每个单片机搭配1ED数码管显示屏和键盘;通信采用RS-485原则,可使用MAX485芯片作为通信收发器,单片机控制MAX485的使能端进行发送和接受逻辑控制;单主机多从机的通讯系统需要辨别地址信息和数据信息,可运用51串口模式中的模式2进行通信,修改主机的SC

3、ON.3状态表明主机发送的与否是地址信息,修改某台从机的SM2状态来建立和主机时唯一通信;数据输入使用键盘输入,数据显示可简朴B使用数码管显示。图1系统构造图(2)串口模式分析:51单片机串口的2/3模式下是作为11位异步通信用,8位数据位后B第九位是可编程位SCON.3,主机可以对此位进行0或1赋值,进行地址信息和数据信息的辨别,一般赋为1表达地址信息,为0表达数据信息;51单片机B串行口控制寄存器SCON的SM2位是专门用来使通信接口具有识别功能的J多机控制位,在串行口以方式2/3接受时,若SM2=1,此时出现两种状况:第一,接受到的第九位为1(单片机接受时可编程位进入SCON.2),则前

4、8位数据装入SBUF,并置R1为1产生中断标志;第二,接受到的第九位为0,则不产生中断标志,接受信息被弃。若SM2=0,则接受到B第九位无论为0还是1,R1均为1,产生中断标志,接受到的前8位数据装入SBUF。因此多机通信可按下述过程进行:参与通信时所有从机的SM2位置1,即从机处在只接受地址帧时状态;主机发送一帧地址信息,包括8位地址及第九位地址/数据标志位(该位应为1,表达该帧信息的前8位为地址);由于从机0SM2位己置1,故主机发送B地址信息被所有从机收到,各从机鉴别接受到0地址信息与否与本机地址相似(每个从机已规定其对应B地址)。对于接受到的地址与本机地址相符的从机,通过程序将其SM2

5、置为0,这样主机之后发送0其他数据信息将被选中0从机接受到,主机与所选0从机之间通信,主机可向从机发送命令数据或从机向主机发送有关0测量成果等。由于未选中的从机的SM2仍为1,故未选中的从机将不理会主机与选中从机之间传送的数据信息(由于这些信息的第九位均为0),直到主机发送新的地址帧为止。MAX485芯片的使用:MAX485是MAXIM企业推出的专门用于RS-485原则通信时接图2MAX485工作电路口芯片,它是半双工工作的收发器,其经典工作电路如图2所示:RO丽DEDT其中管脚RE、DE是收发器B控制脚,根据MAX485B逻辑功能表,RE、DE都置为高电平,则发送器可工作,接受器不工作;RE

6、.DE都置为低电平,则接受器可工作,发送器不工作(发送器和接受器无法同步工作),因此可用单片机1io口使能而、DE来实现半双工通信。51与MAX485的接口示意图如下:图3单片机与MAX485连接示意图(3)键盘设计:根据题意,主机由于只需使用到两个按键,因此主机的按键可使用独立式按键方式,即两个按键接入单片机B两个i。口,通过判断高下电平判断哪个键被按下;从机则需要使用矩阵式键盘,本组使用4X4的矩阵式键盘,并用线反转法进行键值扫描。(4)显示单元:由于需要显示日勺信息比较简朴,因此可以简朴日勺使用1ED数码管来显示,本组使用的单片机开发板上集成了4个数码管,共用一种译码器,可以通过循环点亮

7、的J方式显示多种数字。3、硬件设计主机和从机通过MX485连接日勺电气图:HOSTP1IVT2P1JT2DCf2f3F1.1F1JP1J5P11PJMXDR3.1D(OP3JXiE1嗝Tr“WP3MW,3JMIr箜W-L-泉一主主M01ga0%M0黑*金黑驿段sas7 Wwwwmwww ,,2町“|2”2墓z=zJe-IB1 9-id2LJ1-2-id圭d”口利XQ,3VTXOH21iD-naarWTONAX486图4主机和从机通过MAX485连接的电气图主机和按键、数码管的连接图从机和键盘、A789数码管的I连接图图5主机和按键、数码管的连接图图6从机和键盘、数码管的连接图4、软件设计Ied

8、数码管显示子程序:单片机开发板上的1ED数码管是共阳极连接方式,数码管的a-h脚分别连到PO.0-P0.7,四个1EDB控制角分别接到P2.0-P2.3;在数码管上需要显示的数字或字符的共阳极代码如下:显不内容共阳极代码显不内容共阳极代码显不内容共阳极代码显ZrC内容共阳极代码显ZK内容共阳极代码0COH3BOH682H96FHdA1H1F9H499H7F8HE79H24H592H880HNC8H程序代码:#defineucharunsignedcharsbitP2_0=P20;用来点亮数码管1sbitP2_1=P21;用来点亮数码管2sbitP2_2=P22用来点亮数码管3sbitP2_3=

9、P23;用来点亮数码管4ucharcodetab1et=0xc0,Oxf9,0xa4,OxbO,0x99,0x92,0x82,0xf8,0x80,0x90;液晶查询表voiddisp1ay_1(unsignedintnumber);voiddisp1ay2(unsignedintnumber);voiddisp1ay_3(unsignedintnumber);voiddisp1ay_4(unsignedintnumber);/*函数名:voiddisp1ay_1参数:(unsignedintnumber)作用:根据输入数字点亮显示数码管1*/voiddisp1ay_1(unsignedintn

10、umber)P0=tab1enumber;P2_0=0;)/*函数名:voiddisp1ay_2参数:(unsignedintnumber)作用:根据输入的数字点亮显示数码管2*/voiddisp1ay_2(unsignedintnumber)P0=tab1cnumber;P2_1=0;*函数名:voiddisp1ay_3参数:(unsignedintnumber)作用:根据输入的数字点亮显示数码管3*/voiddisp1ay_3(unsignedintnumber)P0-tab1enumber;P2_2=0;)/*函数名:voiddisp1ay_4参数:(unsignedintnumber)

11、作用:根据输入数字点亮显示数码管4*/voiddisp1ay_4(unsignedintnumber)P0-tab1enumber;P2_3=0;)键盘扫描子程序使用线反转法扫描键盘,矩阵键盘日勺1-4行接入P1.7-P1.4,1-4列接入P1.3-P1.0,同步P1.3-P10接上拉电阻,线反转法的环节:1、将列线作为输出线,行线作为输入线,置输出线所有为0,此时行线中呈低电平O0为按键所在行,假如所有都不是0,则没有按键按下;2、将第一步反过来,即将行线作为输出线,列线作为输入线,置输出线所有为0,此时列线中呈低电平OI内为按键所在列,至此便确定了按键日勺位置,可根据行列参数查询实现写好B

12、键值表,获取键值。线反转法扫键流程图:图7键盘子程序流程图扫描键盘子程序代码:ttinc1udeinthang;定义行号int1ie;定义列号unsignedintKey_Va1=1;保留键值unsignedintkeymap=1,2,3,0,4,5,6,0,7,8,9,0,0,0,0,0;设置键盘逻辑键值intKeySCan();扫键子函数voidDe1ayO;/延时/*key.Va1对应键值列:p13p12p11Ep1OIIIJ行:p17-KD2(2)3(3)4(A)p165(4)6(5)7(6)8(B)p15-9(7)10(8)11(9)12(C)p14-*13(*)14(0)15(#)16(D)*/voidDe1ay()延时子函数1ongi;for(i=1000;i0;i);intKeySCan()扫键子函数(P1=OXF0;列输出全0;if(P1MxFO)!=OXFO)扫描行,假如不全为0,则进入(SWitCh(P1)获得行号(case0x70:hang=1;break;caseOxBO:hang=2;break;caseOxDO:hang=3;break;caseOxEO:hang=4;break;defau1t:break;DeIay();延时去抖动P1=OXOF;行输出全Oif(P1&OxOF)!=OXOF)扫描列,假如不全为0,则确认按键

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 工作总结

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服