单片机课程设计_基于89C51的自动断电保护系统_第1页
单片机课程设计_基于89C51的自动断电保护系统_第2页
单片机课程设计_基于89C51的自动断电保护系统_第3页
单片机课程设计_基于89C51的自动断电保护系统_第4页
单片机课程设计_基于89C51的自动断电保护系统_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 单片机系统课程设计单片机系统课 程 设 计成绩评定表设计课题 : 基于89C51的自动断电保护系统 学院名称 : 电气工程学院 专业班级 : 学生姓名 : 学 号 : 指导教师 : 设计地点 : 设计时间 : 指导教师意见:成绩: 签名: 年 月 日 单片机系统课 程 设 计课程设计名称: 基于89C51的自动断电保护系统 专 业 班 级 : 学 生 姓 名 : 学 号 : 指 导 教 师 : 课程设计地点: 课程设计时间: 单片机系统 课程设计任务书学生姓名专业班级学号题 目课题性质工程设计课题来源选题指导教师 主要内容 (参数)利用89C51设计自动断电保护系统,实现以下功能:1、实现开

2、机后自动供电;2、内部短路或超载时会自动断开电源;3、利用互感,通过采集电流来控制继电器的常开,常闭触头。4、采用警报,声音来提醒使用者来处理紧急事故任务要求(进度)第1-2天:熟悉课程设计任务及要求,查阅技术资料,确定设计方案。第3-4天:按照确定的方案设计单元电路。要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有详细论述。第5-6天:软件设计,编写程序。第7-8天:实验室调试。第9-10天:撰写课程设计报告。要求内容完整、图表清晰、文理流畅、格式规范、方案合理、设计正确,篇幅合理。主要参考资料1 张迎新单片微型计算机原理、应用及接口技术(第2版)M北京:国防工业出版社,

3、20042伟福LAB6000系列单片机仿真实验系统使用说明书3 阎石数字电路技术基础(第五版)北京:高等教育出版社,2006审查意见系(教研室)主任签字: 年 月 日 目录一、引言3二、总体方案设计4三、硬件电路设计53.1 单片机最小系统53.2 电流采样电路和继电器控制电路73.3 A/D采样电路83.4键盘和液晶显示电路103.5声光报警电路12四、系统软件设计124.1主程序设计124.2中断服务程序设计134.3部分主要子程序设计16五、系统调试18六、总结18参考文献:18附件A19附件B20一、引言随着家用电器的增多,人们也越来越关心用电器的保护和用电安全的问题。因此自动断电保护

4、系统,逐步广泛应用于家庭用电器的保护设施,它能够实现开机后自动恢复供电功能。当内部电路短路,用电功率超过设定值时,自动断电保护系统就会自动断开用电器的供电回路,使用电器停止工作,能够防止用电器进一步的损坏,避免发生一些不必要的损失。该设计采用电流互感器,来采样线路上的电流值,然后与用户设定值进行比较,控制继电器的常闭点的断开与闭合, 从而控制用电器的供电回路的断开与闭合。同时该设计还提供了声光报警,用户可以及时的处理事故。用户还可以通过键盘来设置限制电流的大小,同时电流的采样值和设置值都会通过液晶显示器显示出来,以供用户方便的使用和观察。二、总体方案设计按照任务要求和系统设计要求,控制系统包括

5、以下几个部分:1. 控制器。作为系统的核心元件,我们采用AT89C51单片机。2. 电流采样。通过一个互感器进行电流的采样,将线路上的大电流转换为小电流值进行采样。通过一个电阻将其转换成电压信号,方便单片机的读取。3. A/D转换。A/D转换芯片采用ADC0804八位模数转化器。A/D转换器可以把测得的模拟量转化成数字量输出,可以直接读取。4. 继电器。当电流超过设定值时,继电器断开,电路回路断开。继电器在电路中起到断电保护作用,是系统的安全保障。5. 声光报警。当电流值超过设定值时,进行报警6. 键盘。通过键盘可以设置限制电流大小。7. 液晶显示器显示。可以显示设置电流以及实时电流值大小。总

6、体设计结构图如图2-1所示:图2-1 总体设计结构图三、硬件电路设计3.1 单片机最小系统微控制器采用AT89C51,AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压、高性能CMOS8位微处理器。其主要特性如下:· 与MCS-51 兼容 · 4K字节可编程闪烁存储器 · 寿命:1000写/擦循环 · 数据保留时间:10年 · 全静态工作:0Hz-24MHz · 三级程序存储器锁定 · 128*8位内

