基于51单片机的简易函数信号发生器
STC51单片机的函数信号发生器(c语言)
STC51单片机的函数信号发生器(c语言)————————————————————————————————作者:————————————————————————————————日期:基于51单片机的函数信号发生器设计报告摘要本系统利用单片机AT89C52采用程序设计方法产生锯齿波、三角波、正弦波、方波四种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产生10Hz—10kHz的波形。
通过键盘来控制四种波形的类型选择、拨码开关控制频率的变化,并通过液晶屏1602显示其各自的类型以及数值,系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。
关键词:单片机AT89S52、DAC0832、液晶1602目录1. 系统设计1.1 设计要求1.2方案设计与论证1.2.1 信号发生电路方案论证 1.2.2 单片机的选择论证1.2.3 显示方案论证1.2.4 键盘方案论证1.3 总体系统设计1.4 硬件实现及单元电路设计1.4.1 单片机最小系统的设计1.4.2 波形产生模块设计1.4.3 显示模块的设计1.4.4 键盘模块的设计1.5 软件设计流程1.6 源程序2. 输出波形的种类与频率的测试2.1 测试仪器及测试说明2.2 测试结果3、附录3.1 参考文献3.2 附图1、系统设计经过考虑,我们确定方案如下:利用AT89C52单片机采用程序设计方法产生锯齿波、三角波、正弦波、方波四种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,通过键盘来控制四种波形的类型选择、频率变化,最终输出显示其各自的类型以及数值。
1.1、设计要求1)、利用单片机采用软件设计方法产生四种波形2)、四种波形可通过键盘选择3)、波形频率可调4)、需显示波形的种类及其频率1.2方案设计与论证1.2.1 信号发生电路方案论证方案一:通过单片机控制D/A,输出四种波形。
基于51单片机的函数信号发生器陈伟11017P讲解
南京信息职业技术学院毕业设计论文作者陈伟学号 11017P20 系部中认新能源技术学院专业电子信息工程技术(检测技术及应用)题目基于51单片机的函数信号发生器的设计指导教师李江雪评阅教师完成时间: 2013 年 05 月10 日毕业设计(论文)中文摘要目录1引言 (5)2设计要求 (5)3 总体设计方案 (5)4 硬件电路的实现 (6)4.1 单片机最小系统的设计 (6)4.1.1 时钟电路 (7)4.1.2 复位电路 (7)4.2 D/A转换电路 (8)4.3 放大滤波电路 (10)4.4 键盘模块的设计.................................. 错误!未定义书签。
4.5 显示模块的设计.................................. 错误!未定义书签。
5 软件程序的的实现.................................. 错误!未定义书签。
6 测试仪器及测试说明 (14)结论 (14)致谢................................................ 错误!未定义书签。
参考文献.. (15)附录A (15)附录B (16)1 引言函数信号发生器是一种常用信号源。
通常能够产生正弦波、方波、三角波、锯齿波等多种波形,因其时间波形可用某种时间函数来描述而得名。
函数信号发生器在电路实验和设备检测中具有十分广泛的应用,密切地联系着工业、农业、生物医学等产业,并对它们的发展起到极大的促进作用。
伴随着单片机技术的快速发展与普遍应用,函数信号发生器的性能和性价比将会有更大的提升空间。
基于单片机的函数信号发生器将为智能化生活提供实质的帮助。
本设计旨在通过查找文献资料提高自己独立学习、思考能力。
提高把理论运用到实践当中的能力,提升认识水平。
2设计要求1、利用AT89C51单片机设计的函数信号发生器产生正弦波、方波、三角波、锯齿波四种波形。
基于51单片机的函数发生器设计
摘要函数发生器主要作为实验用信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。
本次设计的主要目的就是为了学习基于单片机的函数发生器的工作原理,设计出一个低频的函数发生器。
从事本次设计不仅可以让我对函数发生器的原理有更深的了解,而且也对单片机的知识有更深的掌握。
单片机有很多种类,而且制作函数发生器的方案繁多,本次设计是以AT89C51单片机为核心,选用DAC0832为数模转换芯片,并辅以必要的模拟电路,设计出了一个基于AT89C51单片机的函数信号发生器。
其设计内容主要包括单片机最小系统的设计、DA转换模块的设计、键盘控制模块的设计及LCD显示模块的设计。
其中DA转换模块包括2块DAC0832芯片和OP07运放电路,第一块DA芯片的输出作为第二块DA芯片的参考电压,而第一块DA芯片的2.5V参考电压由MC1403芯片的输出来提供;键盘控制模块采用3个按键来选择波形类型及调节频率、幅值;显示模块则采用LCD1602来显示波形类型、频率及幅值;最终将设计好的函数发生器的输出接上示波器,在示波器上显示实际输出的波形。
本设计最终能达到预期的效果,能实现电压步进0.1V,方波能够任意调节占空比以及在LCD1602上显示波形类型、电压和频率,并且可以通过示波器来观察其输出的波形。
【关键词】AT89C51单片机 DAC0832 LCD1602 按键ABSTRACTFunction as the main generators by signals. Electronic circuits is now the design in the application of the necessary equipment. The design of the main purpose is to learn revivification function of the generators works, a low frequency function of the generators. in this design could not only allow me to the principle functions of programme,there is more, but also for a more monolithic integrated circuits to learn.Monolithic integrated circuits there are many varieties, and the production function of the generators, the design is AT89c51 monolithic integrated circuits to the selection of a module dac0832 the chips, and supported by the simulation circuits, and devised a function of the signal based on at89c51 monolithic integrated circuits generators. The design includes monolithic integrated circuits to the system design, and D/A the module for the design, the keyboard control module of the design and LCD modules display design.One of D/A the modules including two dollars and op07 dac0832 the discharge of the D/A, the chip is the D/A chip of the voltage and the first piece of D/A chips 5v reference by 2. the voltage mc1403 chip of the output to provide; keyboard control in three key to select the type and frequency, wave of value displays module lcd1602;is used to indicate the type and frequency and wave be;Eventually will be designed to function of the generators output meet on oscilloscope, in the wave is varied in the practical output.The design of the will to achieve the desired results can be achieved step 3 1v voltage and waves to any regulation of free and lcd1602 than on the type of signal wave, voltage and frequency, and may, by the wave is varied to observe the output.【Key words】A T89C51MCU DAC0832 LCD1602 KEY目录前言 (1)第一章单片机概述 (2)第一节单片机的发展历史及趋势 (2)第二节 AT89C51单片机结构简介 (3)一、AT89C51的基本特性 (3)二、AT89C51单片机的外部引脚介绍 (4)第三节本章小结 (6)第二章方案选择 (7)第一节波形生成方案 (7)第二节频率改变方案 (8)第三节本章小结 (9)第三章系统硬件设计 (10)第一节各模块硬件设计 (10)一、系统总体设计 (10)二、单片机最小系统设计 (11)三、8位DA转换器DAC0832 (12)四、2.5V基准电压模块设计 (16)五、系统显示功能设计 (16)六、系统按键功能设计 (20)第二节本章小结 (21)第四章系统软件设计 (23)第一节 Keil C51开发环境简介 (23)一、Keil uVision3环境介绍 (23)二、利用Keil uVision3创建新项目 (24)第二节系统软件流程设计 (25)一、系统软件总体设计 (25)二、子系统软件设计 (26)三、系统详细流程 (28)第三节本章小结 (29)第五章设计成果 (30)第一节实物展示和性能说明 (30)一、系统设计的实物整体 (30)二、液晶显示模块 (31)三、示波器显示模块 (33)第二节本章小结 (35)结论 (36)致谢 (37)参考文献 (38)附录 (39)一、英文原文: (39)二、英文翻译: (42)三、工程设计图纸: (44)四、源程序: (45)前言本次设计的主要是学习基于单片机的函数发生器的工作原理,制作出一个低频的函数信号发生器。
基于STC89C51单片机的简单函数信号发生器设计
基于STC89C51单片机的简单函数信号发生器设计任英杰;黄建清;郭凯;李亚军【摘要】研究设计了一款基于51单片机的函数信号发生器,包含发生器电路设计,软件设计以及联合仿真调试.通过键控的方法分别发生锯齿波、矩形波、正弦波、梯形波的波形以及调节发生波的周期和频率,相较于模拟函数信号发生器,能够直观方便且准确地调节波形和频率,是搭建数字信号发生器的基本模型.通过MDK keil 编译环境和Proteus单片机仿真环境联合仿真.通过Altium Designer设计PCB 印制电路图.得出输出信号的电压幅度能在一定范围内连续可调,频率稳定度高,频率可调在10 Hz~100 kHz范围的结果.【期刊名称】《电子设计工程》【年(卷),期】2018(026)014【总页数】5页(P91-94,106)【关键词】数字函数信号发生器;STC89C51;Proteus;MDKKeil【作者】任英杰;黄建清;郭凯;李亚军【作者单位】海南大学热带农林学院,海南儋州571737;海南大学热带农林学院,海南儋州571737;海南大学热带农林学院,海南儋州571737;海南大学热带农林学院,海南儋州571737【正文语种】中文【中图分类】TN606简单函数信号发生器的设计从一出现就在国内外引来了前所未有的热潮,因为它在航空航天、仪器检测等方面起到了不可或缺的作用,更是对国民经济的发展有极大的贡献。
其中不乏有一些复杂的方法去得到,用这些方法虽然可以得到常用的3种基本波形,但是出于对成本等方面的考虑,依旧没有得到大规模的使用。
本文采用的是STC89C51单片机联合DA转换、电压放大等一系列措施去实现简单函数信号发生器的设计。
在本次设计过程中要用到Proteus和AD10工具软件,它们均是集仿真、调试与设计合为一体的综合性软件。
也会用到keil 3编程软件,这是目前比较流行的一款软件。
1 硬件设计1.1 硬件的组成主要以STC89C51为核心,同时也附带有数模转换芯片DAC0832去进行D/A转换,LM324芯片的作用是电压比较和放大。
基于51单片机的函数信号发生器的设计
1前言
I L 这种方法 无需改变硬件电路。 这种方法 可以使信号的精度很高( 编
, 许可使 电路得到一定程度上的简化。 波 彤 发 中器 , 是 ‘ 种 怍 为 测试 } { j 的f 吉号源 . 是 当 下 很 多 电子 设 程产生的足数字信号) { 三 程序 和生成波彤的子程序 共同组成了系统软件设计 , 生成 波 计 要 啪 到 的 仪器 。 现 如今是 科 学 技 术千 n 设 备高 速 智 能 化 发展 的 科 技 形的f程序 的编程是软件设计的主要内容 , 各种波形通过编程来 得 信息社会 , 集成 电路发展迅猛 , 集成电路 能简单 ̄ t PI : - 成锌式各样 的
选择 角波 , 绿 色I …) f ( 』 亮起 。 l 雨数 信 ’ 发 生 器 频 率 最 高 叮达 到
系统容易设 计、 性能好 、 性价 比相对其他来说更高, 能用在很多要用
到 低 频信 号 源 的 地 方 。 参 考 文 献
.
整 个系统根据功能分成 以下模块编程 : ( 1 ) 主程序模块 ; ( 2 ) 三角波 波形发! £ 器, 将 其他 信 号波 形 发生 器 _ r 用集 战 电路 实 现 的信 号 波 形 到。 幔块 ; ( 3 ) 正弦波模块 ; ( 4 ) 方波模块 ; ( 5 ) 延时子程序模块等 。 通过利用 发乍器进 行对 比, 波形质量 、 幅度和频率稳定性等忡能指标 , 集成电
示 波 L 。 按 照 对 作 品 的 设 一 研 圳 换三种 不同波形。 1 0 3 为可调 电阻, 用于 幅值 的调节。 自锁开 关 究, 编 程 序 , 来 观 符种 波 形 的频 率 干 ¨ 幅 值数 值 j 甍 求制 配 , 然 起剁 电源歼关的作用。 置个发光 _ . 极管分别对应三种波形用于识别
基于51单片机函数信号发生器设计
课程设计任务书指导教师:2012 年12 月17 日3目录目录 (2)1.系统设计 (5)1.1设计要求 (5)1.2方案设计与论证 (5)1.2.1 信号发生电路方案论证 (5)1.2.3 显示方案论证 (6)1.2.4键盘方案论证 (6)1.3总体系统设计 (6)1.4硬件实现及单元电路设计 (6)1.4.1单片机最小系统的设计 (7)1.4.2 波形产生模块设计 (7)1.4.3 显示模块的设计 (8)1.4.4 键盘显示模块的设计 (8)1.5 软件设计流程 (9)2.输出波形的种类与频率的测试 (10)2.1、测量仪器及测试说明 (10)2.2测试过程 (10)2.3、测试结果 (11)3.设计心得及体会 (11)参考文献 (11)41.系统设计经过考虑,我们确定方案如下:利用AT89S52单片机采用程序设计方法产生锯齿波、正弦波、矩形波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,通过键盘来控制三种波形的类型选择、频率变化,最终输出显示其各自的类型以及数值。
1.1、设计要求1)、利用单片机采用软件设计方法产生三种波形2)、三种波形可通过键盘选择3)、波形频率可调4)、需显示波形的种类及其平率1.2方案设计与论证1.2.1 信号发生电路方案论证方案一:通过单片机控制D/A,输出三种波形。
此方案输出的波形不够稳定,抗干扰能力弱,不易调节。
但此方案电路简单、成本低。
方案二:使用传统的锁相频率合成方法。
通过芯片IC145152,压控振荡器搭接的锁相环电路输出稳定性极好的正弦波,再利用过零比较器转换成方波,积分电路转换成三角波。
此方案,电路复杂,干扰因素多,不易实现。
方案三:利用MAX038芯片组成的电路输出波形。
MAX038是精密高频波形产生电路,能够产生准确的三角波、方波和正弦波三种周期性波形。
但此方案成本高,程序复杂度高。
以上三种方案综合考虑,选择方案一。
基于51单片机的信号发生器设计报告
基于51单片机的信号发生器设计报告二零一四年十二月十一日摘要根据题目要求以及结合实际情况,本文采用一种以AT89C51单片机为核心所构成的波形发生器,可产生方波、三角波、正弦波、锯齿波等多种波形,波形的频率可用程序改变,并可根据需要选择单极性输出或双极性输出,具有线路简单、结构紧凑、性能优越等特点。
本设计经过测试,性能和各项指标基本满足题目要求。
关键词:信号发生器 DAC0832芯片 LM358运放 89C51芯片目录摘要...................................................................... 目录...................................................................... 第一章绪论.................................................................1.1单片机概述...........................................................1.2信号发生器的概述和分类..............................................1.3问题重述及要求....................................................... 第二章方案的设计与选择...................................................2.1方案的比较...........................................................2.2设计原理 .............................................................2.3设计思想 .............................................................2.4实际功能 ............................................................. 第三章硬件设计............................................................3.1硬件原理框图.........................................................3.2主控电路 .............................................................3.3数、模转换电路.......................................................3.4按键接口电路.........................................................3.5时钟电路 .............................................................3.6显示电路 ............................................................. 第四章软件设计............................................................4.1程序流程图........................................................... 参考文献.................................................................... 附录1 电路原理图 .......................................................... 附录2 源程序............................................................... 附录3 器件清单......................................................第一章 绪论1.1 单片机概述单片机(Single chip microcomputer )是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU 、随机存储器RAM 、只读存储器ROM 、多种I/O 口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D 转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
基于51单片机的简易信号发生器
/****************简易信号发生器****************************程序功能:输出正弦波、锯齿波、方波、三角波涉及芯片:TLC5615**********************************************************/#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit din=P3^0;sbit scl=P3^1;sbit cs1=P3^2;sbit key1=P1^0;sbit key2=P1^1;sbit key3=P1^2;sbit key4=P1^3;//sbit w2= P1^0;uchar code sine_tab[256]={//输出电压从0到最大值(正弦波1/4部分)0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab, 0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5,0xc7,0xca,0xcc,0xcf,0xd1,0xd4, 0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,//输出电压从最大值到0(正弦波1/4部分)0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba, 0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99 ,0x96,0x93,0x90,0x8d, 0x89,0x86,0x83,0x80,//输出电压从0到最小值(正弦波1/4部分)0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55, 0x51,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b, 0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16,0x15,0x13,0x11,0x10,0x0e, 0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00, 0x00,0x00,0x00,0x00,//输出电压从最小值到0(正弦波1/4部分)0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05,0x06,0x07,0x08, 0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15,0x16,0x18,0x1a,0x1c,0x1e,0x20, 0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45, 0x48,0x4c,0x4e,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66,0x69,0x6c,0x6f,0x72, 0x76,0x79,0x7c,0x80};uchar bdata date; //位寻址sbit date7=date^7;sbit date6=date^6;sbit date5=date^5;sbit date4=date^4;sbit date3=date^3;sbit date2=date^2;sbit date1=date^1;sbit date0=date^0;void delay(uint t){while(t--);}void write_sip5615(uchar k) {date=k;din=date7;scl=0;scl=1;din=date6;scl=0;scl=1;din=date5;scl=0;scl=1;din=date4;scl=0;scl=1;din=date3;scl=0;scl=1;din=date2;scl=0;scl=1;din=date1;scl=0;scl=1;din=date0;scl=0;}void write_5615(uint k){k<<=2;cs1=0;write_sip5615(k>>8);//送高八位write_sip5615(k);//送低八位cs1=1;}void main(){uint k1=0,k2=0,k3=0,k4=0,i=0,j=0,x=0,z,p;while(1){/* w2=0;delay(500);w2=1;delay(500); */if(key1==0)//按键1检测{k1=1;k2=0,k3=0,k4=0;while(!key1);}if(key2==0) //按键2检测{k2=1;k3=0,k1=0,k4=0;while(!key2);}if(key3==0)//按键3检测{k3=1;k1=0,k2=0,k4=0;while(!key1);}if(key4==0)//按键4检测{k4=1;k1=0,k2=0,k3=0;while(!key2);}if(k1==1)//正弦波write_5615(sine_tab[i]);i++;delay(100);if(i==256)i=0;}if(k2==1)//锯齿波{write_5615(j);j++;delay(100);if(j==250)j=0;}if(k3==1)//方波(次处用单片机的I/O效果更好){write_5615(10);delay(10000);write_5615(200);delay(10000);}if(k4==1)//三角波{for(z=0;z<301;z++){delay(50);write_5615(z);if(z==300){for(p=300;p>0;p--){if(p==0)break;write_5615(p);delay(50);}}}}}}。
基于51单片机的信号发生器
哈尔滨工业大学(威海)课程设计报告
图 3-3 DAC0832 与单片机的接口电路
图 3-4 键盘和单片机的连接电路图
3.6 显示电路
(1)运算放大电路 运算放大器型号为 UA741,它是一种高增益运算放大器,用于军事、工业和商
7
哈尔滨工业大学(威海)课程设计报告
业应用。这类单片硅整集成电路器件提供输出短路保护和闭锁自由运作。 运算放大器与 DAC0832 接口电路如图 3-5 所示。
信号发生器是一种经常使用的设备,若按照传统的设计方法,由纯粹的物理 器件构成,存在许多弊端,如:体积较大、重量较沉、移动不方便、信号失真较 大、波形形状调节过于死板,无法满足用户对精度、便携性、稳定性等要求。研 究设计出一种具有频率稳定、准确,波形质量好,便携性好等特点的波形发生器 来满足工业领域对信号源的要求,具有较好的市场前景。
(1)电流稳定时间 1us; (2)可单缓冲、双缓冲或直接数字输入; (3)单一电源供电(+5V~+15V); (4)低功耗,200mW。 DAC0832 结构: (1)D0~D7:8 位数据输入线,TTL 电平,有效时间应大于 90ns(否则锁 存器的数据会出错);
5
哈尔滨工业大学(威海)课程设计报告
CS
VCC
WR1 ILE(BY1/BY2)
GND
WR2
DI3
XFER
DI2
DI4
DI1
DI5
DI0
DI6
VREF
DI7
RFB
IOUT2
GND
IOUT1
20 19 18 17 16 15 14 13 12 11
U3
A
DAC0832
B OP1P
基于51单片机的函数发生器和示波器
《智能仪器仪表设计基础》课程设计报告单位:自动化学院学生姓名:汪连升专业:测控技术与仪器班级:0821001学号:2010212950指导老师:耿道渠成绩:设计时间:2013 年5月重庆邮电大学自动化学院制一、题目:基于单片机的多波形信号发生器设计二、指导教师:耿道渠三、设计要求:设计一个信号发生器,实现如下功能:(1)可产生正弦波、方波、三角波、脉冲等波形;(2)通过按钮或键盘选定输出波形;(3)波形频率可设定;(4)波形可通过液晶屏显示。
四、给定条件:1、8051单片机最小系统;2、ADC,DAC器件;五、设计:1、方案论证,并确定设计方案2、给出信号发生器的整体设计框图3、硬件电路设计4、软件设计(画出程序流程图,并给出相应模块程序代码)5、完成设计报告六、具体设计过程及实验结果:七、设计的心得体会:八、附件:(可选)完成心率波、指数上升和指数下降波形;九、参考书目:给出主要参考书目(如:《单片机原理与应用》、《电子测量技术》、《单片机C语言程序设计》等),包括作者,书目名称,出版社等。
基于51单片机的波形发生器引言波形发生器是能够产生大量的标准信号和用户定义信号,并保证高精度、高稳定性、可重复性和易操作性的电子仪器。
函数波形发生器具有连续的相位变换、和频率稳定性等优点,不仅可以模拟各种复杂信号,还可对频率、幅值、相移、波形进行动态、及时的控制,并能够与其它仪器进行通讯,组成自动测试系统,因此被广泛用于自动控制系统、震动激励、通讯和仪器仪表领域。
本系统通过对51单片机的控制,用DA-AD等模块实现了正弦波、方波、三角波和锯齿波的产生,同时可以通过按键实现波形的选择和波形频率的改变。
在实现波形的发生的同时又实现了波形图线的显示,通过NoKia5110对AD实时采集数据的显示、波形类型和波形频率的显示。
摘要:本系统采用单片C8052为控制核心,通过其端口实现数字量的输出,然后由DAC0832把数字量转换成模拟量;但是DAC芯片输出的是电流信号,本系统用LM324运放把电流信号转换为电压信号。
基于51单片机的简易函数信号发生器资料
创新性实验研究报告实验项目名称_简易函数信号发生器四、实验内容1、运用keil软件对程序进行编写,运行程序,并进行程序修改。
2、运用protues软件进行硬件电路仿真设计。
3、将程序下载到仿真单片机中,并观测输出波形。
4、对程序进行修改,再次运行仿真软件,直到输出理想的波形。
5、仿照仿真软件进行硬件电路的焊接。
6、将程序下载到单片机,并用示波器测试输出波形。
7、对程序进行修改,直到输出满意的波形为止。
3、实验步骤1、首先打开keil软件.2、运用keil软件对程序进行编写,程序见附件。
3、打开protues软件.4、运用protues软件对硬件电路进行设计。
9C51单片机是该信号发生器的核心,具有2个定时器,32个并行I/O口,1个串行I/O口,5个中断源。
由于本设计功能简单,数据处理容易,数据存储空间也足够,因为我们采用了片选法选择芯片,进行芯片的选择和地址的译码。
在单片机最小最小系统中,单片机从P1口接收来自键盘的信号,并通过P0口输出控制信号,通过DA转换芯片最终由示波器显示输出波形。
单片机引脚分配如下:�XTAL1,XTAL2:外接晶振,产生时钟信号。
�RST:复位电路;�P2口:8位数字信号输出输出,外接DAC0832;�P3.6口和P3.7口:DAC0832的时钟信号;单片机模块单片机输出的是数字信号,因为要得到模拟信号的波形就必须对其进行数模转换。
我们采用了DAC0832数模转换器,该芯片具由8位输入锁存器、8位DAC寄存器、8位D/A转换器及转换控制电路四部分构成。
由于其输出为电流输出,因为外加运算放大器LM324使之转换为电压输出。
最后通过示波器显示输出的波形。
数模转换模块运放模块整体硬件电路图五、实验结果与分析1、实验现象、数据记录仿真波形2、对实验现象、数据及观察结果的分析与讨论:经过观察调试,再观察,再调试,最终输出的波形较为理想。
此次试验经过一系列的调试,最终输出的波形为正弦波、方波、三角波。
--基于51单片机的简易函数信号发生器的设计与分析
基于51单片机的简易函数信号发生器的设计与分析郭 辉(阜阳师范学院信息工程学院,安徽阜阳,236037)摘要:函数信号发生器设计与分析是单片机实践中的一重要实验。
本文采用Proteus 对函数信号发生器的原理图进行设计,并通过Keil 软件编程验证该设计的可行性,通过调节按键,该简易函数信号发生器可以正确输出正弦波、锯齿波、梯形波、矩形波,并可以通过按键对相应波形的频率进行调节,最终通过Proteus 制作出该电路的PCB 原理图。
本设计对单片机项目设计与实现具有一定的指导意义。
关键词:信号发生器;AT89C51;Proteus ;Keil ;PCB 中图分类号:TP368.1 文献标识码:BDesign and analysis of a simple function signal generator based on 51 single chip microcomputerGuo Hui(College of Information Engineering,Fuyang Teachers' College,Fuyang Anhui,236037)Abstract :This paper uses the principle of figure Proteus function signal generator is designed,and the feasibility of the design is verified by Keil software programming,by adjusting the key,the simple function signal generator can output sine wave,Ju Chibo,trapezoidal wave,rectangular wave,and can be adjusted through the key corresponding to the frequency of the waveform, eventually produced by Proteus PCB principle diagram of the circuit.Keywords :signal generator;AT89C51;Proteus;Keil;PCB 0 引言Proteus 软件为英国Labcenter electronics 公司开发的EDA 工具软件。
基于51单片机函数信号发生器设计.
课程设计任务书课程名称集成电路原理及应用课程设计课程代码设计题目函数信号发生器设计设计时间2012年12月17日——2012 年12月22 日院(系)电子信息学院专业电子信息工程班级BX0904 一、课程设计任务(条件)、具体技术参数(指标)任务:设计一个函数信号发生器功能要求:⑴设计并制作能产生正弦波、矩形波(方波)和三角波(锯齿波)的函数发生器,本信号发生器可以考虑用专用集成芯片为核心实现。
⑵信号频率范围: 1Hz-100kHz;⑶频率控制方式:①手控通过改变RC参数实现;②键控通过改变控制电压实现;③为能方便地实现频率调节,建议将频率分档;⑷输出波形要求①方波上升沿和下降沿时间不得超过200nS,占空比在48%-50%之间;②非线性误差≤2%;③正弦波谐波失真度≤2%;⑸输出信号幅度范围:0-20V;⑹信号源输出阻抗:≤1Ω;⑺应具有输出过载保护功能;⑻具有数字显示输出信号频率和电压幅值功能。
二、对课程设计成果的要求(包括课程设计说明书、图纸、图表、实物等软硬件要求)1.课程设计基本要求课题分析、查阅资料、方案论证、方案实现、系统联调、撰写课程设计报告2.成果要求(1)系统方案(2)硬件电路原理图或软件源程序(3)设计说明书(课程设计报告)三、课程设计工作进度计划:时间安排内容星期一(12月17日)第7-8小节下达任务、选择方案星期二(12月18日)软硬件设计星期三(12月19日)第1-4小节软硬件设计、调试星期四(12月20日)第1-4小节调试、撰写报告星期五(12月21日)第1-4小节考核答辩四、主要参考资料参考资料:《集成电路原理及应用》谭博学主编,电子工业出版社指导教师:2012 年12 月17 日目录目录 (2)1.系统设计 (5)1.1设计要求 (5)1.2方案设计与论证 (5)1.2.1 信号发生电路方案论证 (5)1.2.3 显示方案论证 (6)1.2.4键盘方案论证 (6)1.3总体系统设计 (6)1.4硬件实现及单元电路设计 (6)1.4.1单片机最小系统的设计 (7)1.4.2 波形产生模块设计 (7)1.4.3 显示模块的设计 (8)1.4.4 键盘显示模块的设计 (8)1.5 软件设计流程 (9)2.输出波形的种类与频率的测试 (10)2.1、测量仪器及测试说明 (10)2.2测试过程 (10)2.3、测试结果 (11)3.设计心得及体会 (11)参考文献 (11)1.系统设计经过考虑,我们确定方案如下:利用AT89S52单片机采用程序设计方法产生锯齿波、正弦波、矩形波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,通过键盘来控制三种波形的类型选择、频率变化,最终输出显示其各自的类型以及数值。
基于51单片机的DDS函数信号发生器的设计
基于51单片机的DDS函数信号发生器的设计
本文介绍基于51单片机的DDS函数信号发生器的设计。
系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,通过程序设计方法产生锯齿波、正弦波、三角波、矩形波四种波形,通过按键来控制四种波形的类型选择、频率变化,并通过液晶屏1602显示其各自的类型以及频率值。
总体系统设计
该系统采用单片机作为数据处理及控制核心,由单片机完成人机界面、系统控制、信号的采集分析以及信号的处理和变换,采用按键输入,利用液晶显示电路输出数字显示的方案。
将设计任务分解为按键电路、液晶显示电路等模块。
下图为系统的总体框图
总体方框图
硬件实现及单元电路设计
振荡电路
单片机内部有一个高增益、反相放大器,其输入端为芯片引脚XTAL1,。
基于51单片机的函数信号发生器
基于51单片机的函数信号发生器
一、任务
设计并制作一台基于51单片机的函数信号发生器,使之能产生正弦波、方波和三角波信号,且不能使用专用集成函数发生器芯片。
二、要求
系统框图:
1.基本要求
1)信号发生器能产生正弦波、方波和三角波三种周期性波形;
2)输出信号频率在100Hz~1kHz范围内可调;
3)输出信号波形无明显失真;
2.发挥部分
1)将输出信号频率范围扩展为10Hz~10kHz,输出信号频率可分段调节:在10Hz~
10kHz范围内步进间隔为100Hz;
2)在1k 负载条件下,输出正弦波信号的电压峰-峰值V opp在0~5V范围内即可;
3)可实时显示输出信号的类型、幅度、频率和频率步进值;
4)其他。
三、说明
设计报告正文应包括系统总体框图、核心电路原理图、主要流程图和主要的测试结果。
完整的电路原理图、重要的源程序和完整的测试结果可用附件给出。
四、评分标准
注:请大家于五一收假的晚上之前把你们所需要的元件清单拿过来,我们好统一购买元器件。
基于51单片机的信号发生器
基于51单片机的信号发生器[摘要] 信号发生器是一种常用的信号源,广泛的应用于电子电路,自动控制统和教学实验等领域。
目前使用的信号发生器大部分是利用分立元件组成的体积大,可靠性差,准确度低。
本系统以51单片机为控制核心,由电源模块、DAC转换模块和按键控制与显示模块构成,可以输出较为稳定的正弦波、方波、三角波、锯齿波等,按键模块是在单片机上加外围器件独立开关,通过开关控制波形的选择。
当波形进行选择时,通过一块显示屏来确认当前所选波形,方便查询。
DAC转换模块在单片机的输出端口接DAC0832进行DA转换,再通过运放进行波形调整,最后输出波形接在示波器上显示.该系统用C语言编写模块化程序,增强了可读性,以便于89C51对各模块的控制,实现各功能的设置。
本设计结构清晰简单,性能优越。
[关键词] 信号发生器;单片机;波形调整;Function Generator Design Based on 51 MCU[Abstract] Signal generator is a kind of common signal source,widely used in electronic circuits, automatic control system and the teaching experiment, etc. Currently use most of the signal generator is the use of discrete component of large volume, poor reliability and low accuracy.This system with 51 single-chip microcomputer as control core, by the power supply module, DAC conversion module and key control and display modules, which can output sine wave, square wave, triangle wave, sawtooth wave, etc., key modules on the single chip microcomputer and peripheral device independent switch, switch control waveform selection. When the waveform selection, through a screen to confirm the current selected waveform, convenient query. DAC conversion module in the MCU output port after DA conversion DAC0832,again through the op-amp waveform adjustment, the output waveform in the oscilloscope display. The system is modularized program written in C language, to enhance the readability, so that the 89 c51 control of the module,the realization of each function Settings.This design clear and simple in structure, superior performance.[Key Words] single-chip;waveform;signal generator;前言单片机的论述随着大规模集成电路技术的发展,中央处理器、随机存取存储器、只读存储器、(I/O)接口、定时器/计数器和串行通信接口,以及其他一些计算机外围电路等均可集成在一块芯片上构成单片微型计算机,简称单片机。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
创新性实验研究报告实验项目名称_简易函数信号发生器四、实验内容2、实验内容1、运用keil软件对程序进行编写,运行程序,并进行程序修改。
2、运用protues软件进行硬件电路仿真设计。
3、将程序下载到仿真单片机中,并观测输出波形。
4、对程序进行修改,再次运行仿真软件,直到输出理想的波形。
5、仿照仿真软件进行硬件电路的焊接。
6、将程序下载到单片机,并用示波器测试输出波形。
7、对程序进行修改,直到输出满意的波形为止。
3、实验步骤1、首先打开keil软件.2、运用keil软件对程序进行编写,程序见附件。
3、打开protues软件.4、运用protues软件对硬件电路进行设计。
9C51单片机是该信号发生器的核心,具有2个定时器,32个并行I/O口,1个串行I/O口,5个中断源。
由于本设计功能简单,数据处理容易,数据存储空间也足够,因为我们采用了片选法选择芯片,进行芯片的选择和地址的译码。
在单片机最小最小系统中,单片机从P1口接收来自键盘的信号,并通过P0口输出控制信号,通过DA转换芯片最终由示波器显示输出波形。
单片机引脚分配如下:�XTAL1,XTAL2:外接晶振,产生时钟信号。
�RST:复位电路;�P2口:8位数字信号输出输出,外接DAC0832;�P3.6口和P3.7口:DAC0832的时钟信号;单片机模块单片机输出的是数字信号,因为要得到模拟信号的波形就必须对其进行数模转换。
我们采用了DAC0832数模转换器,该芯片具由8位输入锁存器、8位DAC寄存器、8位D/A转换器及转换控制电路四部分构成。
由于其输出为电流输出,因为外加运算放大器LM324使之转换为电压输出。
最后通过示波器显示输出的波形。
数模转换模块运放模块整体硬件电路图山东科技大学电工电子实验教学中心创新性实验研究报告五、实验结果与分析1、实验现象、数据记录仿真波形2、对实验现象、数据及观察结果的分析与讨论:经过观察调试,再观察,再调试,最终输出的波形较为理想。
此次试验经过一系列的调试,最终输出的波形为正弦波、方波、三角波。
刚开始在给运放接电源时,接的电源不是稳恒直流电源(用示波器测试了一下电源的输出波形,虽然电源上写的是直流稳恒电源,但是发现他的波形掺杂有杂波),所以测出来的波形不是正弦波、方波和三角波。
分析原因可能与运放的电源有关,所以在实验室找到了数控稳恒直流电源,经过给运放供电,发现输出了正弦波、方波、三角波。
所以给运放供电的电源必须是经滤波后的平稳电源,否则对运放有很大影响。
3、关键点:此次试验关键点是程序的编写,在程序编写的过程中请教了众多的编程高手,最终在大家的帮助下编写出了能输出正弦波、方波、三角波的程序。
此次试验另一个关键点是硬件电路的焊接。
在硬件电路焊接中首先应根据仿真软件进行焊接,当焊完以后还要对电路进行测试,以防止电路不通。
第三个关键点是在给运放供电时的电源一定要是稳恒直流电源,不能掺杂有杂波。
六、实验结论基于单片机的信号发生器设计,这个信号发生器的设计中涉及到一个典型的控制过程。
通过单片机控制一个模数转换器DAC0832产生所需要的电流,然后使用运算放大器LM324可以将其电流输出线性地转换成电压输出,再将电压经过运算放大器的放大,可以得到足够幅度的信号。
通过程序的控制,可以产生一系列有规律的波形。
这样一个信号发生装置在控制领域有相当广泛的应用范围。
最终做出来的信号发生器满足了题目中的所有要求:产生三种波形。
正弦波、三角波、矩形波。
当然还是存在不足的地方,比如不能实现频率的按一个小的步进调整。
并且当频率太小时矩形波会有些失真。
信号发生器可以生成更多的波形,只需要再加些波形表即可。
七、指导老师评语及得分:签名:年月日附件:源程序等。
正弦波程序:#include <reg51.h>#define uchar unsigned char#define uint unsigned intsbit cs=P3^7;sbit wr=P3^6;uchar j;uint ys,a=0;山东科技大学电工电子实验教学中心创新性实验研究报告uchar code tosin[256]={0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5,0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80 };/*正弦波码*/void delay(uint z) //延时子程序{uchar i,j;for(i=z;i>0;i--)for(j=110;j>0;j--);}void delay1(uint y){uint i;for(i=y;i>0;i--);}void main(){cs=1;wr=1;cs=0;山东科技大学电工电子实验教学中心创新性实验研究报告wr=0;while(1) //正弦波{P2=tosin[j];j++;delay(1);}wr=1;cs=1;}方波程序:#include <reg51.h>#define uchar unsigned char#define uint unsigned intsbit cs=P3^7;sbit wr=P3^6;uchar j;uint ys,a=0;uchar code tosin[256]={0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5,0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6f,0x72,山东科技大学电工电子实验教学中心创新性实验研究报告0x76,0x79,0x7c,0x80 };/*正弦波码*/void delay(uint z) //延时子程序{uchar i,j;for(i=z;i>0;i--)for(j=110;j>0;j--);}void delay1(uint y){uint i;for(i=y;i>0;i--);}void main(){cs=1;wr=1;cs=0;wr=0;while(1) //方波{P2=0xff;delay(1);P2=0;delay(1);}wr=1;cs=1;}三角波程序:#include <reg51.h>#define uchar unsigned char#define uint unsigned intsbit cs=P3^7;sbit wr=P3^6;uchar j;uint ys,a=0;uchar code tosin[256]={0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5,山东科技大学电工电子实验教学中心创新性实验研究报告0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80 };/*正弦波码*/void delay(uint z) //延时子程序{uchar i,j;for(i=z;i>0;i--)for(j=110;j>0;j--);}void delay1(uint y){uint i;for(i=y;i>0;i--);}void main(){cs=1;wr=1;cs=0;wr=0;while(1) //三角波{山东科技大学电工电子实验教学中心创新性实验研究报告if(a<128){P2=a;delay(10);}else{P2=255-a;delay(10);}a++;if(a==255){a=0;}}wr=1;cs=1;}。