简易信号发生器源程序

发布者:qazwsx007最新更新时间:2015-01-23 来源: laogu关键字:信号发生器  源程序 手机看文章 扫描二维码
随时随地手机看文章
#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;
}

关键字:信号发生器  源程序 引用地址:简易信号发生器源程序

上一篇:提高51单片机TCP通信效率的软件方法
下一篇:AT51S编程器

推荐阅读最新更新时间:2024-03-16 13:52

泰克全新信号发生器性能提升价格不变
泰克150 MHz型号扩军AFG3000C任意波形/函数发生器,为目标市场提供领先的性能和价值 测试、测量和监测仪器厂商 泰克公司日前扩军AFG3000C任意波形/函数发生器系列,新增两款150 MHz产品(单通道和双通道),在保持价格不变的同时,提供的性能大大优于竞争对手的产品。 新推出的AFG3151C和AFG3152C弥补了泰克AFG3000C系列100 MHz和240 MHz现有产品之间的空白,在同一细分市场相同价位上,提供的带宽较竞争对手的产品高出25%,输出区域高出59%,并支持+/-5 V DC偏置。除在流行带宽水平上提供领先的性能价格比外,AFG3000系列拥有直观的用户界面,一目了然地显示
[测试测量]
51单片机Modbus_RTU示范源程序
晶振频率 :22.1184M 可以通过程序修改 Modbus RTU 示范程序 适用于微嵌51单片机最小系统板 在AT89S52和STC89C52单片机上测试通过,可以移植到其他51系列单片机 通讯设置: 波特率:9600 数据位:8 停止位:1 检验位:无 程序默认地址:1 (可以通过修改localAddr变量改变地址) 工程编译环境:KeilC V4.00a 内含实例modbus程序源代码,技术资料,以及调试工具
[单片机]
51单片机Modbus_RTU示范<font color='red'>源程序</font>
openmv舵机云台 自动追踪色块 STM32源程序
之前做的舵机云台自动瞄色块的装置 现在已经拆掉了,所以没有图片 就是类似19年国赛电磁的发挥部分要求 单片机源程序如下: #include control.h u8 key = 0; u8 mode = 0; u8 sign = 0; u16 mode_r = 0; u16 mode_p = 0; void TIM1_UP_IRQHandler(void) //TIM1中断 { if(TIM_GetITStatus(TIM1,TIM_IT_Update) != RESET) //检查指定的TIM中断发生与否:TIM 中断源 { TIM_ClearITPendingBit(T
[单片机]
stm32驱动ad9854程序分享_ad9854构成信号发生器电路
AD9854概述 AD9854数字合成器是高集成度的器件,它采用先进的DDS技术,片内整合了两路高速、高性能正交D/A转换器通过数字化编程可以输出I、Q两路合成信号。在高稳定度时钟的驱动下,AD9854将产生一高稳定的频率、相位、幅度可编程的正弦和余弦信号,作为本振用于通信,雷达等方面。AD9854的DDS核具有48位的频率分辨率(在300M系统时钟下,频率分辨率可达1uHZ)。输出17位相位截断保证了良好的无杂散动态范围指标。AD9854允许输出的信号频率高达150MHZ,而数字调制输出频率可达100MHZ。通过内部高速比较器正弦波转换为方波输出,可用作方便的时钟发生器。 ad9854优势和特点 00MHz内部时钟速率
[单片机]
stm32驱动ad9854程序分享_ad9854构成<font color='red'>信号发生器</font>电路
轻装上阵·信号无忧 | 超便携函数/波形信号发生器DG900 Pro/800 Pro系列亮眼登场!
2023年11月,普源精电 (RIGOL) 推出全新DG900 Pr/800 Pro系列超便携函数/任意波形发生器!该系列产品运用RIGOL专有的SiFi® Ⅱ高保真信号合成技术,可以产生低噪声、低失真、低抖动的信号。DG900 Pr/800 Pro提供最高200MHz输出频率和最高1.25GSa/s采样率,提供16bit垂直分辨率,任意波表长度高达32Mpts,同时最高60MHz方波输出频率与3ns方波上升时间,性能精确可靠。 性能提升的同时,DG800 Pro/900Pro函数/波形信号发生器整机精致小巧,供电电源选择多样,且具有7英寸彩色大屏,在满足测量需求的同时也为工程师带来了非一般的人机交互体验! 超便携
[测试测量]
轻装上阵·信号无忧 | 超便携函数/波形<font color='red'>信号发生器</font>DG900 Pro/800 Pro系列亮眼登场!
大功率信号发生器的原理是什么
信号发生器又称信号源,是输出特定信号的仪器,和功率放大器都是运用在各种电子测试和实验过程中,用来满足设计测试和制造测试的需求。信号发生器最重要的特性就是具有高性能高品质的输出波形。很多电子工程师发现,在有的测试中需要用到大功率或者高电压,但是一般的信号发生器都满足不了需求,通用信号源的电压输出幅值只有大概10Vpp-20Vpp,如果想把信号放大而且波形还不失真,该怎么办呢? 为了帮助客户解决这一难题,Aigtek为客户提供了专业的解决方案。信号发生器+功率放大器,实现信号完美放大。Aigtek功率放大器可以匹配任意品牌的信号发生器,通过信号源把信号输入到功放里,通过调节放大倍数来控制需要输出的电压,达到驱动负载的目的,通过示波
[测试测量]
基于DDS的高分辨率信号发生器的实现
1引言 信号源作为一种基本电子设备无论是在教学、科研还是在部队技术保障中,都有着广泛的使用。信号源作为一种通用电子测试仪器是我军进行高科技战争不可缺少的一种测试仪器。因此,从理论到工程对信号的发生进行深入研究,不论是从教学科研角度,还是从部队技术保障服务角度出发都有着积极的意义。随着科学技术的发展和测量技术的进步,对信号源的要求越来越高,普通的信号发生器已无法满足目前日益发展的数字技术领域科研和教学的需要。 DDS 技术是一种新兴的频率合成技术,他具有频率分辨率极高、频率切换速度快、切换相位连续、输出信号相位噪声低、可编程、全数字化易于集成、体积小、重量轻等优点。  根据DDS的特点将其应用于信号源中可以大大提
[测试测量]
基于DDS的高分辨率<font color='red'>信号发生器</font>的实现
吉时利公司推出新的射频矢量信号发生器
先进电子测试仪器与系统的世界级领导者吉时利仪器公司(NYSE:KEI),今天宣布对其流行的射频矢量信号发生器产品线进行功能升级,降低了信号产生的时间并增强了信号质量。竞争对手的信号发生器往往需要用户不得不在最佳的信号质量和最大的测试吞吐量方面进行权衡,而吉时利新款2920A型信号发生器在一台仪器内结合了两方面的性能,无需做出折衷。吉时利正在申请的专利技术让2920A型射频矢量信号发生器可以支持比其他竞争系统更快的频率和幅度切换速率。与一般的系统需要针对研发或生产分别进行优化不同,2920A型仪器是个具备成本效益的方案,在设计验证和生产测试阶段都能适用。 吉时利2920A型信号发生器基于2900系列信号发生器的普遍性能
[测试测量]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved