欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    计算机控制系统课程设计.docx

    • 资源ID:5567683       资源大小:210.67KB        全文页数:26页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机控制系统课程设计.docx

    1、计算机控制系统课程设计基于单片机实现的电子密码锁一:电子密码锁的特点 电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁,主要特点如下: 1.保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。2.密码可变。 用户可以经常更改密码,防止密码被盗,同时也可。3.以避免因人员的更替而使锁的密级下降。 4.误码输入保护。当输入密码多次错误时,报警系统自动启动,防止试探密码。二.设计目标

    2、 本次设计使用ATMEL公司的AT89C51实现一基于单片机的电子密码锁的设计,其主要具有如下功能: 1.设置6位密码,密码通过键盘输入,若密码正确,则将锁打开。 2.密码可以由用户自己修改设定(只支持6位密码),锁打开后才能修改密码。修改密 3.码之前必须再次输入旧密码,在输入新密码。 4.报警、锁定键盘功能。密码输入错误数码显示器会出现错误提示,若密码输入错误次数超过3次,蜂鸣器报警并且锁定键盘。三.设计的具体体现1.系统概述 电子密码锁的设计主要由三部分组成:44矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。另外系统还有LED提示灯,报警蜂鸣器等。 密码锁设计的关键问题 1.密码

    3、输入功能:按下一个数字键,一个“”就显示在最右边的数码管上,同时将先前输入的所有“”向左移动一位。 2.密码清除功能:当按下清除键时,清除前面输入的最后一位值,并清对应显示。 3.密码更改功能:将输入的值作为新的密码。 4.开锁功能:当按下开锁键,系统将输入与密码进行检查核对,如果正确锁打开,否则不打开。系统结构 图一 系统组成如图二所示系统主要由AT89C51(51系列)、六位位数码管、蜂鸣器、LED、44矩阵键盘、复位电路等组成。系统可行性分析系统工作原理分析:使用AT59C51单片机、44矩阵键盘、LED、蜂鸣器等。矩阵键盘分别为0、1、2、3、4、5、6、7、8、9、BACK、ENTE

    4、R、SZ、CLOSE、TCSZ。输入密码时,LED显示电路显示为“”,当密码输入完毕按下ENTER键时,对输入密码与设定的密码进行比较,若密码正确则LED显示电路显示为“开锁指示灯亮”提示锁打开;若密码不正确,LED显示电路显示提示“密码错误指示灯亮”,若连续3次输入不正确,则发出警报声同时锁定键盘。在输入正确密码后,按下修改键时,输入旧密码,此时输入正确的旧密码,则显示“”电路会有提示输入新密码在输入新密码后,输入新密码后按“ENTER”在修改密码的过程中,如果一开始输入的旧密码错误显示电路会显示提示。 系统中CEL键用于退格,在输入密码时,若输入错误且未按下Enter键,按下CLE可以删除

    5、刚输入的密码,然后再次输入。为了防止恶意尝试,系统才用若连续输入3次错误密码则发出报警声,且锁定键盘,可以提高系统的安全系数,同时也能够保护合法用户的正常使用。2.单元电路设计、仿真与分析(1)AT89C51 主要特性 8031 CPU与MCS-51 兼容 4K字节可编程FLASH存储器(寿命:1000写/擦循环) 全静态工作:0Hz-24KHz 三级程序存储器保密锁定 128*8位内部RAM 32条可编程I/O线 两个16位定时器/计数器 6个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 管脚说明VCC:供电电压。GND:接地。 图二 P0口:P0口为一个8位漏级开路

    6、双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个

    7、TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电

    8、流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示:管脚 备选功能:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

    9、在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA

    10、保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入XTAL2:来自反向振荡器的输出。(2)44矩阵键盘图三如图所示,本系统采用44矩阵键盘,16个按键分为输入数字键:0、1、2、3、4、5、6、7、8、9;功能键BACK、ENTER、SZ、CLOSE、TCSZ。矩阵键盘。(3)复位电路 图四单片机的复位电路非常重要,一般单片机刚开始工作时需要复

    11、位以完成内部的初始化,而当程序出错误,程序跑飞,死机等非正常状态时,更需要使单片机重新工作。时钟电路工作后,在REST管脚上加两个机器周期的高电平,芯片内部开始进行初始复位如图四。该复位电路还兼有手动复位,在通电的瞬间,在RC微分过程中,RST端出现正脉冲,从而使单片机复位。C3和R6的值随时钟频率的变化而变化,当采用6MHz时钟频率时,C3=22uF,R6=2K(一般常取C3=10uF,R6=10K)当采用12MHz时钟频率时,一般常取C3=0.47uF,R6=1K.(4)振荡电路 图五时钟电路用于产生单片机工作所需的时钟信号,而时序是指令执行中各个信号的相互关系。单片机本身就如一个复杂的同

    12、步时钟电路,为了保证单片机同步工作的实现,电路应在唯一的时钟信号控制下严格的按时序进行工作。所以时钟电路的质量会直接形象单片机的工作稳定性和可靠性。本设计晶振选择频率为12MHZ,电容选择30pF如图(34)。经计算得单片机工作胡机器周期为:12(112M)=1us。(5)数码管 图六本设计采用两个4位8段共阴极数码管。由于由单片机直接驱动的直流电流不够,数码管亮度显得不足,所以加上74LS373用以放大电流。(6)发光二极管LED 图七由于LED使用P3口驱动 3.元器件列表元器件规格/型号数量四位八段共阴数码管3461AFR1-B102电阻4.7k8电阻5108电阻1k2电解电容0.47u

    13、F/50V1瓷片电容30pF2单片机AT89C511驱动芯片74LS3731三.系统软件设计1.主程序流程图 N Y N Y 图八2.键功能程序流程图如图 Y N Y N Y N Y N 图九3.存储单元分配30H-35H 显示缓冲区 41H-45H 输入暂存区50H-55H 原始密码存储单元36H 临时单元,存储位码内容37H、39H 在按键子程序中用于内外循环计数 38H 按键子程序存放查表后得到的编码3AH 临时单元,存放逐行开的编码 3BH 密码错误次数计数器40H 在按键子程序中存放键盘的值 R0 在显示子程序中作显示缓冲区的指针R2 数字键输入次数计数器 R4 在中断中作计数器R5

    14、、R6 延时子程序循环计数器R7 显示子程序六个数码管逐个显示计数器 20H.0=1 密码正确标志位20H.1=1 设置键按下标志位 20H.2=1 当前输入的是新密码标志位20H.3=1 密码三次错误报警开启标志位源程序 ;主程序 ORG 0000H AJMP START ORG 000BH AJMP DIST ORG 0030HSTART: MOV TMOD, #01H MOV TH0, #3CH MOV TL0, #0B0H SETB EA SETB ET0 ACALL XSCSH ;显示缓冲区初始化显示6个横线 ACALL CSH MOV 3BH, #0 MOV 50H, #1 MOV

    15、 51H ,#2 MOV 52H, #3 MOV 53H, #4 MOV 54H, #5 MOV 55H,#6 ;原始密码设置为123456 LOOP: ACALL DISP ACALL AJ AJMP LOOP;显示子程序DISP: MOV R7, #6 MOV R0, #30H MOV DPTR, #TAB MOV 36H, #01HLOOP1: MOV A,R0 MOVC A, A+DPTR MOV P0, A MOV P2, 36H ACALL DELAY INC R0 MOV A, 36H RL A MOV 36H,A DJNZ R7,LOOP1 RET;按键判断子程序,4*4循环

    16、AJ: MOV P1, #0F0H MOV A, P1 CJNE A, #0F0H, D1 AJMP D16 D1: ACALL DISP MOV A, P1 CJNE A, #0F0H, D2 AJMP D16 D2: MOV 3AH, #0FEH MOV 40H, #0 MOV DPTR, #DAB MOV 39H, #4 D3: MOV 37H, #4 MOV P1, 3AH D4: MOV A, 40H MOVC A, A+DPTR MOV 38H, A MOV A, P1 CJNE A, 38H, D5 AJMP D14 D5: INC 40H DJNZ 37H, D4 MOV A,

    17、 3AH RL A MOV 3AH, A DJNZ 39H, D3 SJMP D16 D14: ACALL PD D15: ACALL DISP MOV P1, #0F0H MOV A,P1 CJNE A, #0F0H, D15 D16: RET;按键功能子程序 PD: MOV A, 40H CJNE A,#0,F1 ACALL DIN AJMP F16 F1: CJNE A, #1, F2 ACALL DIN AJMP F16 F2: CJNE A, #2, F3 ACALL DIN AJMP F16 F3: CJNE A, #3, F4 ACALL DIN AJMP F16 F4: CJN

    18、E A, #4, F5 ACALL DIN AJMP F16 F5: CJNE A, #5, F6 ACALL DIN AJMP F16 F6: CJNE A, #6, F7 ACALL DIN AJMP F16 F7: CJNE A, #7,F8 ACALL DIN AJMP F16 F8: CJNE A, #8, F9 ACALL DIN AJMP F16 F9: CJNE A, #9, F10 ACALL DIN AJMP F16 F10: CJNE A, #10, F11 ACALL BACK AJMP F16 F11: CJNE A, #11, F12 ACALL ENTER AJM

    19、P F16 F12: CJNE A, #12, F13 ACALL SZ AJMP F16 F13: CJNE A, #13, F14 ACALL CLOSE AJMP F16 F14: CJNE A, #14, F15 ACALL TSZ AJMP F16 F15: CJNE A,#15,F16 F16: RET;数字键输入子程序 DIN: JB 20H.3, F21 ;定时开始,按键不起作用 CJNE R2, #6, F20 ;已输入六个数,数字键无效 AJMP F21 F20: INC R2 ;输入数字个数+1 MOV 35H, 34H MOV 34H, 33H MOV 33H, 32H

    20、 MOV 32H, 31H MOV 31H, 30H MOV 30H, 40H F21: RET ;退格键子程序 BACK: JB 20H.3, L1 ;定时开始,按键不起作用 CJNE R2, #0, L0 ;有数字输入,按键起作用 AJMP L1 L0: DEC R2 MOV 30H, 31H MOV 31H, 32H MOV 32H, 33H MOV 33H, 34H MOV 34H, 35H MOV 35H, #17 L1: RET;确定键输入子程序 ENTER: JB 20H.3, L5 ;定时开始,按键不起作用 CJNE R2, #6, L5 ;数字输入不满6个,按键无效 MOV

    21、R2, #0 ;可以重新输入数字 MOV 41H, 30H ;输入数字存入输入暂存区 MOV 42H, 31H MOV 43H, 32H MOV 44H, 33H MOV 45H, 34H MOV 46H, 35H ACALL XSCSH JNB 20H.2,D6 ;判断当前是否为新密码输入 ACALL XMM AJMP L5 D6: MOV A, 41H ;输入暂存区与密码比较 CJNE A, 50H, L3 MOV A, 42H CJNE A,51H,L3 MOV A, 43H CJNE A, 52H, L3 MOV A, 44H CJNE A, 53H, L3 MOV A, 45H CJ

    22、NE A, 54H, L3 MOV A, 46H CJNE A, 55H, L3 MOV R2, #6 ;锁开状态,不允许输入数字 CLR P3.1 SETB P3.0 SETB P3.4 SETB 20H.0 ;密码正确标志位 JB 20H.1, L2 ;判断设置键是否按下 CLR 20H.2 AJMP L5 L2: SETB 20H.2 ;输入新密码状态标志位 MOV R2, #0 ;允许输入数字 AJMP L5 L3: INC 3BH ;密码错误次数+1 MOV A, 3BH CJNE A, #3, L4 ;判断密码输入错误几次 CLR P3.3 SETB TR0 ;密码输入错误3次,启

    23、动定时 SETB 20H.3 ;定时开始标志位 AJMP L5 L4: CLR P3.5 CLR P3.4 L5: RET;关门键子程序 CLOSE: JB 20H.3, L6 ;定时开始,按键不起作用 JNB 20H.0, L6 ;该按键只在开门状态有效 ACALL XSCSH ACALL CSH L6: RET;设置键输入子程序 SZ: JB 20H.3, L7 ;定时开始,按键不起作用 JNB 20H.0, L7 ;该按键只在开门状态有效 SETB 20H.1 ;设置键有效标志位 MOV R2, #0 ;按下设置键,允许数字输入 CLR P3.2 L7: RET;退出设置键子程序 TSZ

    24、: JB 20H.3, L8 ;定时开始,按键不起作用 JNB 20H.1, L8 ;该按键在设置状态有效 ACALL XSCSH SETB P3.2 SETB P3.3 SETB P3.4 CLR 20H.1 ;退出设置状态 MOV R2, #6 ;回到开门状态,不允许数字输入L8: RET;新密码输入子程序 XMM: MOV 50H, 41H MOV 51H, 42H MOV 52H, 43H MOV 53H, 44H MOV 54H, 45H MOV 55H, 46H ; CLR P3.1 SETB P3.0 SETB P3.2 CLR 20H.2 MOV R2, #6 ;开门状态,不允

    25、许数字输入 RET;显示缓冲区初始化子程序 XSCSH: MOV 30H, #17 MOV 31H, #17 MOV 32H, #17 MOV 33H, #17 MOV 34H, #17 MOV 35H, #17 RET;密码锁基本功能初始化 CSH: MOV R2, #0 MOV R4, #200 CLR 20H.0 CLR 20H.1 CLR 20H.2 CLR 20H.3 CLR P3.0 SETB P3.1 SETB P3.2 SETB P3.3 SETB P3.4 RET ;中断子程序 DIST: MOV TH0, #3CH MOV TL0, #0B0H ;初值重装 DJNZ R4,

    26、 L9 ACALL XSCSH ACALL CSH CLR TR0 ;关中断 L9: RETI;延时子程序,延时2ms DELAY: MOV R6, #5 D17: MOV R5, #200 D18: DJNZ R5, D18 DJNZ R6, D17 RET TAB: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH, DB 77H, 7CH, 39H, 5EH, 79H, 71H, 08H, 40H, 0BFH, 086H, DB 0DBH, 0CFH, 0E6H, 0EDH, 0FDH, 087H, 0FFH, 0EFH DAB: DB 0EEH, 0DEH, 0BEH, 7EH, 0EDH, 0DDH, 0BDH, 7DH, DB 0EBH, 0DBH, 0BBH, 7BH, 0E7H, 0D7H, 0B7H, 77H END四.心得体会及建议 对于本次课程设计基本上达到了课题的要求。因为在该电路中用到了AT89C51单片机,74LS373,数码管作为密码显示,LED作为状态指示灯,单片机的震荡电路和复位电路均为常用的电路模型。系统在这但是我们对每一个模块的分析还是分析的非常的透彻的。其中有44矩阵键盘接口电路、密码锁的控制


    注意事项

    本文(计算机控制系统课程设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开