曼彻斯特编码

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告课程设计题目:曼彻斯特编码模拟

学生姓名: xxx

专业: 信息工程

班级: 1122301

班级: xxxx

****: ***

2013年12月20日

目录

一、课程设计题目-----------------------------------------------------------

二、需求分析-----------------------------------------------------------------

三、总体设计----------------------------------------------------------------- 四.编码----------------------------------------------------------------------- 五.实验截图------------------------------------------------------------------ 六.课程设计总结----------------------------------------------------------- 七.参考资料-----------------------------------------------------------------

一、课程设计题目

曼彻斯特编码模拟:要求输入16进制数据,能够输出曼却斯特波形图:二、需求分析

根据课程设计题目的要求,由于曼彻斯特波形图是根据二进制数据而得到图像,故首先得把输入的16进制数据转化为二进制数据保存,而后再由二进制数据得到正确的波形图。

由于要得到图形,本人是直接根据二进制来输入图形0就输入“____”1就输入“▔▔”

三、总体设计

四、编码(详细写出编程步骤)

#include

#include

#define M 40 //储存二进制数

#define K 40 //非归0

#define N 10 //16进制数

int length; //求值输入数组的长度

unsigned int j; //编码后序列的数组下标<正>

int Manchester(char str0[]) //曼彻斯特编码str0保存2进制

{

char Manchester[2*M];

Manchester[0]='0';

Manchester[1]='1';

j=0;

for(int i=0;i

{

if(str0[i]=='0') // 进入字符0—>10

{ printf("当前的数字是:%c",str0[i]);

Manchester[j++]='1';Manchester[j++]='0';}

else if(str0[i]=='1') // 进入字符1—>01

{

printf("当前的数字是:%c",str0[i]);

Manchester[j++]='0';Manchester[j++]='1';}

else

{ break; }

printf("-----");

printf("变化后的曼彻斯特编码

为: %c%c\n",Manchester[j-2],Manchester[j-1]);

}

printf("\n");

printf("曼彻斯特编码波形图是\n\n"); //输出波形图for(j=0;j

{

if(Manchester[j]=='0')

{ printf("▁"); }

else if(Manchester[j]=='1')

{ printf("▔"); }

}

printf("\n\n");

return 0;

}

int main()

{

char str0[M]; //储存二进制数

char str1[N],c[K]; //str1保存输入的16进制数printf("请输入16进制数(最好输入5个以内16进制数): ");

scanf("%s",str1);

int f=0;

printf("16进制变成2进制为: "); //将16进制变成2进制

for(unsigned int a=0;a

{

switch(str1[a])

{

case '0':

c[f]='0';c[f+1]='0';c[f+2]='0';c[f+3]='0';

printf("%c%c%c%c",c[f],c[f+1],c[f+2],c[f+3]);

f=f+4;

break;

case '1':

c[f]='0';c[f+1]='0';c[f+2]='0';c[f+3]='1';

printf("%c%c%c%c",c[f],c[f+1],c[f+2],c[f+3]);

f=f+4;

break;

case '2':

c[f]='0';c[f+1]='0';c[f+2]='1';c[f+3]='0';

printf("%c%c%c%c",c[f],c[f+1],c[f+2],c[f+3]);

f=f+4;

break;

case '3':

c[f]='0';c[f+1]='0';c[f+2]='1';c[f+3]='1';

printf("%c%c%c%c",c[f],c[f+1],c[f+2],c[f+3]);

f=f+4;

break;

case '4':

c[f]='0';c[f+1]='1';c[f+2]='0';c[f+3]='0';

printf("%c%c%c%c",c[f],c[f+1],c[f+2],c[f+3]);

f=f+4;

break;

case '5':

c[f]='0';c[f+1]='1';c[f+2]='0';c[f+3]='1';

printf("%c%c%c%c",c[f],c[f+1],c[f+2],c[f+3]);

f=f+4;

break;

相关文档
最新文档