液位控制器设计.doc

上传人:scccc 文档编号:11357997 上传时间:2021-07-29 格式:DOC 页数:29 大小:1.21MB
返回 下载 相关 举报
液位控制器设计.doc_第1页
第1页 / 共29页
液位控制器设计.doc_第2页
第2页 / 共29页
液位控制器设计.doc_第3页
第3页 / 共29页
液位控制器设计.doc_第4页
第4页 / 共29页
液位控制器设计.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《液位控制器设计.doc》由会员分享,可在线阅读,更多相关《液位控制器设计.doc(29页珍藏版)》请在三一文库上搜索。

1、真诚为您提供优质参考资料,若有不当之处,请指正。 / 29 编号: 课程设计说明书 题 目: 水位控制器设计 院 (系): 电子工程与自动化学院 专 业: 自动化 学生姓名: xxxxxxxxxxxxx 学 号: xxxxxxxxxxx 指导教师:xxxxxxxxxxxxx 职 称: 研究员 题目类型:题目类型: 理论研究 实验研究 工程设计 工程技术研究 软件开发 2013 年 7 月 5 日 真诚为您提供优质参考资料,若有不当之处,请指正。 I / 29 摘 要 半个世纪来,随着控制理论的深入研究,出现了许多新的控制算法。液位高度控 制是工业控制过程的一种典型控制模型,进行液位控制课题研究

2、,有助于学生进一步 学习单片机、微机控制、自动控制理论等相关课程。在动态状态下,采用合适的方法 对液位进行检测、控制,能收到很好的效果。PID 控制是目前采用最多的控制方法。 根据液位系统的特点,设计合适的 PID 控制器对其进行液位控制,不仅成本低,而且 控制效果好,具有较高的使用价值。 本文主要是利用双向水泵对水箱进行进水与排水控制,也就是进行对水箱液位控制 系统的设计,涉及到液位的动态控制、控制系统的建模、PID 算法、传感器等一系列 知识。选用合适的器件设备、控制方案和算法,为能最大限度地满足系统对控制精度、 实时控制等控制品质的要求。 关键词 PID 控制 单片机 液位 Abstra

3、ctAbstract In recent years, with in-depth study of control theory, many new control algorithm. Liquid level height is an important parameter in industrial control process, under dynamic condition, adopt the appropriate methods to control the liquid level detection, and can get very good effect. PID

4、control is one of the most control methods. According to the characteristics of the liquid level system, design a suitable PID controller for level control, not only low cost, and good control effect and has higher use value. This article mainly is to use the two-way water pump to control the feed w

5、ater and drainage water tank, in a word, is the design of water tank level control system, involves the level of dynamic control, the modeling of the control system, PID algorithm, sensors and so on a series of knowledge. Choose the right components, equipment, control scheme and algorithm to maximi

6、ze meet the control accuracy and real-time control system control quality requirements. KeywordsKeywords PID control ; Industrial ; Liquid level ;singe chip 真诚为您提供优质参考资料,若有不当之处,请指正。 II / 29 目目 录录 引言 . 1 背景知识及系统设计要求 . 1.1 背景知识 . 1.2 STC12C5A60S2 系列单片机介绍. 1.3 系统设计要求 . 1.4 系统设计方案 . 2 主要器件的选择及论证 . 2.1 微

7、处理器的选择 . 2.2 驱动模块选择 . 2.3 输出模块选择 . 2.4 输入模块选择 . 3 硬件电路的设计 . 3.1 STC12C5A08S2 主控模块设计. 3.1.1 stc12c5a08s2 最小系统芯片部分.8 3.1.2 stc12c5a08s2 最小系统 I/O 口部分.9 3.1.3 系统驱动模块部 分 3.2 总原理图与 PCB 效果图 . 4 软件设计 . 4.1 AD 转换的程序. 4.2 LCD 程序. 4.1 按键程序 .1 4.1 关于中断 .1 4.5 关于 PWM.2 4. 关于主程序2 5 调试过程 . 5.1 液位传感器定标 . 5.2 硬件调试过程

