基于at89c51单片机的智能电流检测系统设计内容摘要:
示开关及光标设置: (初始化 ) 0000 1DCB D 光标显示 (1 有效 )、 C 光标显示 (1 有效 )、 B 光标闪烁 (1 有效 ) 0000 01NS N=1(读或写一 个字符后地址指针加 1 amp。 光标加 1), N=0(读或写一个字符后地址指针减 1 amp。 光标减 1) S=1 且 N=1 (当写一个字符后,整屏显示左移 ) s=0 当写一个字符后,整屏显示不移动 数据指针设置: 数据首地址为 80H,所以数据地址为 80H+地址码 (027H, 4067H) 其他设置: 01H(显示清屏,数据指针 =0,所有显示 =0); 02H(显示回车,数据指针 =0)。 通常推荐的初始化过程: 延时 15ms 写指令 38H 延时 5ms 写指令 38H 延时 5ms 写指令 38H 延时 5ms (以上都不检测忙信号) (以下都要检测忙信号) 写指令 38H 写指令 08H 关闭显示 写指令 01H 显示清屏 写指令 06H 光标移动设置 毕业设计论文 第 11 页 共 32 页 写指令 0cH 显示开及光标设置 单片机通过以上指令集和相应的 ASCII 码表显示数据。 图 LM016L 的 ASCII 码表 LM016L 与单片机接口设计 单片机与 LM016L可用以图 的接法连接: E 7E 0E 1E 2E 3E 4E 5E 6d7d0 d1 d2 d3 d4 d5 d6r sr wersrweE0E7 E1E2E3E4E5E6addaaddbaddcstoealeale1XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U6AT89C51D 71 4D 61 3D 51 2D 41 1D 31 0D 29D 18D 07E6R W5R S4V S S1V D D2V E E3LCD1LM016L234567891RP1RESPACK8C130pfC230pfX1CRYSTAL 图 LM016L 与单片机的接口 毕业设计论文 第 12 页 共 32 页 电流系统的转化电路 单片机 I/O 端口介绍 转换电路的主要部分是单片机 AT89C51,它也属于 51 单片机中的一类。 AT89C51 能处理各类信号,在信号送达后单片机内的各个存储器和寄存器开始相应的动作来完成所要求的结果。 AT89C51 有四个端口, P0, P1, P2, P3 四个口,每个端口内部结构相同,但是所属职能有所不同。 图 为单片机的引脚图: 图 单片机引脚图 P0 口: P0 口是一组 8 位漏极开路型双向 I/ O 口,也即地址/数据总线复用口。 作为输出口用时,每位能以吸收电流的方式驱动 8 个 TTL逻辑门电路,对端口 P0 写 “l”时,可作为高阻抗输入端用。 在访问外部数据存储器或程 序存储器时,这组口线分时转换地址(低 8 位)和数据总线复用,在访问期间激活内部上拉电阻。 在 Flash 编程时, P0 口接收指令字节。 而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 P1 口: P1 是一个带内部上拉电阻的 8 位双向 I/ O 口, P1 的输出缓冲级可驱动(吸收或输出电流) 4 个 TTL逻辑门电路。 对端口写 “l”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。 作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流( IIL)。 毕业设计论文 第 13 页 共 32 页 与 AT89C5l 不同之处是, 和 还可分别 作为定时/计数器 2 的外部计数输入( / T2)和输入( / T2EX)。 Flash编程和程序校验期间, Pl 接收低 8 位地址。 P2 口: P2 是一个带有内部上拉电阻的 8 位双向 I/ O 口, P2 的输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门电路。 对端口 P2 写 “l”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流( IIL)。 在访问外部程序存储器或 16 位地址的外部数据存储器(例如执行 MOVX@DPTR 指令)时, P2 口送出高 8 位地址数据。 在访问 8 位地址的外部数据存储器(如执行 MOVX@RI 指令)时, P2 口输出 P2 锁存器的内容。 Flash编程或校验时, P2 亦接收高位地址和一些控制信号。 P3 口: P3 口是一组带有内部上拉电阻的 8 位双向 I/ O 口。 P3 口输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门电路。 对 P3 口写入 “l”时,它们被内部上拉电阻拉高并可作为输入端口。 此时,被外部拉低的 P3 口将用上拉电阻输出电流( IIL)。 P3 口除了作为一般的 I/ O 口线外,更重要的用途是它的第二功能,如 表 所示: 表 P3口引脚 的第二功能 端口引脚 第二功能 RXD(串行输入口) TXD(穿行输出口) INT0(外部中断 0) INT1(外部中断 1) T0(定时器 /计数器 0) T1(定时器 /计数器 1) WR(外部数据储存器写选通) RD(外部数据储存器读选通) 此外, P3 口还接收一些用于 Flash闪速存储器编程和程序校验的控制信号。 毕业设计论文 第 14 页 共 32 页 单片机除了 4 个端口外,还有其他引脚,在这里简单介绍一下: RST:复位输入。 当振荡器工作时, RST 引脚 出现两个机器周期以上高电平将使单片机复位。 ALE/ PROG:当访问外部程序存储器或数据存储器时, ALE(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。 一般情况下, ALE 仍以时钟振荡频率的 l/ 6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。 要注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。 对 Flash存储器编程期间,该引脚还用于输入编程脉冲( PROG)。 如有必要,可通过对特殊功能寄存器( SFR)区中的 8EH 单元的D0 位置位,可禁止 ALE 操作。 该位置位后,只有一条 MOVX 和 MOVC 指令才能 将ALE 激活。 此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE 禁止位无效。 PSEN:程序储存允许( PSEN)输出是外部程序存储器的读选通信号,当 AT89C51 由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN 有效,即输出两个脉冲。 在此期间,当访问外部数据存储器,将跳过两次 PSEN 信号。 EA/ VPP:外部访问允许。 欲使 CPU 仅访问外部程序存储器(地址为0000H—FFFFH), EA 端必须保持低电平(接地)。 需注意的是:如果加密位 LB1 被编程,复位时内部会锁存 EA 端状态。 如 EA 端为高 电平(接 Vcc 端), CPU则执行内部程序存储器中的指令。 Flash存储器编程时,该引脚加上 +12V的编程允许电源 Vpp,当然这必须是该器件是使用 12V编程电压 Vpp。 XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端。 毕业设计论文 第 15 页 共 32 页 3 电流检测系统软件设计 AD 转换和数据采集程序设计 数据采集是由 ADC0808 实现的, ADC0808 是以逐次逼近原理进行模 /数转换的器件。 其内部有一个 8 通道多路开关,它可以根据地址码锁存译码后的信号,只选通 8路模拟输入信号中的一个进行 A/D 转换为了使 ADC0808 据采集和转换工作,需要给ADC0808 引脚发入触发信号:为了使 ADC0808 工作起来,需要有时钟信号 clk,为了使 ADC0808 能够开始转换数据需要使 st 和 ale 有下降沿信号发生,因而需要为 st 和ale 端口提供下降沿信号;为了能使转换完的数据输出,需要为 ADC0808 提供输出信号,即 oe 管脚需要高电平。 在数据输出完成后, oe 管脚要置于低电平,以为下次数据输出做准备。 电流检测系统的显示子程序 电流系统的结果显示是有 LM016L 液晶显示器显示出来。 液晶显示器共有 16 个管脚 ,数据指令传送端 D0~D7,还有数据和地址命令切换端 rw, rs。 当 rs 为高电平时,D0~D7 端口传送地址信号,当 rw 为高电平时, D7~D0 传送指令信号。 在此期间, D7管脚除了传输数据和指令还兼做判断 busy flag(以下简称 bf)寄存器的指示端。 当 bf为 0 时,不执行指令,只传输同一种类型的数据;当 bf 为 1 时,执行指令,开始切换数据传输的类型。 bf 的置位由液晶显示器自动执行。 e 管脚是使能信号输入端,当为1 时,能为 LM016L传送数据,当为 0 时不能传送数据。 单片机内部数据传输程序和外部中断程序 单片 机在执行数据显示的程序时,有 P0 口传送到 P2 的数据和单片机内本身传送给 P2 的 “current flow”数据,为了防止两个数据发生干扰,于是选择应用中断程序。 因为 ADC0808 完数据之后会由 eoc 管脚发出一个脉冲信号来提示单片机转换完成,所以可以用这个信号成为单片机的 INT0 外部中断。 这样单片机内部的数据和 P0 口传到P2 口的数据之间不会产生干扰,可以分时传送数据。 毕业设计论文 第 16 页 共 32 页 4 数据转换计算 数据标定 在未将数据转换之前, ADC0808 的显示范围为 0~255(十进制数),为了能使显示的数据更准确,需要对 未转换之前的数据进行标定,分别将数据分为大,中,小 3 部分进行,从而方便采集。 标定值为: 0~85,86~170,171~255. 数据采集 在标定好数据之后,从标定的范围中选取三组数据进行数学分析和计算,从而得出转换所需要的参数,表 是所选取的三组数据: 表 数据采集 实际电流值 I( mA) 标定范围 显示数据 D 100 0~85 51 180 86~170 92 500 171~255 252 数据转换计算 数据在采集好之后,要对其进行处理。 根据图 可知电流检测 系统中实际电流值和显示数据之间呈现线性关系: I=kD+b。 其中 k和 d 是所求的参数。 将上述采集的数据带入线性关系式之后,解线性方程组可求得 k=,b=。 将 k, D 这两个参数带入程序中就可显示最终的结果。 数据验算 一般而言,最终的显示结果和真实结果之间的误差在 1%之内算合格。 通过最终验算,所测数据 98%在合格范围内,能达到一般精度等级。 毕业设计论文 第 17 页 共 32 页 5 子程序流程图 ad 模数转换和数据采集流程图及程序附录 模 拟 信 号通 道A l e , s t下 降 沿。 转 换 数 据O e = 0。 转 换 数 据 传 送 到 P 0 口A d d aA d d bA d d c否= 0是! = 0结 束结 束 功能说明:此流程。基于at89c51单片机的智能电流检测系统设计
相关推荐
( 1)测试单片机软件功能的完整性。 这是针对所有单片机系统功能的测试,测试软件是否写得正确完整。 ( 2)上电、掉电测试。 在使用中用户必然会遇到上电和掉电的情况,可以进行多次开关电源,测试单片机系统的可抗性。 ( 3)老化测试。 测试长时间工作情况下,单片机系统的可抗性。 必要的话可以放置在高温、高压以及强电磁干扰的环境下测试。 ( 4) ESD和 EFT 等测试。
括为表 2- 4 表 2- 4 ISD2560/90/120P 地址功能表 第三章 LM386 语音功率放大器 为了使语音芯片的性能得到最好的发挥。 需在 1 15脚即 SP+,SP之间加一个LM386语音功率放大集成电路。 它的 6脚为电源正极, 4脚接地。 3脚为选择输入端, 5脚为输出端。 8脚为增益控制端, 7脚微旁路端。 它具有如下特点: ( 1) 工作电压范围( 4V12V) (
中断系统继续工作。 掉电方式保存 RAM 中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。 AT89C51 引脚功能说明 AT89C51 单片机的 的引脚见图 23。 P0 口: P0 口是一组 8 位漏极开路型双向 I/O,也即地址 /数据总线复用口。 作为输出口用时,每位能吸收电流的方式驱动 8 个 TTL 逻辑门电路,对端口写 “ 1” 可作为高阻抗徐州工程学院毕业
件组成:一个 8 位 CPU; 128B 内部数据存储器RAM,包括 21 个特殊功能寄存器; 4KB( 4096 个单元)的在线可编程 Flash 片内程序存储器 FlashROM; 4 个 8 位并行输入 /输出口(即 I/O 口) P0、 P P P3口; 1 个可编程全双工的异步串行口; 2 个 16 位定时器 /计数器; 5 个中断源、 2个中断优先级;时钟电路,振荡频率在
空穴复合发光。 除了这种发光复合外,还有些电子被非发光中心(这个中心介于导带、介带中间附近)捕获,而后再与空穴复合,每次释放的能量不大,不能形成可见光。 发光的复合量相对于非发光复合量的比例越大,光量子效率越高。 由于复合 是在少子扩散区内发光的,所以光仅在靠近 PN 结面数 μm以内产生。 理论和实践证明,光的峰值波长 λ与发光区域的半导体材料禁带宽度E g 有关,即 λ≈1240/Eg (
木斯 大学本科生毕业设计 佳木斯大学信息电子技术学院 10 LED 通以恒定的电流。 这种驱动方法需要有寄存器、译码器、驱动电路等逻辑部件。 当需要显示的位数 增加时,所需的逻辑部件以及连接线也相应增加,成本也增加。 另一种是动态驱动法,这种方法是给欲点亮的 LED 通以脉冲电流,此时 LED 的亮度是通断的平均亮度。 为保证亮度,通过 LED 的脉冲电流应数倍于其额定电流值。