


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、专业方向课程设计报告题目:单片机双机之间的串行通信设计 单片机双机之间的串行通信设计 一设计要求:两片单片机利用串行口进行串行通信:串行通信的波特 率可从键盘进行设定,可选的波特率为1200、 2400、 4800和 9600bit/s 。二、方案论证:方案一:以两片 51 单片机作为通信部件,以 4*4 矩阵 键盘作为数据输入接口,通过 16 个不同键值输入不同的信 息,按照 51 单片机的方式 3 进行串口通信,从机采用中断 方式接收信息并按照通信协议改变波特率或者用 I/O 口输 出、CD4511译码、数码管显示相关数据,整个系统的软件部 分采用 C 语言编写。方案二:整个系统的硬件设计
2、与方案一样,但是通信方 式采用方式一进行通信,主从机之间的访问采用查询方式, 数据输出直接由单片机的译码程序输出译码数据,同时软件 编写采用汇编语言。 两种方式从设计上来说各有特色,而且两种方式都应该是可 行的。方案一中按照方式三通信可以输出九位数据而方式一 只能输出八位数据,但就本题的要求来说方式一就可以了。 主从机之间的交流采用中断方式是一种高效且保护单片机的选择,但是相比之下本人对查询万式的理解更好一些。数 码管的显示若采用 CD4511译码则直接输出数据就可以了, 但是这样会增加硬件陈本,而且单片机的资源大部分都还闲 置着,所以直接编写一段译码程序是比较好的做法。另外在 软件编写上,采
3、用C语言在后续设计中对硬件的考虑稍少一 些,换言之采用汇编可以使自己对整个通信过程及单片机的 部分结构有更清晰地认识所以综合考虑采用方案二。三、理论设计:采用AltiumDesigner 绘制的原理图(整图)本系统主要包括五个基本模块:单片机最小系统(包括 晶振电路、电源、复位电路及相关设置电路)、4*4矩阵键盘、 功能控制电路、数据显示电路、波特率更改指示电路。本设计的基本思路是通过控制口选择将要实现的功能, 然后矩阵键盘输入数据, 单片机对数据进行处理 (加校验码、 设置功能标志位),然后与从机握手,一切就绪之后后就开 始发送数据,然后从机对接收数据校验,回发校验结果,主 机根据校验结果进
4、行下一步动作,或者重发,或者进入下一 数据的发送过程,然后按照此过程不段循环,直到结束。单片机最小系统:接上电源和地, 晶振电路提供脉冲,加上复位电路,将 EA接入高电电平选择片内程序存储器。肝汙 rxxRw PHiTKP FJaOHTOi P-IMilTl r>*r*>这是一个单片机能够工作的最低设置PI. hi e口Pt*n;n'XTirrx*数据显示模块:译码程序将获得的数据译成可直接显示的段码输到p2口,用数码管显示。为防止单片机的带 负载能力不足,本设计中加了上拉电阻 使数码管显示更清晰。»*iin FD LPD3ros rn+PHSrn*F5TEA戶就
5、甘P3TE"1J 刊斗P1L 陀口4-n'ZU'-r 宜 上0.* T-fc R 2 -( mtu4*4矩阵键盘:将矩阵键盘接入pl 口通过按键扫描程序读写 P1 口从而 判断有无安键按下,通过查键值程序 确定其键值从而得到输入数据。这是整个系统的输入接口。功能控制电路:控制键(图中为K3)被按下时pO.O为低电平,否则为 高电平,这样就可以根据读入的 p0.0 的电平差别控制通信系统的功能。高 电平时让从机显示接收到的数据,低电平从机更改波特率U!:JIQ波特率更改指示电路:在从机更改波特率之后同时给 P1 口写数是相应 指示灯亮,指示此时两机之间通信的 波特率为多
6、少。主机软件流程图开始从机软件流程图初始化,设置初始波特率及相应寄存器初始化,设置初始波特率及相应寄存器等待主机握手四、电路仿真及仿真结果分析:-HUM.bSee?%筑q 哼住亜丄i兰|孑号1筍 eTa ikLbrvry TmiDfcv yrfinn 卜lab*指示灯亮表明通 信系统此时以指 定波特率工作Fll控制键被按下Wi -fc. . .LJL 一严咅IFh-ljplr*l-» ;IFg *lto l>l>l>lznIA100 厂 H 控制键被按 下时,从机不 显示数据I "!"Knt 泗ihISi-M* H舲打H口下图是系统软件仿真的结果
7、,以下现象表明系统能正常工作 并实现预设结果。五、作品功能和使用说明:接上电源系 统开始工作,功 能件控制从机功 能,键盘输入数据,主机发送数据,从机接收数据。当控制键未被按下时, 从机显示接收到的数据;控制键被按下时从机不再显示数 据,只更改波特率,同时点亮相应的指示灯。指示灯会指示 当前工作的波特率,灯不亮时单片机以默认波特率工作。系统断电时结束通信六、心得体会:经过这几天的努力终于将设计完成了。整个过程虽然遇 到很多问题,但是确实感觉又学到了了不少东西。整个系统的设计很快就决定下来了,但是在软件编写完 之后进行软件仿真时,一直不能不能成功。然后一步步的查 错,从功能流程图开始,一步步检查
8、,理清系统的时序逻辑 关系。确保逻辑功能没问题后, 对软件进行调试,逐步调试、 设置相关寄存器、查看相应的io 口,然后发现这里也没什 么问题。于是直接在程序中设置标志位,观察程序的运行情况。后来发现问题主要出现在两个地方:一是软件不能自动 返回,重复执行, 于是在程序中增加了循环语句和返回语句; 二是没有正确保存数据和取数据,主要体现在查键值后没有 保护数据及进行校验后没有进行重取原数据,这是两个非常 易错的问题。另外功能上单片机之间的“握手”和等待通讯 过程也是非常重要的。另外在硬件制作时也遇到了一些问题,主要是在制作PCB板时由于腐蚀过度导致出现了很多断路,以至调试时得 检查电路,同时对
9、整个系统的美观造成很大影响。不过,这次设计确实让我对通信过程有更深的理解。 七、参考文献1 李建忠. 单片机原理及应用(第二版 .西安电子科技大学出版社 )2 何小艇. 电子系统设计(第四版 .浙江大学出版社) 系统程序:/* 约定:主机发送呼叫信号 "0EH" ,咨询从机是否可以接受数据* 从机发送 "01H" 表示可以接受,否则发送 "02H" 表示暂时不能接受数据* 主机只有收到了应答信号 "01H" 才向从机发送数据,否则继续呼叫* 主机收到 "0FH" 表示发送正确,收到 "
10、F0H" 表示发送错误* 设置:串口工作于方式 1 ,定时器做波特率发生器工作于方式 2, SMOD=1,* 波特率为 1200 时计数初值为 D0, 2400-E8H, 4800-F4H, 9600-FAH* 两片单片机开始波特率设为 4800*通过按键进行功能选择,按下 P0.0=0 设置波特率 未按 P0.0=1 数据显示*/主机程序:*发送程序 *MAIN:LJMPMAINORG0030HMOVSP,#60HMOVTMOD, #20H; 置定时器 /计数器1 工作于方式 2 定时MOVTL1, #0F4H;置定时器 /计数器 1 初值,初始波特率为 4800MOVTH1, #
11、0F4H; 置重装值MOVPCON,#80H;SMOD=1MOVSCON,#50H;串行口工作于方式1SETBTR1首先进行查键子程序*BEGAIN: ACALL KEYMOV R1,AACALL HUJIAOAJMP BEGAIN按键扫描 *KEY:ACALL KS1JNZLK1AJMPKEYLK1:ACALL DELAYACALL KS1JNZCKEYAJMPKEYCKEY:MOVR2,#7FHMOVR4,#00HCKEY1:MOVP1,R2JBP1.0,LONEMOVA,#00HAJMPLPKLONE:JBP1.1,LTWOMOVA,#04HAJMPLPKLTWO:JBP1.2,LTHR
12、MOVA,#08HAJMPLPK;调用判断有无键按下子程序;有键按下( A )=0,;转到键值计算子程序LTHR:JBP1.3,NEXT0MOVA,#0CHLPK:ADDA,R4PUSHACCLK3:ACALL KS1JNZLK3ACALL DELAYPOPACCRETNEXT0:INCR4MOVA,R2JNBP1.3,KENDRRAMOVR2,AAJMPCKEY1KEND:AJMPKEYKS1:MOVP1,#0FHMOVA,P1CPLAANLA,#0FHRET然后呼叫从机 */MOVA,#0EHCPLP3.4MOVSBUF,AWAIT1:JBCTI,TXYESSJMPWAIT1TXYES:J
13、BCRI,NEXT1SJMPTXYESNEXT1:MOVA,SBUFCJNEA,#01H,HUJIAOPANDUAN:JBP0.0,XSHU示发送数据SHEZ:MOVA,R1HUJIAO: CALL DELAY; 等待发送完成;等待从机回答;判断从机是否同意,不同意则继续呼叫;功能键被按下,则发送数据设置波特率,否则只显MOVC,PMOVACC.7,CMOVSBUF,AWAIT2:JNBTI,WAIT2CLRTIWAITC1:JNBRI,WAITC1CLRRICPLP3.6MOVA,SBUFCJNEA,#0FH,SHEZMOVA,R1ANLA,#0FHCJNEA,#00H,L1MOVTL1,
14、#0D0H; 重设波特率为 1200MOVTH1, #0D0HLJMPFHL1:CJNEA,#01H,L2MOVTL1, #0E8H; 重设波特率为 2400MOVTH1, #0E8HLJMPFHL2:CJNEA,#02H,L3MOVTL1, #0F4H; 重设波特率为 4800MOVTH1, #0F4HLJMPFHL3:CJNEA,#03H,FHMOVTL1, #0FAH; 重设波特率为 9600MOVTH1, #0FAHLJMPFHXSHU:MOVA,R1;只显示数字时, A 的高位不处理直接发送MOVC,PMOVACC.7,CMOVSBUF,AWAIT3:JNB TI,WAIT3CLRT
15、IWAITC:JNBRI,WAITCCLRRIMOVA,SBUFCJNEA,#0FH,XSHUCLRP3.7FH:延时子程序 */RETDELAY:MOV R6,#0FFHLOOP1: DJNZ R6,LOOP1RETJS:END从机程序:ORG0000HLJMPMAINORG0030HMAIN:MOVSP,#60HRSTRT:MOVTMOD, #20H;置定时器 /计数器1 工作于方式 2 定时MOVTL1, #0F4H;置定时器 / 计数器1 初值,初始波特率为 4800MOVTH1, #0F4H; 置重装值MOVPCON,#80H;SMOD=1MOVSCON,#50H;串行口工作于方式1
16、SETBTR1JIESHOU:CLRTIJNBRI,JIESHOUCLRRIMOVA,SBUFCJNEA,#0EH,FA2FA1:MOVA,#01HMOVSBUF,A*接收程序 *CPL P3.7WAIT1:JBCSJMPTI,RXWAIT1FA2:MOVA,#02HMOVSBUF,AWAIT2:JBCTI,JIESHOUSJMPWAIT2RX:CLRTIJNBRI,RXCLRRIMOVA,SBUFMOVC,PMOVR1,AJCFAF0FA0F:MOVA,#0FHMOVSBUF,AWAIT3:JNBTI,W AIT3CLRTISJMPCHULIFAF0:MOVA,#0F0HMOVSBUF,AW
17、AIT4:JNBTI,W AIT4CLRTILJMPRXCHULI:MOVA,R1JB ACC.5,SHEZXIANS:ANL A,#0FHLCALL DISPLAY;ACC.5=1 显示 ACC.5=0 设置波特率LJMPSHEZ:MOVANLCJNEMOVMOVJSP2,#00HA,#0FHA,#00H,L1TL1, #0D0HTH1, #0D0H; 重设波特率为 1200MOVLJMPP1,#0FEHJS;CLR P1.0L1:CJNEA,#01H,L2MOVTL1, #0E8H;重设波特率为2400MOVTH1, #0E8HMOVP1,#0FDH;CLR P1.1LJMPJSL2:CJ
18、NEA,#02H,L3MOVTL1, #0F4H;重设波特率为4800MOVTH1, #0F4HMOVP1,#0FBH;CLR P1.2LJMPJSL3:CJNEA,#03H,JIEMOVTL1, #0FAH;重设波特率为9600MOVTH1, #0FAHMOVP1,#0F7H;CLR P1.3JIE:LJMPJS/*延时子程序 */DELAY:MOVR6,#03FHLOOP1:DJNZR6,LOOP1RET/*译码程序 */DISPLAY:CJNEA,#00H,LT1MOVA,#00111111B;0SJMPLASTLT1:CJNEA,#01H,LT2MOVA,#00000110B;1SJMPLASTLT2:CJNEA,#02H,LT3MOVA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业雇佣保姆合同范本
- 2025年度理发店加盟连锁入股合作协议书
- 二零二五年度木材加工厂与林权所有者合作开发合同
- 2025年度物流运输担保合同
- 营业转让合同范本
- 2025至2030年中国盐矿成套设备数据监测研究报告
- 2025至2030年中国皮地膜数据监测研究报告
- 科技与艺术的完美结合-现代建筑雕塑设计
- 科技创新与知识产权管理的关系探讨
- 科技助力智能设备在糖尿病睡眠管理中的应用
- 《对折剪纸》课件
- 《魔方知识普及》课件
- 东芝授权委托书标准版
- 2023施工项目部标准化工作手册
- 中小学幼儿园中班下册点点回家公开课教案教学设计课件案例测试练习卷题
- SG-400140型火电厂锅炉中硫烟煤烟气喷雾干燥法脱硫+袋式除尘系统设计
- 中型轿车的盘式制动器的设计
- 低血糖急救护理课件
- 学做小小按摩师(课件)全国通用三年级上册综合实践活动
- 阴道镜检查临床医学知识及操作方法讲解培训PPT
- “教学评一体化”指导的语文教学设计以统编版语文四年级上册《蟋蟀的住宅》为例
评论
0/150
提交评论