基于pic单片机的三相对称正弦波发生器设计内容摘要:
4个部分组成。 系统微控制器采用美国 Microchip Technology 公司推出的 8位 PIC16F877 芯片, 具有 34 个数字 I/O 口。 同时具有以下特性; � 高性能精简指令集计算机 RISC 之 CPU � 只需要学会 35 条单子指令 � 除程序分支有两个周期均为单周期指令 � 工作电压范围宽: ~ � 多达 8K*14 字可重复多次写入的闪速 FLASH 程序存储器; 368*8 字节数据存储器 256*8 字节 E2PROM 数据存储器 � 可编程编码保护 � 随意可选择振荡器 � 低电源、高速度 CMOS 闪速 FLASH/E2PROM 技术 第 5 页 共 38 页 图 单片机最小系统电路图 时钟电路是单片机不可缺少的电路组成部分。 如果没有时钟电路,单片机系统就没有时钟周期,从而无法执行程序代码,也就无法正常工作。 PIC16F877 单片机可工作于不同的振荡方式。 在 PIC 单片机系统中,振荡方式的选择由寄存器 CONFIG 的 F0SC1和 F0SC0 位的值决定,并在 EPROM 编程时写入, 见表 ,其振荡频率范围在DC~20/25MHz 之间。 从表 中的四种振荡方式中选择一种,以获得最佳的性能价格比。 在标准晶体振荡 XT、低功耗振荡 LP 和高速晶体振荡 HS 三种方式中, PIC 芯片可以使用已集成在片内的振荡器,也可以使用由其他电路构成的振荡电路。 表 PIC 单片机振荡方式的选择 F0SC1 F0SC0 振荡方式 0 0 低功耗振荡 LP( Low Power) 0 1 标准晶体振荡 XT(Crystal/Resonator) 1 0 高速晶体振荡 HS(High Speed) 1 1 阻容 振荡 RC( Resistor/Capacitor) 第 6 页 共 38 页 由图 所示电路中知, PIC 单片机采用无源晶振 20M 接上两个 20PF 电容,在结合单片机内部振荡电路构成完整振荡电路。 任何单片机在工作之前都有进行复位,复位对于单片机 就像计算机的重新启动,是在做一些准备工作。 一般来说, PIC 单片机的复位时间为 5ms。 只要讲单片机的 RST 引脚上加负脉冲就完成复位,前提是加高电平的时间要大于 5ms。 复位是通过复位电路来完成的,复位电路的实现有很多种方法,从功能上一般分为两种:一种是电源复位,即外部电路的复位电路在系统上电之后 自动进行复位;另一种方法是知啊复位电路按键设计开关,通过按键开发触发复位电平,从而控制单片机复位。 由图 可知本设计采用按键复位的复位电路。 端 口 A 是一个 6 位的端口: RA0, RA1, RA2, RA3, RA4, RA5。 整个端口除作为数字 I/O 端口外, RA0, RA1, RA2, RA3 和 RA5 也可以作为 A/D 变换的模拟输入电压输入: AN0, AN1, AN2, AN3, AN4; RA4 可以作为定时器 0 的输入 T0CLK 引脚。 同时 RA2 和 RA3 可以分别作为 A/D 变换的负参考电压输入和正参考电压输入, RA5 可以作为当端口 D 为从片 输入端口时的从片使能信号输入引脚。 在本设计端口 A 只用作数字 I/O 口使用,所以在使用 A 口时要先对 ADCON1 寄存器进行设置,使 ADCON1=06。 端口 A 的 RA4 口在接外部电路作为数字 I/O 时,单单设置 ADCON1 寄存器是不行的,还用接一个上拉电阻。 端口 B 是一个 8 位的端口: RB0, RB1, RB2, RB3, RB4, RB5, RB6, RB7。 整个端口除作为数字 I/O 端口外, RB0 还可以作为外部中断输入 INT,而 RB3, RB6, RB7分别作为低电源编程的低电压输入端 PGM、编程时钟线 PGC、数据线 PGD。 RB0 作为中 断输入时, CPU 响应的可以上升沿,也可以是下降沿,由选择寄存器 OPTIONREG的 INTEDG 位设置。 当 RB7~RB4 设置为输入时,引脚上任何的变化都会产生中断,设置中断标志位 RBIF。 本设计对单片机的 RB 口只要求是数字 I/O 口的输出。 端口 B 默认是数字 I/O 口,而不用设置任何寄存器或接上上拉电阻。 在 PIC16F877 系统中,端口B 的高四位具有变化中断功能,很适合作为键盘扩展的端口。 在硬件电路的连接上单片机的端口 B 和按键电路连接。 端口 C 是一个 8 位的端口: RC0, RC1, RC2, RC3, RC4, RC5, RC6, RC7。 端口 C 被多个外围功能块复用,具有多种功能。 当端口作为数字 I/O 端口时,应禁止其他外围功能模块工作。 RC7 和 RC6 可以设置为串行通信的端口。 在设置为异步串行方式传输时, RC7 为发送端的 RX, RC6 为接收端口的 TX;在同步通信方式中, RC7 为数据线 DT, RC6 为时钟线 CK。 RC5, RC4 和 RC3 可以设置为 SPI 总线, RC5 为 SDO,RC4 为 SDI, RC3 为 SCK。 RC4 和 RC3 可以设置为 I2C 总线, RC4 为位数据线 SDA,RC3 为时钟线 SCL。 RC2 和 RC1 可以设置为捕捉器 /比较器的端口, RC2 用于 CCP1,RC1 用于 CCP2。 在捕捉器中, RC2 和 RC1 作为输入,由方向寄存器 TRISC 的 D2 位和D1 位置 1。 在比较器和 PWM 中, RC2 和 RC1 作为输出,由方向寄存器 TRISC 的 D2位和 D1 位置 0。 RC1 和 RC0 可以设置为定时器 /计数器 1 的振荡器输入 T1OSI/输出 第 7 页 共 38 页 T1OSO 端口。 在计数方式下,可以采用外加振荡器方式或外时钟方式,外加振荡器方式是将晶体振荡电路连接在 T1OSI 和 T1OSO 引脚上,外时钟方式是将时钟从 T1CK1引脚输入。 由于端口 C 外围功能模块可以复用很多,所以在本设计中 DAC8413 的低八位数 据线接在端口 C 上,液晶显示器的八位数据线也接在端口 C 上。 端口 D 是一个 8 位的端口: RD0, RD1, RD2, RD3, RD4, RD5, RD6, RD7。 此端口具有两种功能,第一种是数字 I/O 功能,第二种是并行从属的 I/O 端口: PSP0,PSP1, PSP2, PSP3, PSP4, PSP5, PSP6, PSP7。 在本设计中端口 D 的低四位上接 DAC8413高四位数据线。 端口 E 只有三个引脚: RE0, RE1, RE2。 这三个引脚可以作为数字量的 I/O 端口,也可以做 A/D 变换的模拟量输入: AN5, AN6, AN7,同时也可以作为从 片并行输入端的控制信号线: RD, WR, CS。 在本设计中端口 E 接液晶的控制引脚。 所有端口都是通过方向寄存器 TRIS 来设置输出还是输入。 TRIS 置 0 是 I/O 口是输出,置 1 时 I/O 口是输入。 DAC8413 模块电路 DAC8413 的概述 D/A 转换器把数字信号转换为模拟信号,经放大后输出。 D/A 芯片的参数比较多,比如转换速度,转换精度等。 在本设计中选用的 D/A 芯片是 AD 公司生产的 DAC8413,这个芯片的各个功能简要介绍如下。 � 单片电路芯片上集成 4 个 12 位电压输出数模变换器( DAC)。 � 每个 DAC 都有一个双重缓冲的输入锁存结构,并有回读功能。 � 全部 DAC 都通过一个 12 位并行 I/O 与微处理器发生读写操作。 � 容许用户同时将 DAC 输出复位到零,而不考虑输入锁存器的内容。 � 任一个 DAC 和全部 DAC 都可以被置于透明模式,是输出能根据输入数据立即响应。 � 单极性或双极性输出。 � 复位到零或复位到中点干预 DAC8413 的内部结构 下面 介绍 DAC8413 的内部设计。 DAC8413 内部的功能模块如图 所示。 DAC8413芯片的内部主要包含如下模块。 � 4 个 DAC 模块对应着不同的输出。 � 逻辑控制模块,在这一部分有 3 个功能,一是片选端,即芯片的使能端;二是DAC 选择端口 A0 和 A1,负责对 4 个 DAC 进行选择;三是输入输出选择端,通过这个端口进行置位,可以进行输入和输出。 � 4 个输入寄存器,对应每个 DAC 存储其输入的转换数据。 � 4 个输出寄存器,对应每个 DAC 输出输入的转换数据。 第 8 页 共 38 页 � 输出输入逻辑控制电路。 图 DAC8413 的内部功能模块 为了便于 读者理解下面给出 DAC8413 芯片引脚的真值表如表 所示。 表 DAC8413 真值表 A1 A0 R/W CS RS LDAC INPUTREG OUTPUTREG MODE DAC L L L L H L WRINTE WRINTE Transparent A L H L L H L WRINTE WRINTE Transparent B H L L L H L WRINTE WRINTE Transparent C H H L L H L WRINTE WRINTE Transparent D L L L L H H WRINTE HOLD Write input A L H L L H H WRINTE HOLD Write input B H L L L H H WRINTE HOLD Write input C H H L L H H WRINTE HOLD Write input D L L H L H H WRINTE HOLD Read input A L H H L H H WRINTE HOLD Read input B H L H L H H WRINTE HOLD Read input C H H H L H H WRINTE HOLD Read input D X X X H H L HOLD UPDATE ALL X X X H H H HOLD HOLD HOLD ALL X X X X L ALL X X X H ALL 为了使读者对于 DAC8413 的读写过程更加清楚,下面给出 DAC8413 的读出和写入 第 9 页 共 38 页 的信号时序波形图如图 和 所示。 图 DAC8413 的数据读出 图 DAC8413 的数据写入 DAC8413 的外围电路 一般来讲,数模转换芯片的基准电压 VREF 时由外部输入的,为了使芯片的转换电压能够正常进行,首先要保证系统的基准电压稳定。 单单输入 5V 的电源作为基准电压时不行的,因为输入电源的电压纹波非常大,一般在 的数量级,而 DAC8413 的输出电压与输入数据和基准电压的关系是: ( 31) 第 10 页 共 38 页 由上面的分析可以看出, DAC的转换精度是 1/4096,如果输出的基准电压差是 10V,那么输出的精度大约是 ,与输入电压的精度相比可以看到输入电压的误差是非常大。 由以上分析可以看到基准电压输入稳定的重要性。 要使数模转换芯片 的基准电压稳定,就得在外围设计有稳定基准电压的电路,如图。 图 图 中的 TL431 是一款典型的稳压芯片。 TL431 是德州仪器公司 (TI)生产的,它是一个具有良好的热稳定性能的三端可调分流基准源。 它的输出电压用两个电阻就可以任意的设置到从 VREF( )到 36V 范围内的任何值。 TL431 内部有一个 的基准源 ,接在运放的反相输入端。 由运放的特性可知,只有当 REF 端(同相端)的电压非常接近 VI( )时,三极管中才会有一个稳定的非饱和电流通过,而且随着 REF 端电压的微小变化,通过三极管的电流将从 1 到 100mA 变化。 当然,该 结构 绝不是 TL431 的实际内部结构,所以不能简单地用这种组合来代替它。 但如果在设计、分析应用 TL431的电路时,这个模块图对开启思路,理解电路都是很有帮助的。 DAC8413 输出缓冲电路 DAC8413的输出缓冲电路采用运放是 OP07,如图。 TD07 高精度运算放大器具有极低的输入失调电压,极低的失调电压温漂,非常低的输入噪声电压幅度及长期稳定等特点。 可广泛应用于稳定积分、精密绝对值电路、比较器及微弱信号的精确放大, 第 11 页 共 38 页 尤其适应于宇航、军工及要求微型化、高可靠的精密仪器仪表中。 OP07高精度运放的特点 是: 低的输入噪声电压幅度 — μ VPP ( ~ 10Hz); 极低的输入失调电压— 10 μ V; 极低的输入失调电压温漂 — μ V/ ℃ ; 具有长期的稳定性 — μ V/MO;低的输入偏置电流 — 177。 1nA; 高的共模抑制比 — 126dB;。基于pic单片机的三相对称正弦波发生器设计
相关推荐
照,选择油口端面。 在界面下端的菜单栏中分别选择“标准孔”: ISO、“螺钉尺寸”:M18x“单侧”: 20,再选择锥孔按钮。 单击“形状”,打开“形状”上滑面板。 按照作图要求的 尺寸进行各项设置。 ( 5)、将生成的油口以 RIGHT 基准面为对称平面进行镜像,得到另外一个油口,如图 32 所示。 图 32 一、齿轮轴的设计步骤 齿轮轴轮辐 ( 1)、创建新文件。
信号输入 tkeep1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。 计数值个位 tkeep2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。 计数值十位 tkeep3:OUT STD_LOGIC_VECTOR(3 DOWNTO 0))。 计数值百位 END ENTITY frequency。 ARCHITECTURE one OF frequency
的风格,其实是一个 抽象的概念,它是指站点的整体形象给浏览者的整体感觉,当然网站的风格也是网站设计者思想的一种体现。 每一个网站都有它独有的个性与风格。 网站的风格包括很多方面,诸如站点的标志,字体,色调,标语,布局,文字,内容等许多方面,网站设计者应该通过这些因素表达自己的设计思想,而网站的风格也就是通过这些因素而得到确认的。 精品课程网站是教育型的资讯类网站,因此风格定位于简约大方
客登记信息。 汽车牌照为不能重复的字段。 汽车维修单 登记 汽车维修单主要登记以汽车牌照号为索引的,记录修理使用的零件及其数量、修理工得工号和修理用时等相关信息。 零件入库单 登记 零件入库单主要登记仓库 管理中的每次零件入库信息 ,这些信息主要包括零件名零件入库量 、零件进货价格 等相关信息。 零件出库单 零件出库单主要登记仓库管理中的每次零件 出 库信息 ,这些信息主要包括零件名,零件
ems 公司倡导、许多公司参与一起建立的一种 动态网页 技术标准。 JSP 技术有点类似 ASP 技术,它是在传统的网页 HTML 文件 (*.htm,*.html)中插入 Java 程序段 (Scriptlet)和 JSP 标记 (tag),从而形成 JSP 文件 (*.jsp)。 用 JSP 开发的 Web 应用是跨平台的,既能在 Linux下运行,也能在其他操作系统上运行。 Web