单片机课程设计智能信号发生器设计.doc

上传人:仙人指路1688 文档编号:4147616 上传时间:2023-04-07 格式:DOC 页数:28 大小:546KB
返回 下载 相关 举报
单片机课程设计智能信号发生器设计.doc_第1页
第1页 / 共28页
单片机课程设计智能信号发生器设计.doc_第2页
第2页 / 共28页
单片机课程设计智能信号发生器设计.doc_第3页
第3页 / 共28页
单片机课程设计智能信号发生器设计.doc_第4页
第4页 / 共28页
单片机课程设计智能信号发生器设计.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《单片机课程设计智能信号发生器设计.doc》由会员分享,可在线阅读,更多相关《单片机课程设计智能信号发生器设计.doc(28页珍藏版)》请在三一办公上搜索。

1、东 北 石 油 大 学 课 程 设 计 课 程 单片机课程设计 题 目 智能信号发生器 院 系 电气信息工程学院测控系 专业班级 测控08-02 学生姓名 学生学号 指导教师 2012年 3 月30日东北石油大学课程设计任务书课程 单片机课程设计 题目 智能信号发生器 专业 测控技术与仪器 姓名 单培杰 学号 080601240229 一、任务 设计一款基于AT89C51单片机智能信号发生器,实现三角波,方波,锯齿波的输出。二、设计要求1 通过按键控制可产生方波、锯齿波、三角波、正弦波。2 写出详细的设计报告。3 给出全部电路和源程序。三、参考资料1 吴杰.基于ISP 技术的电子公告牌系统J.

2、科技资讯2008.NO.14:83-87.2 杨恢先,黄辉先.单片机原理及应用M.人民邮电出版社,2006.3 李川,汪秋蒙.ISP技术的原理及实现方法J.科技资讯.2007,35期:93-94.4 万光毅.单片机实验与实践教程M.北京航空航天大学出版社.2005.1.5 张毅刚.单片机原理及应用M.高等教育出版社.2003:160-190.6 曾一江.单片机微机原理与接口技术M.科学出版社,2006.7 王新强.基于AT89S52的智能信号发生器J.河南机电高等专科学校学报,2006,14(3):37-39.8 Philips .74HC595 .datasheet.Philips Semi

3、conductors .2003 Jun 259 马忠梅.单片机的C 语言应用程序设计M.北京:北京航空航天大学出版社.200610 康华光,陈大钦.电子技术基础M.高等教育出版社,1998.完成期限 2012.3.19 至 2012.3.30 指导教师 段志伟 专业负责人 曹广华 2012年 3月 16 日目录第1章 绪论31.1 对信号发生器的认识31.2 本次设计的信号发生器的简介31.3 本设计任务4第2 章 总体方案论证与设计52.1 系统方案的比较52.2 控制芯片的选择52.3 总体硬件组成框图5第3章 系统硬件设计73.1 单片机的介绍73.2各部分电路原理93.3键盘电路原理

4、11第4章 系统的软件设计134.1 主程序设计134.2子程序流程图14第5章 系统调试与测试结果分析185.1 系统调试185.2 测试结果18结 论21参考文献22附录1 程序23附录2 仿真效果图24 第1章 绪论在现代电子学的各个领域中,常常需要高精度和频率方便可调的信号发生器,信号发生器在电路实验和设备检测中具有十分广泛的用途,目前广泛使用的是一些标准产品,虽然功能齐全、性能指标较高,但是价格较贵,而且许多功能用不上。而随着单片机技术的迅速发展,其以集成度高、处理功能强、可靠性好等优点,在各个领域得到越来与广泛的应用,因而利用单片机实现的信号发生器,结构简单,实用性强。1.1 信号

5、发生器的简介 信号发生器是一种能产生标准信号的电子仪器资料来源:毕业设计(论文)网 是工业生产和电工、电子实验中经常使用的电子仪器之一。信号发生器种类较多,性能各有差别,但它们都可以产生不同频率的正弦波、调幅波调频波信号,以及各种频率的方波、三角波、锯齿波和正负脉冲波信号等。利用信号发生器输出的信号,可以对元器件的性能及参数进行测量,还可以对电工和电子产品整进行指数验证、参数调整及性能鉴定。在多数电路传递网络中、电容与电感组合电路,、电容与电阻组合电路及信号调制器的频率、相位的检测中都可以得到广泛的应用。信号发生器按其频率的高低,可分为:超低频信号发生器,低频信号发生器,高频信号发生器,超高频

