A. 用DAC0832實現多種波形的輸出(匯編程序)
匯編沒有,C語言的做過。匯編只有正弦波的。
#include "reg52.h"
#define uchar unsigned char
#define uint unsigned int
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}; //共陰極0~9對應16進制數
//=============正弦波數據====================
uchar code sin_tab[256]=
{
0x80, 0x83, 0x86, 0x89, 0x8c, 0x8f, 0x92, 0x95, 0x98, 0x9c, 0x9f, 0xa2, 0xa5, 0xa8, 0xab, 0xae,
0xb0, 0xb3, 0xb6, 0xb9, 0xbc, 0xbf, 0xc1, 0xc4, 0xc7, 0xc9, 0xcc, 0xce, 0xd1, 0xd3, 0xd5, 0xd8,
0xda, 0xdc, 0xde, 0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, 0xec, 0xed, 0xef, 0xf0, 0xf2, 0xf3, 0xf4,
0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfc, 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfd, 0xfc, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0xf7,
0xf6, 0xf5, 0xf3, 0xf2, 0xf0, 0xef, 0xed, 0xec, 0xea, 0xe8, 0xe6, 0xe4, 0xe3, 0xe1, 0xde, 0xdc,
0xda, 0xd8, 0xd6, 0xd3, 0xd1, 0xce, 0xcc, 0xc9, 0xc7, 0xc4, 0xc1, 0xbf, 0xbc, 0xb9, 0xb6, 0xb4,
0xb1, 0xae, 0xab, 0xa8, 0xa5, 0xa2, 0x9f, 0x9c, 0x99, 0x96, 0x92, 0x8f, 0x8c, 0x89, 0x86, 0x83,
0x80, 0x7d, 0x79, 0x76, 0x73, 0x70, 0x6d, 0x6a, 0x67, 0x64, 0x61, 0x5e, 0x5b, 0x58, 0x55, 0x52,
0x4f, 0x4c, 0x49, 0x46, 0x43, 0x41, 0x3e, 0x3b, 0x39, 0x36, 0x33, 0x31, 0x2e, 0x2c, 0x2a, 0x27,
0x25, 0x23, 0x21, 0x1f, 0x1d, 0x1b, 0x19, 0x17, 0x15, 0x14, 0x12, 0x10, 0xf, 0xd, 0xc, 0xb ,
0x9, 0x8, 0x7, 0x6, 0x5, 0x4, 0x3, 0x3, 0x2, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0 ,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2, 0x3, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8 ,
0x9, 0xa, 0xc, 0xd, 0xe, 0x10, 0x12, 0x13, 0x15, 0x17, 0x18, 0x1a, 0x1c, 0x1e, 0x20, 0x23,
0x25, 0x27, 0x29, 0x2c, 0x2e, 0x30, 0x33, 0x35, 0x38, 0x3b, 0x3d, 0x40, 0x43, 0x46, 0x48, 0x4b,
0x4e, 0x51, 0x54, 0x57, 0x5a, 0x5d, 0x60, 0x63, 0x66, 0x69, 0x6c, 0x6f, 0x73, 0x76, 0x79, 0x7c,
};
//三角波信號數據表
uchar code thr_tab[32]=
{
0x00,0x0f,0x1f,0x2f,0x3f,0x4f,0x5f,0x6f,0x7f,0x8f,0x9f,0xaf,0xbf,0xcf,0xdf,0xef,
0xff,0xef,0xdf,0xcf,0xbf,0xaf,0x9f,0x8f,0x7f,0x6f,0x5f,0x4f,0x3f,0x2f,0x1f,0x0f
};
//-------------------------------------------------------------------------------------------------------
//鋸齒波信號數據表
uchar code jc_tab[33]=
{
0x00,0x08,0x0f,0x18,0x1f,0x28,0x2f,0x38,0x3f,0x48,0x4f,0x58,0x5f,0x68,0x6f,0x78,
0x7f,0x88,0x8f,0x98,0x9f,0xa8,0xaf,0xb8,0xbf,0xc8,0xcf,0xd8,0xdf,0xe8,0xef,0xf8,0xff
};
sbit LED4=P2^7;
sbit LED3=P2^6;
sbit LED2=P2^5;
sbit LED1=P2^4;
int temp1; //實際溫度
int conter=0; //LED占空比計數
unsigned char tabArry[4]; //保存顯示數據
//按鍵口申明
sbit k1=P2^0;
sbit k2=P2^1;
sbit LED=P2^2;
sbit mode=P3^2;
char flag=1; //按鍵標志
int keycount=0; //按鍵計數
unsigned char waveth,wavetl;
unsigned int mbjs,wavecount,frecount=500;
//毫秒延時程序
void delayms(int ms)
{
uchar i;
while(ms--)
{
for(i=250;i>0;i--);
}
}
//數據分位
void change(char ch1,unsigned int ch)
{
tabArry[0]=ch1;
tabArry[1]=ch%1000/100;
tabArry[2]=ch%100/10;
tabArry[3]=ch%10;
}
//鍵盤掃描
void keyscan()
{
if(flag==1)
{
if(mode==0) //用mode切換溫度和波形
{
delayms(10);
if(mode==0)
{
flag=0;
keycount++;
if(keycount>=4) keycount=0;
//if(keycount>2) ET1=1;
//else ET1=0;
}
}
if(k1==0)
{
delayms(10);
if(k1==0)
{
flag=0;
switch(keycount)
{
case 0:
//case 4:
// ET1=1;
frecount++;
if(frecount>1000) frecount=0;
change(0x0d,frecount);
break;
case 1:
// case 6:
frecount++;
if(frecount>1000) frecount=0;
change(0x0e,frecount);
break;
case 2:
frecount++;
if(frecount>1000) frecount=0;
change(0x0f,frecount);
break;
case 3:
frecount++;
if(frecount>1000) frecount=0;
change(0x05,frecount);
break;
}
}
}
if(k2==0)
{
delayms(10);
if(k2==0)
{
flag=0;
switch(keycount)
{
case 0:
// ET1=1;
frecount--;
if(frecount<0) frecount=999;
change(0x0d,frecount);
waveth=(65536-31250/frecount)/256;
wavetl=(65536-31250/frecount)%256;
break;
case 1:
frecount--;
if(frecount<0) frecount=999;
change(0x0e,frecount);
waveth=(65536-31250/frecount)/256;
wavetl=(65536-31250/frecount)%256;
break;
case 2:
frecount--;
if(frecount<0) frecount=999;
change(0x0f,frecount);
waveth=(65536-31250/frecount)/256;
wavetl=(65536-31250/frecount)%256;
break;
case 3:
frecount--;
if(frecount<0) frecount=999;
change(0x05,frecount);
waveth=(65536-31250/frecount)/256;
wavetl=(65536-31250/frecount)%256;
break;
}
}
}
}
if(k1!=0 && k2!=0 && mode!=0) flag=1;
}
void display()
{
// int i;
// uchar ch1,ch2;
switch(keycount)
{
case 0:
change(0x0d,frecount);
break;
case 1:
change(0x0e,frecount);
break;
case 2:
change(0x0f,frecount);
break;
case 3:
change(0x05,frecount);
break;
}
/* ch1=0xef;
ch2=0xf0;
for(i=0;i<4;i++)
{
P0= table[tabArry[i]];
// P2 |= ch2;
P2 &= ch1;
ch1<<=1;
delayms(10);
// P2 = P2 | 0xf0;
} */
P0 = table[tabArry[0]];
LED1=0;
delayms(3);
LED1=1;
P0 = table[tabArry[1]];
LED2=0;
delayms(3);
LED2=1;
P0 = table[tabArry[2]];
LED3=0;
delayms(3);
LED3=1;
P0 = table[tabArry[3]];
LED4=0;
delayms(3);
LED4=1;
}
void Timerinit()
{
TMOD=0x01;
// TH0=0xff; //1KHz/256
// TL0=0xfc;
TH0=waveth=(65536-31250/frecount)/256;
TL0=wavetl=(65536-31250/frecount)%256;
EA=1;
ET0=1;
TR0=1;
}
//主函數
void main()
{
Timerinit();
while(1)
{
keyscan();
display();
}
}
void Timer0() interrupt 1
{
TH0=waveth;
TL0=wavetl;
if (keycount==0)
{
wavecount=0;
P1 = sin_tab[mbjs];
mbjs+=8;
if(mbjs>=256)
{
mbjs=0;
}
}
else if(keycount==1)
{
wavecount=0;
P1 = thr_tab[mbjs];
mbjs++;
if(mbjs>=32)
{
mbjs=0;
}
}
else if(keycount==2)
{
wavecount=0;
P1 = jc_tab[mbjs];
mbjs++;
if(mbjs>=32)
{
mbjs=0;
}
}
}
B. 有哪些用 JavaScript 實現的圖形庫
JS圖形、圖標庫推薦:
1. JS Charts
JS Charts 是個基於JavaScript的圖表生成器,不需要任何編碼。JS Charts 非常容易使用,只要用戶使用客戶端腳本(比如,在 web 瀏覽器中執行)。它不需要多餘的插件和伺服器模塊,只需要下載 JS Charts 的腳本,准備好 XML,JSON 或者 JavaScript 數組數據。
2. Canvasjs
CanvasJS 是個易用的 HTML5 & JavaScript 圖表庫,基於 Canvas 元素。Graphs 可以通過設備渲染,包括 iPhone,iPad,Android,Windows Phone,Microsoft Surface,Desktops 等等。它允許用戶創建適用於所有設備,不影響 web 應用程序的功能和可維護性的富儀表盤。CanvcasJS 有著非常漂亮的主題和超過傳統的 Flash 和 SVG 圖表 10x 倍以上的速度——生成輕量級,漂亮和響應式的儀表圖。
3. Chart.js
Chart.js 是個簡單的,面向對象的客戶端圖形庫,用戶可以用 6 中不同的方式來可視化數據。每個方式都是動畫效果的,完全自定義,而且看起來非常好看,即使在 retina 顯示。它使用 HTML5 canvas 元素,支持所有現代瀏覽器,並且支持 IE7/8。
4. Aristochart
Aristochart 是個高度自定義,靈活的折線 Canvas 圖表庫,允許用戶集中精力在圖表的審美方面,後台工作做得非常好。Aristochart 有個持續進步的社區,提供許多不斷增長的主題給用戶選擇。
5. xCharts
xCharts 是一個使用 D3.js 來構建漂亮的可定製的數據驅動的 JavaScript圖表庫,他使用HTML,CSS,SVG實現圖表,xCharts 被設計為一個動態的、流暢的、開放的和可定製化的庫。
6. BonsaiJS
BonsaiJS 是個輕量級的 JavaScript圖形庫,提供直觀的圖形 API 和 SVG 渲染器。主要特性包括:架構分離的運行器和渲染器;iFrame,Worker 和 Node 運行上下文;形狀,路徑,Assets(音頻,圖像,字體,subMovies),Keyframe 和常規動畫,等等。支持現代化瀏覽器: Safari, Chrome 和 Firefox。
7. Sigma.js
Sigma.js 是個免費開源的 JavaScript圖形庫,使用 HTML5 canvas 元素。它的設計是特別為了在 web 界面分享互動式網路 Map 和動態展示網路資料庫。
8. Morris.js
Morris.js 是個輕量級的 JavaScript庫,使用 jQuery 和 Rapha&enuml 來繪制時序圖。 Morris.js 生命周期是從代碼驅動 howmanyleft.co.uk 圖表開始的。它支持的瀏覽器有: IE6+, Safari/Chrome/Firefox, iOS 3+ 和 Android 3+。它的公共 API 非常的小,只有一個函數: Morris.Line(選項),包括了許多配置選項。
9. Paper.js
Paper.js 是一個開源的向量圖形腳本框架,基於 HTML5Canvas 開發。提供清晰的場景圖、DOM和大量強大的功能用來創建各種向量圖和貝塞爾曲線。
10. AmCharts
AmCharts 是個高級圖表庫,適用於所有數據的可視化。AmCharts 包括: Column, Bar, Line, Area, Step, Step without risers, Smoothed line, Candlestick, OHLC, Pie/Donut, Radar/ Polar, XY/Scatter/Bubble, Bullet, Funnel/Pyramid 等等。
11. Smoothie Charts
Smoothie Charts是個極小的圖表庫,專為實時流媒體數據設計的。Joe Walnes 想展示 WebSocket推動的實時的流數據。雖然很多圖表庫允許用戶動態更新數據,但是沒有一個是可以優化源源不斷的流數據。
12. Dygraphs
Dygraphs 是個快速,靈活,開源的 JavaScript 圖表庫。它允許用戶展示和解析密集的數據集。可以高亮需要強調的數據集。可以使用滑鼠點擊或者用滑鼠拖動來縮放圖表;可以修改數值或者點擊條目來調整平均周期。
13. Grafico
Grafico 是 Grafico 是一個基於 Raphaël 和 Prototype.js 構建的 JavaScript 圖表庫,提供了各種圖表類型。這些漂亮的圖表,有利於傳遞他們的信息。
14. Highchart JS
Highcharts JS 是一個製作圖表的純 Javascript類庫,主要特性如下:兼容性:兼容當今所有的瀏覽器,包括 iPhone、IE 和火狐等等;對個人用戶完全免 費;純JS,無BS;支持大部分的圖表類型:直線圖,曲線圖、區域圖、區域曲線圖、柱狀圖、餅裝圖、散布圖;跨語言:不管是 PHP、Asp.net 還是 Java 都可以使用。
15. Flotr
Flotr 是一個基於 Prototype 開發的 JavaScript繪圖工具。支持圖例,滑鼠跟蹤,圖片區域選擇,圖片縮放,添加事件鉤子(event hook),通過CSS設置樣式等。
16. Flot
Flot 是受 Plotr 和 PlotKit 的 啟發,Ole Laursen 基於 jquery 開發了一個圖表繪制(WEB Chart)插件並命名為 flot。 flot 是個純 JavaSript 庫,專注於簡單的使用方式,迷人的外觀和互動式特性。支持的瀏覽器有: Internet Explorer 6+, Chrome, Firefox 2+, Safari 3+ and Opera 9.5+。
17. jFreeChart
JFreeChart 主要用來各種各樣的圖表,這些圖表包括:餅圖、柱狀圖(普通柱狀圖以及堆棧柱狀圖)、線圖、區域圖、分布圖、混合圖、甘特圖以及一些儀表盤等等。JFreeChart 項目歷史悠久,而且有大量的開發者在維護。
18. Plotkit
PlotKit 是一個純 JavaScript 繪圖工具包。它支持 HTML Canvas 和 Adobe SVG。有著很完整的文檔,方便用戶使用。
19. Planetary.js
Planetary.js 是個令人稱奇的創建互動式 web 地球儀的 JavaScript庫。它使用 D3 和 TopoJSON 來解析和渲染地理信息。Planetary.js 使用基於插件的架構,甚至默認自身就是個插件!這使得 Planetary.js 非常靈活,而且它是允許用戶完全自定義,包括顏色,大小,rotation 等等。更重要的是,用戶可以在任意位置使用自定義的顏色和大小來顯示動畫「pings」;它還支持滑鼠拖動和縮放,100% 免費和開源。
20. Ember Charts
Ember Charts 是個圖表庫,使用 Ember.js 和 d3.js 框架構建的。它包括時間線,條形圖,餅圖和散點圖,非常容易擴展和修改。這些圖表組件都是開箱即用的,在圖表交互和演示方面應用的很好。
21. Sparky
Sparky 是個免費的 JavaScript 波形圖庫,依賴於 Raphaël ,非常容易使用。支持多個圖表類型(折線,條形,area),折線和區域圖可以有多個顏色選擇。
22. Envision.js
Envision.js 是個 JavaScript 庫,用來簡化,快速創建互動式的 HTML5 可視化圖表。它包括兩個圖表類型:時序圖和 Finance ,提供 API 給開發者,用戶可以直接自定義創建圖表。這個庫氏基於 Flotr2 和 HTML5 Canvas 的。它與框架無關,依賴於幾個小的 JavaScript 庫。
23. Dc.js
dc.js 是個 JavaScript 圖表庫,有著原生的 crossfilter, 支持和允許高效展示大型多維數據集(基於 crossfilter 的示例);圖表使用 dc.js 渲染,是使用原生數據驅動,所以能得到用戶的實時反饋;dc.js 最大的亮點在於能提供一個簡單而強大的 JavaScript 庫,能進行數據可視化和分析;不僅支持桌面瀏覽器還支持移動端。
24. ElyCharts
Elycharts 是一個易於使用的,可定製的 JavaScript圖表繪制組件。這個組件可用於繪制大部分常用的圖表類型包括:line, column, are, bar, pie, sparklines and combinations。它支持多種互動式功能包括:滑鼠跟蹤、事件處理、利用各種動畫高亮顯示選擇中的區域,Tooltip,HTML錨點等。可以動 態修改數據,並以漂亮的動畫效果展示圖表中的變化。圖表利用SVG/VML技術生成,基於jQuery + Raphaël開發。
25. AwesomeChartJS
AwesomeChartJS Awesome Chart JS 是一個 JavaScript生成圖表的類庫,它利用了 HTML5 的 canvas 標簽來創建統計圖表。此類庫就是為了減輕開發者的工作量,使用它只需書寫幾行代碼便能生成漂亮的圖表。
26. Arbor.js
Arbor.js 是一個利用 Web Works 和 jQuery創建的可視化圖形庫,它為圖形組織和屏幕刷新處理提供了一個高效的、力導向的布局演算法。
27. CanvasXpress
canvasXpress 是一個基於HTML5 canvas標簽實現的 JavaScript圖表類庫,它能夠支持線性圖、柱形圖、餅圖和熱點圖等多種常見的圖表類型。它所生成的圖表交互性很強,滑鼠放 上去時會動態顯示值。除此之外,它也具有相當高的可定製性,可設置圖表的文字、顏色和要顯示/隱藏的元素等。當然更重要的一點是,雖然它使用了 HTML5,但是依然支持IE6瀏覽器。
28. JSXGraph
JSXGraph 是一個支持各種瀏覽器的互動式幾何圖庫繪制。JSXGraph 使用 SVG 和 VML。
29. Rickshaw
Rickshaw 是一個用於繪制時序圖的簡單 jS 庫,基於 Mike Bostock』s delightful D3 庫構建。
30. rGraph
RGraph 是基於HTML5 canvas標簽的HTML5 canvas圖形庫,支持 20 種不同的可視化類型。使用 canvas 標簽,RGraph 創建「HTML5 圖表」,意味著更快的 web 頁面載入和更少的 web 伺服器載入。這能幫助減小 web 頁面的大小,低能耗和更快的瀏覽速度。
31. Fusion Chart
FusionCharts Suite XT 是個專業的 JavaScript圖表庫,能創建任何類型的圖表。它創建的圖表都是可以進行完全自定義的,標簽,字體,邊界等等,都可以進行修改。它有很強的交互功能,有許多信息提示,可 點擊的 legend 關鍵字,還有 dril-down,縮放/滾動 和單擊列印圖表功能。
32. Graph Dracula
Dracula 是用一系列的工具來顯示和布局互動圖表,包括各種相關的演算法。它只是純 JavaScript 和 SVG ,並無 Flash,Java,其他插件。它非常容易使用,用戶可以很簡單的自定義任意的元素。
33. Bluff
Bluff 是個 JavaScript 的 Ruby 的 Gruff graphing library埠。它支持所有 Gruff 的特性,但是有著最小的依賴。用戶只需要運行一個第三方腳本: JS.Class 副本(壓縮後只有 2.6kB ) 和 Google 的 ExCanvas 副本,用來支持 IE 中的 canvas。這兩個腳本在 Bluff 中都有下載。Bluff 自身壓縮後大小大概有 11KB 。
34. Pizza Pie Chart
Pizza Pie Charts 是個響應式餅圖圖表,基於 Adobe Snap SVG 框架,通過 HTML 標記和 CSS 來替代 JavaScript 對象,更容易集成各種先進的技術。
35. jGraph
HTML5 圖表組件,完全支持l IE 6-8 和觸屏設備。 JGraph 自2001年來就一直提供最先進的圖表軟體組件,是第一個流行的 JGraph Swing 庫。然後在 2005 年走在時代的前沿開發 mxGraph。
C. 求 wavesurfer.js 波形生成數據
機狀態時關機。原因:電池性能較差。因為手機剛開機
D. 避雷器檢測器里有一塊石頭是什麼
有接線端子的是避雷器,沒有接線端子的是絕緣子;通俗點講,你看頭上有一塊豎著的鋼板的就是避雷器
E. window.clipboardData.getData 有幾種參數類型。除了getdta('text') 還有什麼 Javascript裡面的知識、
Syntax
sRetrieveData = object.getData(sDataFormat)
Parameters
sDataFormat Required. String that specifies one of the following data format values:
TextRetrieves data formatted as text.
URLRetrieves data formatted as a URL.
綜上所述:有url和text 兩種
url是通過dataTransfer從剪貼板 獲取
text是通過clipboardData 從剪貼板獲取
<HEAD>
<SCRIPT>
var sAnchorURL;
function InitiateDrag()
/* setData 參數告訴源對象將數據傳送為 URL 並提供
路徑。*/
{
event.dataTransfer.setData("URL", oSource.href);
}
function FinishDrag()
/* 傳遞給 getData 的參數告訴目標對象所期望的數據
格式。*/
{
sAnchorURL = event.dataTransfer.getData("URL");
oTarget.innerText = sAnchorURL;
}
</SCRIPT>
</HEAD>
<BODY>
<A ID=oSource HREF="about:Example_Complete" onclick="return(false)"
ondragstart="InitiateDrag()">測試錨</A>
<SPAN ID=oTarget ondragenter="FinishDrag()">將鏈接拖曳到這里</SPAN>
</BODY>
F. 避雷器放電計數器檢測儀的作用是什麼
避雷器放電計數器檢測儀適用於各種JS8,JS9及其它JS型號避雷器的放電動作計數器動作情況檢測。由於密封不良,動作計數器在運行過程中可能進入潮氣或水分,使內部元件銹蝕,導致計數器不能正常動作,所以《規程》規定,每年應檢測一次。
技術指標
輸出電流波形:8/20μs
電流輻值:>100A
輸入電源:AC200(1+5%)V
G. 在電腦中的後綴名inf、dll、js、db、chk、lnk是什麼意思
A 對象代碼庫文件
AAM Authorware shocked文件
AAS Authorware shocked包
ABF Adobe二進制屏幕字體
ABK CorelDRAW自動備份文件
ACE Ace壓縮檔案格式
ACL CorelDRAW 6鍵盤快捷鍵文件
ACM Windows系統目錄文件
ACP Microsoft office助手預覽文件
ACR 美國放射醫學大學文件格式
ACT Microsoft office助手文件
ACV OS/2的驅動程序,用於壓縮或解壓縮音頻數據
AD After Dark屏幕保護程序
ADA Ada源文件(非-GNAT)
ADB Ada源文件主體(GNAT);HP100LX組織者的約定資料庫
ADD OS/2用於引導過程的適配器驅動程序
ADF Amiga磁碟文件
ADI AutoCAD設備無關二進制繪圖儀格式
ADM After Dark多模塊屏幕保護;Windows NT策略模板
ADP FaxWork用於傳真數據機的交互安裝文件;Astound Dynamite文件
ADR After Dark隨機屏幕保護;Smart Address的地址簿
ADS Ada源文件說明書(GNAT)
AFM Adobe的字體尺度
AF2,AF3 ABC的FlowChat文件
AI Adobe Illustrator格式圖形
AIF,AIFF 音頻互交換文件,Silicon Graphic and Macintosh應用程序的聲音格式
AIFC 壓縮AIF
AIM AOL即時信息傳送
AIS ACDSee圖形序列文件;Velvet Studio設備文件
ANT SimAnt For Windows中保存的游戲文件
API Adobe Acrobat使用的應用程序設計介面文件
APR Lotus Approach 97文件
APS Microsoft Visual C++文件
ARC LH ARC的壓縮檔案文件
ARI Aristotle聲音文件
ARJ Robert Jung ARJ壓縮包文件
ART Xara Studio繪畫文件;Canon Crayola美術文件;Clip Art文件格式;另一種光線跟蹤格式;AOL使用的用Johnson—Grace壓縮演算法壓縮的標記文件
ASO Astound Dynamite對象文件
ASP 動態網頁文件;ProComm Plus安裝與連接腳本文件;Astound介紹文件
AST Astound多媒體文件;ClarisWorks「助手」文件
ASV DataCAD自動保存文件
ASX Cheyenne備份腳本文件;Microsoft高級流媒體重定向器文件,視頻文件
ATT AT< Group 4點陣圖文件
ATW 來自個人軟體的Any Time Deluxe For Windows個人信息管理員文件
AU Sun/NeXT/DEC/UNIX聲音文件;音頻U-Law(讀作「mu-law」)文件格式
AVB Computer Associates Inoculan反病毒軟體的病毒感染後文件
AVI Microsoft Audio Video Interleave電影格式
AVR Audio Visual Research文件格式
AVS 應用程序可視化格式
AWD FaxVien文檔
AWR Telsis數字儲存音頻文件擴展名格式
Axx ARJ壓縮文件的分包序號文件,用於將一個大文件壓至幾個小的壓縮包中(xx取01-99的數字)
A3L Authorware 3.x庫文件
A4L Authorware 4.x庫文件
A5L Authorware 5.x庫文件
A3M,A4M Authorware Macintosh未打包文件
A4P Authorware無運行時間的打包文件
A3W,A4W,A5W 未打包的Authorware Windows文件
BAK 備份文件
BAS BASIC源文件
BAT 批處理文件
BDF West Point Bridger Designer文件
BFC Windows 95 Briefcase文檔
BG Backgammon For Windows下的游戲文件
BGL Microsoft Flight Simulator(微軟飛行模擬器)的視景文件
BI 二進制文件
BIF Group Wise的初始化文件
BIFF XLIFE 3D格式文件
BIN 二進制文件
BK,BK$ 有時用於代表備份版本
BKS IBM BookManager Read書架文件
BMK 書簽文件
BMP Windows或OS/2點陣圖文件
BMI Apogee BioMenace數據文件
BOOK Adobe FrameMaker Book文件
BOX Lotus Notes的郵箱文件
BPL Borlard Delph 4打包庫
BQY BrioQuery文件
BRX 用於查看多媒體對象目錄的文件
BSC MS Developer Studio瀏覽器信息文件
BSP Quake圖形文件
BS1 Apogee Blake Stone數據文件
BS_ Microsoft Bookshelf Find菜單外殼擴展名
BTM Norton 應用程序使用的批處理文件
BUD Quicken的備份磁碟
BUN CakeWalk 聲音捆綁文件(一種MIDI程序)
BW SGI黑白圖像文件
BWV 商業波形文件
BYU BYU的電影文件格式
B4 Helix Nuts and Bolts文件
C C代碼文件
C0l 台風波形文件
CAB Microsoft壓縮檔案文件
CAD Softdek的Drafix CAD文件
CAL CALS壓縮點陣圖;日歷計劃表數據
CAM Casio照相機格式
CAP 壓縮音樂文件格式
CAS 逗號分開的ASCⅡ文件
CAT Quicken使用 的IntellCharge分類文件
CB Microsoft干凈引導文件
CBI 二進制卷格式文件(用於IBM大型機系統)
CC Visual dBASE用戶自定義類文件
CCA cc:郵件文件
CCB Visual Basic動態按鈕配置文件
CCF 多媒體查看器配置文件,用於OS/2
CCH Corel圖表文件
CCM Lotus cc:郵箱(例如「INBOX.CCM」)
CCO CyberChat數據文件
Microsoft Visual FoxPro索引文件
CEL CIMFast事件語言文件
CER 證書文件(MIME x-x509-ca-cert)
CFB Compton的多媒文件
CFG 配置文件
CFM CotdFusion模板文件;Visual dBASE Windows用戶定製表單
CGI 公共網關介面腳本文件
CGM 計算機圖形元文件
CH OS/2配置文件
CHK 由Windows磁碟碎片整理器或磁碟掃描保存的文件碎片
CHM 編譯過的HTML文件
CHR 字元集(字體文件)
CHP Ventura Publisher章節文件
CHT ChartViem文件;Harvard Graphics矢量文件
CIF Adaptec CD 創建器 CD映像文件
CIL Clip Gallery下載包
CIM SimCity 2000文件
CIN OS/2改變控制文件用於跟蹤INI文件中的變化
CK1 iD/Apogee Commander Keen 1數據文件
CK2 iD/Apogee Commander Keen 2數據文件
CK3 iD/Apogee Commander Keen 3數據文件
CK4 iD /Apogee Commander Keen 4數據文件
CK5 iD /Apogee Commander Keen 5數據文件
CK6 iD /Apogee Commander Keen 6數據文件
CLASS Java類文件
CLL Crick Software Clicker文件
CLP Windows 剪貼板文件
CLS Visual Basic類文件
CMD Windows NT,OS/2的命令文件;DOS CD/M命令文件;dBASEⅡ程序文件
CMF Corel元文件
CMG Chessmaster保存的游戲文件
CMP JPEG點陣圖文件;地址文檔
CMV Corel Move動畫文件
CMX Corel Presentation Exchange圖像
CNF Telnet,Windows和其他其內格式會發生改變的應用程序使用的配置文件
CNM Windows應用程序菜單選項和安裝文件
CNQ Compuworks Design Shop文件
CNT Windows(或其他)系統用於幫助索引或其他目的內容文件
COB TrueSpace 2對象文件
COD Microsoft C編譯器產生的可顯示機器碼/匯編代碼文件,其中附有源C代碼作為注釋
COM 命令文件(程序)
CPD Corel Print Office文件(圖形)
CPD,CPE 傳真覆蓋文檔
CPI Microsoft MS-DOS代碼頁信息文件
CPL 控制面板擴展名,Corel顏色板
CPO Corel列印存儲文件
CPP C++代碼文件
CPR Corel提供說明書文件
CPT Corel 照片-繪畫圖像
CPX Corel Presentation Exchange壓縮圖形文件
CRD Windows Cardfile文件
CRP Corel 提供的運行時介紹文件;Visual dBASE自定義報表文件
CRT 認證文件
CSC Corel腳本文件
CSP PC Emcee On_Screen圖像
CSS 瀑布式表格文件
CST Macromedia Director Cast文件
CSV 逗號分隔的值文件
CT Scitex CT點陣圖文件;Paint Shop Pro Grapic編輯器文件
CTL 通常用於表示一個包含控制項信息的文件;FaxWork用它來保持有關每個傳真收到或發出的信息
CUE Microsoft提示牌數據文件
CUR Windows游標文件
CUT Dr Halo點陣圖文件
CV Corel版本的檔案文件;Microsoft CodeView信息屏幕文件
CWK ClarisWorks數據文件.
CWS ClarisWorks模塊
CXT Macromedia Director受保護的(不可編輯的)投影文件
CXX C++源代碼文件
DAT 數據文件;WrodPerfect合並數據文件;用於一些MPEG格式的文件
DB Borland的Paradox 7表
DBC Microsoft Visual FoxPro資料庫容器文件
DBF dBASE文件,一種由Ashton-Tate創建的格式,可以被ACT!、Lipper、FoxPro、Arago、Wordtech、Xbase和類似資料庫或與資料庫有關產品識別;可用數據文件(能被Excel 97打開);Oracle 8.1.x表格空間文件
DBX DataBearn圖像;Microsoft Visual FoxPro表格文件
DCM DCM模塊格式文件
DCR 沖擊波文件
DCS 桌面顏色分隔文件
DCT Microsoft Visual FoxPro資料庫容器
DCU Delphi編譯單元文件
DCX Microsoft Visual FoxPro資料庫容器;基於PCX的傳真圖像;宏
DC5 DataCAD繪圖文件
DDF Btrieve或Xtrieve數據定義文件,它包含用於描述Btrieve或Xtrieve文件的元數據
DDIF Digital Equipment或 Compaq格式,用於保存他們圖像與字處理文檔
DEF SmartWareⅡ數據文件;C++模塊定義文件
DEFI Oracle 7 卸載腳本文件
DEM 用於表示數字高度模型的USGS基準的文件
DER 認證文件
DEWF Macintosh Sound Cap/Sound Edit錄音設備格式
DGN Macintosh 95 CAD繪圖文件
DIB 設備無關點陣圖
DIC 目錄
DIF 可進行數據互換的電子表格
DIG DigiLink格式;Sound DesignerⅠ音頻文件
Word Star文檔、Word Perfect文檔、Microsoft Word文檔;DisplayWrite文檔
DOT Microsoft Word文檔模板
DPL Borland Delph3壓縮庫
DPR Borland Delphi工程頭文件
DRAW Acorn的基於對象的矢量圖像文件
DRV 驅動程序
DRW Micrografx Designer/Draw;Pro/E繪畫文件
DSF Micrografx Designer VFX文件
DSG DOOM保存的文件
DSM Dynamic Studio音樂模塊(MOD)文件
DSP Microsoft Developer Studio工程文件
DSQ Corel QUERY(查詢)文件
DST 刺綉機圖形文件
DSW Microsoft Developer Studio工作區文件
DTA Word Bank(世界銀行)的STARS數據文件
DTD SGML文檔類型定義(DTD)文件
DTED 地面高度數字數據(圖形的數據格式)文件
DTF Symantec Q&A相關的資料庫數據文件
DTM DigiTrakker模塊文件
DUN Microsoft拔號網路導出文件
DV 數字視頻文件(MIME)
DWD DiamondWare數字化文件
DWG AutoCAD工程圖文件;AutoCAD或Generic CADD老版本的繪圖格式
DXF 可進行互交換的繪圖文件格式,二進制的DWG格式的文本表示;數據交換文件
DXR Macromedia Director受保護(不可編輯)電影文件
D64 Commodore的64位模擬磁碟圖像文件
EDA Ensoniq ASR磁碟映像
EDD 元素定義文檔(FrameMaker+SGML文檔)
EDE Ensoniq EPS磁碟映像
EDK Ensoniq KT磁碟映像
EDQ Ensoniq SQ1/SQ2/Ks32磁碟映像
EDS Ensoniq SQ80磁碟映像
EDV Ensoniq VFX-SD磁碟映像
EFA Ensoniq ASR文件
EFE Ensoniq EPS文件
EFK Ensoniq KT文件
EFQ Ensoniq SQ1/SQ2/Ks32文件
EFS Ensoniq SQ80文件
EFV Ensoniq VFX-SD文件
EMD ABT擴展模塊
EMF Windows增強元文件
EML Microsoft Outlook Express郵件消息(MIME RTC822)文件
ERR 當RobooHELP幫助編譯器企圖編譯一個幫助系統源文件時用來存儲錯誤消息的文件
EPX ERWin文件
ESPS ESPS音頻文件
EUI Ensoniq ESP家族的壓縮磁碟映像
EVY 特使文檔
EWL Microsoft Encarta文檔
EXC Microsoft Word禁止字字典
FBK Navison 金融備份
FCD 虛擬CD-ROM
FDB Navison 金融資料庫
FDF Adobe Acrobat表單文檔文件
FEM CADRE有限元素網路文件
FFA,FFL,FFO,FFK Microsoft快速查找文件
FFF GUS PnP銀行文件格式
FFT 最終格式文本(IBM的DCA一部分)
FH3 Als Freehand 3繪圖文件
FIF Fractal圖像文件
FIG REND386/AVRIL使用的文件格式
FITS CCD照相機圖像;靈活圖像傳輸系統
FLA Macromedia Flash電影
FLC Autodesk FLIC動畫文件
FLF Corel Paradox產生的格式:Navison Financials許可文件;OS/2驅動程序文件
PLI Autodesk FLIC動畫
FLT StarTrekker音樂模塊(MOD)文件;MultiGen Inc的Open Flight使用的文件格式;Corel過濾器文件
FM Adobe FrameMaker文檔
FMB Oracle4.0版或以後版本表單的二進制源代碼文件
FML 文件鏡象列表(GetRight)
FOT 字體相關文件
FP FileMaker Pro文件
FP1 Flying Pigs for Windows數據文件
FP3 FileMaker Pro文件
FPT FileMaker Pro文件;Microsoft Fox Pro備注字體文件
FPX FlashPix點陣圖
FRM 表單;Frame Maker或Frame Builder文檔;Oracle可執行表(3.0版或早期版本);Visual Basic表單;WordPerfect Merge表單;DataCAD標志報表文件
FRT Microsoft FoxPro報表文件
FRX Visual Basic表單文本;Microsoft FoxPro報表文件
FSF fPrint Audit Tool文件格式
FSL Borland的Paradox 7表單;Corel Paradox保存的表單
FSM Parandoyle示例格式
FT Lotus Notes全文本索引
FTG 全文本搜索組文件,由Windows幫助系統查找時產生——可以刪除,並在需要時重建起來
FTS 全文本搜索引文件,由Windows幫助系統查找時產生
FW2 Framework Ⅱ文件
FW3 Framework Ⅲ文件
FW4 Framework Ⅳ文件
FXP 經Microsoft FoxPro編譯的源文件
FZB Casio FZ-1銀行轉儲
FZF Casio FZ-1完全轉儲
FZV Casio FZ-1聲音轉儲
G721 Raw CCITT G.721 $bit ADPCM格式數據
G723 Raw CCITT G.723 3或5bit ADPCM格式數據
GAL Corel多媒體管理器相集
GCD Generic CADD繪畫文件(後續版本)
GEM GEM元文件
GEN Ventura產生的文本文件
GetRight GetRight未完成的下載文件
GFC Patton&Patton FlowCharting 4 flowchart文件
GFI,GFX Genigraphics圖形鏈接表示文件
景數據產生地圖過程的格式文件,通常應用於形成地圖工程—CHIPS(copenhagen image processing system)使用這些文件
GRF Grapher(Golden Software公司)圖形文件
GRP 程序管理組
GSM Raw GSM 6.10音頻流;Raw「byte aligned(比特對齊的)」 GSM 6.10音頻流;US Robotics語音數據機
GTK Graoumftracker(老)音樂模塊(MOD)文件
GT2 Graoumftracker(新)音樂模塊(MOD)文件
GWX,GWZ Cenigraphis圖形鏈接介紹文件
言繪圖文件
HH 映射文件,包括一些話題ID和在幫助文件系統中話題的映射數字—允許運行中應用程序發送給用戶合適的上下文幫助話題
HLP 幫助文件;Date CAD Windows幫助文件
HOG Lucas Arts的Dark Forces WAD文件
HPJ Visual Basic幫助工程
HPP C++程序頭文件
HQX Macintosh BinHex 4.0文件
HST 歷史文件
HT HyperTerminal(超級終端)
HTM,HTML 超文本文檔
HTT Microsoft超文本模板
HTX 擴展HTML模板
HXM Descent2 HAM文件擴展
ICA Citrix文件
ICB Targa點陣圖文件
ICC Kodak列印機格式文件
ICL 圖標庫文件
ICM 圖形顏色匹配配置文件
ICO Windows圖標
IDB MSDev中間層文件
IDD MIDI設備定義
IDF MIDI設備定義(Windows 95需要的文件)
IDQ Internet數據查詢文件
IDX Microsoft FoxPro相關資料庫索引文件;Symantec Q&A相關資料庫索引文件;Microsoft Outlook Express文件
IFF 交換格式文件;Amiga ILBM
IGES 初始圖形交換說明文件
壓縮磁碟映像文件
INC 匯編語言或動態伺服器包含文件
INF 信息文件
INI 初始化文件;MWave DSP Synth的「nwsynth.ini」 GMS安裝;Cravis Ultrasound bank安裝
INP Oracle 3.0版或早期版本的表單源代碼
INRS INRS遠程通信聲頻
INS InstallShield安裝腳本;X-Internet簽字文件;Ensoniq EPS字簇設備;Cell/ⅡMAC/PC抽樣設備
INT 中間代碼,當一個源程序經過語法檢查後編譯產生一個可執行代碼
IOF Findit文檔
IQY Microsoft Internet查詢文件
系統設備
ITS 脈沖跟蹤系統抽樣,Internet文檔位置
IV Open Inventor中使用的文件格式
IVD 超過20/20微觀數據維數或變數等級文件
IVP 超過20/20的用戶子集配置文件
IVT 超過20/20表或集合數據文件
IVX 超過20/20微數據目錄文件
IW Idlewild屏幕保護程序
的Jill of the Jungle數據文件
JPE,JPEG,JPG JPEG圖形文件
JS JavaScript源文件
JSP HTML網頁,其中包含有對一個Java servlet的參考
JTF JPEG點陣圖文件
K25 Kurzweil 2500抽樣文件
KAR 卡拉OK MIDI文件(文本+MIDI)
KDC Kodak光增強器
KEY DataCAD圖標工具條文件
KFX KoFak Group 4圖像文件
KIZ Kodak數字明信片文件
KKW RoboHELP幫助工程索引設計器中與主題無關的K開頭的所有關鍵字
Microsoft FoxPro標簽文件
LDB Microsoft Access加鎖文件
LDL Corel Paradox分發庫
LEG Legacy文檔
LES Logitech娛樂系統游戲配置文件(與REC文件一樣)
LFT 3D Studio(DOS)放樣文件
LGO Paintbrush(Microsoft畫圖應用程序)的徽標文件
LHA LZH更換文件後綴
LIB 庫文件
LIN DataCAD線型文件
LIS 結構化查詢報告(SQR)程序產生的輸出文件
LLX Laplink交換代理
LNK Windows快捷方式文件
LOG 日誌文件
LPD Helix Nut和Bolt文件
LRC Intel可視電話文件
LSL Corel Paradox保存的庫文件
LSP AutoLISP、CommonLISP和其他LISP語言文件
LST 列表文件
LU ThoughtWing庫單元文件
LVL Parallax Software的 Miner Descent/D2 Level擴展
LWLO Lightwave分層對象文件
LWOB Lightwave對象文件
LWP Lotus WordPro 96/97文件
LWSC Lightwave視景文件
LYR DataCAD層文件
LZH LH ARC壓縮檔案
LZS Skyroads數據文件
M1V MPEG相關文件(MIME「mpeg」類型)
M3D Corel Motion 3D動畫文件
M3U MPEG URL(MIME聲音文件)
MAC MacPaint圖像文件
MAD Microsoft Access模塊文件
MAF Microsoft Access表單文件
MAG 在一些日本文件中發現的圖形文件格式
MAGIC 魔力郵件監視器配置文件
MAK Visual Basil或Microsoft Visual C++工程文件
MAM Microsoft Access宏
MAN UNIX手冊頁輸出
MAP 映射文件;Duke Nukem 3D WAD游戲文件
MAQ Microsoft Access查詢文件
MAR Microsoft Access報表文件
MAS Lotus Freelance Graphics Smart Master文件
MAT Microsoft Access表;3D Studio MAX材料庫
MAUD MAUD抽樣格式
MAX Kinetx的3DStudio MAX文件;該格式用於一個3D場景文件;Paperport文件;OrCAD設計文件
MAZ Hover迷路數據;Division的dVS/dVISE使用的文件格式
MB1 Apogee Monster Bash數據文件
MBOX Berkeley Unix郵箱格式
MBX Microsoft Outlook保存email格式;Eudora郵箱
MCC Dailerl0呼叫卡
MCP Metrowerks CodeWarrior工程文件
MCR DataCAD鍵盤宏文件
MCW Microsoft Word的Macintosh文檔
MDA Microsoft Access內抽入器;Microsoft Access 2.0版及其後續版本的工作組事件
MDB Microsoft Access資料庫
MDE Microsoft Access MDE文件
MDL 數字跟蹤器音樂模塊(MOD)文件;Quake模 塊文件
MDN Microsoft Access空資料庫模板
MDW Microsoft Access工作組文件
MDZ Microsoft Access向導模板文件
MED 音樂編輯器,OctaMED音樂模塊(MOD)文件
MER 電子表格/資料庫數據交換格式;FileMaker、Excel及其他軟體能識別
MET 表示管理器元文件
MFG Pro/ENGINEER製造文件
MGF 在材料與幾何學里的文件格式
MHTM,MHTML MHTML文檔(MIME)
MI 雜項
MIC Microsoft Image Composer文件
MID MIDI音樂
MIF Adobe FramMaker交換格式
MIFF 與機器無關格式文件
MIM,MIME,MME Internet郵件擴展格式的多用途文件,經常作為發送e-mail時在AOL里附件而創建的文件;在一個多區MIM文件里的文件能用WinZip或其他類似程序打開
MLI 3D Studio的材料庫格式文件
MMF Meal Master格式;一個處方類格式;Microsoft郵件文件
MMG 超過20/20表或集會數據文件
MMM Microsoft多媒體電影
MMP Mindmapor Mind Manager文件
MN2 Descent2任務文件
MND,MNI Mandelbort for Windows
MNG 多映像網路圖形
MNT,MNX Microsoft FoxPro菜單文件
MNU Visual dBASE菜單文件;Intertel Systems Interact菜單文件
MOD Fast Tracker、Star Trekker、Noise Tracker(等等)音樂模塊文件;Microsoft多計劃電子表格;Amiga/PC磁軌文件
MOV QuickTime for Windows電影
MP2 第二層MPEG音頻文件
MP3 第三層MPEG音頻文件
MPA MPEG相關文件,MIME「mpeg類型」
MPE,MPEG,MPG MPEG動畫文件
MPP Microsoft工程文件;CAD繪圖文件格式
MPR Microsoft FoxPro菜單(已編譯)
MRI MRI掃描文件
MSA 魔術陰影檔案
MSDL Manchester的場景描述語言
MSG Microsoft郵件消息
MSI Windows 安裝器包
MSN Microsoft網路文檔;Descent Mission文件
MSP Microsoft Paint(畫圖)點陣圖文件;Windows Installer路徑文件
MST Windows 安裝器傳輸文件
MTM Multi 跟蹤器音樂模塊(MOD)文件
MUL Ultima在線
MUS 音樂
MUS10 Mus10聲音
MVB Microsoft多媒體查看器文
H. quartus ii 模擬通過 但沒波形,怎麼回事程序實現測頻功能
是怎麼沒波形了? 找不到引腳還是新建的波形文件 模擬不對?,。、
編譯通過後是沒波形的,得新建一個波形文件, 然後按alt +1看那個 list過濾是不是選的 all。
I. 將正弦波變矩形波能在單片機中處理嗎
首先根據輸出波形的頻率和幅值進行編碼,存儲在單片機的ROM里,
然後以一定的時間間隔依次將這些數字量送往D/A進行轉換輸出,這樣,只要循環送數,在D/A的雙極性輸出端就可以得到波形波形。
採用單片機片內的振盪器、上電復位和外部硬體看門狗電路。
至於波形編碼,網上資料很多,下面是硬體電路設計的描述(這個是網上找的):
輸出兩路幅值相等相位相差90°的正弦波形作為物體偏轉測量的基準波形;另一路輸出測角波形,該波形相對基準波形的相位反映角偏差的方向、幅值反映角偏差量。專用波形發生器就是模擬角位移輸出波形的裝置,用來進行後續解調電路以及功放電路的檢測。它以單片機為核心,經過D/A轉換和放大電路的處理,最後輸出反應彈體姿態的基準波形和測角波形。
軟體方面的編程:
#include "reg52.h"
#define uchar unsigned char
#define uint unsigned int
unsigned char code table[]=; //共陰極0~9對應16進制數
//=============正弦波數據====================
uchar code sin_tab[256]=
{
0x80, 0x83, 0x86, 0x89, 0x8c, 0x8f, 0x92, 0x95, 0x98, 0x9c, 0x9f, 0xa2, 0xa5, 0xa8, 0xab, 0xae,
0xb0, 0xb3, 0xb6, 0xb9, 0xbc, 0xbf, 0xc1, 0xc4, 0xc7, 0xc9, 0xcc, 0xce, 0xd1, 0xd3, 0xd5, 0xd8,
0xda, 0xdc, 0xde, 0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, 0xec, 0xed, 0xef, 0xf0, 0xf2, 0xf3, 0xf4,
0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfc, 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfd, 0xfc, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0xf7,
0xf6, 0xf5, 0xf3, 0xf2, 0xf0, 0xef, 0xed, 0xec, 0xea, 0xe8, 0xe6, 0xe4, 0xe3, 0xe1, 0xde, 0xdc,
0xda, 0xd8, 0xd6, 0xd3, 0xd1, 0xce, 0xcc, 0xc9, 0xc7, 0xc4, 0xc1, 0xbf, 0xbc, 0xb9, 0xb6, 0xb4,
0xb1, 0xae, 0xab, 0xa8, 0xa5, 0xa2, 0x9f, 0x9c, 0x99, 0x96, 0x92, 0x8f, 0x8c, 0x89, 0x86, 0x83,
0x80, 0x7d, 0x79, 0x76, 0x73, 0x70, 0x6d, 0x6a, 0x67, 0x64, 0x61, 0x5e, 0x5b, 0x58, 0x55, 0x52,
0x4f, 0x4c, 0x49, 0x46, 0x43, 0x41, 0x3e, 0x3b, 0x39, 0x36, 0x33, 0x31, 0x2e, 0x2c, 0x2a, 0x27,
0x25, 0x23, 0x21, 0x1f, 0x1d, 0x1b, 0x19, 0x17, 0x15, 0x14, 0x12, 0x10, 0xf, 0xd, 0xc, 0xb ,
0x9, 0x8, 0x7, 0x6, 0x5, 0x4, 0x3, 0x3, 0x2, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0 ,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2, 0x3, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8 ,
0x9, 0xa, 0xc, 0xd, 0xe, 0x10, 0x12, 0x13, 0x15, 0x17, 0x18, 0x1a, 0x1c, 0x1e, 0x20, 0x23,
0x25, 0x27, 0x29, 0x2c, 0x2e, 0x30, 0x33, 0x35, 0x38, 0x3b, 0x3d, 0x40, 0x43, 0x46, 0x48, 0x4b,
0x4e, 0x51, 0x54, 0x57, 0x5a, 0x5d, 0x60, 0x63, 0x66, 0x69, 0x6c, 0x6f, 0x73, 0x76, 0x79, 0x7c,
};
//三角波信號數據表
uchar code thr_tab[32]=
{
0x00,0x0f,0x1f,0x2f,0x3f,0x4f,0x5f,0x6f,0x7f,0x8f,0x9f,0xaf,0xbf,0xcf,0xdf,0xef,
0xff,0xef,0xdf,0xcf,0xbf,0xaf,0x9f,0x8f,0x7f,0x6f,0x5f,0x4f,0x3f,0x2f,0x1f,0x0f
};
//-------------------------------------------------------------------------------------------------------
//鋸齒波信號數據表
uchar code jc_tab[33]=
{
0x00,0x08,0x0f,0x18,0x1f,0x28,0x2f,0x38,0x3f,0x48,0x4f,0x58,0x5f,0x68,0x6f,0x78,
0x7f,0x88,0x8f,0x98,0x9f,0xa8,0xaf,0xb8,0xbf,0xc8,0xcf,0xd8,0xdf,0xe8,0xef,0xf8,0xff
};
//數碼管位選控制口定義
sbit LED4=P2^7;
sbit LED3=P2^6;
sbit LED2=P2^5;
sbit LED1=P2^4;
//按鍵口申明
sbit S1=P2^3;
sbit S2=P2^2;
sbit S3=P2^1;
unsigned char tabArry[4]; //保存顯示數據
char flag=1; //按鍵標志,當flag=1時表示沒有按下,當flag=0時表示有按鍵按下
int keycount=0; //按鍵計數
unsigned char waveth,wavetl; //用於對定時器付值
unsigned int frecount=100; //頻率計數
unsigned int mbjs; //碼表計數,共采32個點
//毫秒延時程序
void delayms(int ms)
{
uchar i;
while(ms--)
{
for(i=250;i>0;i--);
}
}
//鍵盤掃描
void keyscan()
{
if(flag==1)
{
if(S3==0) //用S3切換波形
{
delayms(2); //延時去抖
if(S3==0) //按鍵計數,便於切換波形
{
flag=0;
keycount++;
if(keycount>=4) keycount=0; //四種波形計數4次
}
}
if(S2==0) //頻率加1 處理
{
delayms(2);
if(S2==0)
{
flag=0;
switch(keycount)
{
case 0: //正弦波頻率加1
frecount++;
if(frecount>1000) frecount=0;
break;
case 1: //三角波頻率加1
frecount++;
if(frecount>1000) frecount=0;
break;
case 2: //鋸齒波頻率加1
frecount++;
if(frecount>1000) frecount=0;
break;
case 3: //方波頻率加1
frecount++;
if(frecount>1000) frecount=0;
break;
}
waveth=(65536-57603/frecount)/256; //重新計算初值
wavetl=(65536-57603/frecount)%256;
}
}
if(S1==0) //頻率減1 處理
{
delayms(2);
if(S1==0)
{
flag=0;
switch(keycount)
{
case 0: //正弦波頻率減1
frecount--;
if(frecount<0) frecount=999;
break;
case 1: //三角波頻率減1
frecount--;
if(frecount<0) frecount=999;
break;
case 2: //鋸齒波頻率減1
frecount--;
if(frecount<0) frecount=999;
break;
case 3: //方波頻率減1
frecount--;
if(frecount<0) frecount=999;
break;
}
waveth=(65536-57603/frecount)/256; //重新計算初值
wavetl=(65536-57603/frecount)%256;
}
}
}
if(S1!=0 && S2!=0 && S3!=0) flag=1; //判斷按鍵是否彈起
}
//數據分位
void change(char wavetype,unsigned int frequency)
{
tabArry[0]=wavetype; //顯示字母,表示波形類型
tabArry[1]=frequency%1000/100; //百位
tabArry[2]=frequency%100/10; //十位
tabArry[3]=frequency%10; //個位
}
//顯示函數
void display()
{
switch(keycount)
{
case 0: //顯示A和正弦波的頻率
change(0x0a,frecount);
break;
case 1: //顯示b和三角波的頻率
change(0x0b,frecount);
break;
case 2: //顯示C和鋸齒波的頻率
change(0x0c,frecount);
break;
case 3: //顯示d和方波的頻率
change(0x0d,frecount);
break;
}
P0 = table[tabArry[0]]; //送最高位段碼
LED1=0; //打開對應的位選控制口
delayms(2); //顯示延時
LED1=1; //關閉對應的位選控制後顯示下一位
P0 = table[tabArry[1]];
LED2=0;
delayms(2);
LED2=1;
P0 = table[tabArry[2]];
LED3=0;
delayms(2);
LED3=1;
P0 = table[tabArry[3]];
LED4=0;
delayms(2);
LED4=1;
}
void Timerinit()
{
TMOD=0x01; //定時器0方式1
//定時器初值計算公式:X=65536-(T/T0)=65536-(f0/f/32)
TH0=waveth=(65536-57603/frecount)/256; //定時器初值 22.1184MHz
TL0=wavetl=(65536-57603/frecount)%256;
EA=1; //開總中斷
ET0=1; //開定時器0中斷
TR0=1; //定時器0開始計數
}
//主函數
void main()
{
Timerinit(); //定時器初始化
while(1)
{
keyscan(); //掃描按鍵
display(); //顯示程序
}
}
void Timer0() interrupt 1
{
TH0=waveth; //重新賦初值
TL0=wavetl;
if (keycount==0) //輸出正弦波
{
P1 = sin_tab[mbjs];
mbjs+=8; //256點,每隔8點輸出一個數據
if(mbjs>=256)
{
mbjs=0;
}
}
else if(keycount==1) //輸出三角波
{
P1 = thr_tab[mbjs];
mbjs++;
if(mbjs>=32)
{
mbjs=0;
}
}
else if(keycount==2) //輸出鋸齒波
{
P1 = jc_tab[mbjs];
mbjs++;
if(mbjs>=32)
{
mbjs=0;
}
}
else if(keycount==3) //輸出方波
{
mbjs++;
if(mbjs>=32)
{
mbjs=0;
}
else if(mbjs<16) P1=0xff;
else P1=0x00;
}
}
摘 要
函數信號發生器是一種能夠產生多種波形,如三角波、鋸齒波、矩形波(含方波)、正弦波的電路。函數信號發生器在電路實驗和設備檢測中具有十分廣泛的用途。通過對函數波形發生器的原理以及構成分析,可設計一個能變換出三角波、正弦波、方波的函數波形發生器。
本課題採用由集成運算放大器與晶體管差分放大器共同組成的方波—三角波—正弦波函數發生器的設計方法,先通過比較器產生方波,再通過積分器產生三角波,最後通過差分放大器形成正弦波。波形變換的原理是利用差分放大器傳輸特性曲線的非線性。
經過模擬得出了方波、三角波、正弦波、方波——三角波轉換及三角波——正弦波轉換的波形圖。
關鍵字:函數信號發生器、集成運算放大器、晶體管差分放
設計目的、意義
1 設計目的
(1)掌握方波—三角波——正弦波函數發生器的原理及設計方法。
(2)掌握遲滯型比較器的特性參數的計算。
(3)了解單片集成函數發生器8038的工作原理及應用。
(4)能夠使用電路模擬軟體進行電路調試。
2 設計意義
函數發生器作為一種常用的信號源,是現代測試領域內應用最為廣泛的通用儀器之一。
在研製、生產、測試和維修各種電子元件、部件以及整機設備時,都學要有信號源,由它產生不同頻率不同波形的電壓、電流信號並加到被測器件或設備上,用其他儀器觀察、測量被測儀器的輸出響應,以分析確定它們的性能參數。信號發生器是電子測量領域中最基本、應用最廣泛的一類電子儀器。它可以產生多種波形信號,如正弦波,三角波,方波等,因而廣泛用於通信、雷達、導航、宇航等領域。
設計內容
1 課程設計的內容與要求(包括原始數據、技術參數、條件、設計要求等):
1.1課程設計的內容
(1)該發生器能自動產生正弦波、三角波、方波。
(2)函數發生器以集成運放和晶體管為核心進行設計
(3)指標:
輸出波形:正弦波、三角波、方波
頻率范圍:1Hz~10Hz,10Hz~100Hz
輸出電壓:方波VP-P≤24V,三角波VP-P=8V,正弦波VP-P>1V;
(4)對單片集成函數發生器8038應用接線進行設計。
1.2課程設計的要求
(1)提出具體方案
(2)給出所設計電路的原理圖。
(3)進行電路模擬,PCB設計。
2 函數波形發生器原理
2.1函數波形發生器原理框圖
圖2.1 函數發生器組成框圖
2.2函數波形發生器的總方案
函數發生器一般是指能自動產生正弦波、三角波、方波及鋸齒波、階梯波等電壓波形的電路或儀器。根據用途不同,有產生三種或多種波形的函數發生器,使用的器件可以是分立器件 (如低頻信號函數發生器S101全部採用晶體管),也可以採用集成電路(如單片函數發生器模塊8038)。為進一步掌握電路的基本理論及實驗調試技術,本課題採用由集成運算放大器與晶體管差分放大器共同組成的方波—三角波—正弦波函數發生器的設計方法。
產生正弦波、方波、三角波的方案有多種,如首先產生正弦波,然後通過整形電路將正弦波變換成方波,再由積分電路將方波變成三角波;也可以首先產生三角波—方波,再將三角波變成正弦波或將方波變成正弦波等等。本課題採用先產生方波—三角波,再將三角波變換成正弦波的電路設計方法[3]。
由比較器和積分器組成方波—三角波產生電路,比較器輸出的方波經積分器得到三角波,三角波到正弦波的變換電路主要由差分放大器來完成。差分放大器具有工作點穩定,輸入阻抗高,抗干擾能力較強等優點。特別是作為直流放大器時,可以有效地抑制零點漂移,因此可將頻率很低的三角波變換成正弦波。波形變換的原理是利用差分放大器傳輸特性曲線的非線性。
2.3函數波形發生器各組成部分的工作原理
2.3.1方波發生電路的工作原理
此電路由反相輸入的滯回比較器和RC電路組成。RC迴路既作為延遲環節,又作為反饋網路,通過RC充、放電實現輸出狀態的自動轉換。設某一時刻輸出電壓Uo=+Uz,則同相輸入端電位Up=+Ut。Uo通過R3對電容C正向充電,如圖2.3中實線箭頭所示。反相輸入端電位n隨時間t的增長而逐漸增高,當t趨於無窮時,Un趨於+Uz;但是,一旦Un=+Ut,再稍增大,Uo從+Uz躍變為-Uz,與此同時Up從+Ut躍變為-Ut。隨後,Uo又通過R3對電容C反向充電,如圖中虛線箭頭所示。Un隨時間逐漸增長而減低,當t趨於無窮大時,Un趨於-Uz;但是,一旦Un=-Ut,再減小,Uo就從-Uz躍變為+Uz,Up從-Ut躍變為+Ut,電容又開始正相充電。上述過程周而復始,電路產生了自激振盪[4]。
2.3.2方波——三角波轉換電路的工作原理
圖2.2方波—三角波產生電路
工作原理如下:
若a點斷開,整個電路呈開環狀態。運算發大器A1與R1、R2及R3、RP1組成電壓比較器,C1為加速電容,可加速比較器的翻轉。運放的反相端接基準電壓,即U-=0,同相輸入端接輸入電壓Uia,R1稱為平衡電阻。比較器的輸出Uo1的高電平等於正電源電壓+Vcc,低電平等於負電源電壓-Vee(|+Vcc|=|-Vee|), 當比較器的U+=U-=0時,比較器翻轉,輸出Uo1從高電平跳到低電平-Vee,或者從低電平Vee跳到高電平Vcc。設Uo1=+ Vcc,則
(2.1)
將上式整理,得比較器翻轉的下門限單位Uia_為
(2.2)
若Uo1=-Vee,則比較器翻轉的上門限電位Uia+為
(2.3)
比較器的門限寬度:
(2.4)
由以上公式可得比較器的電壓傳輸特性,如圖2.3所示。
a點斷開後,運放A2與R4、RP2、C2及R5組成反相積分器,其輸入信號為方波Uo1,則積分器的輸出Uo2為:
(2.5)
時,
(2.6)
時,
(2.7)
可見積分器的輸入為方波時,輸出是一個上升速度與下降速度相等的三角波,其波形關系如圖2.4所示。
a點閉合,即比較器與積分器形成閉環電路,則自動產生方波-三角波。三角波的幅度為:
(2.8)
方波-三角波的頻率f為:
(2.9)
由以上兩式(2.8)及(2.9)可以得到以下結論:
(1) 電位器RP2在調整方波-三角波的輸出頻率時,不會影響輸出波形的幅度。若要求輸出頻率的范圍較寬,可用C2改變頻率的范圍,PR2實現頻率微調。
(2) 方波的輸出幅度應等於電源電壓+Vcc。三角波的輸出幅度應不超過電源電壓+Vcc。
電位器RP1可實現幅度微調,但會影響方波-三角波的頻率[3]。
圖2.3比較器的電壓傳輸特性
圖2.4方波與三角波波形關系
2.3.3三角波---正弦波轉換電路的工作原理
如圖2.5三角波——正弦波的變換電路主要由差分放大電路來完成。
差分放大器具有工作點穩定,輸入阻抗高,抗干擾能力較強等優點。特別是作為直流放大器,可以有效的抑制零點漂移,因此可將頻率很低的三角波變換成正弦波。波形變換的原理是利用差分放大器傳輸特性曲線的非線性[1]。
圖2.5 三角波——正弦波的變換電路
分析表明,傳輸特性曲線的表達式為:
(2.10)
(2.11)
式中
——差分放大器的恆定電流;
——溫度的電壓當量,當室溫為25oc時, ≈26mV。
如果Uid為三角波,設表達式為
(2.12)
式中 Um——三角波的幅度;
T——三角波的周期。
為使輸出波形更接近正弦波,由圖2.6可見:
(1)傳輸特性曲線越對稱,線性區越窄越好。
(2)三角波的幅度Um應正好使晶體管接近飽和區或截止區。
(3)圖2.7為實現三角波——正弦波變換的電路。其中RP1調節三角波的幅度,RP2調整電路的對稱性,其並聯電阻RE2用來減小差分放大器的線性區。電容C1,C2,C3為隔直電容,C4為濾波電容,以濾除諧波分量,改善輸出波形[2]。
圖2.6三角波—正弦波變換原理
圖2.7三角波—正弦波變換電路
2.4電路的參數選擇及計算
2.4.1方波-三角波中電容C1變化(關鍵性變化之一)
實物連線中,我們一開始很長時間出不來波形,後來將C2從10uf(理論時可出來波形)換成0.1uf時,順利得出波形。實際上,分析一下便知當C2=10uf時,頻率很低,不容易在實際電路中實現。
2.4.2三角波—正弦波部分的計算
比較器A1與積分器A2的元件計算如下:
由式(2.8)得
即
取 ,則 ,取 ,RP1為47KΩ的點位器。取平衡電阻
由式(2.9)
即
當 時,取 ,則 ,取 ,為100KΩ電位器。當 時 ,取 以實現頻率波段的轉換,R4及RP2的取值不變。取平衡電阻 。
三角波—正弦波變換電路的參數選擇原則是:隔直電容C3、C4、C5要取得較大,因為輸出頻率很低,取 ,濾波電容 視輸出的波形而定,若含高次斜波成分較多, 可取得較小, 一般為幾十皮法至0.1微法。RE2=100歐與RP4=100歐姆相並聯,以減小差分放大器的線性區。差分放大器的靜態工作點可通過觀測傳輸特性曲線,調整RP4及電阻R*確定。
2.5 總電路圖
先通過比較器產生方波,再通過積分器產生三角波,最後通過差分放大器形成正弦波。如圖2.5.1所示,
圖2.5.1三角波-方波-正弦波函數發生器實驗電路
2.6 8038單片集成函數發生器
2.6.1 8038的工作原理
8038由恆流源I1、I2,電壓比較器C1、C2和觸發器①等組成。其內部原理電路框圖和外部引腳排列分別如圖2.8和圖2.9所示。
圖2.8 8038原理框圖
圖2.9 8038管腳圖(頂視圖)
1. 正弦波線性調節;2. 正弦波輸出;3. 三角波輸出;4. 恆流源調節;5. 恆流源調節;6. 正電源;7. 調頻偏置電壓;8. 調頻控制輸入端;9. 方波輸出(集電極開路輸出); 10. 外接電容;11. 負電源或接地;12.正弦波線性調節;13、14. 空腳
在圖2.8中,電壓比較器C1、C2的門限電壓分別為2VR/3和VR/3( 其中VR=VCC+VEE),電流源I1和I2的大小可通過外接電阻調節,且I2必須大於I1。當觸發器的Q端輸出為低電平時,它控制開關S使電流源I2斷開。而電流源I1則向外接電容C充電,使電容兩端電壓vC隨時間線性上升,當vC上升到vC=2VR/3 時,比較器C1輸出發生跳變,使觸發器輸出Q端由低電平變為高電平,控制開關S使電流源I2接通。由於I2>I1 ,因此電容C放電,vC隨時間線性下降。當vC下降到vC≤VR/3 時,比較器C2輸出發生跳變,使觸發器輸出端Q又由高電平變為低電平,I2再次斷開,I1再次向C充電,vC又隨時間線性上升。如此周而復始,產生振盪。若I2=2I1 ,vC上升時間與下降時間相等,就產生三角波輸出到腳3。而觸發器輸出的方波,經緩沖器輸出到腳9。三角波經正弦波變換器變成正弦波後由腳2輸出。當I1<I2<2I1 時,vC的上升時間與下降時間不相等,管腳3輸出鋸齒波。因此,8038能輸出方波、三角波、正弦波和鋸齒波等四種不同的波形。
圖2.8中的觸發器,當R端為高電平、S端為低電平時,Q端輸出低電平;反之,則Q端為高電平。
2.6.2 8038構成函數波形發生器
由圖2.9可見,管腳8為調頻電壓控制輸入端,管腳7輸出調頻偏置電壓,其值(指管腳6與7之間的電壓)是(VCC+VEE/5) ,它可作為管腳8的輸入電壓。此外,該器件的方波輸出端為集電極開路形式,一般需在正電源與9腳之間外接一電阻,其值常選用10k左右,如圖2.10所示。當電位器Rp1動端在中間位置,並且圖中管腳8與7短接時,管腳9、3和2的輸出分別為方波、三角波和正弦波。電路的振盪頻率f約為0.3/[C(R1+RP1/2)] 。調節RP1、RP2可使正弦波的失真達到較理想的程度。
在圖2.10中,當RP1動端在中間位置,斷開管腳8與7之間的連線,若在+VCC與-VEE之間接一電位器,使其動端與8腳相連,改變正電源+VCC與管腳8之間的控制電壓(即調頻電壓),則振盪頻率隨之變化,因此該電路是一個頻率可調的函數發生器。如果控制電壓按一定規律變化,則可構成掃頻式函數發生器。
圖2.10 8038接成波形產生器阿
3電路模擬
3.1電路模擬
3.1.1方波——三角波發生電路的模擬
圖3.1 方波
圖3.2 三角波
圖3.3 方波——三角波
3.1.2三角波---正弦波轉換電路的模擬
圖3.4 三角波——正弦波
參考文獻
[1]王 遠.模擬電子技術(第二版)[M].北京:機械工業出版社,2000
[2]謝自美.電子線路設計實驗測試(第二版)[M].武昌:華中科技大學出版社,2000
[3]路 勇.電子電路實驗及模擬[M].清華大學出版社,2003
[4]胡宴如.模擬電子技術[M].北京:高等教育出版社,2000
[5]周躍慶.模擬電子技術基礎教程[M].天津大學出版社, 2001
[6]曾建唐.電工電子實踐教程[M].北京:機械工業出版社,2002
J. 波形為什麼沒有變化 模擬是成功的
波形。他的。變化可能用我們的肉眼。分辨不出來,其實它是有變化的。他的模擬是非常成功的。