通信系统原理实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
四川大学电气信息学院实验报告
课程:通信系统原理
实验名称:通信系统原理设计性实验
课任老师:张奕
专业:通信工程
年级:2013级
学生姓名:余佩
学号:20
一、实验目的
●理解信源编码和解码的原理、步骤以及方法
●复习并更加熟练地掌握汇编语言的编程方法
●学习在EMC开发工具下编程
●学习使用EM78P259N微控制器
●通过观测示波器了解编码
二、编码实验
1、双极性不归零码
(1)实验原理
"1"码和"0"码都有电流,但是"1"码是正电流,"0"码是负电流,正和负的幅度相等,极性相反,故称为双极性码。此时的判决门限为零电平,接收端使用零判决器或正负判决器,接收信号的值若在零电平以上为正,判为"1"码;若在零电平以下为负,判为"0"码。
(2)实验流程图
需要在单极性不归零码的基础上,在程序的开始和结束时添加调用零电平的程序即可
(4)实验程序
/*****************************双极性不归零码子程序****************************/
Coding_Bi_NRZ: 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_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 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?
JMP Bi_NRZ_LOOP ; NO,继续编码输出
call pulse_zero
;=======================
RET ; NRZ编码输出完毕
/*****************************************************************************/
(5)实验结果
图一图二
(6)调试分析
如图一所示,输入十六进制码3456(相应的二进制为0011 0100 0101 0110),再打开示波器,波形如图二所示。
2.传号差分码
(1)实验原理
传号差分码的编码规则是用“1”和“0”表示发生电平跳变和电平不跳变,电平跳变用“1”表示,电平不跳变用“0”表示。
(2)实验流程图
(3
存器和存放下一位编码的寄存器进行异或。若异或结果为1,即电平发生了跳变,则输出正电平;若异或结果为0,同之前比电位没改变,则输出负电平。每次只能读出一位,所以最后再左移存放极性的寄存器,然后再进行下一次循环。
(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 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?
JMP DE_Mark_LOOP; NO,继续编码输出
call pulse_negative
;=======================
RET ; 传号差分编码输出完毕
/*****************************************************************************/
(5)实验结果
图三图四
(6)调试分析
如图三所示,输入十六进制码55D3(相应的二进制为0101 0101 1101 0011),经过传号差分码编码后的二进制结果为0110 0110 1001 1101。打开示波器,波形如图四所示。,理解并学会活用给新寄存器赋值,学会CLR
3.空号差分码
(1)实验原理