課程設計軟體調試怎麼寫
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. 哪位大俠幫幫我一下啊畢業論文有一項是軟體調試,這部分該怎麼寫啊
寫你參考了哪些文件,文章及文獻等的版本信息,哪一章等等信息。