7、部RAM · 32可编程I/O线 · 两个16位定时器/计数器 · 5个中断源 · 可编程串行通道 · 低功耗的闲置和掉电模式 · 片内振荡器和时钟电路其最小系统主要包括复位电路,时钟电路。AT89C51芯片电路图如图3-1所示: 图3-1 AT89C51单片机芯片电路图复位电路图如图3-2所示:R1710KR161KC310uS0VCCRST图3-2 复位电路图复位电路与AT89C51的访问外部程序存储器控制引脚EA和复位信号输入引脚RST相连。此电路可以实现上电复位和手动复位,复位电路工作原理如上图所示,采用5V供电,+5V的VC

8、C上电时,C3充电,在10K电阻上出现电压,使得单片机复位;几个毫秒后,C3充满,10K电阻上电流降为0,电压也为0,使得单片机进入工作状态。工作期间,按下S0,C3放电,在10K电阻上出现电压,使得单片机复位。S0松手,C3又充电,几个毫秒后,单片机进入工作状态。每次启动都需要重新设置限制电流大小,否则则默认为初始设置10A。当微控制器运行发生错误时,可以对其手动复位,使其重新启动运行,再进行设置限制电流大小。时钟电路图如图3-3:图3-3 时钟电路图时钟电路接AT89C51的18和19引脚。X1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入;X2接外部晶振和微调电容的另一端;

9、此电路采用12M晶振给单片机提供时钟信号。本设计时钟电路采用12M的晶振。晶振的作用是给单片机正常工作提供稳定的时钟信号。单片机的晶振并不是只能用12M,只要不超过20M就行,在准许的范围内,晶振越大,单片机运行越快,还有用12M的就是好算时间,因为一个机器周期为12个时钟周期,所以这样用12M的话,一个时钟周期为1/12us,那么机器周期为1us即定时器计一次数就是1us了,电容范围在20-40pF之间,这里连接的是30pF的电容。机器周期=12*系统时钟周期。3.2 电流采样电路和继电器控制电路 电流采样电路,电路正常工作时继电器常闭触点闭合接通电流互感器,通过电流互感器按一定比例采样线路

10、上的电流值大小,通过一个电阻,将电流信号转换为电压信号,方便单片机进行A/D转换,继电器控制电路,当线路上的电流值大于设定电流值时,将P2.4端口置1,控制导通的信号置于高电平,使三极管饱和导通即Q2形成通路,则继电器常闭点断开,用电器电路回路断开,则用电器停止工作。继电器两端单向并联一个二极管(负极接在VCC端,正极接在三极管集电极上),起到吸收电磁线圈断电后产生的反向电动势,保护三极管。电路图如图3-4所示: 图3-4 电流采样转换电路和继电器控制电路3.3 A/D采样电路A/D采样电路采用集成A/D转换器ADC0804 。ADC0804是一款8位、单通道、低价格A/D转换器,主要特点是:

11、模数转换时间大约100us;方便TTL或CMOS标准接口;可以满足差分电压输入;具有参考电压输入端;内含时钟发生器;单电源工作时(05)V输入电压范围是05V;不需要调零。1.芯片参数:工作电压:+5V,即VCC=+5V。模拟转换电压范围:0+5V,即0Vin+5V。分辨率:8位,即分辨率为1/28=1/256,转换值介于0255之间。转换时间:100us(fCK=640KHz时)。转换误差:±1LSB。参考电压:2.5V,即Vref=2.5V。2.各个引脚名称及作用:Vin(+)、Vin(-):两个模拟信号输入端,可以接收单极性、双极性和差模输入信号。DB0-DB7:具有三态特性数

12、字信号输出端,输出结果为八位二进制结果。CLKIN:时钟信号输入端。CLKR:内部时钟发生器的外接电阻端,与CLK端配合可由芯片自身产生时钟脉冲,其频率计算方式是:fck=1/(1.1RC)。CS:片选信号输入端,低电平有效。WR:写信号输入端,低电平启动AD转换。RD:读信号输入端,低电平输出端有效。INTR:转换完毕中断提供端,AD转换结束后,低电平表示本次转换已完成。VREF/2:参考电平输入,决定量化单位。VCC:芯片电源5V输入。AGND:模拟电源地线。DGND:数字电源地线。ADC0804外围电路如图3-5所示:VCC20INTR5DB018DB117DB216DB315DB414

13、DB513DB612DB711CS1RD2WR3CLK IN4CLK OUT19REF/29IN+6IN-7AGND8DGND10R1510kR1210kR1410kR131kC1110412ADINRe210kVCCVCCCSDARDWRVCCDB1DB2DB3DB4DB5DB6DB7DB8ADC0804图3-5 ADC0804外围电路图3-5为ADC0804外围电路原理图,其中,VCC=5V,因此ADC转换的参考电压为VCC的值,即5V。IN-接地,而IN+通过插座ANIN连接滑动变阻器Re2的输出,因此IN+的电压输入范围为0V5V,正好处于参考电压范围内。引脚CS、WR和RD分别连接单