6、信号发生器,微波信号发生器;按产生波形的不同,可分为:正弦波信号发生器,脉冲波函数波信号发生器,任意波信号发生器; 按调制方式的不同,可分为:调频信号发生器(FM)、调幅信号发生器(AM),调相信号发生器(PM),脉冲调制信号发生器;此外,还可以产生两种或多种波形信号发生器。单片机智能信号发生器目前可直接数字合成(DDS),能够产生任意波形的信号,精度高,可程控,便于与其他设备接口构成各种系统。还有基于USB2.0的虚拟波形信号发生器,也可产生任意波形。本次设计设计的是一个可产生正弦波、方波、锯齿波及三角波的智能信号发生器。智能信号发生器可广泛应用于电子信息、机械、交通、地质、航天航空等专业,

7、在教学、科研、生产、工程等诸多领域应用非常广泛。1.2 本次设计的信号发生器的简介本次设计以单片机为核心配以一定的外围电路和软件,实现智能波的产生和输出,从总体上来看设计任务可以分为硬件设计和软件设计,这两者互相结合,不可分离。从时间上来看,硬件设计的绝大部分工作量在最初阶段,到后期往往还要作一些修改。软件设计任务贯穿始终,到中后期基本上都是软件设计任务。硬件设计部分包括:1. 单片机的存储器扩展和接口扩展设计。2. 单片机外部模块设计,包括键盘模块、D/A转换模块、信号放大模块和滤波模块设计。软件部分设计 单片机主程序包括初始化和键入值的判定,其他都是软件子程序如D/A转换、智能波的产生函数

8、及输出函数 。1.3 本设计任务本系统是基于AT89S52单片机的数字式低频信号发生器。采用AT89S52单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)、运放电路(NE4558)、按键和LED显示灯电路等。通过按键控制可产生方波、锯齿波、三角波、正弦波等,同时用LED显示灯指示对应的波形。其设计简单、性能优良,可用于多种需要低频信号源的场所,具有一定的实用性。 第2 章 总体方案论证与设计2.1 系统方案的比较方案一:采用函数信号发生器ICL8038集成模拟芯片,它是一种可以同时产生方波、三角波、正弦波的专用集成电路。但是这种模块产生的波形都不是纯净的波形,会寄生一些高次谐波

9、分量,采用其他的措施虽可滤除一些,但不能完全滤除掉。方案二:采用分立元件实现非稳态的多谐振振荡器,然后根据需要加入积分电路等构成正弦、矩形、三角等波形发生器。这种信号发生器输出频率范围窄,而且电路参数设定较繁琐,其频率大小的测量往往需要通过硬件电路的切换来实现,操作不方便。 方案三:采用单片机和DAC0832数模转换器生成波形,由于是软件滤波,所以不会有寄生的高次谐波分量,生成的波形比较纯净。它的特点是价格低、性能高,在低频范围内稳定性好、操作方便、体积小、耗电少。经比较,方案三既可满足课程设计的基本要求又能充分发挥其优势,电路简单,易控制,性价比较高,所以采用该方案。2.2 控制芯片的选择方

10、案一:AT89S52单片机是一种高性能8位单片微型计算机。它把构成计算机的中央处理器CPU、存储器、寄存器、I/O接口制作在一块集成电路芯片中,从而构成较为完整的计算机。方案二:C8051F005单片机是完全集成的混合信号系统级芯片,具有与AT80S52兼容的微控制器的内核,与MCS-51指令集完全兼容。除了具有标准AT80S52的数字外设部件之外,片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件。方案选择:方案二中C8051F005芯片系统内部结构复杂,不易控制,芯片成本高,对于本系统而言利用率低,AT89S52芯片比较常用,简单易控制,成本低,性能稳定故采用方案一。2

11、.3 总体硬件组成框图图2-1 总体硬件组成框图低频信号发生器系统主要由CPU、D/A转换电路、基准电压电路、电流/电压转换电路、按键和波形指示电路、电源等电路组成。其工作原理为当分别按下四个按键中的任一个按键就会分别出现方波、锯齿波、三角波、正弦波,并且有四个发光二极管分别作为不同的波形指示灯。第3章 系统硬件设计3.1 单片机的介绍图3-1 AT89S52引脚图3.1.1管脚说明 低频信号发生器采用AT89S52单片机作为控制核心,其内部组成包括:一个8位的微处理器CPU及片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接;片内数据存储器RAM低128字节,存放读/写数据;高128字节

