#include
#include
#include
#define DA0832 XBYTE[0Xa000]
#define uchar unsigned char
#define S1 XBYTE[0X0000]
#define S2 XBYTE[0X2000]
#define S3 XBYTE[0X4000]
uchar code tab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar code tosin[256]={0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5
,0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5
,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd
,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda
,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99
,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51
,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16
,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02 ,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15
,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e
,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80 };
uchar fun=0,b=0,c=0,d=0,tl,th;
void key1(void);
void key2(void);
void key3(void);
void key4(void);
void judge(void);
void main(void)
{
TMOD=0X01;
TR0=1;
th=0xff;
tl=0xd0;
TH0=th;
TL0=tl;
ET0=1;
EA=1;
while(1)
{
judge();
}
}
void judge(void)
{
uchar line,row,de1,de2,keym;
P1=0x0f;
keym=P1;
if(keym==0x0f)return;
for(de1=0;de1<200;de1++)
for(de2=0;de2<125;de2++){;}
P1=0x0f;
keym=P1;
if(keym==0x0f)return;
P1=0x0f;
line=P1;
P1=0xf0;
row=P1;
line=line+row;/*存放特征鍵值*/
if(line==0xde)key1();
if(line==0x7e)key2();
if(line==0xbd)key3();
if(line==0x7d)key4();
}
void key1(void) //1鍵選擇發波類型,1為正弦波,2為三角波,3為方波
{
fun++;
if(fun==4)fun=0x00;
}
void key2(void) //2鍵加大頻率
{
tl++;
if(tl==0x1f)th++;
}
void key3(void) //3鍵減小頻率
{
tl--;
if(tl==0x00)th--;
}
void key4(void) //4鍵顯示頻率
{
double t;
int f;
TR0=0;//ET0的區別
t=(65535-th*256-tl)*0.4;
f=(int)(1000/t);
S3=tab[f%10];
f=f/10;
S2=tab[f%10];
f=f/10;
if(f==0)S1=0;
else S1=tab[f];
TR0=1;
}
void time0_int(void) interrupt 1 //中斷服務程序
{
TR0=0;
if(fun==1)
{
DA0832=tosin; //正弦波
b++;
}
else if(fun==2) //三角波
{
if(c<128)DA0832=c;
else DA0832=255-c;
c++;
}
else if(fun==3) // 方波
{
d++;
if(d<=128)DA0832=0x00;
else DA0832=0xff;
}
TH0=th;
TL0=tl;
TR0=1;
}
簡單信號發生器源程序C語言代碼
- 源程序(47017)
相關推薦
熱點推薦
PIC單片機C語言程序設計
文中,我們已在 MPLABIDE7.40集成開發環境中編輯 了pic07C源程序 (0~99秒脈沖發生器 )。對于PIC單片機來說 ,所有的C語言源程序,都要在進行編譯并生成 目標碼 .hex文件后,方能...
2021-07-15 08:56:00
基于labview的虛擬簡單信號發生器
基于labview信號發生器的設計過程分享給大家1.建立一個新的vi模板新的vi分為前面板和程序框圖兩部分2.在前面板上將我們需要的控件添加進去包括一個字符串組件作為標題,一個文本下拉列表作為波形
2022-03-31 16:28:10
串行編程器源程序(Keil C語言)
串行編程器源程序(Keil C語言)//FID=01:AT89C2051系列編程器//實現編程的讀,寫,擦等細節//AT89C2051的特殊處:給XTAL一個脈沖,地址計數加1;P1的引腳排列與AT89C51相反,需要用函
2009-01-21 14:38:23
122
122C程序的運行環境和C語言的數據類型
⒈ 實驗目的⑴ 了解在具體的語言環境下如何編輯、編譯、連接和運行一個C程序。⑵ 通過運行簡單的C程序,初步了解C源程序的特點。⑶ 掌握C語言數據類型,熟悉如何定義一
2010-06-21 09:36:04
55
55信號發生器專業基礎知識問答
1.何為信號發生器?怎么分類?答:凡能產生測試信號的源叫作信號發生器。信號發生器種類很多,按其性能可劃分為標準信號發生器、簡易信號發生器、正弦波信號發生器、脈沖
2010-08-06 15:27:54
74
7410種簡單的數字濾波算法(C語言源程序)
10種簡單的數字濾波算法(C語言源程序)
假定從8位AD中讀取數據(如果是更高位的AD可定義數據類型為int),子程
2009-07-16 15:17:17
17986
17986基于FPGA的DDS波形信號發生器的設計
設計采用Altera公司CycloneII系列EP2C5Q208作為核心器件,采用直接數字頻率合成技術實現了一個頻率、相位可控的基本信號發生器。該信號發生器可以產生正弦波、方波、三角波和鋸齒波四種波形。仿真及硬件驗證的結果表明,該信號發生器精度高,抗干擾性好,此設計方案具有一定的實用性。
2013-01-22 14:45:33
472
472信號發生器原理_DDS芯片及應用_DDS信號發生器設計
本專題匯集了四十種DDS信號發生器各部分資料,包括信號發生器原理,DDS芯片及應用,信號發生器電路圖及DDS信號發生器設計,為你免除大量自行搜索的時間,讓你深入了解DDS信號發生器。
2015-06-23 10:41:36

