采用8031设计信号发生器
89C51单片机设计多功能低频函数信号发生器,能产生方波、正弦波、三角波等信号波形

波形发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。
本次课程设计使用的AT89S51 单片机构成的发生器可产生锯齿波、三角波、正弦波等多种波形,波形的周期可以用程序改变,并可根据需要选择单极性输出或双极性输出,具有线路简单、结构紧凑等优点。
在本设计的基础上,加上按钮控制和LED显示器,则可通过按钮设定所需要的波形频率,并在LED上显示频率、幅值电压,波形可用示波器显示。
二、系统设计波形发生器原理方框图如下所示。
波形的产生是通过AT89S51 执行某一波形发生程序,向D/A转换器的输入端按一定的规律发生数据,从而在D/A转换电路的输出端得到相应的电压波形。
在AT89S51的P2口接5个按扭,通过软件编程来选择各种波形、幅值电压和频率,另有3个P2口管脚接TEC6122芯片,以驱动数码管显示电压幅值和频率,每种波形对应一个按钮。
此方案的有点是电路原理比较简单,实现起来比较容易。
缺点是,采样频率由单片机内部产生故使整个系统的频率降低。
1、波形发生器技术指标1)波形:方波、正弦波、锯齿波;2)幅值电压:1V、2V、3V、4V、5V;3)频率:10HZ、20HZ、50HZ、100HZ、200HZ、500HZ、1KHZ;2、操作设计1)上电后,系统初始化,数码显示6个…-‟,等待输入设置命令。
2)按钮分别控制“幅值”、“频率”、“方波”、“正弦波”、“锯齿波”。
3)“幅值“键初始值是1V,随后再次按下依次增长1V,到达5V后在按就回到1V。
4)“频率“键初始值是10HZ,随后在按下依次为20HZ、50HZ、100HZ、200HZ、500HZ、1000HZ循环。
三、硬件设计本系统由单片机、显示接口电路,波形转换(D/A)电路和电源等四部分构成。
电路图2附在后1、单片机电路功能:形成扫描码,键值识别、键处理、参数设置;形成显示段码;产生定时中断;形成波形的数字编码,并输出到D/A接口电路和显示驱动电路。
用c方案一个数字信号发生器

任务书设计内容:用MCS51和DAC设计一个信号发生器设计要求:1.用8031设计一个数字信号发生器2.波形种类:方波、三角波、梯形波、锯齿波、正弦波。
3.波形幅值在-5V ~+5V之间连续可调。
4.波形频率可调5.可方便地改变波形的各个参数并有相应的显示。
硬件设计图1 实际电路接线图总体方案幅值可调:本方案里就只有正弦波建了表,表中有256个点。
正弦波通过读取旧表其他四种波形通过自加,后利用ADC0809芯片将滑动变阻器上的电压转化成数字量然后通过软件,对AD取出的值乘以原表<或自加值)再除以FFH建立一张新表来实现调幅输出。
频率可调:也是通过DAC0832芯片,在AD采样中获取一个值放入入口地址R2中,利用R2做出一个延时程序,来调整波形周期,从而调整了频率。
波形输出:本实验台的DAC0832芯片的工作模式为双极性模式,即可实现-5V~+5V可调。
数值显示:利用LCD1602模块来进行动态输出,思路为利用AD值乘以一个峰值<5V)32H,再除以FFH,所得的商做进行BCD处理,再加上30H变成ASCII 码便可以输出所调整的数字了。
软件设计软件设计方案锯齿波:A自加1,每次与AD转换结果作处理,处理后的数值建立一张新表,放入外部存储器0000H~00FFH中。
最后读新表,输出波形。
三角波:A自加2直至00H,每次与AD转换结果作处理,处理后的数值建立一张新表,放于外部存储器0000H~00FFH中。
最后读新表,输出波形。
梯形波:A每次自加3直至FFH,每次与AD转换结果作处理,结果存入外部存储器0000H~0055H和00AA~00FFH中,后将峰值存入0055H~00FFH中。
最后读新表,输出波形。
方波:0000H~007FH输出高电平,007FH~00FFH输出低电平,处理后的数值建立一张新表,放入外部存储器0000H~00FFH中。
最后读新表,输出波形。
正弦波:由于有在内部存储器建表,因此建新表只需要把原表值乘以AD转换值,除以255,输出的商存入外部存储器的0000H ~00FFH中。
用8031控制的BDJ-3A三相功率电能表

