通信系统原理实验报告

上传人:桔**** 文档编号:476464465 上传时间:2022-07-29 格式:DOC 页数:25 大小:77.09MB
返回 下载 相关 举报
通信系统原理实验报告_第1页
第1页 / 共25页
通信系统原理实验报告_第2页
第2页 / 共25页
通信系统原理实验报告_第3页
第3页 / 共25页
通信系统原理实验报告_第4页
第4页 / 共25页
通信系统原理实验报告_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《通信系统原理实验报告》由会员分享,可在线阅读,更多相关《通信系统原理实验报告(25页珍藏版)》请在金锄头文库上搜索。

1、精选优质文档-倾情为你奉上四川大学电气信息学院实验报告 课 程: 通信系统原理 实验名称: 通信系统原理设计性实验 课任老师: 张奕 专 业: 通信工程 年 级: 2013级 学生姓名: 余佩 学 号: 50 专心-专注-专业一、 实验目的l 理解信源编码和解码的原理、步骤以及方法l 复习并更加熟练地掌握汇编语言的编程方法l 学习在EMC开发工具下编程l 学习使用EM78P259N微控制器l 通过观测示波器了解编码二、 编码实验1、 双极性不归零码(1) 实验原理 1码和0码都有电流,但是1码是正电流,0码是负电流,正和负的幅度相等,极性相反,故称为双极性码。此时的判决门限为零电平,接收端使用

2、零判决器或正负判决器,接收信号的值若在零电平以上为正,判为1码;若在零电平以下为负,判为0码。开始(2) 实验流程图将Byte2和Byte1暂存于Data_temp2和Data_temp1中并设置编码计数值输出零电平N Data_temp2,7=1? Y输出正电平 输出负电平 Data_temp2和Data_temp1分别左移Y编码计数值不为0? N输出零电平 结束(3)实验思路需要在单极性不归零码的基础上,在程序的开始和结束时添加调用零电平的程序即可(4)实验程序/*双极性不归零码子程序*/Coding_Bi_NRZ: MOV A,Byte2 MOV Data_temp2,A ;将Byte2

3、中的数据暂存于Data_temp2中 MOV A,Byte1 MOV Data_temp1,A ;将Byte2中的数据暂存于Data_temp1中 MOV A,16 MOV temp,A ;Byte2,Byte1中的信息共计16位需要编码输出 call pulse_zero ;=输出16位编码= Bi_NRZ_LOOP: JBS Data_temp2,7 CALL Pulse_negative ;Data_temp2.7=0,调用负脉冲子程序 JBC Data_temp2,7 CALL Pulse_positive ;Data_temp2.7=1,调用正脉冲子程序 ;信息左移1位: RLC D

4、ata_temp1 ; R(n) - R(n+1), R(7) - C=Data_temp1.7 RLC Data_temp2 ; C=Data_temp1.7 - R(0), R(n) - R(n+1), R(7) - C DJZ temp ; temp-1=0? JMP Bi_NRZ_LOOP ; NO,继续编码输出 call pulse_zero ;= RET ; NRZ编码输出完毕/*/ (5) 实验结果 图一 图二(6) 调试分析如图一所示,输入十六进制码3456(相应的二进制为0011 0100 0101 0110),再打开示波器,波形如图二所示。2. 传号差分码(1) 实验原理

5、传号差分码的编码规则是用“1”和“0”表示发生电平跳变和电平不跳变,电平跳变用“1”表示,电平不跳变用“0”表示。(2) 实验流程图开始 将Byte2和Byte1暂存于Data_temp2和Data_temp1中,设置编码计数值和存放极性的寄存器YP并置0 输出零电平上一位电平与当前位电平是否改变?NY输出负电平输出正电平temp左移编码计数值不为0?YN输出零电平结束(3)实验思路在双极性码的基础上,添加一个寄存器用于存放上一位编码的极性,再将存放极性的寄存器和存放下一位编码的寄存器进行异或。若异或结果为1,即电平发生了跳变,则输出正电平;若异或结果为0,同之前比电位没改变,则输出负电平。每

6、次只能读出一位,所以最后再左移存放极性的寄存器,然后再进行下一次循环。(4) 实验程序/*传号差分码子程序*/Coding_DE_Mark: ;传号差分码子程序 ;(对存放在Byte2,Byte1中的信息进行编码输出) MOV A,Byte2 MOV Data_temp2,A ;将Byte2中的数据暂存于Data_temp2中 MOV A,Byte1 MOV Data_temp1,A ;将Byte2中的数据暂存于Data_temp1中 MOV A,16 MOV temp,A ;Byte2,Byte1中的信息共计16位需要编码输出 call pulse_negative YP=0x24 CLR

7、YP ;=输出16位编码= DE_Mark_LOOP: MOV a,Data_temp2 XOR YP,a JBS yp,7 CALL Pulse_negative ;Data_temp2.7=0,调用负脉冲子程序 JBC yp,7 CALL Pulse_positive ;Data_temp2.7=1,调用正脉冲子程序 RLC Data_temp1 ; R(n) - R(n+1), R(7) - C=Data_temp1.7 RLC Data_temp2 ; C=Data_temp1.7 - R(0), R(n) - R(n+1), R(7) - C DJZ temp ; temp-1=0?

8、 JMP DE_Mark_LOOP; NO,继续编码输出 call pulse_negative ;= RET ; 传号差分编码输出完毕/*/ (5)实验结果 图三 图四(6) 调试分析 如图三所示,输入十六进制码55D3(相应的二进制为0101 0101 1101 0011),经过传号差分码编码后的二进制结果为0110 0110 1001 1101。打开示波器,波形如图四所示。,理解并学会活用给新寄存器赋值,学会CLR3. 空号差分码(1) 实验原理空号差分码的编码规则是用“0”和“1”表示发生电平跳变和电平不跳变。与传号差分码相反,空号差分码中,电平跳变用“0”表示,电平不跳变用“1”表示

9、。开始(2) 实验流程图将Byte2和Byte1暂存于Data_temp2和Data_temp1中,设置编码计数值和存放极性的寄存器YP1置1输出零电平N上一位电平与当前位电平是否改变?Y输出正电平输出负电平temp左移Y编码计数值不为0?N输出零电平结束(3)实验思路由于空号差分码正电平和负电平的编码规则与传号差分码的正好相反,所以空号差分码的程序段需要在传号差分码的基础上添加一个取反的语句,即MOV A,0XFF XOR YP1,A,将上一步骤的异或结果取反。将异或取反后的结果置于寄存器YP1中,输t出emp的最高位再左移temp,然后再进行下一次的循环。(4)实验程序/*空号差分码子程序*/Co

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

当前位置:首页 > 办公文档 > 教学/培训

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