《通信原理》课程设计.doc_第1页
《通信原理》课程设计.doc_第2页
《通信原理》课程设计.doc_第3页
《通信原理》课程设计.doc_第4页
《通信原理》课程设计.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

应用科技学院应用科技学院 通信原理课程设计报告通信原理课程设计报告 设计题目:双机串行通信的应用设计题目:双机串行通信的应用 专业班级:专业班级: 姓名:姓名: 学号:学号: 指导老师:指导老师: 时间:时间:20142014 年年 6 6 月月 2525 日日20142014 年年 7 7 月月 1414 日日 地点:四教地点:四教 613613 实验室实验室 海南大学儋州校区应用科技学院 1 双机串行通信的应用双机串行通信的应用 摘要 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备 的智能化管理及过程控制等领域随着计算机技术的发展及工业自动化水平的提 高, 在许多场合采用单机控制已不能满足现场要求,因而必须采用多机控制的形 式,而多机控制主要通过多个单片机之间的串行通信实现。串行通信作为单片机 之间常用的通信方法之一, 由于其通信编程灵活、硬件简洁并遵循统一的标准, 因此其在工业控制领域得到了广泛的应用。 串行通信时单片机的一个重要运用,本次课程设计就是要利用单片机来完成 一个系统摘要,实现双片单片机串行通信。通信的结果使用数码管进行显示,数 码管采用查表方式显示。两个单片机之间采用 RS232 进行双机通信。在通信过 程中使用通信协议进行通信。 两片单片机之间进行串行通信,发送端将 0f 循环发送到接收端,并在收 端显示。本次设计,对于两片 STC89C52RC,采用 RS232 进行双机通信。发送方 的数据由串行口 TXD 段输出,经过电平转换芯片 MAX232 将 TTL 电平转换为 RS232 电平输出,经过传输线将信号传送到接收端。接收方也使用 MAX232 芯片 进行电平转换后,信号到达接收方串行口的接收端。 接收方接收后,在数码管上显示接受的信息。为提高抗干扰能力,还可以 在输入输出端加光耦合进行光电隔离。 串行通信是单片机的一个重要应用,本次课程设计就是要利用单片机来完 成一个系统,实现两个单片机之间的通信,通信的结果使用数码管进行显示。 关键字关键字 STC89C52RC 单片机 串行通信 接口 海南大学儋州校区应用科技学院 2 目录目录 一、基本原理一、基本原理3 3 1.1 串行通信 3 1.2 STC89C52RC 单片机的主要工作特性和参数4 1.3 STC89C52RC 引脚功能说明5 1.4 双机通信 9 二、二、 总体设计总体设计1010 2.1 设计目的 .10 2.2 设计要求 .10 2.3 设计方案 .10 三、三、 硬件设计硬件设计1111 3.1 STC89C52RC 单片机串行接口的结构.11 3.2 整体电路设计 .12 四、软件设计四、软件设计1313 4.1 串行通信软件实现 .13 4.2 主要程序 .15 五、联合调试五、联合调试2121 六、六、 测试结果测试结果2222 七、课设中的心得体会七、课设中的心得体会2222 参考文献参考文献2323 附录附录2424 海南大学儋州校区应用科技学院 3 一、基本原理一、基本原理 1.1 串行通信 计算机与外界的信息交换称为通信。在通信领域内,有两种数据通信方式: 并行通信和串行通信。随着计算机网络化和微机分级 分布式应用 系统的发 展,通信的功能越来越重要。通信是指计算机与外界的信息传输,既包括计 算机与计算机之间的传输,也包括计算机与 外部设备,如终端、打印机和 磁盘等设备之间的传输。 串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数 据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息, 特别适用于计算机与计算机、计算机与外设之间的远距离通信。 两个单片机之间进行通讯波特率的设定,最终归结到对定时计数器 T1 计数 初值 TH1、TL1 进行设定。故本题目本质上是通过键盘扫描得到设定的波特率, 从而载入相应的 T1 计数初值 TH1、TL1 实现的。示例程序中将 0xaa 从主机传输 到从机,并显示在从机的数码管上实现串口通讯的验证。 如串口通讯线路过长,可考虑采用 MAX232 进行电平转换,以延长传输距 离。值得注意的是,为了减少计算载入初值时的误差,本项目最好采取 11.0592MHz 的晶振。 我们设计以 AT89C51 单片机为核心,利用其内部的串行口,通过硬件与软 件相结合的方式,实现双机的全双工的串行通信。硬件电路包括键盘电路,显 示电路,单片机主控电路,串行通信线和电源电路。软件包括键盘扫描程序, 显示程序,发送程序和接受程序。发送和接收都采用中断方式。由于两个单片 机应用系统相距很近,近程通信时,可以不使用调制解调器,将它们的串行口 直接相连就可以实现全双工的串行通信。电路设计如图 1 所示。 海南大学儋州校区应用科技学院 4 图1 双机异步通信接口电路 1.2 STC89C52RC 单片机的主要工作特性和参数 1.增强型 8051 单片机,6 时钟/机器周期和 12 时钟/机器周期可以任意选择, 指令代码完全兼容传统 8051. 2.工作电压:5.5V3.3V(5V 单片机)/3.8V2.0V(3V 单片机) 3.工作频率范围:040MHz,相当于普通 8051 的 080MHz,实际工作频率可 达 48MHz 4.用户应用程序空间为 8K 字节 5.片上集成 512 字节 RAM 6.通用 I/O 口(32 个) ,复位后为:P1/P2/P3/P4 是准双向口/弱上拉,P0 口 是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时, 需加上拉电阻。 7.ISP(在系统可编程)/IAP(在应用可编程) ,无需专用编程器,无需专用 仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即 可完成一片 8.具有 EEPROM 功能 9.具有看门狗功能 10. 共 3 个 16 位定时器/计数器。即定时器 T0、T1、T2 11. 外部中断 4 路,下降沿中断或低电平触发电路,Power Down 模式可由外部 中断低电平触发中断方式唤醒 12. 通用异步串行口(UART) ,还可用定时器软件实现多个 UART 13. 工作温度范围:-40+85(工业级)/075(商业级) 海南大学儋州校区应用科技学院 5 14. PDIP 封装 1.3 STC89C52RC 引脚功能说明 1.VCC(40 引脚):电源电压 2.VSS(20 引脚):接地 3.P0 端口(P0.0P0.7,3932 引脚):P0 口是一个漏极开路的 8 位双向 I/O 口。作为输出端口,每个引脚能驱动 8 个 TTL 负载,对端口 P0 写入 “1”时,可以作为高阻抗输入。在访问外部程序和数据存储器时,P0 口也 可以提供低 8 位地址和 8 位数据的复用总线。此时,P0 口内部上拉电阻有效。 在 Flash ROM 编程时,P0 端口接收指令字节;而在校验程序时, 则输出指令字节。验证时, 要求外接上拉电阻。 4.P1 端口(P1.0P1.7,18 引脚):P1 口是一个带内部上拉电阻的 8 位双 向 I/O 口。P1 的输出缓冲器可驱动(吸收或者输出电流方式)4 个 TTL 输入。 对端口写入 1 时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入 口。P1 口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会 输出一个电流() 。 5.此外,P1.0 和 P1.1 还可以作为定时器/计数器 2 的外部技术输入 (P1.0/T2)和定时器/计数器 2 的触发输入(P1.1/T2EX) ,具体参见表 1: 6.在对 Flash ROM 编程和程序校验时,P1 接收低 8 位地址。 表 1 P1.0 和 P1.1 引脚复用功能 引脚号功能特性 P1.0 T2(定时器/计数器 2 外部计数输入) ,时钟输出 P1.1 T2EX(定时器/计数器 2 捕获/重装触发和方向控制) 7.P2 端口(P2.0P2.7,2128 引脚):P2 口是一个带内部上拉电阻的 8 位 双向 I/O 端口。P2 的输出缓冲器可以驱动(吸收或输出电流方式)4 个 TTL 输入。对端口写入 1 时,通过内部的上拉电阻把端口拉到高电平,这时可用 作输入口。P2 作为输入口使用时,因为有内部的上拉电阻,那些被外部信号 拉低的引脚会输出一个电流() 。 8.在访问外部程序存储器和 16 位地址的外部数据存储器(如执行“MOVX 海南大学儋州校区应用科技学院 6 DPTR”指令)时,P2 送出高 8 位地址。在访问 8 位地址的外部数据存储器 (如执行“MOVX R1”指令)时,P2 口引脚上的内容(就是专用寄存器 (SFR)区中的 P2 寄存器的内容) ,在整个访问期间不会改变。 9.在对 Flash ROM 编程和程序校验期间,P2 也接收高位地址和一些控制信号。 10.P3 端口(P3.0P3.7,1017 引脚):P3 是一个带内部上拉电阻的 8 位双向 I/O 端口。P3 的输出缓冲器可驱动(吸收或输出电流方式)4 个 TTL 输入。对端口写入 1 时,通过内部的上拉电阻把端口拉到高电位,这时可 用作输入口。P3 做输入口使用时,因为有内部的上拉电阻,那些被外部信 号拉低的引脚会输入一个电流() 。 11.在对 Flash ROM 编程或程序校验时,P3 还接收一些控制信号。 12.P3 口除作为一般 I/O 口外,还有其他一些复用功能,如表 2 所示: 13.表 2 P3 口引脚复用功能 引脚号复用功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 (外部中断 0) 0 P3.3 (外部中断 1) 1 P3.4 T0(定时器 0 的外部输入) P3.5 T1(定时器 1 的外部输入) P3.6 (外部数据存储器写选通) P3.7 (外部数据存储器读选通) 14.RST(9 引脚):复位输入。当输入连续两个机器周期以上高电平时为有效, 用来完成单片机单片机的复位初始化操作。看门狗计时完成后,RST 引脚输 出 96 个晶振周期的高电平。特殊寄存器 AUXR(地址 8EH)上的 DISRTO 位可 以使此功能无效。DISRTO 默认状态下,复位高电平有效。 15. ALE/(30 引脚):地址锁存控制信号(ALE)是访问外部程序存储 器时,锁存低 8 位地址的输出脉冲。在 Flash 编程时,此引脚() 也用作编程输入脉冲。 海南大学儋州校区应用科技学院 7 16. 在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外 部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时, ALE 脉冲将会跳过。 17. 如果需要,通过将地址位 8EH 的 SFR 的第 0 位置“1” ,ALE 操作将无效。 这一位置“1” ,ALE 仅在执行 MOVX 或 MOV 指令时有效。否则,ALE 将被微 弱拉高。这个 ALE 使能标志位(地址位 8EH 的 SFR 的第 0 位)的设置对微 控制器处于外部执行模式下无效。 18.(29 引脚):外部程序存储器选通信号()是外部程序存储器 选通信号。当 AT89C51RC 从外部程序存储器执行外部代码时,在每 个机器周期被激活两次,而访问外部数据存储器时,将不被激活。 19./VPP(31 引脚):访问外部程序存储器控制信号。为使能从 0000H 到 FFFFH 的外部程序存储器读取指令,必须接 GND。注意加密方式 1 时, 将内部锁定位 RESET。为了执行内部程序指令,应该接 VCC。在 Flash 编程期间,也接收 12 伏 VPP 电压。 20. XTAL1(19 引脚):振荡器反相放大器和内部时钟发生电路的输入端。 21. XTAL2(18 引脚):振荡器反相放大器的输入端。 22. 在 STC89C52RC 片内存储器中,80HFFH 共 128 个单元位特殊功能寄存器 (SFR) 。 23. 并非所有的地址都被定义,从 80HFFH 共 128 个字节只有一部分被定义。 还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数 值将不确定,而写入的数据也将丢失。 24. 不应将“1”写入未定义的单元,由于这些单元在将来的产品中可能赋予 新的功能,在这种情况下,复位后这些单元数值总是“0” 。 25. STC89C52RC 除了有定时器/计数器 0 和定时器/计数器 1 之外,还增加了一 个一个定时器/计数器 2.定时器/计数器 2 的控制和状态位位于 T2CON 和 T2MOD。 26. 定时器 2 是一个 16 位定时/计数器。通过设置特殊功能寄存器 T2CON 中的 C/T2 位,可将其作为定时器或计数器。定时器 2 有 3 种操作模式:捕获、 自动重新装载(递增或递减计数)和波特率发生器,这 3 种模式由 T2CON 海南大学儋州校区应用科技学院 8 中的位进行选择 29.波特率发生器模式 寄存器 T2CON 的位 TCLK 和(或)RCLK 允许从定时器 1 或定时器 2 获得 串行口发送和接收的波特率。当 TCLK=0 时,定时器 1 作为串行口发送波特 率发生器;当 TCLK=1 时,定时器 2 作为串行口发送波特率发生器。RCLK 对 串行口接收波特率有同样的作用。通过这 2 位,串行口能得到不同的接收 和发送波特率,一个通过定时器 1 产生,另一个通过定时器 2 产生。 定时器可配置成“定时”或“计数”方式,在许多应用上,定时器被设置 为“定时”方式(C/=0) 。当定时器 2 作为定时器时,它的操作不同于波 2 特率发生器。通常定时器 2 作为定时器,它会在每个机器周期递增(1/6 或 1/12 振荡频率) 。当定时器 2 作为波特率发生器时,它在 6 时钟模式下, 以振荡器频率递增(12 时钟模式时为 1/12 振荡频率) 。 由定时器 2 产生的常用波特率 海南大学儋州校区应用科技学院 9 1.4 双机通信 两台机器的通信方式可分为单工通信、半双工通信、双工通信,他们的通 信原理及通信方式为: 单工通信:是指消息只能单方向传输的工作方式。单工通信信道是单向信 道,发送端和接收端的身份是固定的,发送端只能发送信息,不能接收信息; 接收端只能接收信息,不能发送信息,数据信号仅从一端传送到另一端,即信 息流是单方向的。通信双方采用“按讲” (Push To Talk,PTT)单工通信属 于点到点的通信。根据收发频率的异同,单工通信可分为同频通信和异频通信。 半双工通信:这种通信方式可以实现双向的通信,但不能在两个方向上 同时进行,必须轮流交替地进行。也就是说,通信信道的每一段都可以是发 送端,也可以是接端。但同一时刻里,信息只能有一个传输方向。如日常生 活中的例子有步话机通信等。 双工通信:双工通信是指在同一时刻信息可以进行双向传输,和打电话 一样,说的同时也能听,边说边听。这种发射机和接收机分别在两个不同的 频率上能同时进行工作的双工机也称为异频双工机。双工机的特点是使用方 海南大学儋州校区应用科技学院 10 便,但线路设计较复杂,价格也较高。 二、二、 总体设计总体设计 2.1 设计目的 1、通过设计相关模块充分熟悉 STC89C52RC 单片机的最小系统的组成和原理; 2、通过软件仿真熟悉 protel 和 proteus 的配合使用; 3、通过软件编程熟悉 STC89C52RC 单片机用户手册编程规范; 4、巩固和加对通信原理、单片机原理与应用技术等课程基本知识的理解,综合 运用课程中所学到的理论知识去独立完成本设计课题。 5、掌握两片 STC89C52RC 单片机之间串行通信的设计方法。 6、熟悉常用电子元、器件的类型和特性,并掌握合理选型的原则。 7、掌握常用电子仪器、仪表的使用方法,学会电路整机指标的测试方法。 2.2 设计要求 两片单片机之间进行串行通信,A 机将数据发送给 B 机,在 B 机的数码管 上静态显示。 2.3 设计方案 软件通过通信协议进行发送接收,主机接 10,21,32,43,54,65,76,87,98,09 后给从机(从机静态显示),当从机接收到 后,向从机发送代表 0-f 的数码管编码数组,相应显示 10,21,32,43,54,65,76,87,98,09。 三、三、 硬件设计硬件设计 3.1 STC89C52RC 单片机串行接口的结构 (1)数据缓冲器(SBUF) 接受或发送的数据都要先送到 SBUF 缓存。有两个,一个缓存,另一个接受, 海南大学儋州校区应用科技学院 11 用同一直接地址 99H,发送时用指令将数据送到 SBUF 即可启动发送;接收时用 指令将 SBUF 中接收到的数据取出。 (2)串行控制寄存器(PCON) SCON 用于串行通信方式的选择,收发控制及状态指示,各位含义如下: SM0SM1SM2RENTB8RB8TIRI SM0,SM1:串行接口工作方式选择位,这两位组合成 00,01,10,11 对应于 工作方式 0、1、2、3。串行接口工作方式特点见下表 SM0SM1 工作方式功能波特率 000 8 位同步移位寄存器(用于 I/O 扩 展) fORC/12 011 10 位异步串行通信(UART)可变(T1 溢出率 *2SMOD/32) 102 11 位异步串行通信(UART)fORC/64 或 fORC/32 113 11 位异步串行通信(UART)可变(T1 溢出率 *2SMOD/32) SM2:多机通信控制位。 REN:接收允许控制位。软件置 1 允许接收;软件置 0 禁止接收。 TB8:方式 2 或 3 时,TB8 为要发送的第 9 位数据,根据需要由软件置 1 或 清 0。 RB9:在方式 2 或 3 时,RB8 位接收到的第 9 位数据,实际为主机发送的第 9 位数据 TB8,使从机根据这一位来判断主机发送的时呼叫地址还是要传送的数 据。 TI:发送中断标志。发送完一帧数据后由硬件自动置位,并申请中断。必 须要软件清零后才能继续发送。 RI:接收中断标志。接收完一帧数据后由硬件自动置位,并申请中断。必 须要软件清零后才能继续接收。 (3)输入移位寄存器 接收的数据先串行进入输入移位寄存器,8 位数据全移入后,再并行送入 接收 SBUF 中。 海南大学儋州校区应用科技学院 12 (4)波特率发生器 波特率发生器用来控制串行通信的数据传输速率的,51 系列单片机用定时 器 T1 作为波特率发生器,T1 设置在定时方式。波特率时用来表示串行通信数 据传输快慢程度的物理量,定义为每秒钟传送的数据位数。 (5)电源控制寄存器 PCON 其最高位为 SMOD。 3.2 整体电路设计 51 单片机的串行接口是一个全双工的接口,它可以作为 UART(通用异步接 受和发送器)用,也可以作为同步移位寄存器用,本系统共用两块单片机,每 块单片机均选用 AT89S51,最小系统也都一样。由于两块单片机的主要任务是 通信,为了得到准确的波特率,采用振荡频率为 11.0592MHz 的晶振,最终设计 电路如下图 3 所示,发送方的数据由串行口 TXD 段输出,经过传输线将信号传 送到接收端。信号到达接收方串行口的接收端。接受方接收后,通过 P1 口在数 码管上显示接收的信息。 电路原理图 海南大学儋州校区应用科技学院 13 四、软件设计四、软件设计 通过通信协议进行发送接收,主机先送 CDH 给从机,当从机接收到 CDH 后,向主机回 答 DCH。主机收到 DCH 后就把数码表 TAB16中的 10 个数据送给从机,并发送检验和。从 机收到 16 个数据并计算接收到数据的检验和,与主机发送来的检验和进行比较,若检验和 相同则发送 00H 给主机;否则发送 FFH 给主机,重新接受。从机收到 16 个正确数据后送到 一个数码管显示。 4.1 串行通信软件实现 (1)串行口工作于方式 3;用定时器 1 产生 4800bit/s 的波特率,晶振频率为 11.0592MHZ。 海南大学儋州校区应用科技学院 14 (2)功能:将本机 ROM 中数码表 TAB16中的 16 个数发送到从机,并保存在从 机内部 ROM 中,从机收到这 16 个数据后送到一个数码管循环显示。 (3)通信协议:主机首先发送连络信号(CDH),从机接收到之后返回一个连络信 号(DCH)表示从机已准备好接收。 (4)通信过程使用第九位发送奇偶校验位。 (5)从机接收到一个数据后,立即进行奇偶校验,若数据没有错误,则返回 00H,否则返回 FFH。 (6)主机发送一个数据后,等待从机返回数据;若为 00H,则继续发送下一个 数据,若为 FFH,则重新发送数据。 1、程序流程图 海南大学儋州校区应用科技学院 15 2、 接收方程序流程图 主程序开始 检验和相等? 程序初始化 接收数据,计算检验和 N 发送 00H 至主机 接收完成? N 清除标志位 发送 FFH, 重新接收 显示 4.2 主要程序 (1)主机程序: ORG 0000H 海南大学儋州校区应用科技学院 16 AJMP START ORG 0030H START: MOV TMOD, #20H MOV SCON, #40H CLR ES MOV PCON, #00H MOV B, #0FAH CLR ET1 CLR TI SETB TR1 AGAIN1: MOV A, B MOV TH1,A MOV TL1,A AGAIN2: LCALL JIAN MOV A, 33H MOV SBUF, A JNB TI, $ CLR TI AJMP HE HE: CJNE A, #0F3H, LP1 MOV B, #0F3H AJMP AGAIN1 LP1: CJNE A, #0FAH, LP2 MOV B, #0FAH, AJMP AGAIN1 LP2: CJNE A, #0FDH, LP3 MOV B, #0FDH AJMP AGAIN1 LP3: CJNE A, #0FEH, AGAIN2 MOV B, #0FEH AJMP AGAIN1 JIAN: PUSH ACC PUSH PSW PUSH B CLR C MOV 20H,#00H SMJP: SETB C MOV A, #11011111B MOV R4, A MOV R5, #00H MOV R7, #4H MAIN1: MOV DPTR,#8002H MOV A, R4 MOVX DPTR, A 海南大学儋州校区应用科技学院 17 MOV DPTR, #8001H MOVX A, DPTR ORL A, #0F0H CPL A JNZ ZJH DJNZ R7, JZZ AJMP SMJP JZZ: MOV A, R4 RRC A MOV R4, A INC R5 AJMP MAIN1 ZJH: CJNE A, #01H, AAA CLR C AJMP HHW0 AAA: CJNE A, #02H, BBB CLR C AJMP HHW1 BBB: CJNE A, #04H, STEP2 CLR C AJMP HHW2 STEP2: CJNE A, #08H, OVER AJMP HHW3 HHW0: MOV A, R5 AJMP XS HHW1: MOV A, #4H ADD A, R5 AJMP XS HHW2: MOV A, #08H ADD A, R5 AJMP XS HHW3: MOV A, #0CH ADD A, R5 AJMP XS XS: RL A MOV DPTR, #TABLEB JMP A+DPTR OVER: AJMP SMJP JPCL: JB 00H, XGSX AJMP SMJP XGSX: JB 02H, XGSXSW MOV 34H, A JNB 02H, SMJP XGSXSW: JB 04H, ZHDJS 海南大学儋州校区应用科技学院 18 MOV 35H, A MOV A, 34H SWAP A ORL A, 35H MOV 33H, A JNB 04H, SMJP ZHDJS: POP B POP PSW POP ACC JS: RET TABLEB: AJMP KEY0 AJMP KEY1 AJMP KEY2 AJMP KEY3 AJMP KEY4 AJMP KEY5 AJMP KEY6 AJMP KEY7 AJMP KEY8 AJMP KEY9 AJMP KEYA AJMP KEYB AJMP KEYC AJMP KEYD AJMP KEYE AJMP KEYF KEY0: SETB 00H AJMP JPCL KEY1: MOV A, #01H AJMP JPCL KEY2: SETB 02H AJMP JPCL KEY3: MOV A, #03H AJMP JPCL KEY4: SETB 04H AJMP JPCL KEY5: MOV A, #05H AJMP JPCL KEY6: MOV A, #06H AJMP JPCL KEY7: MOV A, #07H AJMP JPCL KEY8: MOV A, #08H AJMP JPCL 海南大学儋州校区应用科技学院 19 KEY9: MOV A, #09H AJMP JPCL KEYA: MOV A, #0AH AJMP JPCL KEYB: MOV A, #0BH AJMP JPCL KEYC: MOV A, #0CH AJMP JPCL KEYD: MOV A, #0DH AJMP JPCL KEYE: MOV A, #0EH AJMP JPCL KEYF: MOV A, #0FH AJMP JPCL (2)从机程序 ORG 0000H AJMP START ORG 0030H START: MOV TMOD, #20H CLR ES MOV SCON, #50H MOV B, #0FAH CLR ET1 CLR RI SETB TR1 AGAIN1: MOV A, B MOV TH1, A MOV LL1, A AGAIN2: JNB RI, $ CLR RI MOV A, SBUF MOV 40H, A ANL A, #0F0H SWAP A MOV 42H, A MOV A, 40H ANL A, #0FH MOV 41H, A LL: LCALL XIAN 海南大学儋州校区应用科技学院 20 MOV A, 40H CJNE A, #0F3H, LP1 MOV B, #0F3H AJMP AGAIN1 LP1: CJNE A, #0FAH, LP2 MOV B, #0FAH, AJMP AGAIN1 LP2: CJNE A, #0FDH, LP3 MOV B, #0FDH AJMP AGAIN1 LP3: CJNE A, #0FEH, AGAIN2 MOV B, #0FEH AJMP AGAIN1 XIAN: MOV A, 42H MOV DPTR, #TABLE MOVC A, A+DPTR MOV DPTR, #8004H MOVX DPTR, A MOV DPTR, #8002H MOV A, #02H MOVX DPTR, A ACALL DELAY MOV A, 41H MOV DPTR, #TABLE MOVC A, A+DPTR MOV DPTR, #8004H MOVX DPTR, A MOV DPTR, #8002H MOV A, #01H MOVX DPTR, A ACALL DELAY RET DELAY: MOV R7,#0FFH MOVE: DJNZ R7, MOVE RET TABLE: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH, 77H, 7CH, DB 39H, 5EH, 79H, 71H, 73H, 3EH, 31H, 6EH, 76H, 38H 海南大学儋州校区应用科技学院 21 五、联合调试五、联合调试 在 protues 上进行仿真实验。首先使用 KeilC 将编写完成的程序编译生成 HEX 文件,将 HEX 文件烧录到两片单片机中,进行仿真实验。 海南大学儋州校区应用科技学院 22 六、实验结果六、实验结果 七、课设中的心得体会七、课设中的心得体会 紧张而忙碌的课程设计结束了,虽然在这段时间里很忙碌,但在这忙碌的过程中却收到了 很多收获。 经过本次的课程设计,我了解了单片机串行通信的基本知识。 在这次的课程设计过程中,我遇到了一些困难,也遇到过一些疑惑。在解决问题的过程中, 我对于通信协议有了更深刻的认识,也锻炼了自己独立思考和团队协作的能力 从这次的单片机课程设计,我学会了很多东西。从转印、腐蚀、打孔中,明白了实验要静 静的等待,仔细的观察;从安装元器件和焊接的过程中,明白了专心和细心的重要性。总 之,我学到了许多东西。虽然最后花了好长时间终于完成了实验,但我们也学到了许多东 西,这是别人一次成功所无法体会到的。 海南大学儋州校区应用科技学院 23 参考文献参考文献 【1】 胡伟.单片机 C 程序设计及应用实例.北京:人民邮电出版社,2003 【2】 韩毅刚.计算机通信技术.北京:北京航空航天大学出版社,2007 【3】 李朝青.单片机与 PC 机网络通信技术.北京:北京航空航天大学出版, 2007 【4】 胡洪波.单片机原理与应用实验教程.湘潭大学出版社,2009.7 【5】单片机课程设计指导书 皮大能 北京理工大学出2012.7 【6】8051 单片机实践与应用 吴金戎 清华大学出版社 2003.8 【7】单片机技术基础教程与实践 夏路易 电子工业出版 2008.1 【8】单片机原理及应用 张毅刚 高等教育出版社 2012.11 附录附录 附表附表 1 1 定时/计数器 2 控制寄存器各位功能说明 符号功能 TF2 定时器 2 溢出标志。定时器 2 溢出时,又由硬件置位,必须由软 件请 0.当 RCLK=1 或 TCLK=1 时,定时器 2 溢出,不对 TF2 置位。 定时器 2 外部标志。当 EXEN2=1,且当 T2EX 引脚上出现负跳变而 出现捕获或重装载时,EXF2 置位,申请中断。此时如果允许定时 海南大学儋州校区应用科技学院 24 EXF2 器 2 中断,CPU 将响应中断,执行定时器 2 中断服务程序,EXF2 必须由软件清除。当定时器 2 工作在向上或向下计数方式时 (DCEN=1) ,EXF2 不能激活中断。 RCLK 接收时钟允许。RCLK=1 时,用定时器 2 溢出脉冲作为串口(工作 于工作方式 1 或 3 时)的接收时钟,RCLK=0,用定时器 1 的溢出 脉冲作为接收脉冲 TCLK 发送时钟允许。TCLK=1 时,用定时器 2 溢出脉冲作为串口(工作 于工作方式 1 或 3 时)的发送时钟,TCLK=0,用定时器 1 的溢出 脉冲作为发送脉冲 EXEN2 定时器 2 外部允许标志。当 EXEN2=1 时,如果定时器 2 未用于作 串行口的波特率发生器,在 T2EX 端口出现负跳变脉冲时,激活定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论