8、 5.3 软件调试过程 . 真诚为您提供优质参考资料,若有不当之处,请指正。 III / 29 6 对系统的总结与展望 . 6.1 总结 . 6.2 展望 . 谢 辞 . 参考文献 . 附 录 .20 真诚为您提供优质参考资料,若有不当之处,请指正。 4 / 29 引言 本课题中我们设计了基于单片机控制驱动器驱动水泵来进行水位控制的控制系统, 实现了连续控制和跟踪水位,并以液晶实时显示水位。该方案具有原理简单、想法新 颖、容易实现、精度高等特点,控制系统对于提高工业自动化水平和提高生活供水质 量具有重要的意义。 在生产领域中,实现水位自动检测和控制是工业过程控制的一项关键技术,对于 提高工业过

9、程控制的自动化水平有着重要的意义。 在生活领域中,供水方式过去一般是通过人工来实现控制,容易造成对水资源的 浪费,所以现在人们越来越关注水资源的问题。 目前,水位控制系统是受到广泛应用的供水系统,水位控制可以有多种实现方法, 如机械控制、逻辑电路控制、机电控制、传感器控制等,但传统的控制方式存在控制 精度低、能耗大、不能实现连续控制和跟踪水位的特点,所以本论文设计出更方便更 准确的水位控制系统。 1 背景知识及系统设计要求 1.1 背景知识 本课题涉及了单片机、自动控制原理、传感器、计算机控制技术等相关课程,需要熟练编写 单片机程序、设计控制算法、正确标定传感器与 ad 转换的数据曲线、正确进

10、行分段线性拟合、根 据实际水位和目标水位的差值用 pwm 脉宽调制技术进行 pid 调节。其中单片机程序设计为重点, 主要用到其中的定时器,内置 ad,中断和寄存器相关知识。 1.2 stc12c5a60s2 系列单片机介绍 stc12c5a60s2 系列单片机是宏晶科技生产的单时钟/机器周期单单片机,是高速、低功耗、超强 抗干扰的新一代 8051 单片机,指令代码完全兼容传统 8051,但是速度快了 812 倍,内部集成 max810 专用复位电路,2 路 pwm,8 路 10 位 ad(250k/s) ,针对电机控制,强干扰的场合。本课 题中由学校提供一片 stc12c5a08s2 单片机

11、,用其进行课题设置完全能满足需求。 1.3 系统设计要求 在学过的单片机的一些知识的基础上,通过自主学习,学会另外一些单片机的应用,学会 那种单片机的一种或者几种语言的编程,学会运用学到的新的单片机控制外围的芯片、电路模块, 设计一个液位控制器,实现 4 项功能,基本功能:单片机正常工作;功能 1:用 H 桥芯片驱动水泵 进行正反转;实现水箱进水与排水控制;功能 2:实现用压力传感器进行液位的测量;功能 3:键 盘可进行水位设置,实际水位可以实时显示。 1.4 系统设计方案 流程图: 真诚为您提供优质参考资料,若有不当之处,请指正。 5 / 29 主程序流程: 开始 外部中断 1 中断服务程序

12、流程: 开始进入主程序,开启计数器,开中断, 将固定字符送 lcd 输出显示。 进入 while 循环中,不断刷新 ad 测出实时 数据、按键数据并分别送 lcd 显示。 在 while 循环中等待定时器 0 溢出,每次溢出时进行实际液位于 目标水位的位差计算并由此求取所需要的水泵转向的控制信号输 出以及水泵输出功率,将其换算为满功率对应占空比信息。 每当 4*4 按键中扫描到按键按下就进 入外部中断程序,读取按键值 根据算术结果进行水泵转动控制 按键值为 0 9 数字? 将原按键值乘与 10 置高位再加上新按下键值 得到新的按键 值999 ? 真诚为您提供优质参考资料,若有不当之处,请指正。

