课程设计软件调试怎么写
1. 课程设计报告中的软件的设计和硬件电路的设计分别指什么,该怎么写啊
一般的电子电路都要涉及软件设计和硬件设计。
软件设计是程序设回计部分,控制程序或者是一些答算法之类的设计,完成一定的控制功能
而硬件设计就是你的电路是怎么搭的,芯片是怎么连得,还有一些什么放大、滤波电路的设计等等
2. 什么是软件调试
软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶回段的规格说明和程序的内部答结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。
(1)测试是为了发现软件中存在的错误;调试是为了证明软件开发的正确性。
(2)测试以已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的仅是程序是否通过测试;调试一般是以不可知的内部条件开始,除统计性调试外,结果是不可预见的。
(3)测试是有计划的,需要进行测试设计;调试是不受时间约束的。
(4)测试经历发现错误、改正错误、重新测试的过程;调试是一个推理的过程,并且在开发的整个过程中都必须进行调试。
(5)测试的执行是有规程的;调试的执行往往要求开发人员进行必要推理以至知觉的"飞跃"。
(6)测试经常是由独立的测试组在不了解软件设计的条件下完成的;调试必须由了解详细设计的开发人员完成。
(7)大多数测试的执行和设计可以由工具支持;调式时,开发人员能利用的工具主要是调试器。
3. 几个主要软件调试方法及调试原则
这个跟你用什么调试器有一定关系
如果你用VC6.0的调试器,那么可能你的调试手段专就会受一定限属制,VC下主要就是
单步,步入,堆栈和寄存器的查看,变量的查看,普通断点,条件断点,内存访问断点;
如果你用OllyDbg,那么除了上述手段外,还有硬断点,内存读/写断点等
如果你用windbg的话,手段也很丰富,就是命令多了点,可能需要你去记;
大多数调试器的常用手段就是我上面说的那些了
4. 数字钟课程设计的安装调试该怎么写
1)说明系统实现的功能,应达到技术指标,进行方案论证,确定设计方案。
⑵画出电路图,说明各部分电路的工作原理,初步选定所使用的各种器件的主要参数及型号,列出元器件明细表。
⑶系统中包含的中、小规模集成电路的种类至少在六种以上。
2.模拟仿真
⑴根据理论设计用multisim 7在计算机上进行仿真。验证所设计方案的正确性。
⑵分析电路的工作原理,写出仿真报告。
3.安装调试部分
⑴实现所设计的小型数字系统,并进行单元测试和系统调试。完成系统功能。
⑵若系统出现故障,排除系统故障,分析并记录系统产生故障的原因,并将此部分内容写在报告中。
4.写出课程设计总结报告(要求报告为A4纸20页以上,并打印)。
报告应包括以下内容:
摘要(300~400字)
目录
1.概述
2.课程设计任务及要求
2.1 设计任务
2.2 设计要求
3.理论设计
3.1方案论证
3.2 系统设计
3.2.1 结构框图及说明
3.2.2 系统原理图及工作原理
3.3 单元电路设计
3.3.1单元电路工作原理
3.3.2元件参数选择
4.软件仿真
4.1 仿真电路图
4.2 仿真过程
4.2 仿真结果
5.安装调试
5.2 安装调试过程
5.3 故障分析
6.结论
7.使用仪器设备清单
8.参考文献。
9.收获、体会和建议。
5. C语言程序设计中软件调试主要采取哪些方法
程序可以运行并不表示程序就是正确的
编译和连接都正确,只能说明编译器对他进行语法等检查
没发现他的错误而已,而既然运行结果是错误的,那就是说明一点
可能是你的算法设计的不当,不能正确的解决问题,这样发生的错误
是运行期错误,在编译连接的过程不会出错的,不过幸好,编译器也为我们
提供了一些解决类似运行期错误的一些调试工具,通过debug,进行单步调
试下,观察变量值,看看是不是你想要的等等解决此类问题,具体如何单步
调试见下面:
不过你先要设置断点,然后按下面操作
在VC++6.0中的单步调试:
调试重要的几个键:
F9在当前光标所在的行下断点,如果当前行已经有断点,则取消断点.
F5调试状态运行程序,程序执行到有断点的地方会停下来.
F10单步执行程序.
CTRL+F10运行到光标所在行.
F11和F10的区别是,如果当前执行语句是函数调用,则会进入函数里面.
SHIFT+F11跳出当前所在函数.
步骤:
1,保存为c或c++文件
2,根据断点调试找到错误处。
3,采用F10或F11单步调试找到精确的错误处。其中f10是跳过函数盗用,f11是进入函数体调试。一般是先用f10,确定函数输入输出是否正确(与自己想的一样),如不一样,则用f11进入函数体一步一步调试。
4,在调试过程中,肯定得监视程序中的变量。在vc6.0的右下角有一个watch窗口,专门用来设置监视变量。具体怎样设置自己体会吧。在调试过程中,鼠标轻轻放在变量上也会显示该变量的值
5,vc6.0专门为调试设置了工具箱以方便调试的进行,打开的方法如下。右键——〉在debug(或调试)选择项的勾勾上。ok
6. 学生成绩管理系统的编程中调试过程怎么写
/*------------------1------------------*/
#include "stdio.h" /*I/O函数*/
#include "stdlib.h" /*其它说明*/
#include "string.h" /*字符串函数*/
#include "conio.h" /*屏幕操作函数*/
#include "mem.h" /*内存操作函数*/
#include "ctype.h" /*字符操作函数*/
#include "alloc.h" /*动态地址分配函数*/
struct score
{
int mingci;
char xuehao[8];
char mingzi[20];
float score[6];
char banji[10];
char xueqi[10];
}data,info[100];
int i,j,k=0;
char temp[20],ch;
FILE *fp,*fp1;
/*-------------------2----------------------*/
void shuru()
{
if((fp=fopen("s_score.txt","ab+"))==NULL)
{
printf("cannot open this file.\n");
getch();exit(0);
}
for(i=0;i<=100;i++)
{
printf("\n请输入学号:");
gets(data.xuehao);
printf("请输入名字:");
gets(data.mingzi);
printf("请输入班级:");
gets(data.banji);
printf("请输入学期:");
gets(data.xueqi);
printf("请输入语文成绩:");
gets(temp);data.score[0]=atof(temp);
printf("请输入数学成绩:");
gets(temp);data.score[1]=atof(temp);
printf("请输入英语成绩:");
gets(temp);data.score[2]=atof(temp);
printf("请输入物理成绩:");
gets(temp);data.score[3]=atof(temp);
printf("请输入化学成绩:");
gets(temp);data.score[4]=atof(temp);
data.score[5]=data.score[0]+data.score[1]+data.score[2]+data.score[3]+data.score[4];
fwrite(&data,sizeof(data),1,fp);
printf("再增加一条新纪录?y/n");
ch=getch();
if(ch=='n'||ch=='N')
break;
} fclose(fp);
}
/*---------------------3---------------------*/
void xianshi()
{
float s;int n;
if((fp=fopen("s_score.txt","rb+"))==NULL)
{
printf("Cannot reading this file.\n");
exit(0);
}
for(i=0;i<=1000;i++)
{
if((fread(&info[i],sizeof(info[i]),1,fp))!=1)
break;
}
printf("\nxuehao mingzi yuwen shuxue yingyu wuli huauxue zhongfen\n");
for(j=0,k=1;j<i;j++,k++)
{
info[j].mingci=k;
printf("%6s %8s %10s %10s %3.1f %3.1f %3.1f %3.1f %3.1f %3.1f \n",info[j].xuehao,info[j].mingzi,info[j].banji,info[j].xueqi,info[j].score[0],info[j].score[1],info[j].score[2],info[j].score[3],info[j].score[4],
info[j].score[5]);
}
getch();
fclose(fp);
}
/*-----------------------4------------------------*/
void xiugai()
{
if((fp=fopen("s_score.txt","rb+"))==NULL||(fp1=fopen("temp.txt","wb+"))==NULL)
{
printf("文件无法打开.\n");
exit(0);
}
printf("\n请输入修改的学号:");
scanf("%d",&i); getchar();
while((fread(&data,sizeof(data),1,fp))==1)
{
j=atoi(data.xuehao);
if(j==i)
{
printf("xuehao:%s\nmingzi:%s\n",data.xuehao,data.mingzi);
printf("请输入学号");
printf("请输入名字:");
gets(data.mingzi);
printf("请输入班级:");
gets(data.banji);
printf("请输入学期:");
gets(data.xueqi);
printf("请输入语文成绩:")
gets(temp);data.score[0]=atof(temp);
printf("请输入数学成绩:");
gets(temp);data.score[1]=atof(temp);
printf("请输入英语成绩:");
gets(temp);data.score[2]=atof(temp);
printf("请输入物理成绩:");
gets(temp);data.score[3]=atof(temp);
printf("请输入化学成绩:");
gets(temp);data.score[4]=atof(temp);
data.score[5]=data.score[0]+data.score[1]+data.score[2]+data.score[3]+data.score[4];
} fwrite(&data,sizeof(data),1,fp1);
}
fseek(fp,0L,0);
fseek(fp1,0L,0);
while((fread(&data,sizeof(data),1,fp1))==1)
{
fwrite(&data,sizeof(data),1,fp);
}
fclose(fp);
fclose(fp1);
}
/*-----------------------5---------------------*/
void chazhao()
{
if((fp=fopen("s_score.txt","rb"))==NULL)
{
printf("\n文件无法打开.\n");
exit(0);
}
printf("\nPLease shuru xuehao chakan:");
scanf("%d",&i);
while(fread(&data,sizeof(data),1,fp)==1)
{
j=atoi(data.xuehao);
if(i==j)
{
printf("xuehao:%s mingzi:%s\nbanji:%s\n xueqi:%s\n yuwen:%f\n shuxue:%f\n yingyu:%f\n wuli:%f\n huaxue:%f\n ",data.xuehao,data.mingzi,data.banji,data.xueqi,data.score[0],data.score[1],data.score[2],data.score[3],data.score[4],data.score[5]);
}getch();
}
}
/*--------------------6-------------------*/
void shanchu()
{
if((fp=fopen("s_score.txt","rb+"))==NULL||(fp1=fopen("temp.txt","wb+"))==NULL)
{
printf("\nopen score.txt was failed!");
getch();
exit(0);
}
printf("\n请输入要删除的ID:");
scanf("%d",&i);getchar();
while((fread(&data,sizeof(data),1,fp))==1)
{
j=atoi(data.xuehao);
if(j==i)
{
printf("Anykey will delet it.\n");
getch();
continue;
}
fwrite(&data,sizeof(data),1,fp1);
}
fclose(fp);
fclose(fp1);
remove("s_score.txt");
rename("temp.txt","s_score.txt");
printf("删除成功!\n");
printf("Anykey will return to main.");
getch();
}
/*-----------------------7-----------------*/
void()
{ int key,d;
getdate(&d); /*读取系统日期并把它放到结构体d中*/
clrscr(); /*清除屏幕*/
printf("\n\n\n\n\n");
printf("\t\t\t****************************\n"); /*版本信息*/
printf("\t\t\t 广东交通职业技术学院---学生成绩管理系统 \n");
printf("\t\t\t****************************\n");
printf("\t\t\t 制作组: 101工作室 \n");
printf("\t\t\t 指导老师:李月 \n");
printf("\t\t\t 制作时间:2006年7月 \n");
printf("\t\t\t****************************\n");
printf("\t\t\t请按任意键继续...");
}
/*-------------------------8-------------------*/
void HelpMessage()
{ clrscr();
printf("\n\n\n\n\n 此系统是应老师所布置的作业编制而成,该系统具有存贮学生数据,按学号、姓名查询,列出学生成绩和统计功能。\n \n 使用方法:系统输入数据后,将在当前目录中建立一个名为stu.dat文件,用于保存输入的数据。学号输入只能用数字输入,并且学号是小于8位。 此程序在Turbo C2.0下运行通过\n\n 由于是初学者,水平有限此系统还有许多不够完整和严密性,敬请指正!");
getch();
}
/*-------------------9---------------------*/
main()
{
while(1)
{
clrscr(); /*清屏幕*/
gotoxy(1,1); /*移动光标*/
textcolor(YELLOW); /*设置文本显示颜色为黄色*/
textbackground(BLUE); /*设置背景颜色为蓝色*/
window(1,1,99,99); /* 制作显示菜单的窗口,大小根据菜单条数设计*/
clrscr();
printf("*****************欢迎使用学生成绩管理系统*********************\n");
printf("*************************菜单********************************\n");
printf("* ========================================================= * \n");
printf("* 1>输入 2>修改 * \n");
printf("* 3>删除 4>查找 * \n");
printf("* 5>显示 6>退出 * \n");
printf("* * \n");
printf("* --------------------------------------------------------- * \n");
printf(" 请出入您的选择(1-6):");
ch=getch();
switch(ch)
{
case '1':shuru();break;
case '2':xiugai(); break;
case '3':shanchu(); break;
case '4':chazhao(); break;
case '5':xianshi(); break;
case '6':exit(0);
default: continue;
}
}
}
7. 课程设计报告要写哪几步,各有什么要求
对于正文部分内容要求必须具备如下内容:
1) 目的
此次课程设计的目的。
2) 需求分析
以无二义性的陈述说明程序设计的任务,程序要做什么?明确规定:
①输入的形式和输入值的范围;
②输出的形式;
③程序所能达到的功能;
3) 概要设计
说明本程序中用到的所有数据类型的定义及含义、各程序模块的功能要求以及各模块之间的层次(调用)关系。
4) 详细设计
实现概要设计中定义的所有数据类型,对每个操作需写出伪码算法;对主程序和其他模块也都要写出伪码算法;
最终实现的源程序要按照良好风格的程序书写规则来编写,要求结构清晰,重点函数、重点变量以及重点功能部分要加上清晰的程序注释。
5) 调试分析
每个模块设计和调试时存在问题的思考(问题是哪些?问题如何解决?)。
进行时间和空间复杂度分析,算法的改进设想。
6) 测试结果
列出完备的测试计划及其结果,包括输入和输出,这里的测试数据应该完整和严格。
7) 用户使用说明
说明如何使用最终发布的程序,详细列出每一步的操作步骤。
8) 课设总结
课程设计过程的收获、遇到问题、遇到问题解决问题过程的思考、程序调试能力的思考、经验和体会以及对设计与实现的回顾讨论和分析;在课程设计过程中对课程的认识等内容。
8. 电子产品设计及制作工作调试单怎么写
第一篇:电子工艺实习报告(2016推荐)
一、实习内容:
(1)学习识别简单的电子元件与电子线路;
(2)学习并掌握收音机的工作原理;
(3)按照图纸焊接元件,组装一台收音机,并掌握其调试方法。
二、实习器材介绍:
(1)电烙铁:由于焊接的元件多,所以使用的是外热式电烙铁,功率为30w,烙铁头是铜制。
(2)螺丝刀、镊子等必备工具。
(3)松香和锡,由于锡它的熔点低,焊接时,焊锡能迅速散步在金属表面焊接牢固,焊点光亮美观。
(4)两节5号电池。
三、实习目的:
电子技术实习的主要目的就是培养我们的动手能力,同金工实习的意义是一样的,金工实习要求我们都日常的机械车床,劳动工具能够熟练使用,能够自己动手做出一个像样的东西来。而电子技术实习就要我们对电子元器件识别,相应工具的操作,相关仪器的使用,电子设备制作、装调的全过程,掌握查找及排除电子电路故障的常用方法有个更加详实的体验,不能在面对这样的东西时还像以前那样一筹莫展。有助于我们对理论知识的理解,帮助我们学习专业知识。使我们对电子元件及收音机的装机与调试有一定的感性和理性认识,打好日后深入学习电子技术基础。同时实习使我获得了收音机的实际生产知识和装配技能,培养理论联系实际的能力,提高分析问题和解决问题的能力,增强独立工作的能力。同时也培养同学之间的团队合作、共同探讨、共同前进的精神。
具体目的如下:
熟悉手工焊锡的常用工具的使用及其维护与修理。
基本掌握手工电烙铁的焊接技术,能够独立的完成简单电子产品的安装与焊接。熟悉电子产品的安装工艺的生产流程。
熟悉印制电路板设计的步骤和方法,熟悉手工制作印制电板的工艺流程,能够根据电路原理图,元器件实物设计并制作印制电路板。
熟悉常用电子器件的类别、型号、规格、性能及其使用范围,能查阅有关的电子器件图书。
能够正确识别和选用常用的电子器件,并且能够熟练使用普通万用表和数字万用表。
了解电子产品的焊接、调试与维修方法。
四、原理简述:
zx-921型收音机是由8个三极管和2个二极管组成的,其中bg1为变频三极管,bg2、bg3为中频放大三极管,bg4为检波三极管,bg5、bg6组成阻容耦合式前置低频放大器,bg7、bg8组成变压器耦合推挽低频功率放大器。该机的主要技术指标为:
频率范围:中波530~1605khz
中频:465khz
灵敏度:小于lmv/m
选择性:大于16db
输出功率:56mw~140mw
电源:1、5×2v(1、5v干电池二节)
zx-921型收音机电路原理图
(一)调谐、变频电路
l1(线圈)从磁性天线(磁棒)上感应出的电台信号,经由l1和cl-a(双联电容)组成的输入调谐回路选择后,只剩下需要的电台信号,该信号耦合给l2(线圈),并由l2送bg1的基极和发射极。由于调谐回路阻抗高,约为100kω,三极管输入阻抗低,约为1~2kω。要使它们的阻抗匹配,使信号输出最大,就必须适当选择l1与l2的圈数比,一般取l1为60~80圈,l2取l1的十分之一左右。以改变输人回路的高端谐振频率,使之始终低于本机振荡频率465khz。所以微调电容c主要用于调整波段高端的接收灵敏度。相反,微调电容c对波段低端接收灵敏度的影响极小,这是因为在波段低端双连可变电容器cl-a几乎全部旋进,这时cl-a的电容量很大,约为200多微微法,微调电容器c的电容量的变化对它来说便可忽略不计。来自l2经输入调谐回路选择的信号电压一端接bg1的基极,另一端经c2旁路到地,再由地经本振回路b2次级下半绕组,然后由c3耦合送bg1的发射极。与此同时,来自本机振荡回路的本机振荡信号由本振线圈次级抽头b2输出,经电容c3耦合后注入bg1的发射极;本机振荡信号的另一端,即本振线圈次级另一端,经地由c2耦合到l2的一端,并经l2送bg1的基极。由于l2线圈只有几匝,电感量很少,它对本机振荡信号的感抗可忽略不计。
因此,可认为由c2耦合的本振信号是直送bg1基极,这样在bg1三极管的发射结同时加有两个信号,它们的频率分别为f振、f外。只要适当地调整bg1的上偏置电阻r,使bg。的发射结工作在非线性区(这时对应bg1集电极电流ic为o、2~0、4ma),则f振、f外信号经bg1混频放大后将由集电极输出各种频率成分的信号。由b3中频变压器初级绕组与电容组成的465khz并联谐振电路,选出465khz中频信号,并将之经中频变压器耦合至次级绕组,输出送中频放大电路进行中频信号放大处理。在本机振荡回路中可变电容
9. 哪位大侠帮帮我一下啊毕业论文有一项是软件调试,这部分该怎么写啊
写你参考了哪些文件,文章及文献等的版本信息,哪一章等等信息。