键盘控制的多种波形发生器要点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计量化评分标准
指指导导老老师师评评语语::
设计题目:键盘控制的多种波形发生器
摘要
本文以STC89C52单片机为核心设计了一个低频函数信号发生器。信号发生器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,如正弦波、三角波、三角波、方波及其他任意波形。本系统以单片机AT89S51为系统的控制核心,结合D/A转换芯片DAC0832设计一个简易低频信号源的设计,通过CH451外接键盘控制选择多种波形发生,用示波器观察输出波形。
关键词:信号源STC89C52 DAC0832 CH451
一、要求
1、单片机产生多种波形
2、键盘控制选择波形发生(三角波、锯齿波、正弦波、方波)
二、设计分析
2.1 设计思路
波形发生器设计思路框图如下所示。波形的产生是通过AT89S51 执行某一波形发生程序,向D/A转换器的输入端按一定的规律发生数据,从而在D/A转换电路的输出端得到相应的电压波形。
图1 设计思路框图
(1)主控模块
采用ATMEL公司生产的STC89C52单片机作为系统的控制器。51系列的单片机的使用简单,软件编程灵活。自由度大,可用软件编程实现各种算法和逻辑控制,并且功耗低、体积小、技术成熟和成本低。
(3) 波形产生模块
DAC0832芯片是8位并行、中速(建立时间1us)、CMOS工艺制造的8位单片D/A 转,DAC0832换器转换控制容易等优点,在单片机应用系统中得到了广泛的应用。由于DAC0832输出为电流量,而波形最终需要转换为电压量来显示波形幅度,所以在DAC0832电路后接I/V转换电路,在这里采用LM324集成运放来实现电流/电压的转换。
(4) 按键控制模块
可使用矩阵键盘来控制单片机,使用矩阵键盘可使电路的功能大大的提高,同时在单片机编程设计上也会相应困难,可以使用专用芯片CH451通过串口与单片机相连,只需占用单片机少量引脚,这样设计变的更合理。在一些简单的控制上,就不用使用矩阵键盘的控制了。
2.3 设计流程图
主程序设计流程图如图2所示:
图2 设计流程框图
子程序设计流程如图3所示:
图3 子程序设计流程框图
三、设计思路及模块
3、1 控制芯片
设计中主要采用STC89C52型单片机,它具有如下优点:(1)拥有完善的外部扩展总线,通过这些总线可方便地扩展外围单元、外围接口等。(2)该单片机内部拥有4K字节的FLASH ROM程序存储器空间和256字节的RAM数据存储空间,完全可以满足程序的要求。由于该芯片可电擦写,故可重复使用。如果更改程序内容,可将芯片拿下重新烧写。(3)该单片机与工业标准的MCS-51型机的指令集和输出引脚兼容。
中断系统是使处理器具有对外界异步事件的处理能力而设置的。当中央处理器CPU正在处理某件事的时候外界发生了紧急事件,要求CPU暂停当前的工作,转而去处理这个紧急事件。
时钟电路。由于频率较大时,三角波、正弦波、方波等波中每一点延时时间为几微秒,故延时时间还要加上指令时间即可得到指定频率的波形,该电路用11.0592MHz晶振。
图1.1 STC89C52的内部结构图
3、2 数/模转换电路
由于单片机产生的是数字信号,要想得到所需要的波形,就要把数字信号转换成模拟信号,所以该文选用价格低廉、接口简单、转换控制容易并具有8位分辨率的数模转换器DAC0832。DAC0832主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器以及输入控制电路四部分组成。但实际上,DAC0832输出的电量也不是真正能连续可调,而是以其绝对分辨率为单位增减,是准模拟量的
具有BCD译码或不译码功能,可实现数据的左移、右移、左循环、右循环、各数字独立闪烁等控制功能。CH451内置大电流驱动级,段电流不小于30mA,字电流不小于160mA,并有16级亮度控制功能;在键盘控制方面,该器件内置64键键盘控制器,可实现8×8矩阵键盘扫描,并内置去抖动电路,可提供按键中断与按键释放标志位等功能;在外部接口方面,CH451可选择简洁的1线串行接口或高速4线串行接口,且内置上电复位,可提供高电平有效复位和低电平有效复位两种输出,同时内置看门狗电路Watch-Dog。CH451提供有28引脚的DIP28与SOP28封装以及DIP24封装形式,28脚与24脚在功能上稍有差别,24的引脚定义如表表3、1所列。
表3、1 CH451的DIP24封装形式的引脚定义
表3、2 CH451外接矩阵键盘的按键代码表
3、4调试说明
STC89C52试验箱板图以及区域划分如图3、1所示。主要由复位、晶振电路、蜂鸣器、开关、16个发光二极管LED 、脉冲发生电路、8155扩展(包括七段LED 显示和4*4键盘等)、A/D 扩展、D/A 扩展、温度传感器、日时钟、16*16的LED 点阵、CH451键盘和七段LED 扩展、字符LCD 、点阵LCD 、RS232/485串口等组成,用户可以单独使用每个部分,也可根据实际需要进行不同的组合,以实现功能复杂的系统,本次课程设计还要外加示波器观察波形:
图3、1 STC89C52实验箱的俯视图
3、5 设计结果及错误分析
3、5、1 可以通过键盘控制选择三角波、方波、锯齿波、矩形波的输出,用示波器观察。
3、5、2 程序运行没错,但是下载之后没效果,检查之后发现是实验箱上的入口地址没定义。
3、5、3 键盘控制不能实现,仔细检查之后发现键盘编码没有对应相应按键,修改之后可以实现。
3、5、4 输出波形有点失真,三角波顶部出现一小部分平的失真,检查之后是送入数组有问题,通过送入的数据连续递增和连续递减之后数组有问题,不能用一个数组通过递增递减来实现,之后生成了其他几种波形数组送入DA0832,能产生连续波形。
电源开关 电源指示灯 复位开关
蜂鸣器
RS232串口 485串口 16*16LED 点阵
时钟
CH451键盘及LED 控制区
按键区
A/D 转换区
D/A 转换区
8155扩展
时钟源区
发光二极管区
点阵、字符LCD 区 STC89c52