13、 6 / 29 定时器 1 中断服务程序设计 pwm 波形流程: 将键值最高位去除 退出中断服务程序 每 10us 进入定时器 1 中断中 将 time 自加 1 Time=目标占 空比? 使能输出 pwm 低电平 使能输出 pwm 保持高电平 Time=100? 使能输出 pwm 低电平 退出中断服务程序 真诚为您提供优质参考资料,若有不当之处,请指正。 7 / 29 2主要器件的选择及论证 2.1 微处理器和 ADC 的选择 老师提供的 stc12c5a08s2 是高速、低功耗、超强抗干扰的新一代 8051 单片机,指令代码完全兼容 传统 8051,但是速度快了 812 倍,内部集成 ma

14、x810 专用复位电路,2 路 pwm,8 路 10 位 ad(250k/s) ,用来进行课题设置完全能满足需求。其中开通一路 ad 通道采集液位信号就可以,并 且精度能达到 1/1024 足够满足课程精度要求了,若需要再提高精度,可以考虑多开通一路 ad 通道 采集一路标准电平信号用作参考电压来计算减小液位电压的误差。在本次试验中 ad 转换取高八位 1/256 的精度就已经足够了,本人采用十位转换精度,经验证最后精度能保持在 1 毫米误差内,已 经满足需求,所以参考标准电压的 ad 通道只作用预留接口附加设计在硬件中,而未使用之,若读 者需要可将参考电压(推荐为 2.5v)加入 p.14

15、口,并在程序中加入 P1ASF = 0 x10; (开启 p1.4ad 通道) 。 2.2 驱动模块的选择 由于单片机的负载功率不足以驱动水泵并且控制器与控制对象应该进行电气隔离进行保护,所以 应该加入驱动模块,本次课题中我们考虑了 293、298 器件,最后为了确保供应电流能满足水泵考 虑了功率因素采用了 298 电路,经验证满足设计需求,293 为经验证但是理论上可以尝试。 298 控制端口需要接入 in1 in2 ena 使能 3 个控制端,其中常用控制方式有两种,一是将 ena 使 能置高,in1 in2 接入两组互补的 pwm 波形控制 out1 out1 同步输出两组互补 pwm

16、波形。二是将 in1 in2 分别接一高一低来决定输出转向,ena 接入一个 pwm 脉冲控制信号作为使能调节功率大小。 笔者使用了后一方案。 2.3 输出模块的选择 本课题中需要实现液位实时显示与目标水位显示,所以需要设计输出模块,现在集成的显示模块 很多,买最常见的 1062lcd 或者 8 位数码管就足够满足设计了,综合考虑编程方便、美观度和经 济成本,笔者选择了 lcd。 2.4 输入模块的选择 为了能够由人自主设定目标水位,需要设计输入模块,输入模块设计方案也很多,比如用 4 位开 关分别进行加、减、确定、修改 4 种操作就能满足,而考虑到用 4*4 键盘进行键入更能符合日常 生活操

17、作规范,笔者选择了设计 4*4 键盘并且加入一个 4 输入与门电路在按键列扫描的同时引起 外部中断 1 由中断服务程序处理按键值获得 0999mm 输入量程。 真诚为您提供优质参考资料,若有不当之处,请指正。 8 / 29 3脉冲信号参数测试仪的硬件电路设计 3.1 stc12c5a08s2 主控模块设计 3.1 .1 stc12c5a08s2 最小应用系统芯片部分 和常用的 89c51 系列单片机一样,最小系统笔者使用了 12M 晶振,加入了复位按键开关,由于手 边有单片机开发板方便下载调试程序,未加入串口下载电路的设计,需要的可以在加入。最小应 用系统电路原理图如下: 3.1 .2 stc

18、12c5a08s2 系统 i/o 外接部分 本课题的外接设计需要外接 1 位的 ad 转换输入通道(并预留一路备用通道)8 位的 4*4 键盘, l602lcd 的 3 位使能控制,8 位数据口,298 的两位输入控制,1 位使能控制,考虑布局方便已经使 用方便,笔者使用了 p1.0 为 ad 输入,p1.4 位预留 ad 输入,p2 口 8 位为按键,p1.11.3 位 1602 控 制位,p0 口 8 位为 1602 数据位,p1.51.7 位 298 的驱动控制位。原理图如下: 真诚为您提供优质参考资料,若有不当之处,请指正。 9 / 29 3.1 .3 系统驱动模块部分 驱动模块直接用

