曼彻斯特编码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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;