簡易信號發生器的設計
基于Labview 的簡易信號發生器的設計,該系統具有生成四種基本波形:正弦波、方波、三角波、鋸齒波的功能。并且該系統具有顯示、存儲、波形回放、打印等功能。
內含源程序和報告。
2016-09-22 12:04:45
34
34脈沖信號發生器原理
脈沖信號發生器是 信號發生器的一種。信號發生器按信號源有很多種分類方法,其中一種方法可分為混和信號源和邏輯信號源兩種。其中混和信號源主要輸出模擬波形;邏輯信號源輸出數字碼形。混和信號源又可分為函數
2017-10-26 17:09:54
23381
23381
基于AT89C51的信號發生器設計
,需要用信號發生器模擬汽車發動時的狀態,檢測各個相關點的電壓或波形,從而判斷故障類型.因此,信號發生器是不可缺少的維修工具,但信號發生器價格較高,在比較小的維修站,可以用簡單的電路來實現信號模擬,例如,桑塔納2000型的CKP信號是霍爾式傳感器輸出的方波,可通過NE555構建一個簡單的方波發生
2017-11-25 09:42:02
11
11不同信號發生器介紹
信號發生器在測試系統中有明確規定的任務:模擬被測設備(DUT)在正常工作時可能遇到的信號。這種信號過去只是正弦波、脈沖或經過模擬調制的信號。但隨著通信格式不斷發展而不再局限于簡單的調幅(AM)和調頻(FM),對信號發生器的要求正變得越來越高。
2017-12-08 05:40:20
8209
8209基于AT89C52單片機簡易函數信號發生器畢業設計
本次作品是一個基于單片機設計的函數信號發生器。函數信號發生器的設計方法有多種,利用單片機設計的函數信號發生器具有編程靈活,功能更以擴充等實際的優點。利用單片機設計的函數信號發生器能夠產生正弦波,鋸齒
2017-12-10 11:51:35
175
175DDS函數信號發生器是什么_DDS函數信號發生器簡單介紹
本文對DDS函數信號發生器的結構原理、優點、主要功能特性、主要技術指標四個方面進行了簡單的介紹。
2018-01-08 10:41:50
15599
15599
使用51單片機設計簡單方波發生器的程序免費下載
本文檔的主要內容詳細介紹的是使用51單片機設計簡單方波發生器的程序免費下載。一個按鍵可以調整頻率的簡易方波信號發生器,當頻率超出范圍時LED亮,頻率范圍是100-1000hz。
2019-08-13 17:32:00
13
13霍爾信號發生器的基本結構_霍爾信號發生器的工作原理
霍爾信號發生器又叫霍爾脈沖信號發生器,也叫霍爾信號傳感器、霍爾脈沖傳感器,它是利用霍爾效應制成,裝在無觸點分電器中。
2019-10-13 16:28:00
17369
17369
脈沖信號發生器原理_脈沖信號發生器應用領域
脈沖信號發生器是信號發生器的一種。信號發生器按信號源有很多種分類方法,其中一種方法可分為混和信號源和邏輯信號源兩種。其中混和信號源主要輸出模擬波形;邏輯信號源輸出數字碼形。
2019-12-19 14:59:52
15350
15350
如何選擇信號發生器和調整信號發生器的靈敏度
在這篇文章中,小編將對信號發生器在靈敏度調節方面的應用予以介紹,并告訴大家如何選擇一款合適的信號發生器,在文章最后還將對脈沖信號發生器加以簡單介紹。如果你對本文內容具有興趣,不妨繼續往下閱讀哦。
2021-02-09 17:45:00
6329
6329PIC16F887 單片機 PROTEUS 仿真 C程序 信號發生器
電子發燒友網站提供《PIC16F887 單片機 PROTEUS 仿真 C程序 信號發生器.pdf》資料免費下載
2021-11-16 16:21:07
28
28單片機信號發生器程序
文章目錄單片機信號發生器程序單片機信號發生器程序有了 D/A 這個武器,我們就不僅僅可以輸出方波信號了,可以輸出任意波形了,比如正弦波、三角波、鋸齒波等等。以正弦波為例,首先我們要建立一個正弦波的波
2021-11-23 17:21:36
3
3泰克Tektronix AFG3102C 波形函數信號發生器
任意函數發生器同類*佳性能保證信號得到準確復現。AFG3102C 任意函數發生器具有大顯示器和 25 個快捷鍵,簡單易學,使用方便。
2021-12-16 17:46:21
2381
2381淺談信號發生器的使用方法
信號發生器怎么調電壓。其實信號發生器是指產生所需參數的電測試信號的儀器。按信號波形可分為正弦信號、函數(波形)信號、脈沖信號和隨機信號發生器等四大類。信號發生器又稱信號源或振蕩器,在生
2022-03-21 14:33:28
5426
5426是德科技KEYSIGHT E8257C信號發生器
安捷倫Agilent-E8257C E8257C PSG 模擬信號發生器,高達20 / 40 GHz描述: Agilent-E8257C通過增加斜波掃描升級了PSG模擬信號發生器,它提供連續的掃描
2022-06-29 10:23:39
4229
4229什么是信號發生器 信號發生器類型總結
脈沖發生器: 顧名思義,脈沖發生器是一種產生脈沖的信號發生器。這些信號發生器通常采用邏輯脈沖發生器的形式,可以產生具有可變延遲的脈沖,有些甚至提供可變上升和下降時間。
2022-08-02 15:48:42
5862
5862信號發生器的簡單介紹
有的時候我們可能要產生一些信號,這種信號的產生有可能是要滿足某一些使用的要求,也可能是要對某一些信號來進行補償,又或者想要對某些信號來進行激勵,然后我們要另外發生一些信號,這個東西就是所謂的信號發生器。下面就來給大家介紹一下這種設備到底是一種什么樣的設備?
2022-08-19 17:29:22
4031
4031信號發生器的作用和組成
在日常實驗中信號發生器經常和功率放大器一起搭配使用,很多人都知道信號源,也就是信號發生器,但是對信號發生器的作用和組成都不太了解。安泰電子為大家帶來信號發生器的科普常識,希望大家對信號發生器能夠有所了解。
2022-10-19 09:00:15
5527
5527
信號發生器作用和組成
在日常實驗中信號發生器經常和功率放大器一起搭配使用,很多人都知道信號源,也就是信號發生器,但是對信號發生器的作用和組成都不太了解。安泰電子為大家帶來信號發生器的科普常識,希望大家對信號發生器能夠
2023-02-17 10:55:28
6
6簡單的晶閘管信號發生器電路
一種非常簡單的晶閘管信號發生器電路,它使用單個晶閘管、兩個電阻器、一個電容器和一個微型揚聲器。一旦電路通過電流源切換,電流流過R1并接通晶閘管。晶閘管傳導電流并向電容器。
2023-07-24 16:56:33
1254
1254
AFG3102C泰克信號發生器維修通道1輸出故障最新案例
近日某院校送修泰克信號發生器AFG3102C,客戶反饋信號發生器信號發生器儀器通道1輸出設置方波輸出為三角波,對儀器進行初步檢測,確定與客戶描述故障一致,并且輸出幅度低很多。本期將為大家分享本維修
2023-08-15 16:20:20
1796
1796
簡易信號發生器的設計
簡易信號發生器的設計? 信號發生器是一種能夠產生可靠、標準化的交替電流、交流電壓和脈沖的電子設備。在電子測試和測量、頻率標準校準等領域中,信號發生器都是不可或缺的儀器。然而,通常市面上的信號發生器都
2023-08-24 15:49:50
3335
3335c語言源程序的基本單位
C語言源程序的基本單位是函數。函數是一組語句的集合,用于完成特定的任務。每個C程序必須包含一個主函數(main function),它是程序的入口,所有的代碼執行都從這里開始。 C語言源程序可以由一
2023-11-24 10:20:04
3707
3707c語言源程序main函數的位置
理解C語言程序的執行過程。 C語言程序的執行過程可以簡單概括為以下幾個步驟: 掃描源代碼:在程序執行前,編譯器會將C語言源代碼進行掃描。這個過程包括詞法分析和語法分析,目的是將源代碼轉換為可執行的二進制代碼。 編譯:經過掃描后,編譯
2023-11-24 10:23:26
4064
4064c語言編寫的源程序可以直接運行嗎
C語言編寫的源程序不能直接運行,必須經過一系列的編譯鏈接過程才能生成可執行文件,然后才能運行。 C語言是一種高級編程語言,它的源代碼需要被編譯器翻譯成機器語言才能被計算機執行。源程序是以文本文件
2023-11-26 09:03:04
10052
10052如何把c語言源程序變成應用程序
將C語言源程序轉變為應用程序可以分為以下幾個步驟:編寫源代碼、編譯、鏈接和運行。在這篇文章中,我將詳細介紹這些步驟以及相關的工具和技術。 第一步是編寫源代碼。在C語言中,源代碼是以文本形式編寫
2023-11-26 09:04:08
4727
4727信號發生器怎么輸出調制信號 信號發生器輸出信號衰減如何調整?
信號發生器怎么輸出調制信號 信號發生器輸出信號衰減如何調整? 信號發生器是一種用來產生各種類型、頻率和幅度的信號的儀器。它通常用于測試和調試各種電子設備。其中包括調制信號,即將消息信號(基帶信號
2023-12-21 14:56:10
9626
9626信號發生器如何發出雙脈沖?
信號發生器如何發出雙脈沖? 信號發生器是一種用于產生各種信號波形的儀器。雙脈沖信號是一種特殊的信號波形,由兩個脈沖組成,通常用于測試和測量系統的響應和性能。在本文中,將詳細介紹信號發生器如何發出雙
2023-12-21 15:03:35
4289
4289信號發生器是干什么用的 信號發生器的使用方法
信號發生器是一種電子測試儀器,用于產生各種類型的電信號。它可以在實驗室、工廠和其他領域提供標準化的、可重復的信號,用于測試和驗證其他電子設備的性能。信號發生器的使用方法有很多種,下面將詳細介紹。 一
2024-01-19 14:51:02
5495
5495信號發生器是干什么用的 信號發生器和示波器怎么連接
信號發生器是一種用于產生各種電信號的設備,它在電子設備測試、電路調試、教學實驗等領域得到廣泛應用。信號發生器可以產生不同頻率、幅度、波形和相位的電信號,用于檢驗和測量電路的性能。 信號發生器可以提供
2024-01-30 10:08:07
4526
4526proteus信號發生器怎么設置方波
Proteus信號發生器是一種強大的虛擬儀器,可以生成各種類型的電子信號,包括方波信號。在本文中,我們將詳細介紹如何在Proteus信號發生器中設置方波信號。 Proteus是一款著名的電子仿真軟件
2024-02-23 16:44:58
16253
16253信號發生器的作用、類型及應用
信號發生器,作為電子測量和測試領域的重要設備,其在電子技術的發展和應用中扮演著至關重要的角色。從簡單的模擬信號產生到復雜的數字信號調制,信號發生器都發揮著不可替代的作用。本文將深入探討信號發生器的作用、原理、類型、應用以及未來發展,以期為讀者提供一個全面而深入的了解。
2024-05-14 16:00:01
2937
2937函數發生器、信號發生器和波形發生器的區別
在電子測試和測量領域,函數發生器、信號發生器和波形發生器都是重要的測試儀器,它們各自具有獨特的功能和應用場景。本文將詳細介紹這三種發生器的原理、功能以及它們之間的區別。
2024-05-15 14:49:42
3254
3254使用CMOS的簡單IF信號頻率發生器電路圖
這是一個簡單的IF AM信號發生器電路,輸出頻率為455kHz。我們使用簡單的元件,CMOSIC:CD4011,CD4040。并使用晶振-3.579MHz控制固定頻率。
2024-06-09 16:09:00
2163
2163
信號發生器的使用方法 信號發生器的幅值是有效值嗎
信號發生器是一種電子設備,用于生成具有特定特性的電信號,如正弦波、方波、鋸齒波等。信號發生器廣泛應用于測試和測量領域,如電子電路設計、通信系統、醫療設備等。本文將詳細介紹信號發生器的使用方法、幅值
2024-06-03 10:56:17
6189
6189信號發生器的sync什么意思
信號發生器是一種電子設備,用于產生具有特定頻率、幅度和波形的電信號。這些信號可以用于測試和測量電子設備的性能,或者作為其他電子系統的輸入信號。在信號發生器中,"Sync"一詞通常指的是同步功能,它
2024-06-03 10:59:40
7041
7041信號發生器頻率怎么調
信號發生器是一種電子設備,用于產生具有特定頻率、幅度和波形的電信號。這些信號可以用于測試和校準各種電子設備,如放大器、濾波器、振蕩器等。在本文中,我們將詳細介紹如何調整信號發生器的頻率。 1. 了解
2024-06-03 11:06:25
4005
4005
電子發燒友App













評論