19、 298 模块,其需要两路电源,支持双输入双输出,本次使用 out1,ou2 接入水 泵响应 in1,in2 单片机输入来同步驱动水泵,ENA 接单片机的 p1.7pwm 波形输出作为使能控制。具 体原理图如下: 真诚为您提供优质参考资料,若有不当之处,请指正。 10 / 29 3.2 总电路原理图与 pcb 笔者的 pcb 效果图: 真诚为您提供优质参考资料,若有不当之处,请指正。 11 / 29 4软件设计 4.1 ad 转换程序 (1)头文件的定义相关内容 (2)ADC 初始化程序 调用此程序将 adc 初始化。详见附录 3 void InitADC() (3)获取某通道的转换 10 位

20、值 调用此程序获取某一位通道 ad 转换 10 位结果。详见附录 3 lint getADC(uchar ch) 4.2 lcd 显示程序 (1)头文件的定义相关内容 (2)显示器初始化 调用此程序将 lcd 初始化。详见附录 3 void LCD_Initial() (3)可以调用的显示子函数 笔者编写了一些方便调用来送数据令 lcd 输出显示的子程序,入单字写入,3 4 位数据直接输出, 字符串输出的程序等,详见附录 3. 4.3 按键程序 (1)按键扫描程序 为了能够在按键按下后同时引起外部中断 1 进入中断服务程序将按键值处理获得 0999 间的数据 而不单单是 16 个整数,在硬件设

21、计上笔者加入了一个与门印发中断而软件上使用了较为累赘的逐 行扫描的按键扫描程序 uchar keyscan() ,本文不再赘述。 (2)在中断中获取按键键值程序 在这个中断服务程序中将判断按下的是否为数字键原按键值,若是则将原键值置高位再将新值置 低位。并在退出中断服务程序前判断最新的按键值是否超过了 999,若超过要进行处理,因为在本 课题中完全不需要设定高于 200 毫米的目标水位。具体程序详见附录 3 子函数中 void Init1() interrupt 2 函数。 4.4 关于中断程序 笔者用上了定时器 1 中断和外部中断 1,需要启动两个中断。 需要特别注意中断初始化,否则在软件调

