单片机 > 单片机程序设计 > 详情

基于单片机的函数发生器的设计与实现

发布时间:2020-09-02 发布时间:
|
系统硬件接口电路设计
Intel公司的MCS-51系列中的8051单片机应用已很成熟,以其为基核的其他8位机都有极好的兼容性,应用十分方便。图1所示为以8051和MAX038为核心的系统硬件电路。

用8279完成键盘输入和LED显示控制两种功能,键盘按键设置:数字键0~9,小数点,正弦波、方波和三角波切换键,频率选择Hz、kHz、MHz切换键,占空比键,回车键。采用外部译码方式,8279的SL0~SL2经74LS138(2)输出接键盘,同时经74LS138(1)输出驱动后送LED。 8279的显示输出B0~B3,A0~A3作8位数据输出,当键盘出现有效闭合键时,数据自动进入8279的RAM存储器,并向CPU申请中断。

MAX038的频率控制电压由10位DAC1020提供,经Rin=50kΩ的电阻进入Lin引脚,8051的P2.6作为DAC1020的片选信号,采用双缓冲器方式,锁存10位数据。DADJ引脚电压范围-2.4V~+2.4V由8位DAC0832的双极性输出电压提供,即占空比调节的控制电压。用 8051的P2.5作为DAC0832的片选信号,基准电压采用MAX038内部2.5V基准电压,接入VR端。DAC0832的ILE接+5V,片选端和数据传送端都与74LS373输出线A0相连。 请不要复制本站内容

设Lin输入端电压为Vin,串接电阻为Rin,则有公式:
F0=Vin/〔Rin×CF〕
式中,F0是输出频率,单位MHz;Vin是输入端电压,单位V;Rin是串接电阻,单位Ω;CF是决定输出频率的串入电容值,单位pF。

取Rin=50kΩ,Vin的范围0.5~5V,这样对于某一电容,可提供十倍扫频范围,从而电容的选择就可确定输出频率范围,即频段。第一频段电容取 100μF,频率范围0.1~1Hz,第二频段到第九频段电容选择按十倍衰减,即可获得各频段频率范围,第九频段频率范围是10~20MHz,每一频段步进值选各频段低段频率的0.5%。有九个频段供选择切换,8051的P1.2~P1.5通过T1042译码后送入频段设定电路,由软件启动频段设定电路中的开关来进行频段选择。

3.2 系统软件设计方案及实现
   系统的主程序流程框图如图2所示。  

先对8279进行初始化,即允许中断申请,清8279状态,置键盘显示方式及时钟编程等,再置MAX038初始波形与频率、占空比。然后测试回车键是否闭合,以决定是否进行中断处理,判断输出波形并输出控制信号,有关输出波形频率的控制电压及占空比的计算送DAC1020及DAC0832,最后将波形频率及占空比送显示缓冲区,调显示子程序显示。
关键字:单片机  函数发生器

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
单片机按键切换下一首歌