12、被特殊功能寄存器占用;片内程序存储器4KB ROM;四个8位并行I/O(输入/输出)接口P3 -P0,每个口可以用作输入,也可以用作输出;两个定时/计数器,每个定时/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制;五个中断源的中断控制系统;一个全双工UART(通用异步接收发送器)的串行I/O口。VCC:供电电压。GND:接地。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉

13、冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(00

14、00H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口

15、是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优

16、势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。 P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下所示: 口管脚 备选功能P3.0 RXD(串行输入通道)P3.1 TXD(串行输出通道)P3.2 /INT0(外中断0)P3.3 /INT1(外中断1)P3.4 T0(定时器0外部输入)P3.5

17、 T1(定时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)3.1.2 AT89S52的晶振及其连接方法CPU工作时都必须有一个时钟脉冲。有两种方式可以向89S52提供时钟脉冲:一是外部时钟方式,即使用外部电路向89S52提供时钟脉冲,见图2.3(a);二是内部时钟方式,即使用晶振由89S52内部电路产生时钟脉冲。一般常用第二种方法,其电路见图3-2。89S52XTAL XTAL189S52XTAL2XTAL1悬空外部时钟信号C1C2J(a)外部时钟方式(b)内部时钟方式图3-2 89S52的时钟脉冲J一般为石英晶体,其频率由系统需要和器件决定,在

18、频率稳定度要求不高时也可以使用陶瓷滤波器。一般来说,使用石英晶体时,C1=C2=30pF。使用陶瓷滤波器时,C1=C2=47pF。3.2各部分电路原理3.2.1DAC0832芯片原理管脚功能介绍(如图3-3所示)图3-3 DAC0832管脚图DI7DI0:8位的数据输入端,DI7为最高位。ILE:数据锁存允许控制信号输入线,高电平有效。/CS:选片信号输入线(选通数据锁存器),低电平有效。/WR1:数据锁存器写选选通输入线,负脉冲有效,由ILE、/CS、/WR1的逻辑组合产生/LE1,当/LE1为高电平时,数据锁存器状态随输入数据线变化,/LE1的负跳变时将输入数据锁存。/XFER:数据传输控

19、制信号输入线,低电平有效,负脉冲有效。/WR2:DAC寄存器选通输入线,负脉冲有效,由/WR2、/XFER的逻辑组合产生/LE2,当/LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,/LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。IOUT1:模拟电流输出端1,当DAC寄存器中数据全为1时,输出电流最大,当 DAC寄存器中数据全为0时,输出电流为0。IOUT2:模拟电流输出端2, IOUT2与IOUT1的和为一个常数,即IOUT1IOUT2常数。RFB:反馈电阻引出端,DAC0832内部已经有反馈电阻,所以 RFB端可以直接接到外部运算放大器的输出端,这样相当于将

20、一个反馈电阻接在运算放大器的输出端和输入端之间。VREF:参考电压输入端,此端可接一个正电压,也可接一个负电压,它决定0至255的数字量转化出来的模拟量电压值的幅度,VREF范围为(+10-10)V。VREF端与D/A内部T形电阻网络相连。Vcc:芯片供电电压,范围为(+5+15)V。AGND:模拟量地,即模拟电路接地端。DGND:数字量地。DAC0832的输出是电流,使用运算放大器可以将其电流输出线性地转换成电压输出。根据运算放大器和DAC0832的连接方法,运算放大器的输出可以分为单极性和双极性两种。这里我采用双极性方式(如图3-4所示)。图3-4 DAC0832双极性电压输出电路3.3键

21、盘电路原理在单片机应用系统中为了控制系统的工作状态,以及向系统输入数据,应用系统应设有按键或键盘,实现简单的人机会话。键盘是一组按键的组合,键通常是一种常开型按钮开关,平时键的两个出点处于断开状态,按下键时他们才闭合。从键盘的结构来分类,键盘可以分为独立式和矩阵式两类,每一类按其识别方法又都可以分为编码和未编码键盘两种。键盘上闭合键的识别由专门的硬件译码器实现并产生编号或键值的称为编码键盘,由软件识别的称未编码键盘。在由单片机组成的测控系统及智能化仪器中,用得较多的是未编码键盘,我这里也使用未编码键盘。矩阵式未编码键盘结构的工作原理 如图3-5所示是4*4的键盘接口,它是矩阵式的结构。图中键盘

22、的行线(X0X3)与列线(Y0Y3)的交叉处通过一个按键来联通,行线通过电阻接+5V,当键盘上没有键闭合时所有的行线和列线都断开,则行线都呈高电平。当键盘上某一个键闭合时,则该键所对应的行线和列线被短路。如果X0、X1、X2、X3、都为高电平,则Y0这一列上没有键合。如果读出的行线状态不全为高电平,则为低电平的行线和Y0相交的键处于闭合状态。如果Y0这一列上没有键合,接着使列线Y1为低电平,其余列线为高电平,用同样方法检查Y1这一列上有无键闭合。依此类推,最后使列线Y3为低电平,其余的列线为高电平,检查Y3这一列上是否有键闭合。这种逐行逐列地检查键盘状态的过程称为对键盘的一次扫描。CPU对键盘

23、扫描可以采取程序控制的随机方式,CPU空闲时扫描键盘;也可以采取定时控制方式,每隔一定时间,CPU对键盘扫描一次,CPU可随时响应键盘输入请求;还可以采用中断方式,当键盘上有键闭合时,向CPU请求中断,CPU响应键盘输入中断,对键盘扫描,以识别哪一个键处于闭合状态,并对键输入信息作出相应处理。CPU对键盘上闭合键的键号确定,可以根据行线和列线的状态计算求得,也可以根据行线和列线状态查表求得。X3X2X1X0Y0Y1Y2Y3 12840 139 5 1 14 10 6 2 15 11 7 3+5V图3-5 4*4矩阵式未编码键盘结构图根据我设计的电路特点,只需要用到4个按钮来选择波形,实现的功能

24、也比较简单,所以我采用独立式未编码键盘结构。键盘原理图如图3-6所示。图3-6 键盘原理图第4章 系统的软件设计软件设计上,根据功能分了几个模块编程。模块主要有:主程序模块、锯齿波模块、三角波模块、正弦波模块、方波模块、延时子程序模块等。显示波形模块是利用DAC0832的8位特点,把波形的数据以8位数据的形势送进CPU中,只要一按键就能显示波形。4.1 主程序设计其主程序流程如图4-1所示。 开始Key1按下了吗?输出锯齿波输出三角波输出正弦波输出方波Key2按下了吗?Key3按下了吗?Key4按下了吗?YYYYNNNN图4-1主程序流程图本软件设计过程中主要实现利用按键来控制不同波形的输出,

25、当按键1按下时,函数发生器就输出锯齿波;当按键2按下时,函数发生器就输出三角波;当按键3按下时,函数发生器就输出正弦波;当按键4按下时,函数发生器就输出方波。通过按键可以以任意循环方式输出不同波形。4.2子程序流程图 A=00HA送到0832输出A=A+1开始A=FFH?YN图4-2锯齿波流程图锯齿波产生将00H送入寄存器A中,DAC0832输出A中的内容,当A中的内容等于FFH返回开始,当A中的内容不为FFH时,A中的内容累加,从而输出波形。开始A=00HA送到0832输出A=A+1A=00H?A=A-1A送到0832输出A=00H?NYYN图4-3三角波流程图三角波产生通过A中数值的加一递

26、升,当A中的内容加到为0时, A中的内容减一递减,从而循环产生三角波。三角波产生子程序如下:TRIAN :MOV A ,#00H MOV DPTR,#7FFFHUP: MOVX DPTR,A INC A JNZ UP DOWN: DEC A MOVX DPTR,A JNZ DOWN RET正弦波程序流程图如图4-4所示 开始A=00HA=129?DPTR1=DPTR1+1A=正弦函数表数据A送到0832输出YN图4-4正弦波程序流程图正弦波波形设计通过查表指令得出。其产生子程序如下:SINE: MOV DPTR1,#sinTab MOV DPTR,#7FFFH LOOP: CLR A MOVC

27、 A,A+DPTR1 CJNE A,#129,LOOP1 RETLOOP1: MOVX DPTR,A INC DPTR1 AJMP LOOPsinTab:DB 128,132,137,141,146,150,154,159,163,167 DB 171,176,180,184,188,191,195,199,203,206 DB 210,213,216,219,222,225,228,231,233,236 DB 238,240,242,244,246,247,249,250,251,252 DB 253,254,254,255,255,255,255,255,254,254 DB 253,2

28、52,251,250,249,247,246,244,242,240 DB 238,236,233,231,228,225,222,219,216,213 DB 210,206,203,198,195,192,188,184,180,176 DB 172,167,163,159,155,150,146,141,137,133 DB 128,124,119,115,111,106,102,97,93,89,85 DB 81,77,73,69,65,61,57,54,50,47,43,40,37 DB 34,31,28,25,23,20,18,16,14,12,10,9,7 DB 6,5,4,3,

29、2,2,1,1,1,1,1,2,2,3,4,5,6 DB 7,9,10,12,14,16,18,20,23,25,28,30,33,36 DB 40,43,46,50,53,57,60,64,68,72,76,80,84 DB 88,93,97,101,106,110,114,119,123,128,129方波程序流程图如图4-5所示 开始A=00HA送到0832输出延时A=FFHA送到0832输出延时图4-5 方波程序流程图方波产生是当A中的内容为0时,输出对应模拟量,然后延时,当A中的内容为0FFH时,同样输出对应模拟量,再延时,从而得到方波。方波产生子程序如下:SQUN:MOV DPTR

30、,#7FFFH MOV A ,#0FFH MOVX DPTR,A LCALL Delay MOV A ,#00HMOVX DPTR,A LCALL Delay RET 延时子程序如下:Delay: MOV R7,#10HDLY0: MOV R6,#0EDH NOPDLY1: DJNZ R6,DLY1 DJNZ R7,DLY0 RET方波的上限和下限的延时时间为:7msS=1+(1+1+2237+2)16+1=7648us第5章 系统调试与测试结果分析5.1 系统调试根据系统设计方案,本系统的调试共分为三大部分:硬件调试,软件调试和软硬件联调。由于在系统设计中采用模块设计法,所以方便对各电路模块

31、功能进行逐级测试:LED驱动模块的调试,数据存储模块的调试,PC机通信模块的调试等,最后将各模块组合后进行整体测试。5.1.1硬件调试对各个模块的功能进行调试,主要调试各模块能否实现指定的功能。5.1.2软件调试软件调试采用单片机仿真器WAVE6000L及微机,将编好的程序进行调试,主要是检查语法错误。5.1.3硬件软件联调试将调试好的硬件和软件进行联调,主要调试系统的实现功能。5.2 测试结果在对系统进行波形仿真时可以在虚拟示波器上观察到锯齿波、三角波、正弦波和方波的波形。其中锯齿波、三角波以及正弦波的输出误差较大,方波波形较为理想。这一方面与电路设置的参数有关,另一方面也与使用的仿真软件有

32、关。对于上述问题的解决办法是:改变仿真电路的参数或着换用版本较高的仿真软件。当然一般产生这种情况的原因多由于电路的参数设计不合理所制。当按键1拨下时,波形为锯齿波,同时指示灯1发光。仿真图如图5-1所示。图5-1锯齿波仿真图当按键2拨下时,波形为三角波,同时指示灯2发光。仿真图如图5-2所示。图5-2 三角波仿真图当按键3拨下时,波形为正弦波,同时指示灯3发光。仿真图如图5-3所示。图5-3正弦波仿真图当按键4拨下时,波行为方波,同时指示灯4发光。仿真图如图5-4所示。图5-4 方波仿真图结 论基于单片机的智能信号发生器设计,该课题的设计目的是充分运用大学期间所学的专业知识,考察现在正在使用的

33、信号发生器的基本功能,完成一个基本的实际系统的设计全过程。关键是这个实际系统设计的过程,在整个过程中我可以充分发挥单片机知识。特别是这个信号发生器的设计中涉及到一个典型的控制过程。通过单片机控制一个模数转换器DAC0832产生所需要的电流,然后使用运算放大器NE4558可以将其电流输出线性地转换成电压输出,通过程序的控制,可以产生一系列有规律的波形。这样一个信号发生装置在控制领域有相当广泛的应用范围。此设计方案硬件较为简单,主要是由单片机跟DAC08322个芯片构成,连线也较简便。键盘电路用的独立未编码结构,一个键控制一个波形。显示电路主要是由发光二极管构成,利用发光二极管的导通即发光的特性来

34、显示是哪个波形的输出,简单易懂。软件程序方面较为复杂一点,此方案主要是靠程序的控制,主要由4个波形产生的子程序加上有承上启下作用的主程序构成,程序思路还是比较清晰。其中正弦波的程序较为繁琐,因为是通过查表指令产生的,所以要列出个含有较多字符的表格。当然还是存在不足的地方,比如不能实现频率与幅度的可调,显示电路跟键盘电路有待进一步改进。参考文献1 吴杰.基于ISP 技术的电子公告牌系统J.科技资讯2008.NO.14:83-87.2 杨恢先,黄辉先.单片机原理及应用M.人民邮电出版社,2006.3 李川,汪秋蒙.ISP技术的原理及实现方法J.科技资讯.2007,35期:93-94.4 万光毅.单

35、片机实验与实践教程M.北京航空航天大学出版社.2005.1.5 张毅刚.单片机原理及应用M.高等教育出版社.2003:160-190.6 曾一江.单片机微机原理与接口技术M.科学出版社,2006.7 王新强.基于AT89S52的智能信号发生器J.河南机电高等专科学校学报,2006,14(3):37-39.8 马忠梅.单片机的C 语言应用程序设计M.北京:北京航空航天大学出版社.20069 康华光,陈大钦.电子技术基础M.高等教育出版社,1998.10周润景.基于Proteus的电路与单片机仿真系统设计与仿真M.北京航空航天大学出版社. 2005.附录1 程序KEY1 BIT P1.0KEY2

36、BIT P1.1KEY3 BIT P1.2KEY4 BIT P1.3;按键KEY1:锯齿波 按键KEY2:三角波 按键KEY3: 正弦波 ;按键KEY4: 方波; ORG 0000H LJMP MAIN ORG 0030HMAIN:MOV SP,#50HSCAN_KEY1:MOV A,P1 ANL A,#0FH CJNE A,#0EH,SCAN_KEY2 LJMP B1SCAN_KEY2:MOV A,P1 ANl A,#0FH CJNE A,#0DH,SCAN_KEY3 LJMP B2SCAN_KEY3:MOV A,P1 ANl A,#0FH CJNE A,#0BH,SCAN_KEY4 LJM

37、P B3SCAN_KEY4:MOV A,P1 ANl A,#0FH CJNE A,#07H,SCAN_KEY1 LJMP B4;利用dac0832产生锯齿波;B1:CLR P1.4 SETB P1.5 SETB P1.6 SETB P1.7SANTOO:MOV A ,#00H MOV DPTR,#7FFFHLLOOP:MOVX DPTR,A INC A CJNE A,#0FFH,LLOOP LJMP SCAN_KEY1;利用dac0832产生三角波;B2: CLR P1.5 SETB P1.4 SETB P1.6 SETB P1.7TRIAN:MOV A ,#00H MOV DPTR,#7FF

38、FHUP: MOVX DPTR,A INC A JNZ UP DOWN: DEC A MOVX DPTR,A JNZ DOWN LJMP SCAN_KEY2;利用dac0832产生正弦波;在表格里取数送到指定地址B3: CLR P1.6 SETB P1.4 SETB P1.5 SETB P1.7SINE: MOV DPTR,#7FFFH push dph push dpl MOV DPTR,#sinTab LOOP: CLR A MOVC A,A+DPTR CJNE A,#129,LOOP1 RETLOOP1: pop dplpop dph MOVX DPTR,A INC DPTR AJMP

39、LOOPsinTab:DB 128,132,137,141,146,150,154,159,163,167DB 171,176,180,184,188,191,195,199,203,206DB 210,213,216,219,222,225,228,231,233,236DB 238,240,242,244,246,247,249,250,251,252DB 253,254,254,255,255,255,255,255,254,254DB 253,252,251,250,249,247,246,244,242,240DB 238,236,233,231,228,225,222,219,21

40、6,213DB 210,206,203,198,195,192,188,184,180,176DB 172,167,163,159,155,150,146,141,137,133DB 128,124,119,115,111,106,102,97,93,89,85DB 81,77,73,69,65,61,57,54,50,47,43,40,37DB 34,31,28,25,23,20,18,16,14,12,10,9,7DB 6,5,4,3,2,2,1,1,1,1,1,2,2,3,4,5,6DB 7,9,10,12,14,16,18,20,23,25,28,30,33,36DB 40,43,46,50,53,57,60,64,68,72,76,80,84DB 88,93,97,101,106,110,114,119,123,128,129LJMP SCAN_KEY3;利用dac0832产生方波;B4: CLR P1.7 SETB P1.4 SETB P1.6 SETB P1.5SQUN:MOV DPTR,#7FFFH MOV A ,#0FFH MOVX DPTR,A LCALL Delay

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号