22、试时往往进入中断中跳不出来。 void Init(void) /初始化 EA=1;/*开总中断 EX1=1;/*开外部中断 1 ET1 = 1;/定时器中断 PX1=1;/优先级高 PT1=0;/优先级低 IT1=0;/*设置为电平触发方式 真诚为您提供优质参考资料,若有不当之处,请指正。 12 / 29 另外需要了解基本的中断服务程序指令格式: void Init1() interrupt 0 void Init1() interrupt 1 void Init1() interrupt 2 void Init1() interrupt 3 void Init1() interrupt 4

23、。 。 。 其中后尾数表示中断源,依次是外部中断 0,定时器中断 0,外部中断 1,定时器中断 1 等等。 4.关于 pwm 波形 Pwm 脉宽调制技术在控制系统中有着很高的地位,在本课题中笔者通过不断进入定时器 1 中断判 断进入次数是否达到控制水泵功率所需要占空比的数值来改变或维持 pwm 输出的方式进行程序设 计。具体为: void _PWM_() interrupt 3 static time; if(+time = zkb) /每到定时器 1 溢出中断便进入一次中断程序中将 time 自加 1 /并与占空比比较是否变为低电平,比如主程序求得这时应该 pwm = 0; /令水泵以 90

24、%的输出功率工作抽水,那么就 90 次跳过本 if 语句 /得到 90 个延迟周期的高电平和 10 个延迟周期的低电平的 pwm 波形 if(time=100) /满百重置 time = 0; pwm = 1; 4. 主程序 进入主程序中首先先开启计数器、开中断、将固定字符送 lcd 输出显示;然后进入 while 循环中, 不断刷新 ad 测出实时数据、按键数据并分别送 lcd 显示。在 while 循环中等待定时器 0 溢出,每次 溢出时进行实际液位于目标水位的位差计算并由此求取所需要的水泵转向的控制信号输出以及水 泵输出功率,将其换算为满功率对应占空比信息。等待定时器 1 中断根据占空比

25、计算结果形成 pwm 控制波形进行水泵转动控制。具体的主函数详见附录 4 5调试过程 5.1 传感器线性拟合调测过程 液位传感器是类似于洗衣机内部的压力型传感器,在课题一开始就需要根据传感器的灵敏 区设置水箱,刻度标度要在其灵敏量程范围内,但是推荐不必急于用不可擦拭墨迹标定坐标度, 真诚为您提供优质参考资料,若有不当之处,请指正。 13 / 29 避免后期调整传感器后坐标不同。 笔者由于有学校提供了共计 5 套传感器和水泵,所以前期只将每只传感器装好后经过反复 调零和调放大系数各测了 4 组水位与传感器输出电压关系表并生成曲线观测其线性情况,发现在 部分量程中线性度还不错。多组测数能到提高精度

26、,并且必需要在加水过程和排水过程分别测数, 及早发现传感器的输出增长过程和降低过程是否能拟合,若不能那么在控制算法中就需要两套计 算公式。若整条线根本分线性,就需要多次分段求取各段各自的代数算式以备测试控制效果。 经测试,笔者与同学选中了其中两只在量程范围内精度较高并且较线性的传感器进行后期 设计工作。其中部分先期测试到的数据和曲线示例如下在部分量程中线性度较高: 前期测试传感器示例数据前期测试传感器示例数据 传感器实物图传感器实物图 在后期测设计中,其他模块都能正确工作后需要加入 ad 转换算式把模拟液位测试电压转化为数字 真诚为您提供优质参考资料,若有不当之处,请指正。 14 / 29 可

27、见的液位数据,这时需要测量更多组数据,并且测量间距要足够小,最后取了平均值后进行拟 合得出电压与液位关系算式,示例如下: 其中 y=3.1756x - 1.3855 为所需算式。 5.2 控制模块的硬件调测过程 5.2.1 298 驱动模块的调试 做出实物后,在未接入单片机不加入控制程序的情况下,将驱动模块的 in1 接高,in2 接低, 使能 ena 直接接高,并正确向 298 供电,测试输出 out1 out2 是否能驱动水泵满功率正转。然后 将 in1 in2 互换高低电平,测试水泵是否满功率反转。 若正反转都正常,可以将 ena 高电平移除,用脉冲信号发生器输出 5v 的方波接入,方波

28、占 空比分别调到 20%,50% 80% 观测水泵输出功率状况。可以验证通过单片机输出 pwm 波形作为使能 的预期结果是否满足需要。笔者经测试发现在供应电压为 7.5v 工作电压时,水泵需要在 pwm 占空 比为 20%以上才具备抽水能力,否则只是空转而带不动水流。 水泵实物图 5.2.2 按键与显示模块的调试 将系统在电源开关关闭情况下正确接线接入电源,再次检验接电正确、单片机未反接后打开独立 电源开关向单片机和 1602 提供 5v 电源。 上电后,调节 1602 亮度调节微调电阻,使亮度适宜。这时若单片机程序为空或未接单片机或接反 单片机,lcd 为亮着一排空格的初始状态,应及时留意是

29、否接反单片机避免烧坏。 若程序正确,会显示相应字符信息,这时进行按键操作观测是否能将键入数据显示到 lcd 上,若 不能应进行程序修改重试。 真诚为您提供优质参考资料,若有不当之处,请指正。 15 / 29 单纯调试按键与的接线图单纯调试按键与的接线图 5.3 控制模块的软件调测过程 5.3.1 显示 lcd 程序调测 将 lcd 相关程序烧入单片机,正确硬件连接后开始测试,若程序正确将得到正确的显示字符。 反正需要再修改程序。 5.3.2 按键程序调试 将按键接入,正确硬件连接后开始测试,若键入数据完全没有通过 lcd 显示,检查硬件有无接 错,4 输入与门输入是否接对了 p2 口行扫描的高

30、 4 位,输出是否接了 p3.2 或 p3.3 外部中断正确引 起中断,若没有则需要重调程序,注意按键接的是 p2 口,程序中是否定义为 p2 扫描,软件仿真 是否能进入中断服务程序,反复调试可以实现之。 真诚为您提供优质参考资料,若有不当之处,请指正。 16 / 29 按键与 lcd 部分仿真 5.3.3 内置 ad 转换调试 正确连接硬件,传感器与单片机共低连接,程序正确设定 ad 转换的初始化等函数,正确从寄 存器获取转换数据(笔者取 10 位转换结果,读者可以根据需要只取高 8 位) ,正确将数据送 lcd 显 示,若未能实现应修改程序。 若正确得出转换数据但是数据波动很大,请检查硬件

31、连接,或者将直接接高或接地 观测是否显示或者,若不是则说明硬件布局不合理或者单片机本身有故障,推 荐换备用通道尝试,若不行则换芯片或者重新布局。 5.3.4 控制信号输出调试 正确硬件连接后,用万用表测试 p1.5 p1.6 p1.7 的输出状态,当实际液位与目标水位有差距时, p1.5 p1.6 应为一高一低的电平状态,p1.7 应为高电平。将 p1.7 接到示波器观测应为 pwm 波形,若 液位差较大观测到的 pwm 波形为纯高电平是因为程序设置的占空比为满百,可改为 99 便于观测。 或在液位差较小,系统在进行微调控制时观测示波器显示状态,能观测到较好波形。 若以上功能不能实现,应进行软

32、件调试,观测是否进入定时器 1 中断服务程序,若没有则留 意中断初始化和定时器初始化是否正确,主程序调用是否正确,若正常在中断服务程序中获得了 pwm 控制波形,注意是否正确定义了 i/o 口,p1.51.7 使用是否出错。 真诚为您提供优质参考资料,若有不当之处,请指正。 17 / 29 多次调试结果正确后,可以配合硬件测试接入水泵观测。若 pid 控制正常,水泵工作应该是不 连续的,抽水声音明显有断续。若不正常应进行软件参数调节,笔者使用试凑发反复调节可以得 到较好结果。若水泵工作正常但是到达预定水位不会停下而是在目标水位附近低功率抽水又排水 的反复,是由于水泵的管道中有水残留,到达预定水

33、位后残留水慢慢流下又影响了实际水位以至 于反复启动控制系统工作,若不希望水泵这么跳动,可以进行软件调节将水位 2 毫米内误差忽略 而不进行动作即可。 对系统的总结与展望 6.1 总结 现在本系统已经交付验收,经测试达到了所要求的全部基本要求,误差精度在一毫米左右, 个人对本次课程设计中的自我表现还算满意,从方案提出到一步步验证、改进。实施方案都亲力 亲为并且每一步都做得不错,最终也达到了设计预期,回想这三个周,看着自己的劳动成果,无 论是原理图和的设计和做板焊接还是设计程序反复调试,自己的能力都显然得到了一定的 锻炼和提升。 6.2 展望 随着时代的发展,自动化控制集成度必然越来越高,精度和速

34、度也要求越来越高,液位控制 有着不错的前景,比如在家居中的运用。但是通过课题学习并不是局限着课题本身,更重要的是 在其中得到的锻炼和提升,相信未来在更多领域的控制设计中我们也能有所建树。 真诚为您提供优质参考资料,若有不当之处,请指正。 18 / 29 谢 辞 从论文选题到资料搜集,从做一次一次地板子到反反复复地调程序,从写稿到反复修改,期 间经历了喜悦、痛苦、烦躁和彷徨,在课设的过程中心情是如此的复杂,特别是做板子和调程序 的时候,喜怒哀乐都是经常变化的。还体验过晚上加班在实验室里调程序的积极学习生活,现在 本次课程设计的任务已经基本完成,圆满验收了。在做毕业设计的过程中,感谢老师为本人们提

35、 供了实验室已经各种设备,可以让本人随时都可以在实验室测试板子,调试程序。感谢同学们的 无私帮助,很高兴大家能共同探讨学习共同进步。感谢指导老师对本人毕业设计过程中的指导。 感谢陪我一起熬夜测板子,调程序的同学们。 真诚为您提供优质参考资料,若有不当之处,请指正。 19 / 29 参考文献 1 谭浩强.C 程序设计(第三版)M.清华大学出版社 2 白驹珩,雷晓平.单片计算机及其应用(第二版)M.电子科技大学出版社,2005. 3 康华光.电子技术基础模拟部分(第五版)M.高等教育出版社,2006:4589. 4 阎石.数字电子技术基础(第五版)M.高等教育出版社,2006:3479. 5百度文

36、库 6 系列单片机简介 7微型计算机控制技术(第二版)M.清华大学出版社 8 EDA 技术实用教程(第四版)M.科学出版社 9 胡大可.MSP430 系列 Flash 型超低功耗 16 位单片机M.北京:北京航空航天大学出版社, 2001. 10 C51 单片机高效入门M.机械工业出版社 真诚为您提供优质参考资料,若有不当之处,请指正。 20 / 29 附附 录录 附录 1:整体系统板效果图 附录:需要调用的两个头文件 /*- INTRINS.H Intrinsic functions for C51. Copyright (c) 1988-2004 Keil Elektronik GmbH

37、and Keil Software, Inc. All rights reserved. -*/ 真诚为您提供优质参考资料,若有不当之处,请指正。 21 / 29 #ifndef _INTRINS_H_ #define _INTRINS_H_ extern void _nop_ (void); extern bit _testbit_ (bit); extern unsigned char _cror_ (unsigned char, unsigned char); extern unsigned int _iror_ (unsigned int, unsigned char); extern