14、片机的12,17以及16脚,而DB0DB7连接单片机的P1脚。3.4键盘和液晶显示电路 液晶显示电路采用带中文字库的12864液晶显示器。带中文字库的128X64 是一种具有4 位/8 位并行、2 线或3 线串行多种接口方式,内部含有国标一级、二级简体 中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192 个16*16 点汉字,和128 个16*8 点ASCII 字符 集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4 行16×16 点 阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。

15、由该模块构成的液晶显示方案与同类型的图形点阵液晶 显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。12864 液晶具有如下的特性:1 提供 8 位,4 位并行接口及串行接口可选2 并行接口适配 M6800 时序3 自动电源启动复位功能4 内部自建振荡源64×16 位字符显示 RAM(DDRAM 最多 16 字符×4 行,LCD 显示范围 16×2 行)(改为半角输入)2M 位中文字型 ROM(CGROM) ,总共提供 8192 个中文字型(16×16 点阵)16K 位半宽字型 ROM(HCGROM),总

16、共提供 126 个西文字型(16×8 点阵)64×16 位字符产生 RAM(CGRAM)15×16 位总共 240 点的 ICON RAM(ICONRAM) 液晶显示电路如图3-6所示:图3-6 液晶显示电路键盘电路采用3个独立的按键,一个功能切换键、一个加按键、一个减按键通过这三个按键可以来合理的设置限制电流的数值。键盘电路与单片机的连接电路图如图3-7所示: S1S2S3SDASCL18B20图3-7 键盘电路与单片机的连接电路图3.5声光报警电路声光报警电路,采用三极管驱动音频放大器实现音频报警,当采样电流值大于电流设定值时,单片机P2.3引脚即FM端口产生

17、100HZ的方波信号,控制Q1的通断,实现蜂鸣器报警;单片机P3.0端口变成高电平,则发光二极管点亮,实现报警功能。此装置具有以下优点:1、 在远距离是可以通过声音及时通知2、 在近距离可以通过视听觉做出反应3、 在嘈杂的环境中可以通过视觉通知4、 两种器件配合更加安全可靠电路图如图3-8所示:图3-8声光报警电路四、系统软件设计软件设计包括主程序,中断服务程序等其它子程序4.1主程序设计主程序是系统上电或复位后首先要执行的程序,主程序主要完成系统的初始化、扫描显示、扫描键盘,A/D转换等工作。主程序上电自动复位,也可手动复位;主程序执行时,分别进行键盘扫描,A/D转换,以及液晶显示。主程序流

18、程图如图4-1所示:图4-1 主程序流程图当系统上电或者手动复位时,首先进行系统初始化,设置堆栈地址,定时器0工作方式,中断触发方式以及其它系统初始化。然后启动定时器和A/D转换。然后进行不停的扫描键盘和显示。4.2中断服务程序设计外部中断服务程序流程图如图4-2所示:图4-2 外部中断服务程序流程图当A/D转换结束时,ADC0804模数转换器INTR引脚输出一个低电平信号,使AT89C51产生外部中断,进入外部中断服务程序。首先保护现场,然后读取AD值,进行数据的转换然后存储,并与设定的电流值进行大小比较,如果超过设定值,则继电器断开,用电器回路断开,并置1报警标志位。恢复现场,中断返回。

19、定时器0中断服务程序流程图如图4-3所示:图4-3 定时器0中断服务程序流程图定时器设置为10ms定时,每10ms中断一次,进入中断之后,首先保护现场,重装初值,判断是否处在报警状态,如果是,取反P2.4口,驱动扬声器进行声音报警。如果没有处于报警状态在判断是否到1S,到1S,则重置1S计数初值,启动A/D转换然后恢复现场,中断返回,如果不到1S,则直接恢复现场,中断返回。4.3部分主要子程序设计系统主要子程序主要包括键盘子程序、键盘扫描子程序,显示子程序。(1)键盘子程序设计键盘子程序设计,采用三个独立按键来设置限制电流值的大小,第一次按下键1,启动限制电流大小的设置,最大限制电流处的液晶光

20、标闪烁,按第二下键1液晶光标不再闪烁,表示调节结束。按键2,则实现限制电流的增加,最大限制电流20A;按键3,则实现限制电流的减小,最小限制电流为0A。(2)键盘扫描子程序设计流程图如图4-4所示: 图4-4 键盘扫描子程序设计流程图(3)显示子程序设计系统上电后,即开始在默认的最大限制参考电流的第一行设置限制电流,第二行为系统测量电流即:CIV:20ACTV:00A(CIV:current limit value 限制电流值。 CTV:current test value测试电流值)显示子程序设计流程图如图4-5所示:图4-5 显示子程序设计流程图五、系统调试由于硬件的限制,我们不能对互感器

