keil编写正弦函数_Keil C51编程控制倍频正弦信号的产生

本文介绍了如何利用Keil C51编译器为8051单片机编写程序,生成低频正弦波信号源,特别是倍频正弦信号。通过AT89C2051单片机控制D/A转换器TLC5615,结合SPI串行总线通信协议,实现了精确的频率倍增。程序设计简洁,提高了代码可读性和可移植性。
摘要由CSDN通过智能技术生成

MCS51单片机是我国应用最为广泛的单片机种。以往单片机应用程序主要用汇编语言编写,由于汇编语言程序的可读性和可移植性都较差,采用汇编语言编写单片机应用程序不但周期长,而且调试和排错也比较困难。为了提高编制单片机应用程序的效率,改善程序的可读性和可移植性,采用高级语言无疑是一种好的选择。C语言是一种通用的计算机程序设计语言,既具有一般高级语言的特点,又能直接对计算机的硬件进行操作,表达和运算能力也较强,许多以往只能采用汇编语言来解决的问题现在都可以改用c语言来解决。

德国Keil Software公司多年来致力于单片机c语言编译器的研究。该公司开发的Keil C51是一种专为8051单片机设计的高效率c语言编译器,符合ANSI标准,生成的程序代码运行速度极高,所需要的存储器空间极小,完全可以和汇编语言相媲美。Keil C51具有丰富的函数库,包含100多种功能函数,为用户编程提供了极大的方便。C51程序可以实现与汇编语言的接口,两者相互之间的调用十分方便。。高版本的Keil C51编译器,尤其是Keil Vision2(基于Windows操作系统的C51集成编译环境),以其性能优秀、使用方便,受到了众多单片机爱好者的欢迎。

在有些测量仪表中,常需要提供不同频率的低频正弦波信号源,它们的频率完全成整数倍关系。如测量电厂工业用水的电导为防止电极传感器的极化,要用低频正弦波信号作为激励源,双频测导法就要求提供精确双倍频率的正弦信号。常用的正弦波信号倍频或分频采用的方法有:方波信号分频后滤波;

锁相合成法;

单片机控制的D/A转换后再滤波等。

方法① 由于基频的谐波分量大,滤波效果差而很少采用;方法②采用的是压控振荡原理,常用于高频正弦信号的倍频或分频;方法③ 由于高频谐波分量远小于基波分量,滤波效果好且能精确定时,容易实现信号的倍频或分频。本文采用单片机AT89C2051控制D/A转换实现倍频正弦波信号的产生,编程语言采用的就是Keil C51。

1 硬件电路    图1为倍频正弦波信号发生电路,U2为l0位串行DA集成电路TLC5615(TEXAS仪器公司生产),VREF为2.5v的标准参考电压

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值