38、 unsigned long _lror_ (unsigned long, unsigned char); extern unsigned char _crol_ (unsigned char, unsigned char); extern unsigned int _irol_ (unsigned int, unsigned char); extern unsigned long _lrol_ (unsigned long, unsigned char); extern unsigned char _chkfloat_(float); extern void _push_ (unsigned

39、 char _sfr); extern void _pop_ (unsigned char _sfr); #endif /*- REG52.H Header file for generic 80C52 and 80C32 microcontroller. Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc. All rights reserved. -*/ #ifndef _REG52_H_ #define _REG52_H_ /* BYTE Registers */ sfr P0 = 0 x80; sfr

40、P1 = 0 x90; sfr P2 = 0 xA0; sfr P3 = 0 xB0; sfr PSW = 0 xD0; sfr ACC = 0 xE0; sfr B = 0 xF0; sfr SP = 0 x81; sfr DPL = 0 x82; sfr DPH = 0 x83; sfr PCON = 0 x87; sfr TCON = 0 x88; sfr TMOD = 0 x89; sfr TL0 = 0 x8A; 真诚为您提供优质参考资料,若有不当之处,请指正。 22 / 29 sfr TL1 = 0 x8B; sfr TH0 = 0 x8C; sfr TH1 = 0 x8D; sf

