1、单片机课程设计波形产生系统系 别:电气工程系专 业:电气自动化班 级:电气 1002姓 名:李 娜学 号:0401100221指导老师:赵 阳2012 年 6 月 7 日2目录一、设计目的.3二、设计要求.3三、硬件电路、器件及原理.31.方案图.32硬件图及工作原理.33.8031 简介44.定时计数器.65.晶体振荡器86时钟电路107.复位电路108.74LS373 地址锁存器109.EPROM2732.1110.DAC0832 简介12四、程序设计.141.程序流程图.142.程序代码14五、元件明细表.15六、设计总结及参考文献.161.个人总结162.参考文献163一、设计目的1.
2、 进一步熟悉单片机的结构及工作原理。2. 掌握单片机的接口技术及相关外国芯片的特性、控制方法。3. 通过课程设计,掌握以单片机为核心的电路设计的基本方法和技术。4. 通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。二、设计要求利用 8031 定时/计数器和 P1 口产生下图波形,循环往复,并利用 P2 口用两组不同颜色发光二极管显示出来。3、硬件电路、器件及原理1. 方案图2硬件图及工作原理XTAL218XTAL119ALE3031PSN29RST9P0./AD0390.1/138P0.2/AD2370.3/336P0.4/AD4350.5/534P0.6/AD630.7/732
3、P2.7/A1528P2.0/A8212.1/92P2./A10232.3/124P2.4/A12252.5/13262.6/1427P1.011.2P1.231.34P1.451.56P1.671.78P3.0/RXD103.1/T1P3.2/IN0123./IT113P3.4/014P3.7/RD173.6/W163.5/T115U180C31X112MHzC130pFC22uFR910kC330pF A0817A2635A4453A6271A82392A1019121CE18O/VP20D09110D21313D414515D616717U3273D03 Q0214 15D27 Q263
4、8 39D413 Q412514 515D617 Q616718 719OE1L1U474LS37+5R110kR210kD1LEDD2LED+5v+5v32141U2:ALM32456741U2:BLM324 VREF8GND3VC20 CS1WR12I34DI25I16DI07B9GND10IOUT11I212DI713I614DI515I416XFER17W218ILE(BY1/BY2)195DAC0832R310kR410k R55.1kR610k+5v-10v+10vVout10s 50s4工作原理:由时钟电路和复位电路构成单片机最小系统,时钟电路为单片机提供基本的时钟,单片机为信号
5、进行定时计数,当计数溢出时,定时器清零,复位电路将单片机内部各电路的状态恢复到初始值。DAC0832 是将输入的数字量转换为模拟量输出,输出的信号经过放大器放大,产生方波输出。当单片机 P2.4 引脚输出低电平时,LED 红灯亮,P2.5 引脚输出低电平时,LED 绿灯亮。其中 8031 单片机内部没有 ROM,所以必须用扩展程序存储器,因此,用 EPROM2732 来扩展,74LS373 为地址锁存器,对单片机进行地址锁存。3.8031 简介8031 芯片的 40 条引脚功能为:(1)主电源引脚 VCC和 VSSVCC(40 脚)接+5V 电压;VSS(20 脚)接地。(2)外接晶体引脚 X
6、TAL1 和 XTAL2XTAL1(19 脚)接外部晶体的一个引脚。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外部振荡器时,对 HMOS 单片机,此引脚应接地;对 CHMOS 单片机,此引脚作为驱动端。XTAL2(18 脚)接外晶体的另一端。在单片机内部,接至上述振荡器的反相放大器的输出端。采用外部振荡器时,对 HMOS 单片机,该引脚接外部振荡器的信号,即把外部振荡器的信号直接接到内部时钟发生器的输入端;对 XHMOS,此引脚应悬浮。(3)控制或与其它电源复用引脚 RST/VPD、ALE/PROG、PSEN 和 EA/VPPRST/VPD(9 脚)当振荡器运
7、行时,在此脚上出现两个机器周期的高电平将使单片机复位。推荐在此引脚与 VSS引脚之间连接一个约 8.2k 的下拉电阻,与 VCC引脚之间连接一个约 10F 的电容,以保证可靠地复位。VCC掉电期间,此引脚可接上备用电源,以保证内部 RAM 的数据不丢失。当 VCC主电源下掉到低于规定的电平,而 VPD 在其规定的电压范围(50.5V)内,VPD 就向内部 RAM 提供备用电源。ALE/PROG(30 脚):当访问外部存贮器时,ALE(允许地址锁存)的输出用于锁存5地址的低位字节。即使不访问外部存储器,ALE 端仍以不变的频率周期性地出现正脉冲信号,此频率为振荡器频率的 1/6。因此,它可用作对
8、外输出的时钟,或用于定时目的。然而要注意的是,每当访问外部数据存储器时,将跳过一个 ALE 脉冲。ALE 端可以驱动(吸收或输出电流)8 个 LS 型的 TTL 输入电路。对于 EPROM 单片机(如 8751),在 EPROM 编程期间,此引脚用于输入编程脉冲(PROG)。PSEN(29 脚):此脚的输出是外部程序存储器的读选通信号。在从外部程序存储器取指令(或常数)期间,每个机器周期两次 PSEN 有效。但在此期间,每当访问外部数据存储器时,这两次有效的 PSEN 信号将不出现。PSEN 同样可以驱动(吸收或输出)8 个 LS 型的 TTL 输入。EA/VPP(引脚):当 EA 端保持高电
9、平时,访问内部程序存储器,但在 PC(程序计数器)值超过 0FFFH(对 851/8751/80C51)或 1FFFH(对 8052)时,将自动转向执行外部程序存储器内的程序。当 EA 保持低电平时,则只访问外部程序存储器,不管是否有内部程序存储器。对于常用的 8031 来说,无内部程序存储器,所以 EA 脚必须常接地,这样才能只选择外部程序存储器。对于 EPROM 型的单片机(如 8751),在 EPROM 编程期间,此引脚也用于施加 21V 的编程电源(VPP)。(4)输入/输出(I/O)引脚 P0、P1、P2、P3(共 32 根)P0 口(39 脚至 32 脚):是双向 8 位三态 I/
10、O 口,在外接存储器时,与地址总线的低 8 位及数据总线复用,能以吸收电流的方式驱动 8 个 LS 型的 TTL 负载。P1 口(1 脚至 8 脚):是准双向 8 位 I/O 口。由于这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向 I/O 口。P1 口能驱动(吸收或输出电流)4 个 LS 型的TTL 负载。对 8052、8032,P1.0 引脚的第二功能为 T2 定时/计数器的外部输入,P1.1 引脚的第二功能为 T2EX 捕捉、重装触发,即 T2 的外部控制端。对 EPROM 编程和程序验证时,它接收低 8 位地址。P2 口(21 脚至 28 脚):是准双向 8 位 I/O 口。
11、在访问外部存储器时,它可以作为扩展电路高 8 位地址总线送出高 8 位地址。在对 EPROM 编程和程序验证期间,它接收高 8位地址。P2 可以驱动(吸收或输出电流)4 个 LS 型的 TTL 负载。P3 口(10 脚至 17 脚):是准双向 8 位 I/O 口,在 MCS-51 中,这 8 个引脚还用于专门功能,是复用双功能口。P3 能驱动(吸收或输出电流)4 个 LS 型的 TTL 负载。作为第一功能使用时,就作为普通 I/O 口用,功能和操作方法与 P1 口相同。作为第二功能使用时,各引脚的定义如表所示。值得强调的是,P3 口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。图 3
12、 系统主程序流程图64.定时计数器(1)定时器/计数器的结构: 从上面定时器/计数器的结构图中我们可以看出,16 位的定时/计数器分别由两个 8 位专用寄存器组成,即:T0 由 TH0 和 TL0 构成;T1 由 TH1 和 TL1 构成。其访问地址依次为8AH-8DH。每个寄存器均可单独访问。这些寄存器是用于存放定时或计数初值的。此外,其内部还有一个 8 位的定时器方式寄存器 TMOD 和一个 8 位的定时控制寄存器 TCON。这些寄存器之间是通过内部总线和控制逻辑电路连接起来的。TMOD 主要是用于选定定时器的工作方式;TCON 主要是用于控制定时器的启动停止,此外 TCON 还可以保存
13、T0、T1 的溢出和中断标志。当定时器工作在计数方式时,外部事件通过引脚 T0(P3.4)和 T1(P3.5)输入。(2)定时计数器的原理:16 位的定时器/计数器实质上就是一个加 1 计数器,其控制电路受软件控制、切换。当定时器/计数器为定时工作方式时,计数器的加 1 信号由振荡器的 12 分频信号产生,即每过一个机器周期,计数器加 1,直至计满溢出为止。显然,定时器的定时时间与系统的振荡频率有关。因一个机器周期等于 12 个振荡周期,所以计数频率 fcount=1/12osc。如果晶振为 12MHz,则计数周期为:T=1/(1210 6)Hz1/12=1 s这是最短的定时周期。若要延长定时
14、时间,则需要改变定时器的初值,并要适当选择定时器的长度(如 8 位、13 位、16 位等)。当定时器/计数器为计数工作方式时,通过引脚 T0 和 T1 对外部信号计数,外部脉冲的下降沿将触发计数。当 CPU 用软件给定时器设置了某种工作方式之后,定时器就会按设定的工作方式独立运行,不再占用 CPU 的操作时间,除非定时器计满溢出,才可能中断 CPU 当前操作。CPU也可以重新设置定时器工作方式,以改变定时器的操作。由此可见,定时器是单片机中效率高而且工作灵活的部件控制寄存器 定时器计数器 T0 和 T1 有 2 个控制寄存器-TMOD 和 TCON,它们分别用来设置各个定时器计数器的工作方式,
15、选择定时或计数功能,控制启动运行,以及作为运行状态的标志等。其中,TCON 寄存器中另有 4 位用于中断系统7(3)定时器/计数器方式寄存器 TMOD:定时器方式控制寄存器 TMOD 在特殊功能寄存器中,字节地址为 89H,无位地址。TMOD的格式如下图所示。 由图可见,TMOD 的高 4 位用于 T1,低 4 使用于 T0,4 种符号的含义如下:GATE:门控制位。GATE 和软件控制位 TR、外部引脚信号 INT 的状态,共同控制定时器计数器的打开或关闭。CT:定时器计数器选择位。C/T1,为计数器方式;CT0,为定时器方式。M1M0:工作方式选择位,定时器计数器的 4 种工作方式由 M1
16、M0 设定。M0 M1 工作方式 功能描述0 00 11 01 1工作方式 0工作方式 1工作方式 2工作方式 313 位计数器16 位计数器自动再装入 8 位计数器定时器 0:分成两个 8 位计数器定时器 1:停止计数定时器/计数器方式控制寄存器 TMOD 不能进行位寻址,只能用字节传送指令设置定时器工作方式,低半字节定义为定时器 0,高半字节定义为定时器 1。复位时,TMOD 所有位均为0。(4)定时器/计数器控制寄存器 TCON:TCON 在特殊功能寄存器中,字节地址为 88H,位地址(由低位到高位)为 88H 一 8FH,由于有位地址,十分便于进行位操作。TCON 的作用是控制定时器的
17、启、停,标志定时器溢出和中断情况。TCON 的格式如下图所示。其中,TFl,TRl,TF0 和 TR0 位用于定时器计数器;IEl,ITl,IE0 和 IT0 位用于中断系统。 各位定义如下:TF1: 定时器 1 溢出标志位。当字时器 1 计满溢出时,由硬件使 TF1 置“1”,并且申请中断。进入中断服务程序后,由硬件自动清“0”,在查询方式下用软件清“0”。TR1: 定时器 1 运行控制位。由软件清“0”关闭定时器 1。当 GATE=1,且 INT1 为高电平时,TR1 置“1”启动定时器 1;当 GATE=0,TR1 置“1”启动定时器 1。TF0: 定时器 0 溢出标志。其功能及操作情况
18、同 TF1。TR0: 定时器 0 运行控制位。其功能及操作情况同 TR1。IE1: 外部中断 1 请求标志。IT1: 外部中断 1 触发方式选择位。IE0: 外部中断 0 请求标志。IT0: 外部中断 0(5)定时器/计数器的初始化: 8由于定时器/计数器的功能是由软件编程确定的,所以一般在使用定时/计数器前都要对其进行初始化,使其按设定的功能工作。初始化的步骤一般如下:1、确定工作方式(即对 TMOD 赋值);2、预置定时或计数的初值(可直接将初值写入 TH0、TL0 或 TH1、TL1);3、根据需要开放定时器/计数器的中断(直接对 IE 位赋值);4、启动定时器/计数器(若已规定用软件启
19、动,则可把 TR0 或 TR1 置“1”;若已规定由外中断引脚电平启动,则需给外引脚步加启动电平。当实现了启动要求后,定时器即按规定的工作方式和初值开始计数或定时)。(6)定时器/计数器的四种工作方式:定 T0 或 T1 无论用作定时器或计数器都有 4 种工作方式:方式 0、方式 1、方式 2 和方式 3。除方式 3 外,T0 和 T1 有完全相同的工作状态。方式 0 是 13 位计数结构的工作方式,其计数器由 TH0 全部 8 位和 TL0 的低 5 位构成。当TL0 的低 5位计数溢出时,向 TH0 进位,而全部 13 位计数溢出时,则向计数溢出标志位 TF0 进位。工作方式 1: 方式
20、1 是 16 位计数结构的工作方式,计数器由 TH0 全部 8 位和 TL0 全部 8 位构成。与工作方式 0 基本相同,区别仅在于工作方式 1 的计数器 TL1 和 TH1 组成 16 位计数器,从而比工作方式 0 有更宽的定时/计数范围。工作方式 2:8 位自动装入时间常数方式。由 TLl 构成 8 位计数器,THl 仅用来存放时间常数。启动T1 前,TLl 和 THl 装入相同的时间常数,当 TL1 计满后,除定时器回零标志 TFl 置位,具有向 CPU 请求中断的条件外,THl 中的时间常数还会自动地装入 TLl,并重新开始定时或计数。所以,工作方式 2 是一种自动装入时间常数的 8
21、位计数器方式。由于这种方式不需要指令重装时间常数,因而操作方便,在允许的条件下,应尽量使用这种工作方式。当然,这种方式的定时计数范围要小于方式 0 和方式 1。工作方式 3: 2 个 8 位方式。工作方式 3 只适用于定时器 0。如果使定时器 1 为工作方式 3,则定时器 1 将处于关闭状态。当 T0 为工作方式 3 时,THo 和 TL0 分成 2 个独立的 8 位计数器。其中,TL0 既可用作定时器,又可用作计数器,并使用原 T0 的所有控制位及其定时器回零标志和中断源。TH0只能用作定时器,并使用 T1 的控制位 TRl、回零标志 TFl 和中断源,见下图。通常情况下,T0 不运行于工作
22、方式 3,只有在 T1 处于工作方式 2,并不要求中断的条件下才可能使用。这时,T1 往往用作串行口波特率发生器(见 14),TH0 用作定时器,TL0 作为定时器或计数器。所以,方式 3 是为了使单片机有 1 个独立的定时器计数器、1 个定时器以及 1 个串行口波特率发生器的应用场合而特地提供的。这时,可把定时器 l 用于工作方式 2,把定时器 0 用于工作方式 3。5.晶体振荡器石英晶体振荡器是高精度和高稳定度的振荡器,被广泛应用于彩电、计算机、遥控器等各类振荡电路中,以及通信系统中用于频率发生器、为数据处理设备产生时钟信号和为特定系统提供基准信号。(1)石英晶体振荡器的结构 石英晶体振荡
23、器是利用石英晶体(二氧化硅的结晶体)的压电效应制成的一种谐振器件,它的基本构成大致是:从一块石英晶体上按一定方位角切下薄片(简称为晶 片,它可以是正方形、矩形或圆形等) ,在它的两个对应面上涂敷银层作为电极,在每个电极上各焊一根引线接到管脚 上,再加上封装外壳就构成了石英晶体谐振器,简称为石英晶体或晶体、晶振。其产品一般用金属外壳封装,也有用玻璃壳、陶瓷或塑料封装的。压电效应 若在石英晶体的两个电极上加一电场,晶片就会产生机械变形。反之,若在晶片的两侧施加机械压力,则在晶片相应的方向上将产生电场,这种物理现象称为压电效 应。如果9在晶片的两极上加交变电压,晶片就会产生机械振动,同时晶片的机械振
24、动又会产生交变电场。在一般情况下,晶片机械振动的振幅和交变电场的振幅非常 微小,但当外加交变电压的频率为某一特定值时,振幅明显加大,比其他频率下的振幅大得多,这种现象称为压电谐振,它与 LC 回路的谐振现象十分相似。它的谐 振频率与晶片的切割方式、几何形状、尺寸等有关。(2)符号和等效电路 当晶体不振动时,可把它看成一个平板电容器称为静电电容 C,它的大小与晶片的几何尺寸、电极面积有关,一般约几个 PF 到几十 PF。当晶体振荡时,机械振动的惯性可用电感 L 来等效。一般 L 的值为几十 mH 到几百 mH。晶片的弹性可用电容 C 来等效,C的值很小,一般只有0.00020.1pF。晶片振动时
25、因摩擦而造成的损耗用 R 来等效,它的数值约为 100。由于晶片的等效电感很大,而 C 很小, R 也小,因此回路的品质因数 Q 很大,可达100010000。加上晶片本身的谐振频率基本上只与晶片的切 割方式、几何形状、尺寸有关,而且可以做得精确,因此利用石英谐振器组成的振荡电路可获得很高的频率稳定度。(3)谐振频率 从石英晶体谐振器的等效电路可知,它有两个谐振频率,即(1)当 L、C、R 支路发生串联谐振时,它的等效阻抗最小(等于 R) 。串联揩振频率用 fs 表示,石 英晶体对于串联揩振频率 fs 呈纯阻性, (2 )当频率高于 fs 时 L、C 、R 支路呈感性,可与电容 C。发生并联谐
26、振,其并联频率用 fd 表示。 根据石英晶体的等效电路,可定性画出它的电抗频率特性曲线。可见当频率低于串联谐振频率 fs 或者频率高于并联揩振频率 fd 时,石英晶体呈容性。仅在 fsffd 极窄的范围内,石英晶体呈感性。(4)石英晶体振荡器类型特点 石英晶体振荡器是由品质因素极高的石英晶体振子(即谐振器和振荡电路组成。晶体的品质、切割取向、晶体振子的结构及电路形式等,共同决定振荡器的性能。国 际电工委员会(IEC )将石英晶体振荡器分为4类:普通晶体振荡(TCXO) ,电压控制式晶体振荡器(VCXO ) ,温度补偿式晶体振荡(TCXO ) ,恒温 控制式晶体振荡(OCXO ) 。目前发展中的
27、还有数字补偿式晶体损振荡(DCXO)等。 普通晶体振荡器(SPXO)可产生10(-5)10(-4)量级的频率精度,标准频率1100MHZ ,频率稳定度是100ppm。SPXO 没有 采用任何温度频率补偿措施,价格低廉,通常用作微处理器的时钟器件。封装尺寸范围从21146mm 及53.21.5mm。 电压控制式晶体振荡器( VCXO)的精度是10(-6)10(-5)量级,频率范围130MHz 。低容差振荡器的频率稳定度是50ppm。通常 用于锁相环路。封装尺寸14103mm。 温度补偿式晶体振荡器( TCXO)采用温度敏感器件进行温度频率补偿,频率精度达到10(-7) 10(-6)量级,频率范围
28、1 60MHz,频率稳 定度为1 2.5ppm,封装尺寸从303015mm 至11.49.63.9mm。通常用于手持电话、蜂窝电话、双向无线通信设备等。 恒温控制式晶体振荡器(OCXO)将晶体和振荡电路置于恒温箱中,以消除环境温度变化对频率的影响。OCXO 频率精度是10(-10)至10(-8) 量级,对某些特殊应用甚至达到更高。频率稳定度在四种类型振荡器中最高。(5)石英晶体振荡器的主要参数 晶振的主要参数有标称频率,负载电容、频率精度、频率稳定度等。不同的晶振标称频率不同,标称频率大都标明在晶振外壳上。如常用普通晶振标称频率 有:48kHz 、500 kHz、503.5 kHz、1MHz4
29、0.50 MHz 等,对于特殊要求的晶振频率可达到 1000 MHz 以上,也有的没有标称频率,如 CRB、ZTB 、Ja 等系列。负载电容是指晶振的两条引线连接 IC块内部及外部所有有效电容之和,可看作晶振片在电路 中串接电容。负载频率不同决定振荡器的振荡频率不同。标称频率相同的晶振,负载电容不一定相同。因为石英晶体振荡器10有两个谐振频率,一个是串联揩振晶振的 低负载电容晶振:另一个为并联揩振晶振的高负载电容晶振。所以,标称频率相同的晶振互换时还必须要求负载电容一至,不能冒然互换,否则会造成电器工作不正 常。频率精度和频率稳定度:由于普通晶振的性能基本都能达到一般电器的要求,对于高档设备还
30、需要有一定的频率精度和频率稳定度。频率精度从10(-4) 量级到 10(-10)量级不等。稳定度从1到100ppm 不等。这要根据具体的设备需要而选择合适的晶振,如通信网络,无线数据传输等系统就需要更 高要求的石英晶体振荡器。因此,晶振的参数决定了晶振的品质和性能。在实际应用中要根据具体要求选择适当的晶振,因不同性能的晶振其价格不同,要求越高价格也越贵,一般选择只要满足要求即可。6.时钟电路X1CRYSTALC11nFC31nF8031 单片机的时钟电路一般是在它的时钟引脚外接晶体振荡件,和内部的高增益反相放大器构成自己振荡器电路,如图 1.2 所示。振荡频率取决于晶体的频率,频率范围小于33
31、MHz,C1 C2 起频率微调和稳定作用,电容值为 5 50pF。可以在时钟引脚上直接加外部时钟,此时 XTAL2 悬空,外部时钟信号从 XTAL1 输入。时钟周期:即时钟频率的倒数,取决于系统晶体频率或外接时钟信号的频率。状态周期:两个时钟周期构成一个状态周期。机器周期:MCS-51 系列单片机工作的基本定时单位,12 个时钟周期(6 个状态周期)构成一个机器周期。MCS-51 系列单片机指令的执行都是以机器 周期为时间单位的,以机器周期数来衡量一条指令执行所需的时间。指令周期:指 CPU 执行某条指令所需要的时间(机器周期数) 。7.复位电路R310kC21nF复位时单片机的一个非常重要的
32、工作状态,任何单片机系统都是由复位状态进入正常工作状态,有时系统发生故障(受到干扰引起的软件故障)也可以通过复位的方法恢复正11常工作。复位电路。单片机系统都必须有上电复位功能8. 74LS373 地址锁存器74ls373 的 引 脚 及 功 能 :八 D 锁 存 器 (3S,锁 存 允 许 输 入 有 回 环 特 性 ) 简 要 说 明 :373 为 三 态 输 出 的 八 D 透 明 锁 存 器 , 共 有 54S373 和 74LS373 两 种 线 路 结 构 型 式 ,其 主 要 电 器 特 性 的 典 型 值 如 下 (不 同 厂 家 具 体 值 有 差 别 ):型 号 TPD P
33、D 54S373/74S373 7ns 525mW 54LS373/74LS373 17ns 120mW 373 的 输 出 端 O0O7 可 直 接 与 总 线 相 连 。 当 三 态 允 许 控 制 端 OE 为 低 电 平 时 , Q0 Q7 为 正 常 逻 辑 状 态 , 可 用 来 驱 动 负 载 或总 线 。 当 OE 为 高 电 平 时 , Q0 Q7 呈 高 阻 态 , 即 不 驱 动 总 线 , 也 不 为 总 线 的 负 载 , 但锁 存 器 内 部 的 逻 辑 操 作 不 受 影 响 。 当 锁 存 允 许 端 LE 为 高 电 平 时 , Q 随 数 据 D 而 变 。
34、 当 LE 为 低 电 平 时 , D 被 锁 存在 已 建 立 的 数 据 电 平 。 当 LE 端 施 密 特 触 发 器 的 输 入 滞 后 作 用 , 使 交 流 和 直 流 噪 声 抗 扰度 被 改 善 400mV。引 出 端 符 号 :D0 D7 数 据 输 入 端OE 三 态 允 许 控 制 端 ( 低 电 平 有 效 )LE 锁 存 允 许 端Q0 Q7 输 出 端真 值 表 : Dn LE OE OnH H L HL H L LX L L Q0X X H 高阻态9.EPROM273212(1)2732 的引脚与结构2732 以 HMOS-E(高速 NMOS 硅栅)工艺制成,2
35、4 脚双列直插式,其引脚和内部结构如图69 所示。从图中可知,2732 为 4KB 容量,地址线 12 条 A0A 11;,数据线 8 条 D0D 7,远为片选端,低电平有效,OEVPP 是输出允许信号,低电平有效,该引脚在编程时也作为编程电压 VPP 的输入端。VCC 为十 5V 电源,GND 为地。(2)2732 的工作方式2732 共有 6 种工作方式: 1)读方式:此时面和面的为有效,芯片中的数据从输出缓冲区送往输出引脚。 2)输出禁止方式:此时远有效,而而无效。这种工作方式往往是多个 2732 并联在数据总线上,为使存储系统功耗最小,并防止各存储芯片争夺总线,则可把所有 2732 的
36、面均接地,通过对两端输入高电平或低电平来确定是哪个芯片的数据输出到数据总线上去,而其它芯片处于输出禁止方式。 3)待机方式:当 CE 为无效时,2732 处于待机方式。待机时的电流从工作时的 125mA 降至 35mA。这种方式下,输出呈高阻状态,且不受 OE 的限制。4)编程方式:对 2732 编程之前,应保持芯片上所有的位均为 1。写入信息时,只是把应为 0 的位由 1 改为 0,而应为 1 的位则保持不变。 5)编程禁止方式:此时,OE 端接 21 伏电压,当 CE 为无效时,则禁止向该芯片写入数据。 6)该标识码方式:Intel 公司生产的,EPROM 芯片都包含有厂家及产品型号的标识
37、码。在特定环境下,可以读出这两个字节的标识码。2732,2764,27128 和 27256 的标识码分别是 890lH,8902H,8903H 和 8904H。10DAC0832 简介DAC0832 是微处理器兼容型 D/A 转换器和 8 位并行输出电流型 D/A 转换器,其主要参数:转换时间 1us,满量程误差土 1LSB,参考电压10V+10V,供电电压+5V+15V,输入逻辑电平与 TTL 兼容。可以充分利用微处理器的控制能力实现对 D/A 转换的控制。这种芯片有许多控制引脚,可以和微处理器控制线相连,接受微处理器的控制,如ILE、/CS、/WR1、/WR2、/XFER 端。13有两级
38、锁存控制功能,能够实现多通道 D/A 的同步转换输出。DAC0832 内部无参考电压源;须外接参考电压源。DAC0832 为电流输入型 D/A 转换器,要获得模拟电压输出时,需要外加转换电路。(1)DAC0832 的引脚图及逻辑结构如下图:(2)各引脚功能说明:D0D7:8 位数据输入线,TTL 电平,有效时间应大于 90ns(否则锁存器的数据会出错); ILE:数据锁存允许控制信号输入线,高电平有效; CS:片选信号输入线(选通数据锁存器) ,低电平有效; WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于 500ns)有效。由 ILE、CS、WR1 的逻辑组合产生 LE1,当 LE1 为高
39、电平时,数据锁存器状态随输入数据线变换,LE1 的负跳变时将输入数据锁存; XFER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于 500ns)有效; WR2:DAC 寄存器选通输入线,负脉冲(脉宽应大于 500ns)有效。由 WR2、XFER 的逻辑组合产生 LE2,当 LE2 为高电平时,DAC 寄存器的输出随寄存器的输入而变化,LE2 的负跳变时将数据锁存器的内容打入 DAC 寄存器并开始 D/A 转换。 IOUT1:电流输出端 1,其值随 DAC 寄存器的内容线性变化; IOUT2:电流输出端 2,其值与 IOUT1 值之和为一常数; Rfb:反馈信号输入线,改变 Rfb 端
40、外接电阻值可调整转换满量程精度; Vcc:电源输入端,Vcc 的范围为+5V+15V; VREF:基准电压输入线,VREF 的范围为-10V+10V; AGND:模拟信号地 DGND:数字信号地(3)DAC0832 三种数据输入方式: a.双缓冲方式:即数据经过双重缓冲后再送入 DA 转换电路,执行两次写操作才能完成一次 DA 转换。这种方式可在 DA 转换的同时,进行下一个数据的输入,可提高转换14速率。更为重要的是,这种方式特别适用于要求同时输出多个模拟量的场合。此时,要用多片 DAC0832 组成模拟输出系统,每片对应一个模拟量。 b.单缓冲方式:不需要多个模拟量同时输出时,可采用此种方
41、式。此时两个寄存器之一处于直通状态,输入数据只经过一级缓冲送入 DA 转换电路。这种方式只需执行一次写操作,即可完成 DA 转换。 c.直通方式:此时两个寄存器均处于直通状态,因此要将 、 、 和 端都接数字地,ILE 接高电平,使 LE1、LE2 均为高电平,致使两个锁存寄存器同时处于放行直通状态,数据直接送入 DA 转换电路进行 DA 转换。这种方式可用于一些不采用微机的控制系统中或其他不须 0832 缓冲数据的情况。四、程序设计1.程序流程图2.程序代码#include /绝对地址访问#include #define unit unsigned int#define DAC0832 XB
42、YTE0x7fff /DAC0832 地址sbit P2_4=P24; /定义 P2.0 引脚名称为 P2_0sbit P2_5=P25; /定义 P2.1 引脚名称为 P2_1void delay 10s() /延时 10svoid main() /主函数unsigned char i;TMOD=0x10; /置定时器 1 为工作方式 1for(i=0;i200;i+) /设置循环 200 次TH1=0x3C; /置定时器初值15TL1=0xB0;TR1=1; /启动定时器 1while(!TF1); /查询计数是否溢出,定时时间到, TF1=1TF1=0; /定时时间到,定时器溢出标志位
43、TF1 清零void deiay 50s()unsigned int i;TMOD=0x10;for(i=0;i1000;i+)TH1=0x3C;TL1=0xB0;TR1=1;while(!TF1);TF1=0;while(1) /while 循环if(P1=0x00) /如果 P1 口状态为 0P2_4=0; /则点亮 LED 红灯delay(10); /延时 10selse /如果 P1 口状态为 1P2_5=0; /则点亮 LED 绿灯delay(50); /延时 50 swhile(1)for(i=0;i65536;i+)DAC0832=i; /D/A 转换输出delay_10s();
44、5、元件明细表元器件名称 参数 数量单片机 8031 116电阻 10k 1电阻 5.1k 1晶体振荡器 12MHz 1瓷片电容 30pF 2电解电容 22F 1可变电阻 10k 3地址锁存器 74LS373 1EPROM 2732 1集成放大器 LM324 2数/模转换器 DAC0832 1电阻 1k 2发光二极管 LED 2六、设计总结及参考文献1.个人总结 通过这次的课程设计作品的制作让我对单片机的理论有了更加深入的了解,同时在具体的制作过程中我们发现现在书本上的知识与实际的应用存在着不小的差距,书本上的知识很多都是理想化后的结论,忽略了很多实际的因素,或者涉及的不全面,可在实际的应用时
45、这些是不能被忽略的,我们不得不考虑这方的问题,这让我们无法根据书上的理论就轻易得到预想中的结果,有时结果甚至很差别很大。通过这次实践使我更深刻的体会到了理论联系实际的重要性,我们在今后的学习工作中会更加的注重实际,避免称为只会纸上谈兵的赵括。在这次课程设计中,我们运用到了以前所学的专业课知识,如:CAD 制图、C 语言、模拟和数字电路知识等。虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流
46、程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我受益终身。发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。设计过程,好比是我们人类成长的历程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。在设计的过程中发现了自己的不足之处,对以
47、前所学过的知识理解得不够深刻,掌握得不够牢固。我们通过查阅大量有关资料,并在小组中互相讨论,交流经验和自学,若遇到实在搞不明白的问题就会及时请教老师,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。我觉得作为一名自动化专业的学生,单片机的课程设
48、计是很有意义的。更重要的是如何把自己平时所学的东西应用到实际中。虽然自17己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法通过自身去理解,但是靠着这一个多礼拜的“学习” ,在小组同学的帮助和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动学习并逐步从基础慢慢开始弄懂它。我认为这个收获应该说是相当大的。觉得课程设计反映的是一个从理论到实际应用的过程,但是更远一点可以联系到以后毕业之后从学校转到踏上社会的一个过程。小组人员的配合相处,以及自身的动脑和努力,都是以后工作中需要的。 -2. 参考文献陈堂敏.刘焕平主编.单片机原理与应用.北京:北京理工大学出版社,2007.李广弟等.单片机基础M.北京航空航天出版社, 2001王东峰等.单片机 C 语言应用 100 例M.电子工业出版社,2009陈海宴.单片机原理及应用M.北京航空航天大学出版社, 2010.刘守义等.单片机技术基础M.西安电子科技大学出版社, 2钟富昭等.单片机典型模块设计与应用M.人民邮电出版社, 200