毕业论文:基于at89s52单片机的直流数控恒流源设计1终稿内容摘要:

P0 口具有内图 7 AT89S52 引脚 8 部上拉电阻。 在 flash编程时, P0 口也用来接收指令字节;在程序校验时,输出指令字节。 程序校验时,需要外部上拉电阻。 P1 口: P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口, P1 口 输出 缓冲器能驱动 4 个 TTL逻辑电平。 对 P1 端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流( IIL)。 此外, 和 分别作定时器 /记数器 2 的外部记数输入()和定时器 /记数器 2 的触发输入 (),具体如下表 1 所示。 在 flash编程和校验时, P1 口接收低 8 位地址字节。 表 1 各端口引脚与复用功能表 引脚号 第二功能 T2(定时器 /记数器 T2 的外部记数输入 ),时钟输入 T2EX(定时器 /记数器 T2 的捕捉 /重载触发信号和方向控制 ) MOSI(在系统编程用 ) MISO(在系统编程用 ) SCK(在系统编程用 ) P2 口: P2 口 是一个具有 内部上拉电阻的 8 位双向 I/O 口, P2 输出缓冲器能驱动 4 个 TTL逻辑电平。 对 P2 口写“ 1”时,内部上拉 电阻把端口拉高,此时可以作为输入口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流( IIL)。 在访问外部程序存储器或用 16 位地址读取外部数据存储器 (例如 MOVX @DPTR)时, P2 口送出高八位地址。 在这种应用中, P2 口 P2 口使用很强的内部上拉发送 1。 在使用 8 位地址(如 MOVX @RI)访问外部数据存储器时,P2 口输出 P2 锁存器的内容。 在 flash编程和校验时, P2 口也接收高 8 位地址字节和一些控制信号。 P3 口: P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口, P2 输出缓冲器能驱 动 4 个 TTL 逻辑电平。 对 P3 端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流( IIL)。 9 P3 口亦作为 AT89S52 特殊功能(第二功能)使用,如下表 2 所示。 在 flash编程和校验时, P3 口也接收一些控制信号。 表 2 各端口引脚与复用功能表 端口引脚 复用功能 RXD(串行输入口) TXD(串行输出口) INT0 (外部中断 0) INT1 (外部中断 1) T0(记时器 0 外部输入) T1(记时器 1 外部输入) WR (外部数据存储器写选通) RD (外部数据存储器读选通) RST: 复位输入。 晶振工作时, RST 脚持续 2 个机器周期高电平将使单片机复位。 看门狗计时完成后, RST 脚输出 96 个晶振周期的高电平。 特殊寄存器AUXR(地址 8EH)上的 DISRTO 位可以使此 功能无效。 DISRTO 默认状态下,复位高电平有效。 ALE/ PROG : 地址锁存控制信号( ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。 在 flash编程时,此引脚( PROG )也用作编程输入脉冲。 在一般情况下, ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。 然而,特别强调,在每次访问外部数据存储器时, ALE 脉冲将会跳过。 如果需要,通过将地址为 8EH 的 SFR 的第 0 位置 “ 1”, ALE 操作将无效。 这一 位置 “ 1”, ALE 仅在执行 MOVX 或 MOVC 指令时有效。 否则, ALE 将被微弱拉高。 这个 ALE 使能标志位(地址为 8EH 的 SFR 的第 0 位)的设置对微控制器处于外部执行模式下无效。 PSEM : 外部程序存储器选通信号。 当 AT89S52 从外部程序存储器执行外部代码时, PSEM 在每个机器周期被激活两次,而在访问外部数据存储器时, PSEM 将不被激活。 10 EA /VPP: 访问外部程序存储器控制信号。 为使能从 0000H 到 FFFFH 的外部程序存储器读取指令, EA 必须接 GND。 为了执行内部程序指令, EA 应该接 VCC。 在 flash编程期间, EA 也接收 12 伏 VPP 电压 XTAL1: 振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2: 振荡器反相放大器的输出端。 AT89S52 硬件电路设计 单片机系统是整个数控系统的核心部分,它主 要用于键盘按键管理、数据处理、实时采样分析系统参数及对各部分反馈环节进行整体调整。 主要包括 AT89S52单片机 、振荡电路、复位电路等。 电路如下图 8 所示: P 1. 01P 1. 12P 1. 23P 1. 34P 1. 45P 1. 56P 1. 67P 1. 78R S T9P 3. 0/ R X D10P 3. 1/ T X D11P 3. 2/ IN T 012P 3. 3/ IN T 113P 3. 4/ T 014P 3. 5/ T 115P 3. 6/ W R16P 3. 0/ R D17X T A L 218X T A L 119GND20P 2. 021P 2. 122P 2. 223P 2. 324P 2. 425P 2. 526P 2. 627P 2. 728P S E N29A L E /P R O G30E A /V P P31P 0. 732P 0. 633P 0. 534P 0. 435P 0. 336P 0. 237P 0. 138P 0. 039V C C40U3A T 89 S 52ke yAke yBke yCke yDl c dr sl c de nD7D6D5D4D3D2D1D0a d c sa d s c l ka d ou tda s yn cda s c l kda di ns d as c lke yd aV C CY111 .0 59 2M H ZC330pC430pC510uR2220R11kS1S W P BV C C 图 8 单片机控制电路 (1) AT89S52 单片机的 P0 口是个双向口,可以作输出输入口,在本系统中用作显示部分, P1 口也是个双向口,主要接 A/D、 D/A 和 24C02C。 P2 口的 、 11 、 、 接键盘输入, 、 用于键盘控制是能端。 而 P3 口主要用于中断。 (2) 复位电路 复位是单片机初始化操作。 复位将单片机复到初始化状态,目的是使 CPU及个专用寄存器处于一个确定的初始状态。 如前面介绍,在单片机的复位信号 RST 上保持 2 个机器周期以上的高电平,单片机就会复位。 本次设计采用的是手动复位方式,利用按键闭合是单片机复位端上保持接通高电平状态两个机器周期以上。 (3) 振荡电路 该电路是由内部反相放大器通过引脚 XTAL1 和引脚 XTAL2与外 接的晶体以及电容 C3 和 C4 构成,产生出晶体振荡信。 此晶振信号接至内部的时钟电路。 图中的晶振频率为 ,外接晶体时,电容 C3 和 C4 通常选30pF。 虽然对外接电容没有严格要求,但电容的大小会影响振荡频率、振荡器的稳定性和起振的速度。 振荡器的这些特性对弹片机的应用影响很大,因此在设计印刷电路板时,应使晶体和电容尽可能与单片机靠近,以保证稳定可靠。 键盘模块 键盘的作用是对单片机输入数据,设计中要求能使电流进行“ +”,“ ”及电流值的设定,所以采用键盘为 4 4 的矩阵键盘,用 MM74C922 芯 片进行识别按键后送 AT89S52 的并行口 P2, ~ 作为键盘输入口。 传统的 4 4 矩阵键盘识别处理程序的编写相对烦琐。 所以采用 MM74C922 芯片来将 4 4 矩阵键盘的键值转换成 4 位二进制码以简化程序的编写。 MM74C922 MM74C922是一款集成了键盘防抖动技术和按键检测功能的 16位按键的译码芯片。 由 CMOS 工艺技术制造,工作电压315V, “二键锁定 ”功能,编码输出为三态输出,可直接与微处理器数据总线相连,内部振荡器能完成 4 4 矩阵键盘扫描,亦可用外部振荡器使键盘操作与其 他处理同步,通过外接电容避免开关发生前、后沿弹跳所 需 的延时。 12 有按键按下时数据有效线变高,同时封锁其他键,片内锁存器将保持键盘矩阵的 4位编 码 ,可由微处理器读出。 其引脚图如图 9 所示: 图 9 MM74C922 键盘电路 由 X1~ X4, Y1~ Y4 的连接方式,即可确定每一个按键的编码。 如图 10所示,从键盘的左下角开始,依次编码为 0、 2„„ E、 F。 我们将 A 作为设置键,B 作为恢复键, C 作为加法键, D 作为减法键, E 作为确认键, F 作为取消键。 再加上 0~ 9 刚好 16 个按键。 通过 DA 信号触发中 断,由于有按键时, DA为高电平,而单片机的中断信号为低电平,故需在 DA 信号引脚上接上一个非门,再与单片机的 INT0 引脚相连。 O U T 117O U T 216O U T 315O U T 414OE13DA12O S C5M A S K6GND9V C C18X111X210X38X47Y11Y22Y33Y44U2M M 7 4C 9223S W P B7S W P B恢复S W P B取消S W P B2S W P B1S W P B0S W P B6S W P B5S W P B4S W P B设置S W P B9S W P B8S W P B加S W P B减S W P B确认S W P BU1NOTV C CC11uC210uke ydake yDke yCke yBke yA 图 10 键盘电路 显示模块 1602LCD 显示 液晶显示器由于体积小、质量轻、功耗低等特点,已成为各种便携式电子信息产品的理想显示器。 液晶显示器通常可分为两大类,一是点阵型,二是字符型。 一般的字符型液晶只有两行,面积较小,能显示字符和一些很简单的图形;而点阵型液晶通常面积较大,可以显示图形和更多的字符。 为了方便设计,同时又能满足设计的需要及尽可能降低设计成 本。 因此,我们选择 1602LCD 液晶显示器。 目前常用 16*1, 16*2, 20*2 和 40*2 行等的模块。 针对此设计,我们选用 16*2 模块。 1602 字符型液晶显示器实物如图 11 所示: 13 图 11 1602 液晶显示器 1602 引脚功能说明 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 液晶显示偏压 11 D4 数据 4 RS 数据 /命令选择 12 D5 数据 5 R/W 读 /写选择 13 D6 数据 6 E 使能信号 14 D7 数据 7 D0 数据 15 BLA 背光源正极 8 D1 数据 16 BLK 背光源负极 液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。 要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图 12 是 1602 的内部显示地址。 图 12 1602LCD 内部显示地址 LCD 显示硬件电路 14 1602LCD的读写控制引脚是第 5引脚 R/W。 在本次设计中,为了降低程序设计,我们只用 LCD 作显示器,在此只对其写操作, 所以设计时直接将 R/W接地。 其电路原理图如图 13 所示: 123456789J1R E S 10 KR7P O T 2V C CV C ClcdrslcdenD0 D1 D2 D3 D4 D5 D6 D7GND1VCC2VL3RS4RW5EN6D07D18D29D310D411D512D613D714BL+15BL16L CD 16 02U 11L C D 16 02 图 13 LCD 电路 A/D 模块 由于本次设计的数控直流电流。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。