41、r IE = 0 xA8; sfr IP = 0 xB8; sfr SCON = 0 x98; sfr SBUF = 0 x99; /* 8052 Extensions */ sfr T2CON = 0 xC8; sfr RCAP2L = 0 xCA; sfr RCAP2H = 0 xCB; sfr TL2 = 0 xCC; sfr TH2 = 0 xCD; /* BIT Registers */ /* PSW */ sbit CY = PSW7; sbit AC = PSW6; sbit F0 = PSW5; sbit RS1 = PSW4; sbit RS0 = PSW3; sbit OV

42、 = PSW2; sbit P = PSW0; /8052 only /* TCON */ sbit TF1 = TCON7; sbit TR1 = TCON6; sbit TF0 = TCON5; sbit TR0 = TCON4; sbit IE1 = TCON3; sbit IT1 = TCON2; sbit IE0 = TCON1; sbit IT0 = TCON0; /* IE */ sbit EA = IE7; sbit ET2 = IE5; /8052 only sbit ES = IE4; sbit ET1 = IE3; sbit EX1 = IE2; 真诚为您提供优质参考资料,若有不当之处,请指正。 23 / 29 sbit ET0 = IE1; sbit EX0 = IE0; /* IP */ sbit PT2 = IP5; sbit PS = IP4; sbit PT1 = IP3; sbit PX1 = IP2; sbit PT0 = IP1; sbit PX0 =

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1