用8031控制的BDJ-3A三相功率电能表用8031控制的BDJ-3A三相功率电能表8031单片机以其可靠性高、体积小、价格低、功能全等优点,广泛地应用于各种智能仪器中,这些智能仪器的操作在进行仪器校核以及测量过程的控制中,达到了自动化,传统仪器面板上的开关和旋钮被键盘所代替,测试人员在测量时只需按需要的键,省掉很多烦琐的人工调节,智能仪器通常能自动选择量程,自动校准。
有的还能自动调整测试点,这样不仅方便了操作,又提高了测试精度。
BDJ-3A三相标准功率电能表就是一种为了满足高精度功率,电能测量而设计的新型智能化仪表,仪表由功率——频率转换部分和专用微型计算机部分组成,功率——频率转换部分采用了电流自平衡原理的时分割乘法器和电流频率变换器。
具有精度高,线范围宽,功率因素特性好,满度和零点稳定等优点,计算机部分由8031单片机等芯片组成,由它控制仪表数字部分的工作,进行误差运算,计数显示和实现智能化功能、仪表结构合理、集成度高、稳定可靠,外表亲轻巧美观,即适合于实验室使用,又可携带现场检测和校验。
二、技术指标1.电压量程Un 3*100V(可扩展200V/400V)2.电流量程In 3*5(可扩展0.2/1A/10A/20A)3.测量频率范围 45—65HZ频率变化影响 45—65HZ范围内<0.05%4.输入电压范围 0.9—1.1Un电压变化影响 0.9—1.1Un范围内<0.05%5.输入电流范围 0.05—1.1In输入阻抗:RiUn/Ri、100V/50KΩ、200V/100 KΩ、400V/200 KΩIn/Ri、1A/0.2Ω、5A/0.1Ω、10A/0.05Ω、20A/0.025Ω6.三相额定功率下的输入脉冲频率(5V矩形波)FH=30KZ FL=3HZ7.温度影响:10—30℃范围内<0.05%℃标准环境:温度20±2℃,相对湿度不大于80%8.工作电源:220V±10%,50HZ9.外观:体积400*280*99mm∧3、重量约8KG10.基本误差:三.工作原理在BDJ-3A中,8031与2764程序块合用扩展为8K程序存储系统,其线路图如下:因8031芯片内没有程序存储器,因此它在应用中与程序块2764连用。
(完整)两路相位可调方波信号发生器(最终版)

目录1、设计原理与方法 (2)1.1、单片机系统概述 (2)1.2、80C51内部结构与引脚说明 (2)1.3、设计原理 (4)2、系统硬件线路设计图 (6)3、程序框图 (7)4、资源分配表 (8)5、源程序 (8)6、仿真结果 (12)7、性能分析 (14)8、总结与心得 (15)9、参考文献 (16)1、设计原理与方法1。
1、单片机系统概述单片机也被称为微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。
单片机由芯片内仅有CPU的专用处理器发展而来。
最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。
INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。
单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。
事实上单片机是世界上数量最多的计算机.现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。
手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1—2部单片机。
而个人电脑中也会有为数不少的单片机在工作.汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多. 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上.相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。
概括的讲:一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
1。
2、80C51内部结构与引脚说明8051的CPU包含以下功能部件:(1)8位CPU。
(2)布尔代数处理器,具有位寻址能力。
超大规模集成电路8031的功能模拟

