基于AT89C51单片机信号发生器设计

2017-04-15 14:00邵阳学院信息工程系朱开汪余建坤
电子世界 2017年9期
关键词:液晶显示C语言波形

邵阳学院信息工程系 朱开汪 余建坤

基于AT89C51单片机信号发生器设计

邵阳学院信息工程系 朱开汪 余建坤

基于AT89C51单片机信号发生器设计利用单片机AT89C51采用程序设计方法产生正弦波、三角波、方波等波形,通过D/A转换器DAC0832(DAC0832是8分辨率的D/A转换集成芯片、与微处理器完全兼容)将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产生1Hz—1kHz的波形。通过基于AT89C51单片机信号发生器的键盘来控制三种波形的类型选择、拨码开关控制频率的变化,并通过液晶屏LCD1602(工业字符型液晶,能够同时显示16x02即32个字符)显示其各自的类型以及数值,基于AT89C51单片机信号发生器大致包括信号发生部分、数/模转换部分以及液晶LCD1602显示部分三部分。

AT89C51单片机;LCD1602液晶显示;D/A转换器

一、设计方案

由于要求达到基于AT89C51单片机信号发生器的模拟信号波形发生,而要由基于AT89C51单片机信号发生器的D/A转换芯片DAC0832来完成此项任务,由基于AT89C51单片机信号发生器的基准电路来实现输出波形的幅度可调,通过基于AT89C51单片机信号发生器的电位器来调节波形的变化。经过基于AT89C51单片机信号发生器的DAC0832数模转换电路输出的信号为电流形式,因此需要加电流/电压转换电路来改变输出信号的形式。基于AT89C51单片机信号发生器采用AT89C51单片机和DAC0832数模转换器相结合的电路来产生波形,由于本文设计的基于AT89C51单片机信号发生器是软件滤波,所以不会有寄生的高次谐波分量,生成的波形比较纯净。软件滤波的特点是价格低、性能高,在低频范围内稳定性好、操作方便、体积小、耗电少。 基于AT89C51单片机信号发生器所研究的就是用AT89C51单片机将某种波形所对应的数字量进行输出,再通过基于AT89C51单片机信号发生器的D/A转换器转换输出一组连续变化的5V的电压脉冲值,同时再通过基于AT89C51单片机信号发生器的LCD1602液晶显示部分显示其频率值和波形名称。在设计基于AT89C51单片机信号发生器时采取分块来做,分为D/A转换,AT89C51单片机系统,键盘控制和液晶显示4个主要模块,最后通过联调仿真,做出基于AT89C51单片机信号发生器的电路板成品,从而简化人机交互的问题。

二、硬件电路的设计

基于AT89C51单片机信号发生器的单片机即单片微型计算机是把组成微型计算机的各种功能部件,是一种集成度高、性价比优越、质量小、体积小的微型计算机。基于AT89C51单片机信号发生器的DAC0832是8分辨率的D/A转换集成芯片。基于AT89C51单片机信号发生器的DAC0832与基于AT89C51单片机信号发生器的AT89C51单片机完全兼容。基于AT89C51单片机信号发生器上使用的DAC0832芯片以其价格低廉、接口简单、转换控制容易等优点,在采用到基于AT89C51单片机信号发生器上。D/A转换器(DAC0832芯片)由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。按键是由一组按压式或触摸式开关构成的阵列,是一种常用的输入设备。在接线时由于有四个引脚,连接时需要用万用表进行测量,然后接通两个引脚,要进行数据的计算就必须先进行数据的输入,也就必须确定按键输入的数值是什么,这就需要对键盘进行扫描,从而确定究竟是哪个键按下。基于AT89C51单片机信号发生器的LCD1602显示模块的设计为通过液晶LCD1602显示输出的波形、频率,LCD1602的八位数据端接单片机的P0口,其三个使能端RS、RW、E分别接AT89C51单片机的P1.0—P1.2。通过软件控制液晶屏可以显示波形的种类以及波形的频率。

三、软件设计与仿真

基于AT89C51单片机信号发生器编程采用C51语言编程,单片机C51语言是由C语言继承转换而来的。但是C51语言和C语言不同的是,C51语言运行于单片机平台,而C语言则运行于普通的桌面平台。C51语言具有C语言结构清晰的优点,同时具有汇编语言的硬件操作能力。C51语言是一种高级程序设计语言,它提供了十分完备的规范化流程控制结构。因此采用C51语言设计基于AT89C51单片机信号发生器编程程序时,首先要尽可能地采用结构化的程序设计方法,这样可使整个基于AT89C51单片机信号发生器程序结构清晰,易于对基于AT89C51单片机信号发生器的调试和维护。对于基于AT89C51单片机信号发生器是一个较大的程序,可将整个基于AT89C51单片机信号发生器的程序按功能分成若干个模块,基于AT89C51单片机信号发生器的不同的模块完成不同的功能。对于基于AT89C51单片机信号发生器的不同的功能模块,分别指定相应的入口参数和出口参数,而经常使用的一些程序最好编成函数,这样既不会引起整个基于AT89C51单片机信号发生器的程序管理的混乱,还可增强基于AT89C51单片机信号发生器的程序可读性、移植性。

四、结语

基于AT89C51单片机信号发生器设计是利用单片机AT89C51采用程序设计方法产生三角波、正弦波、方波三种波形,再通过 基于AT89C51单片机信号发生器的D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来, 基于AT89C51单片机信号发生器能产生1Hz—1kHz的波形。通过 基于AT89C51单片机信号发生器的键盘来控制三种波形的类型选择、拨码开关控制频率的变化,并通过 基于AT89C51单片机信号发生器的液晶屏LCD1602显示其各自的类型以及数值,基于AT89C51单片机信号发生器大致包括信号发生部分、数/模转换部分以及LCD1602液晶显示部分三部分。基于AT89C51单片机信号发生器可以产生5HZ-50HZ的正弦波,100HZ-1000HZ的方波,25HZ-250HZ的三角波。

[1]相迎军,李兴城,李传军.基于AT89C4051单片机的专用信号发生器设计与应用[J].微计算机信息,2004(11):631.

[2]陈华敏,任立民.基于AT89C51的信号发生器的设计[J].现代电子技术,2011(02):805.

[3]余红珍,于斌,秦宗锋.基于Proteus的单片机实验系统设计[J].实验科学与技术,2012(06):87.

[4]顾娅军,贾小林,吴珏.基于Proteus的微机原理实验教学研究[J].电脑知识与技术,2014(19):71.

[5]李娟,刘焕平,罗旭.基于AT89C51单片机的60-2曲轴位置信号发生器设计[J].石家庄职业技术学院学报,2010(04):173.

[6]陈辉,陈梅,杜静,王东梅,金晶,何东辉.基于AT89C51单片机波形发生器的Proteus设计[J].自动化与仪器仪表,2012(03):739.

猜你喜欢
液晶显示C语言波形
对《压力容器波形膨胀节》2018版新标准的理解及分析
基于Visual Studio Code的C语言程序设计实践教学探索
基于LFM波形的灵巧干扰效能分析
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
122×32 点阵液晶显示汉字原理实验
基于ARM的任意波形电源设计
双丝双正弦电流脉冲波形控制
论子函数在C语言数据格式输出中的应用
界面致稳型柔性胆甾相液晶显示器件的制备与性能