#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語言代碼
- 源程序(45149)
相關推薦
信號發生器
請問,信號發生器只能輸出有正有負的信號嗎?例如,我導入的峰峰值5V的信號,電壓范圍為0~5V,利用型號為AFG2021-SC的發生器輸出信號只能為-2.5~2.5V,可以調節嗎。
2018-01-02 11:28:09
信號發生器的基礎知識介紹
本文主要介紹信號發生器的基礎知識,首先介紹通用的信號發生器有哪些分類,并簡要說明了各種信號源的特點和作用,另外重點講解了信號發生器的主要指標,介紹了現有信號發生器一些特殊功能。關鍵詞:任意波形發生器、函數信號發生器、頻率分辨率、存儲深度
2019-06-04 07:52:41
AFG3011C函數發生器回收、泰克AFG3011C
應用需要。AFG3011C 任意函數發生器同類*佳性能保證信號得到準確復現。AFG3101C 任意函數發生器具有大顯示器和 25 個快捷鍵,簡單易學,使用方便。 泰克Tektronix AFG3011C
2021-06-28 20:03:13
AWG7122C|信號發生器|AWG7122C 現金收購
找不到聯系方式,請在瀏覽器上搜索一下,旺貿通儀器儀 簡單介紹 AWG7000任意波形發生器:AWG7082C、AWG7122C詳細說明 AWG7122C信號發生器AWG7082C信號發生器
2022-01-06 12:55:41
Agilent E4438C 矢量信號發生器E4438C Agilent E4438C 矢量信號發生器
Agilent E4438C 矢量信號發生器E4438C Agilent E4438C 矢量信號發生器Agilent E4438C ESG矢量信號發生器詳細描述:主要特性與技術指標 信號特征250
2018-11-08 11:00:25
Agilent E4438C矢量信號發生器供應Agilent E4438C矢量信號發生器 Agilent E4438C ESG矢量信號發生器
Agilent E4438C矢量信號發生器供應Agilent E4438C矢量信號發生器 Agilent E4438C ESG矢量信號發生器Agilent E4438C ESG矢量信號發生器詳細描述
2018-10-26 10:55:56
PIC單片機C語言程序設計
文中,我們已在 MPLABIDE7.40集成開發環境中編輯 了pic07C源程序 (0~99秒脈沖發生器 )。對于PIC單片機來說 ,所有的C語言源程序,都要在進行編譯并生成 目標碼 .hex文件后,方能...
2021-07-15 08:56:00
供應Agilent E4438C信號發生器
和 IVI-COM 驅動程序向后兼容 ESG、PSG 和 8648 信號發生器 描述 射頻性能和領先的基帶生成AgilentE4438C ESG 矢量信號發生器將優異的射頻性能與完美的基帶信號生成能力相結合
2018-09-11 16:27:13
函數信號發生器
設計簡單、性能優良,具有一定的實用性。本設計主要應用AT89S51作為控制核心。硬件電路簡單,軟件功能完善,控制系統可靠,性價比較高等特點,具有一定的使用和參考價值。 1.緒論信號發生器現狀信號發生器
2012-07-26 16:10:39
分享是德科技E8267C信號發生器維修案例
安泰測試維修武漢某院校是德科技E8267C信號發生器案例近期武漢某院校送修一臺是德科技E8267C信號發生器,客戶報修儀器自測試未通過,下面跟著安泰維修中心的工程師一起來看看信號發生器是如何維修
2019-11-29 15:07:10
回收庫存 AWG7122C 信號發生器
,請在瀏覽器上搜索一下,旺貿通儀器儀【簡單介紹】AWG7000任意波形發生器:AWG7082C、AWG7122C 【詳細說明】AWG7122C信號發生器AWG7082C信號發生器、AWG7122C信號
2019-09-17 09:46:56
基于labview的虛擬簡單信號發生器
基于labview信號發生器的設計過程分享給大家1.建立一個新的vi模板新的vi分為前面板和程序框圖兩部分2.在前面板上將我們需要的控件添加進去包括一個字符串組件作為標題,一個文本下拉列表作為波形
2022-03-31 16:28:10
基于stm32的信號發生器設計
基于stm32的信號發生器設計,完成的課程設計,把代碼分享給大家,代碼比較簡單,適合新手。使用DDS的方法,把正弦波、三角波、矩形波的數值存在對應的數組中,不斷調用數組輸出,產生波形。使用DAC將
2021-08-09 06:45:38
如何使用PSoC創建者3程序的信號發生器?
您好!我做的是過濾器ADCYVDAC例子,不知道如何使用PSoC創建者3程序的信號發生器。我沒有一個代言人。是不是有什么組件呢?(信號發生器)最好的問候,
2019-08-19 10:25:24
如何去實現基于單片機的信號發生器程序
信號發生器程序*/#include #include #include //1、IO口以及變量定義等unsigned int pinlv;//頻率值unsigned char fudu;//幅度系數,1~10,表示5v的0.10.2 0.3~1的10倍unsigned c
2021-12-02 07:47:03
安捷倫E4428C信號發生器agilent E4428C射頻發生器
和 GPIBSCPI 和 IVI-COM 驅動程序向后兼容所有 ESG 信號發生器Agilent E4428C ESG 模擬信號發生器提供出色的頻譜純度、電平精度、輸出功率和高達 3 GHz 或 6 GHz
2021-08-06 08:52:42
泰克Tektronix AFG3011C 任意函數發生器 使用說明
選項,一臺設備可支持多種應用需要。AFG3011C 任意函數發生器同類*佳性能保證信號得到準確復現。AFG3101C 任意函數發生器具有大顯示器和 25 個快捷鍵,簡單易學,使用方便。泰克
2021-10-27 15:07:05
脈沖信號發生器
哪個大神能提供一下E題的第五問的信號發生器的FPGA的程序,用的是STM32F1。提供一個標準矩形脈沖信號發生器,要求:a) 頻率為1MHz,誤差的絕對值不大于0.1%;b) 脈寬為100ns,誤差
2016-07-27 21:04:06
請問有什么簡單的信號發生器可以產生低功率的幾MHz信號?
2013年1月30日*信號發生器基礎知識和新應用網絡廣播*的問題和解答問題:是否有任何簡單的信號發生器可以產生低功率的幾MHz信號? 以上來自于谷歌翻譯 以下為原文Questions
2019-07-17 07:25:07
銷售/回收8648C合成信號發生器
銷售/回收8648C合成信號發生器東莞市鵬慶電子儀器有限公司地址:廣東省東莞市塘廈鎮花園新街花園中心A座12B聯系人:歐陽先生:***(同微) 王女士18938556651 電話
2022-02-12 14:17:56
銷售/回收8648C合成信號發生器
銷售/回收8648C合成信號發生器東莞市鵬慶電子儀器有限公司地址:廣東省東莞市塘廈鎮花園新街花園中心A座12B聯系人:歐陽先生:***(同微) 王女士18938556651 電話
2022-02-14 15:38:00
銷售/回收8648C合成信號發生器
銷售/回收8648C合成信號發生器東莞市鵬慶電子儀器有限公司地址:廣東省東莞市塘廈鎮花園新街花園中心A座12B聯系人:歐陽先生:***(同微) 王女士18938556651 電話
2022-03-03 16:52:29
波形發生器,含原理圖+電路圖+源程序
含原理圖+電路圖+程序的波形發生器:在工作中,我們常常會用到波形發生器,它是使用頻度很高的電子儀器。現在的波形發生器都采用單片機來構成。單片機波形發生器是以單片
2009-06-11 15:08:071487
10種簡單的數字濾波算法(C語言源程序)
10種簡單的數字濾波算法(C語言源程序)
假定從8位AD中讀取數據(如果是更高位的AD可定義數據類型為int),子程
2009-07-16 15:17:1717491
信號發生器原理_DDS芯片及應用_DDS信號發生器設計
本專題匯集了四十種DDS信號發生器各部分資料,包括信號發生器原理,DDS芯片及應用,信號發生器電路圖及DDS信號發生器設計,為你免除大量自行搜索的時間,讓你深入了解DDS信號發生器。
2015-06-23 10:41:36
簡易信號發生器的設計
基于Labview 的簡易信號發生器的設計,該系統具有生成四種基本波形:正弦波、方波、三角波、鋸齒波的功能。并且該系統具有顯示、存儲、波形回放、打印等功能。
內含源程序和報告。
2016-09-22 12:04:4534
脈沖信號發生器原理
脈沖信號發生器是 信號發生器的一種。信號發生器按信號源有很多種分類方法,其中一種方法可分為混和信號源和邏輯信號源兩種。其中混和信號源主要輸出模擬波形;邏輯信號源輸出數字碼形。混和信號源又可分為函數
2017-10-26 17:09:5420777
DDS函數信號發生器是什么_DDS函數信號發生器簡單介紹
本文對DDS函數信號發生器的結構原理、優點、主要功能特性、主要技術指標四個方面進行了簡單的介紹。
2018-01-08 10:41:5013728
如何選擇信號發生器和調整信號發生器的靈敏度
在這篇文章中,小編將對信號發生器在靈敏度調節方面的應用予以介紹,并告訴大家如何選擇一款合適的信號發生器,在文章最后還將對脈沖信號發生器加以簡單介紹。如果你對本文內容具有興趣,不妨繼續往下閱讀哦。
2021-02-09 17:45:004797
單片機信號發生器程序
文章目錄單片機信號發生器程序單片機信號發生器程序有了 D/A 這個武器,我們就不僅僅可以輸出方波信號了,可以輸出任意波形了,比如正弦波、三角波、鋸齒波等等。以正弦波為例,首先我們要建立一個正弦波
2021-11-23 17:21:363
信號發生器維修:信號發生器的故障自檢辦法
一、如何選擇一款合適的信號發生器? 據西安安泰信號發生器維修中心小編所知,函數/任意波形發生器是一種產生標準函數信號,并可以產生任意波形的儀器。函數/任意波形發生器的選型需要考慮幾個重要的參數,包括
2022-01-12 18:26:442578
什么是信號發生器 信號發生器類型總結
脈沖發生器: 顧名思義,脈沖發生器是一種產生脈沖的信號發生器。這些信號發生器通常采用邏輯脈沖發生器的形式,可以產生具有可變延遲的脈沖,有些甚至提供可變上升和下降時間。
2022-08-02 15:48:423762
信號發生器作用和組成
在日常實驗中信號發生器經常和功率放大器一起搭配使用,很多人都知道信號源,也就是信號發生器,但是對信號發生器的作用和組成都不太了解。安泰電子為大家帶來信號發生器的科普常識,希望大家對信號發生器能夠
2023-02-17 10:55:285
c語言源程序的基本單位
C語言源程序的基本單位是函數。函數是一組語句的集合,用于完成特定的任務。每個C程序必須包含一個主函數(main function),它是程序的入口,所有的代碼執行都從這里開始。 C語言源程序可以
2023-11-24 10:20:04545
c語言源程序main函數的位置
C語言源程序中的main函數是程序的入口點,它被認為是C語言程序的起點。在執行程序時,操作系統將首先定位到main函數,并從該函數開始執行程序的代碼。然而,在細致解釋main函數的位置之前,必須先
2023-11-24 10:23:26680
信號發生器的占空比是什么 信號發生器占空比怎么設置
信號發生器的占空比是什么 信號發生器占空比怎么設置? 信號發生器的占空比是指方波波形中高電平和低電平的時間比例。它是描述信號發生器輸出方波的高低電平持續時間的一個重要參數。在數字電子技術和通信系統
2023-12-21 14:02:26988
評論
查看更多