80
单 片 机 简 化结 构 框 图
。
结构 十分 复 杂 () z /
x
,
因 此 传统 的 门 级 模 拟 的 方 法 显 然 已经 无 法 满 足 要 求
,
为 了 提 高模 拟 的 速 度
,
减 少 模拟 所 需 的 存 贮 量
〔
。
,
从 而 使 模 拟 能够在 微 型 计 算 机 P C
,
T 上 进行
通
信
工
程
学
院
李
报ห้องสมุดไป่ตู้
, 9 2 年第 2期
下特 点 (l ) 如下
:
:
指 令码 以
8
位 二 进 制数 的字 节 为基 础
,
代 码 的 总 长 度 不 超过
3
个字节
,
具 体格 式
7
0
单字节
:
!
7
操作码
一
…
0
双字 节
:
}
7
操 作码
}
0
7
} }
Ps E N
、
,
它 的 外 部 特 性指 的 是 其 3 ,/ 0 线 ( P。 口 2 根 1
、
4
根 控制 线
( A L E
瓦又
R E S E T ) 上 的 状 态 特性
。
( 3)
, 8 0 3 1 单 片机 是 一 个执 行指 令 的 复 杂功能 元 件
它 的 具 体 功 能 必 须 通 过指 令 的 执 行
取
其 困 难 和 复杂 程 度 更 大
这 方 面 已 有 不 少 学者 做 了 大 量 工 作
单片机控制之信号发生器(振荡器)设计 单片机技术课程设计

单片机技术课程设计说明书课题名称目录引言 (3)一设计任务 (3)1设计内容 (3)2设计要求 (3)二芯片功能介绍 (3)三总体功能图和总原理图 (5)四程序流程图 (6)1 锯齿波程序流程图 (6)2 三角波程序流程图 (7)3 梯形波程序流程图 (8)4 方波程序流程图 (9)5 正弦波程序流程图 (10)6 整体程序流程图 (11)五程序设计 (12)六仿真测试 (16)七总结与体会 (19)八参考文献 (20)引言信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。
这次的设计分为五个模块:单片机控制及显示模块、数模转换模块、波形产生模块、输出显示模块、电源模块。
使用AT98C52作为主控台结合芯片DAC0832产生1HZ-10HZ频率可调的五种信号波(锯齿波、三角波、方波、梯形波、正弦波)。
这几种波形有几个开关控制,可以随意进行切换,十分方便。
另外,波形的频率和振幅也可以通过开关进行更改。
可以说这次的设计操作简单,内容丰富,而且电路快捷明了。
1设计任务1.1设计内容以单片机为基础,设计并开发能输出多种波形(正弦波、三角波、锯齿波、梯形波等),且频率、幅度可变的函数发生器。
1.2设计要求设计借口电路,将这些外设构成一个简单的单片机应用系统,画出接口的连接图和仿真图,并编写出控制波形的程序。
2芯片功能介绍2.1、DAC0832芯片介绍:DAC0832为一个8位D/A转换器,单电源供电,在+5~+15V范围内均可正常工作。
基准电压的范围为±10V,电流建立时间为1μs,CMOS工艺,低功耗20mW。
DAC0832的内部结构框图如下图所示。
图2.1 DAC0832的内部结构框图2.2 DAC0832的外部引脚及功能介绍图如下:图2.2 DAC0832介绍2.3 DAC0832的应用:DAC0832一是用作单极性电压输出,二是用作双极性电压输出,最后是用作程控放大器。
2.4 DAC0832与8031的连接方式:DAC0832的与单片机的连接方式有三种方式:(1)单缓冲;(2)双缓冲、(3)直通方式。
8031芯片

8031芯片8031芯片是Intel公司推出的单片机微处理器,是基于MCS-51系列的一款产品。
它是一种典型的8位CMOS单片机,采用哈佛结构,内部有128字节的片内RAM,4KB的片内ROM,51个通用IO引脚,8位定时/计数器,两个中断源等功能。
8031芯片内部包含了寄存器、计时器、计数器、中断控制器等功能,能够处理复杂的计算和控制任务。
芯片的外部引脚可以通过设定不同的功能来实现输入输出或与外部器件进行通讯。
8031芯片是一种非常常见的单片机,被广泛应用于各种电子产品中。
其主要特点如下:1. 高性能:8031芯片采用了先进的CMOS技术,具有高性能和低功耗特点。
其CPU工作频率可以达到12MHz,执行指令速度快,能够处理复杂的计算和控制任务。
2. 大容量存储:8031芯片内部集成了4KB的ROM,用于存储程序代码,可以容纳大量的程序。
此外,芯片内部还有128字节的RAM,用于存储变量和临时数据。
3. 强大的定时/计数器:8031芯片具有一个8位的定时/计数器,可以生成不同的定时和计数功能。
它可以用于测量时间、计数脉冲、生成脉冲信号等。
4. 多种输入输出功能:8031芯片具有51个通用IO引脚,可以通过设定不同的模式实现输入输出或与外部器件进行通讯。
它支持多种输入输出方式,包括口输入、口输出、串行通讯等。
5. 丰富的中断控制功能:8031芯片具有两个中断源,可以实现多种中断功能。
它支持外部中断、定时器中断、串口中断等,可以及时响应外部事件并进行相应的处理。
总之,8031芯片是一款功能强大、性能优越的单片机微处理器,可以广泛应用于各种电子产品中。
它具有高性能、大容量存储、强大的IO功能和丰富的中断控制功能等特点,适合于处理复杂的计算和控制任务。
尽管目前市场上已经有更先进的单片机产品,但8031芯片作为一种经典的八位单片机,仍然被广泛使用和研究。
单片机原理及接口技术试题及答案

单片机原理及接口技术一、判断题1. 指令字节数越多,执行时间越长。
……………………………………()2. 内部寄存器Rn(n=0~7)作为间接寻址寄存器。
……………………()3. 8031芯片内一共有4K的ROM,256字节的RAM。
……………………()4. 8位构成一个字节,一个字节所能表达的数的范围是0-255。
………()5. 8051中的工作寄存器就是内部RAM中的一部份。
………………………()6. 8051中特殊功能寄存器(SFR)就是内部RAM中的一部份。
…………()7. MOV A,@R0这条指令中@R0的寻址方式称之为寄存器间址寻址。
……()8. MOV A,30H这条指令执行后的结果是(A)=30H ………………………()9. MOV A,@R7,将R7单元中的数据作为地址,从该地址中取数,送入A中()10. SP称之为堆栈指针,堆栈是单片机内部的一个特殊区域,与RAM无关()二、简答题1. 分别列出传送指令、算术指令、逻辑指令和转移指令。
2. 指出下列指令的寻址方式:1):MOV A,#01 3):ADD A,10H2):MOV A,@R0 4):SETB 20H3. 要设置T0为16位计数器;T1为8位定时器,请填写TMOD寄存器4. 说出SCON中SM0 SM1 SM2 REN TB8 RB8 TI RI 的意义和功能5. 按动态扫描设计,6根线可以接多少个按键?并画出与51单片机的接线图。
6. 如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:POP DPH;POP DPL;POP SP;则:(DPH)= ____;(DPL)=_______;(SP)=_______;7. 分析下列程序的功能PUSH ACCPUSH BPOP ACCPOP B8. 三片6264的地址范围分别是多少?(地址线未用到的位填1)9. 给8031单片机扩展一片2716和6116,请画出系统连接图,并给出地址范围。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机原理课程结业大作业题目采用8031设计信号发生器班级 07030701完成人(2007301626)(2007301630)2010年11月25日一、设计题目采用8031单片机设计信号发生器二、设计要求1. 采用ADC0832 8位DA转换芯片,设计三角波、锯齿波发生器2. 三角波和锯齿波最大幅值5V,频率100Hz3.设计硬件连接,给出地址范围;编写信号发生器软件三、硬件设计1、硬件设计原理数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。
数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。
8031单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通讯接口等,只要将8031再配置键盘及其接口、显示器及其接口、数模转换及波形输出、指示灯及其接口等四部分,即可构成所需的波形发生器,其信号发生器构成原理框图如图1所示图1信号发生器原理框图8031是整个波形发生器的核心部分,通过程序的编写和执行,产生各种各样的信号,并从键盘接收数据,进行各种功能的转换和信号幅度的调节。
当数字信号经过接口电路到达转换电路,将其转换成模拟信号也就是所需要的输出波形。
原理方框图如图2所示图2波形发生器系统框图 原理框图分析:该波形发生器主要由单片机(8031),数模转换电路(DAC0832),电流/电压转换电路(MC1458),按键和波形指示灯电路等组成。
其工作原理为当按下两个按键当中的任何一个按键,就会产生相对应的波形,并且两个LED 灯作为不同波形的指示。
DAC0832主要由8位输入寄存器、8位DAC 寄存器、8位D/A 转换器以及输入控制电路四部分组成。
8 位输入寄存器用于存放主机送来的数字量,使输入数字量得到缓冲和锁存,由加以控制;8位DAC 寄存器用于存放待转换的数字量,由加以控制;8位D/A 转换器输出与数字量成正比的模拟电流;由与门、非与门组成的输入控制电路来控制2个寄存器的选通或锁存状态。
DAC0832与反相比例放大器相连,实现电流到电压的转换,因此输出模拟信号的极性与参考电压的极性相反,数字量与模拟量的转换关系为Vout1=-Vref ×(数字码/256)图3D/A转换器双极性输出电路图3中,运算放大器U3B的作用是把运算放大器U3A的单向输出电压转换成双向输出电压。
D/A转换器的总输出电压为:V OUT2= -[(R3/R2) V OUT1+(R3/R1) V ref]设R1=R3=2R R2=R,则V OUT2= -(2V OUT1+V REF)DAC0832主要是用于波形的数据的传送,是本题目电路中的主要芯片。
晶振电路:晶振复位电路:按键和波形指示灯电路:图4 采用查询方式对各类波的切换图5采用中断的方式对波形的切换说明:对于查询方式对波形的切换,当按键按下时,输出相应波形,并点亮相应的LED灯,对于中断方式,利用两个外部中断实现对波形的切换。
中断与查询相结合的方式可以进行扩展,查询方式不是实时的,而中断时实时的电流电压转换电路(MC1458)(1)原理图如下:图6I/V转换电路说明:实现I/V转换最简单的方法就是直接在1out1和Iout2之间跨界一电阻,这样就很容易的实现了I/V转换,但是这种方法忽略了一个阻抗问题。
对于DAC0832来说,R的取值应尽可能大,能够保证获得更多的电压,对于与输出电压相连的后续电路来说,R的取值应尽可能的小,以降低输出阻抗,这两方面是矛盾的,所以这种方式欠合理。
而合理的方式是应用运算放大器实现I/V转换,也解决了阻抗的问题。
2、硬件电路图PROTEL原理图四、软件设计1、设计思想根据功能,系统软件设计分成几个模块编程:主程序模块,锯齿波程序模块,三角波程序模块,延时程序模块。
主程序中主要实现利用按键或者中断来控制不同波形的输出。
当用按键方式时,当按键KEY1(P1.0)按下时波形发生器就输出锯齿波,对应的LED(P1.4)点亮;当按键KEY2(P1.1)按下时,波形发生器就输出三角波,对应的LED(P1.5)点亮;中断方式设置了两个中断入口。
对于锯齿波,从0变化到256并不断循环,256个数执行时间共1/100=0.01S为10000微秒。
则每个数用时10000/256=39微秒,若机器周期为1微秒,则需要延时39个机器周期(实际的晶振频率为11.0592MHZ,此时机器周期为12/11.0592=1.0857微秒,则锯齿波需要延时39/1.0857=36个机器周期)对于三角波则需要延迟18个机器周期从而实现频率为100HZ的波形输出。
2、流程图(1)主程序流程图说明:主程序中主要实现利用按键来控制不同波形的输出,当按键KEY1(P1.0)按下时波形发生器就输出锯齿波,对应的LED(P1.4)点亮;当按键KEY2(P1.1)按下时,波形发生器就输出三角波,,对应的LED(P1.5)点亮;(2)锯齿波程序模块1)程序流程图图4.2锯齿波程序流程图说明:锯齿波产生首先将DAC0832口地址至为2FFFH,然后将00H送入寄存器A 中,DAC0832输出A中的内容,当A中的内容等于FFH返回开始,当A中的内容不为FFH时,A中的内容累加,从而输出波形。
(3)三角波程序模块1)程序流程图图18 三角波程序流程图说明:三角波产生首先将DAC0832口地址至为2FFFH,通过A中数值的加一递升,当A中的内容为0时,与0FFH相比,相等时A中的内容减一递减,从而循环产生三角波。
3、源程序(注释);实现功能:能产生三角波,锯齿波; 可通过按键能对各波形的切换,频率为:100HZ; 按键查询方式;对按键进行设定;*******************************KEY1 EQU P1.0KEY2 EQU P1.1ORG 0000HLJMP MAINORG 0030HMAIN:MOV SP,#60H ;设置堆栈区;******************************;按下KEY1生成锯齿波程序;******************************B1:MOV A,#00HLP1:CLR P1.4 点亮锯齿波的LED灯SETB P1.5 灭三角波的LED灯MOV DPTR,#2FFFH; D/A转换地址送DPTRMOVX @DPTR,A 送数据到DAC0832并转化LCALL DELYB1 延时CJNE A,#0FFH,ADD1 A中内容与FFH相比,不相等,则加1JB KEY2,DO 按键2没有按下,执行DOLJMP B2 按键2按下,进入三角波模式D0: SJMP B1ADD1: INC A ;SJMP LP1;********************************;按下KEY2生成三角波程序;********************************B2: MOV A,#00HUP1:CLR P1.5SETB P1.4MOV DPTR,#2FFFH D/A转换地址送DPTRMOVX @DPTR,A 送数据到DAC0832并转化LCALL DELAY2 延时INC AJNZ UP1 A不等于0时,继续加1,若A为0,则执行DOWN1,使A中内容从0FFH开始递减DOWN1:DEC AMOVX @DPTR, ALCALL DELAY2JNZ DOWN1 A中数据不等于0时,继续减1,若A为0,顺序执行下一条指令JNB KEY1,B1 键1按下,执行锯齿波程序JB KEY2,C0 键2没按下,A中数据加1,继续执行三角波LJMP B1C0: SJMP UP1;************************************;下面为延时程序的编写;************************************;延时26usDELAY1:MOV R3,#01H 1个机器周期DL0:MOV R2,#0AH 1个机器周期DJNZ R2,$ 2个机器周期DJNZ R3,DL0 2个机器周期RET 2个机器周期(共1+1+2*10+2+2=26个机器周期);延时12usDELAY2:MOV R5,#01H 1个机器周期DL1:MOV R4,#03H 1个机器周期DJNZ R4,$ 2个机器周期DJNZ R5,DL0 2个机器周期RET 2个机器周期(共1+1+2*3+2+2=12个机器周期)END;********************************;采用中断方式实现波形的切换;*******************************ORG 0000HAJMP MAINORG 0003H; 外部中断0入口地址AJMP JUCHIBO; 锯齿波,对应P3.2口ORG 0013H; 外部中断1入口地址AJMP SANJIAO; 三角波对应P3.3口ORG 0030HMAIN: SETB EX0; 开外部中断0SETB EX1; 开外部中断1MOV IP,#02H;外部中断0优先,P3.2CLR IT0; 外部中断0触发方式(电平触发)CLR IT1; 外部中断1触发方式(电平触发)SETB EA; 开总中断SJMP MAINSANJIAO:MOV DPTR,#2FFFH ; 设置D/A口地址MOV A,#00H;LOOP1:MOVX @DPTR,A ; 输出对应于A内容的模拟量,2个机器周期LCALL DELAY3; 2个机器周期,应该延时12usINC A; 1个机器周期JNZ LOOP1; 2个机器周期LOOP2:DEC A ;1个机器周期MOVX @DPTR,A;2个机器周期LCALL DELAY3;2个机器周期,延时12usJNZ LOOP2;2个机器周期SJMP LOOP1RETIJUCHIBO:LOOP3:MOV DPTR,#2FFFH;设置D/A口地址MOV A,#00HLOOP4:MOVX @DPTR,A 输出对应于A内容的模拟量,2个机器周期LCALL DELAY1;26us 2个机器周期,应该延时26usCJNE A,#0FFH,ADD1 2个机器周期SJMP LOOP3ADD1: INC ASJMP LOOP4RETIEND五、功能仿真(可选)Proteus仿真图。