#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













评论