21、电流采样部分电路的测试,但是通过直接给ADC0804一个模拟信号进行了以下测试。1、上电开始默认显示正常。2、按键S1功能切换键、按键S2数值增键、按键S1数值减键正常。3、上下限最值测试正常。4、A/D转换结果测试正常。5、声光报警装置测试正常。六、总结通过本次的单片机课程设计,使我更好的掌握了单片机的使用,更好地理解了单片机内部的数据存储,中断和定时器的应用,单片机外部电路的接口技术,数据总线的运用,也更深入的了解了汇编语言,熟悉了汇编指令的功能以及程序的编写。让我知道想设计好一个完整稳定的系统,需要考虑很多的细节,并不是那么容易,对我以后进入工作起到很大的帮助。参考文献:1 张迎新单片微

22、型计算机原理、应用及接口技术(第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;1S计数值 CLR 20H;报警状态标志位 CLR

23、 21H;设置数据标志位 CLR P2.3;音频报警 CLR P2.4;继电器 CLR P3.0;LED MOV TH0,#0F6H;定时器0装初值 MOV TL0,#3CH SETB IT0;外部中断触发方式设置 MOV IE,#83H;开总中断,外部中断0,定时器中断0 SETB TR0;启动定时器 MOV A,#0 MOV DPTR,#8000H;片选ADC0804 MOVX DPTR,A;启动ADLOOP: LCALL DISPLAY;调用显示 LCALL KEY;扫描键盘 LJMP LOOPKEY: PUSH ACC;保护现场 PUSH PSW PUSH DPH PUSH DPL L

24、CALL KEY_VALUE JB 21H,KEY0_0;判断是否处于设置数据状态KEY0: CJNE A,#01H,RETURN;判断键值 LCALL DISPLAY;调用显示延时,消抖 CJNE A,#01H,RETURN 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;设置完成,清除标志位

25、LJMP RETURN;返回KEY1: CJNE A,#02H,KEY2;判断键值 LCALL DISPLAY;调用显示延时,消抖 CJNE A,#02H,KEY2 LCALL KEY_VALUE JNZ 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 70

26、H;设置数据缓冲区加1 CJNE R1,#0,RETURN;判断是否到最小值0 MOV 70H,#20;是,变为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;读键值 RET DISPLAY: RS EQU P3.5 R/W EQU P3.6 E EQU P3.4 PSB EQU P3.7 DO-D7 EQU P

27、0 ORG 0000H AJMP MAIN ORG 0100H;以下是主程序,进行初始化MAIN:MOV SP,#60H MOV A,#00111000B ;功能设置指令,8位接口,显示两行,5*7字符 LCALL WriteIR ;调写指令寄存器子程序MOV A,#00001110B ;显示开关控制指令,显示器开,光标开,光标不闪烁 LCALL WriteIRMOV A,#00000110B ;输入方式设置指令,字符不动,光标自动右移一格LCALL WriteIRMOV A,#00000001B ;清屏指令,将DDRAM数据全部填入“空白”LCALL WriteIRMOV A,#100000

28、00B ;DDRAM地址设置指令,写入显示地址为第1行第1位ACALL WriteIR MOV DPTR, #TAB1 ;指向TAB1表首 ACALL STRING ;调字符串处理子程序MOV A,#11000000B ;DDRAM地址设置指令,写入显示地址为第2行第1位ACALL WriteIR MOV DPTR, #TAB2 ;指向TAB2表首 ACALL STRING ;调字符串处理子程序 SJMP $ ;检查忙碌子程序CheckBusy:PUSH ACC LOOP:CLR RS ;选择指令寄存器SETB RW ;选择读模式MOV D0-D7,#0FFH ;P0口写1,准备写入SETB

29、E ;使能LCDMOV A D0-D7 ;将LCD的D0D7由P0口送A,以便查第7位BF是否为0CLR E ;禁止LCDJB ACC.7,LOOP ;判断由LCD读入第7位BF是否为1,若为1表示LCD忙ACALL DELAY ;调延时子程序POP ACCRET;写入IR寄存器子程序WriteIR:PUSH ACCACALL CheckBusy ;调检查忙碌子程序CLR E ;禁止LCDCLR RS ;选择指令寄存器CLR RW ;选择写模式STEB E ;使能LCDMOV D0-D7,A ;将控制指令写入LCDSETB E ;使能LCDCLR E ; 禁止LCDPOP ACCRET;写入DR寄存器子程序WriteIR:PUSH ACCACALL CheckBusy ;调检查忙碌子程序CLR E ;禁止LCDSETB RS ;选择数据寄存器CLR RW ;选择写模式STEB E ;使能LCDMOV D0-D7,A ;将控制指令写入LCDSETB E ;使能LCDCLR E ; 禁止LCDPOP ACCRET;以下是字符串处理子程序STRING:PUSH ACCLOOP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论