ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:187.01KB ,
资源ID:4675125      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4675125.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(自动化1001班高洪亮.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

自动化1001班高洪亮.docx

1、自动化1001班高洪亮单片机系统课 程 设 计成绩评定表设计课题 : 基于89C51的自动断电保护系统 学院名称 : 专业班级 : 学生姓名 : 学 号 : 目 录一、引言.2二、总体方案论证与设计.3三、硬件电路设计 3.1 时钟电路.63.2 复位电路.73.3 电流采样电路和继电器控制电路.7 3.4 A/D采样电路 .93.5 键盘和显示接口电路 .103.5 声光报警电路.11 四、系统软件设计4.1主程序设计流程图.12 4.2中断服务程序设计.124.3键盘和显示子程序设计.14 五、系统调试.15六、总结.15参考文献.15 附件A.17 附件B.18 一、引言现在人们生活离不

2、开家用电器,并对家用电器的安全使用等提出了更高的要求。自动断电保护系统不仅可以因为电路内部短路或者用电器超载时自动切断,防止发生用电事故,减少不必要的损失,而且系统中使用电流互感器,通过比较电流的采集值与设定值来自动控制继电器的通断,从而可以控制回路中电流的通断。该系统中还设定了声光报警装置,使用户及时发现和处理用电事故。二、总体方案论证与设计按照任务要求和系统设计要求,控制系统包括以下几个部分:1. 控制器。由于89c51单片机比较便宜,而且性能可以满足该系统的使用,因此可以作为该系统的控制核心。2. A /D转换器。ADC0809转换器模拟输入电压范围0+5V,不需零点和满刻度校准,而且能

3、耗低,工作温度范围宽,所以可以作为该系统的转换器。3. 电流采样。可以通过一个互感器把大电流转换成小的电流,同时可以通过传感器把电流值转化成电压值输出。4. 继电器。使用过电流电流继电器,当电流超过设定值时,继电器断开,电路回路断开,一般电流过电流继电器的工作电流为系统干路电流的2.2倍。5. 声光报警。当电流值超过设定值时,进行报警。6. 键盘。通过键盘可以设置限制电流大小。7. 数码管显示。可以显示设置电流以及实时电流值大小。图2.1就是总体设计图:构图:图2-1 总体设计结构图三、硬件电路设计3.1 时钟电路单片机片内有一个高增益的反相放大器,反相放大器的输入端为XTAL1,输出端为XT

4、AL2,由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式。在内部方式时钟电路中,必须在XTAL1和XTAL2引脚两端跨接石英晶体振荡器和两个微调电容构成振荡电路,通常C1和C2一般取30pF,晶振的频率取值在1.2MHz12MHz之间。对于外接时钟电路,要求XTAL1接地,XTAL2脚接外部时钟,对于外部时钟信号并无特殊要求,只要保证一定的脉冲宽度,时钟频率低于12MHz即可。晶体振荡器的振荡信号从XTAL2端送入内部时钟电路,它将该振荡信号二分频,产生一个两相时钟信号P1和P2供单片机使用。时钟信号的周期称为状态时间S,它是振荡周期的2倍,P1信号在每个状态的前半周期有效,在每个

5、状态的后半周期P2信号有效。CPU就是以两相时钟P1和P2为基本节拍协调单片机各部分有效工作。如图3.1和3.2为单片机内时钟电路:图3.1内部自激震荡电路图3.2时钟电路3.2复位电路在上电或复位过程中,控制CPU的复位状态:这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。单片机系统的复位方式有:手动按钮复位和上电复位 。复位方式有手动复位、上电复位和积分型复位。图3.3就是上电复位电路图:图3.3上电复位电路图3.3A/D转换

6、电路ADC0809CMOS工艺为8通道,8位逐次逼近式A/D模数转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。其主要特性: 8路输入通道,8位A/D转换器,即分辨率为8位。 具有转换起停控制端。 转换时间为100s(时钟为640kHz时),130s(时钟为500kHz时) 单个+5V电源供电 模拟输入电压范围0+5V,不需零点和满刻度校准。 工作温度范围为-40+85摄氏度 低功耗,约15mW引脚功能ADC0809芯片有28条引脚,采用双列直插式封装。下面说明各引脚功能。 IN0IN7:8路模拟量输入端。 2-12-8:8位

7、数字量输出端。 ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路 ALE:地址锁存允许信号,输入,高电平有效。 START: A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。 EOC: A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。 OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。 REF(+)、REF(-):基准电压。 VCC:电

8、源,单一+5V。 GND:地。A/D转换采样电路。CS0接面板上的CS0端口,选择ADC0809芯片地址,A0,A1,A2接AD转换通道选择段,因为本设计只涉及一个通道0,所以可以赋值0即可,数据输出端接单片机AD0-AD7口,当ADC0809数据转换结束时,EOC端口输出一个高电平。经过一个反相器,接单片机的外部中断输入口。向单片机申请中断,读取数据。图3.4就是A/D转换电路图: 图3.4 A/D转换电路3.4电流采样电路和继电器控制电路采样电路采用电流互感器进行,并通过一定的放大和转换电路,把电流值转化成对应的电压值输出。当电流值大于设定值后继电器会自动断开使用电器停止工作并保护电路。图

9、3.5就是电流采样和转换电路: 图3.5 电流采样和转化电路3.5 显示电路设计 本系统中来实现段码和位码数据所存采用74LS374锁存器。该电路会使用户设置的电流值和采集的电流值清晰的显示出来。键盘电路会对74LS374输入低电平并读取74LS245的数值断定键是否按下,并识别按哪个键。图3.6就是键盘显示电路: 图3.6键盘显示电路3.6声光报警电路 声光报警电路中采用三极管驱动音频放大器实现音频报警,当电流大于设定值时就会在P1.0端口产生100HZ的方波信号,来有效的控制Q2通断,同时P1.2端口输出高电平,发光二级管发光而报警。 图3.7就是声光报警电路: 图3.7 声光报警电路四、

10、软件设计 4.1 主程序流程图 主程序主要完成初始化、扫面显示、扫描键盘等,是系统首先执行的程序。 图4.1就是主程序流程图: 图4.1主程序流程图4.2中断服务程序流程图 图4-2 外部中断服务程序当A/D转换结束时,ADC0809模数转换器EOC引脚输出一个高电平信号,经过一个反向器,使89C51产生外部中断,进入外部中断服务程序。首先保护现场,然后读取AD值,进行数据的转换然后存储,并与设定的电流值进行大小比较,如果超过设定值,则继电器断开,用电器回路断开,并置1报警标志位。恢复现场,中断返回。 定时器0中断服务程序流程图如图4-3所示:图4-3 定时器0中断服务程序定时器设置为10ms

11、定时,每10ms中断一次,进入中断之后,首先保护现场,重装初值,判断是否处在报警状态,如果是,取反P1.0口,驱动扬声器进行声音报警。如果没有处于报警状态在判断是否到1S,到1S,则重置1S计数初值,启动A/D转换然后恢复现场,中断返回,如果不到1S,则直接恢复现场,中断返回。4.3键盘和显示子程序设计键盘程序,采用三个独立按键来设置限制电流值的大小,第一次按下键1,启动限制电流大小的设置,此时按键2,则实现限制电流的增加,最大限制电流20A;若按键3,则实现限制电流的减小。再次按下键1,则关闭对限制电流大小的设置。显示程序,首先要将数据缓冲区的要显示的数据进行十位和个位的分离,进行查表,找到

12、相应的段码,向数据总线送入段码地址,再送段码数据,接下来送位码地址和位码数据。分别将电流采样值和设定值进行显示。 五、系统调试由于硬件的限制,我们不能对互感器电流采样部分电路的测试,但是我们通过直接给ADC0809一个模拟信号可以实现当电压达到一定值时,蜂鸣器响起进行报警,同时发光二极管点亮进行报警。键盘能够正常的对限制电流大小进行设置,显示部分能够正确显示出电流的设定值和采样值。六、总结通过这次课程设计,让我深刻地掌握了单片机的使用,了解了单片机内部的数据存储和定时器以及A/D转换的作用。同时也知道了单片机外部电路的接口技术,数据总线的运用。通过做这次设计,让我更好了解和掌握了汇编语言,喂以

13、后的学习和应用奠定了坚实的基础。参考文献:1 张迎新单片微型计算机原理、应用及接口技术(第2版)M北京:国防工业出版社,20042伟福LAB6000系列单片机仿真实验系统使用说明书3 阎石数字电路技术基础(第五版)北京:高等教育出版社,2006附件A附件B程序:ORG 0000HLJMP MAINORG 0003HLJMP TSORG 000BHLJMP T_0ORG 0030HMAIN: MOV SP,#3FH MOV 60H,#0 MOV 70H,#10 MOV R0,#60H MOV R1,#70H MOV R6,#50 MOV R7,#200 CLR 20H CLR 21H CLR P

14、1.0 CLR P1.1 CLR P1.2 MOV TH0,#0F6H MOV TL0,#3CH SETB IT0 MOV IE,#83H SETB TR0 MOV A,#0 MOV DPTR,#8000H MOVX DPTR,ALOOP: LCALL DISPLAY LCALL KEY LJMP LOOPKEY: PUSH ACC PUSH PSW PUSH DPH PUSH DPL LCALL KEY_VALUE JB 21H,KEY0_0 KEY0: CJNE A,#01H,RETURN LCALL DISPLAY CJNE A,#01H,RETURN LCALL KEY_VALUE J

15、NZ KEY0 SETB 21H LJMP RETURNKEY0_0: CJNE A,#01H,KEY1 LCALL DISPLAY CJNE A,#01H,KEY1 LCALL KEY_VALUE JNZ KEY0_0 CLR 21H LJMP RETURNKEY1: CJNE A,#02H,KEY2 LCALL DISPLAY CJNE A,#02H,KEY2 LCALL KEY_VALUE JNZ KEY1 INC 70H CJNE R1,#20,RETURN MOV 70H,#0 LJMP RETURNKEY2: CJNE A,#04H,RETURN LCALL DISPLAY CJN

16、E A,#04H,RETURN LCALL KEY_VALUE JNZ KEY2 DEC 70H CJNE R1,#0,RETURN MOV 70H,#20RETURN: POP DPL POP DPH POP PSW POP ACC RETKEY_VALUE: MOV DPTR,#09002H MOV A,#00H MOVX DPTR,A MOV DPTR,#08001H MOVX A,DPTR ANL A,#0FH RETDISPLAY: PUSH ACC PUSH PSW PUSH DPH PUSH DPL MOV A,R0 MOV B,#10 DIV AB MOV DPTR,#TAB

17、MOVC A,A+DPTR MOV DPTR,#09004H MOVX DPTR,A MOV DPTR,#09002H MOV A,#02H MOVX DPTR,A MOV A,B MOV DPTR,#TAB MOVC A,A+DPTR MOV DPTR,#09004H MOVX DPTR,A MOV DPTR,#09002H MOV A,#01H MOVX DPTR,A MOV A,#0 MOVX DPTR,A MOV A,R1 MOV B,#10 DIV AB MOV DPTR,#TAB MOVC A,A+DPTR MOV DPTR,#09004H MOVX DPTR,A MOV DPTR

18、,#09002H MOV A,#08H MOVX DPTR,A MOV A,B MOV DPTR,#TAB MOVC A,A+DPTR MOV DPTR,#09004H MOVX DPTR,A MOV DPTR,#09002H MOV A,#04H MOVX DPTR,A LJMP RETURN DELAY: MOV R6, #50DELAY_LOOP: DJNZ R6,DELAY_LOOP RETTS: PUSH ACC PUSH PSW PUSH DPH PUSH DPL MOV DPTR,#8000H MOVX A,DPTR MOV B,#5 DIV AB MOV B,#2 MUL AB

19、 MOV B,#5 DIV AB MOV R0,A SETB C CJNE A,70H,NEXT NEXT: JNC NEXT0 CLR 20H CLR P1.1 CLR P1.2 LJMP BACK NEXT0: SETB 20H SETB P1.1 SETB P1.2 LJMP BACK T_0: PUSH ACC PUSH PSW PUSH DPH PUSH DPL MOV TH0,#0F6H MOV TL0,#3CH JB 20H,NEXT1 NEXT2: DJNZ R7,BACK MOV R7,#200 MOV A,#0 MOV DPTR,#8000H MOVX DPTR,ABACK

20、: POP DPL POP DPH POP PSW POP ACC RETINEXT1: CPL P1.0 LJMP NEXT2 TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH图3-4 键盘和显示电路3.5声光报警电路声光报警电路,采用三极管驱动音频放大器实现音频报警,当采样电流值大于电流设定值时,单片机P1.0端口产生100HZ的方波信号,控制Q2的通断,实现蜂鸣器报警;单片机P1.2端口变成高电平,则发光二极管点亮,实现报警功能。电路图如图3-5所示:图3-5 声光报警电路四、系统软件设计软件设计包括主程序,中断服务程序等其它子程序4.1主程

21、序设计主程序是系统上电或复位后首先要执行的程序,主程序主要完成系统的初始化、扫描显示、扫描键盘等工作。主程序流程图如图4-1所示:图4-1 主程序流程图当系统上电或者手动复位时,首先进行系统初始化,设置堆栈地址,定时器0工作方式,中断触发方式以及其它系统初始化。然后启动定时器和AD转换。然后进行不停的扫描键盘和显示。4.2中断服务程序设计外部中断服务程序流程图如图4-2所示:图4-2 外部中断服务程序当A/D转换结束时,ADC0809模数转换器EOC引脚输出一个高电平信号,经过一个反向器,使89C51产生外部中断,进入外部中断服务程序。首先保护现场,然后读取AD值,进行数据的转换然后存储,并与

22、设定的电流值进行大小比较,如果超过设定值,则继电器断开,用电器回路断开,并置1报警标志位。恢复现场,中断返回。 定时器0中断服务程序流程图如图4-3所示:图4-3 定时器0中断服务程序定时器设置为10ms定时,每10ms中断一次,进入中断之后,首先保护现场,重装初值,判断是否处在报警状态,如果是,取反P1.0口,驱动扬声器进行声音报警。如果没有处于报警状态在判断是否到1S,到1S,则重置1S计数初值,启动A/D转换然后恢复现场,中断返回,如果不到1S,则直接恢复现场,中断返回。4.3键盘和显示子程序设计键盘程序,采用三个独立按键来设置限制电流值的大小,第一次按下键1,启动限制电流大小的设置,此

23、时按键2,则实现限制电流的增加,最大限制电流20A;若按键3,则实现限制电流的减小。再次按下键1,则关闭对限制电流大小的设置。显示程序,首先要将数据缓冲区的要显示的数据进行十位和个位的分离,进行查表,找到相应的段码,向数据总线送入段码地址,再送段码数据,接下来送位码地址和位码数据。分别将电流采样值和设定值进行显示。 五、系统调试由于硬件的限制,我们不能对互感器电流采样部分电路的测试,但是我们通过直接给ADC0809一个模拟信号可以实现当电压达到一定值时,蜂鸣器响起进行报警,同时发光二极管点亮进行报警。键盘能够正常的对限制电流大小进行设置,显示部分能够正确显示出电流的设定值和采样值。六、总结通过

24、本次的单片机课程设计,使我更好的掌握了单片机的使用,更好地理解了单片机内部的数据存储,中断和定时器的应用,单片机外部电路的接口技术,数据总线的运用,也更深入的了解了汇编语言,熟悉了汇编指令的功能以及程序的编写。让我知道想设计好一个完整稳定的系统,需要考虑很多的细节,并不是那么容易,对我以后进入工作起到很大的帮助。参考文献:1 张迎新单片微型计算机原理、应用及接口技术(第2版)M北京:国防工业出版社,20042伟福LAB6000系列单片机仿真实验系统使用说明书3 阎石数字电路技术基础(第五版)北京:高等教育出版社,2006附件A程序:ORG 0000HLJMP MAINORG 0003HLJMP

25、 TSORG 000BHLJMP T_0ORG 0030HMAIN: MOV SP,#3FH ;设置堆栈 MOV 60H,#0 ;采集数据显示缓冲区 MOV 70H,#10 ;设置数据显示缓冲区 MOV R0,#60H MOV R1,#70H MOV R6,#50 MOV R7,#200 ;1S计数值 CLR 20H ;报警状态标志位 CLR 21H ;设置数据标志位 CLR P1.0 ;音频报警 CLR P1.1 ;继电器 CLR P1.2 ;LED MOV TH0,#0F6H ;定时器0装初值 MOV TL0,#3CH SETB IT0 ;外部中断触发方式设置 MOV IE,#83H ;开

26、总中断,外部中断0,定时器中断0 SETB TR0 ;启动定时器 MOV A,#0 MOV DPTR,#8000H ;片选ADC0809 MOVX DPTR,A ;启动ADLOOP: LCALL DISPLAY ;调用显示 LCALL KEY ;扫描键盘 LJMP LOOPKEY: PUSH ACC ;保护现场 PUSH PSW PUSH DPH PUSH DPL LCALL KEY_VALUE JB 21H,KEY0_0 ;判断是否处于设置数据状态KEY0: CJNE A,#01H,RETURN ;判断键值 LCALL DISPLAY ;调用显示延时,消抖 CJNE A,#01H,RETUR

27、N LCALL KEY_VALUE JNZ KEY0 ;等键释放 SETB 21H ;设置数据状态标志位置1 LJMP RETURN ;返回KEY0_0: CJNE A,#01H,KEY1 ;判断键值 LCALL DISPLAY ;调用显示延时消抖 CJNE A,#01H,KEY1 LCALL KEY_VALUE JNZ KEY0_0 ;等键释放 CLR 21H ;设置完成,清除标志位 LJMP RETURN ;返回KEY1: CJNE A,#02H,KEY2 ;判断键值 LCALL DISPLAY ;调用显示延时,消抖 CJNE A,#02H,KEY2 LCALL KEY_VALUE JNZ

28、 KEY1 ;等键释放 INC 70H ;设置数据缓冲区加1 CJNE R1,#20,RETURN;判断是否到最大值20 MOV 70H,#0 ;是,归0 LJMP RETURN ;返回KEY2: CJNE A,#04H,RETURN ;判断键值 LCALL DISPLAY ;调用显示延时,消抖 CJNE A,#04H,RETURN LCALL KEY_VALUE JNZ KEY2 ;等键释放 DEC 70H ;设置数据缓冲区加1 CJNE R1,#0,RETURN ;判断是否到最小值0 MOV 70H,#20 ;是,变为20RETURN: POP DPL ;恢复现场 POP DPH POP PSW POP ACC RETKEY_VALUE: ;读键值子程序 MOV D

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1