




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
鲁东大学暑期单片机课程设计 单片机原理及应用课程设计 (Project: Principle and Application of Microcontroller) 设计题目:电子密码开关设计姓名李 伟院系电子与电气工程学院专业电气工程及其自动化年级2007级电气3班学号指导教师 常新华 2010年7月25日目 录1. 引言12. 设计要求13.系统硬件设计13.1 STC89C52RC单片机简介13.2 MAX232 简介53.3 硬件原理设计图:64. 软件设计74.1 程序流程图:84.2调试、实验方法及结果85. 设计总结86. 附 录 9参考文献13致谢13电子密码开关设计李伟(电子与电气工程学院 电气工程及其自动化 2007级电气3班 )摘 要:此设计基于STC89C52RC单片机实现密码锁功能,具体分析了硬件和软件的设计方法。该密码锁动作可靠,灵活性高、容易实现等优点,具有很好的市场推广价值。通过软件编程的方法实现了正确输入密码并以蜂鸣器发出响声作为密码输入正确的要求。密码输入正确时蜂鸣器响同时LED灯循环点亮。该密码器设有四个按键:KEY1,KEY2,KEY3和KEY4,使之具备了密码的特性。再利用数码管显示所输入的密码,进一步实现了密码器的基本功能。关键词:STC89C52RC;蜂鸣器;LED灯;数码管1 引言 目前,单片机技术在各个领域中正得到越来越广泛的应用,STC89C52RC单片机具有体积小、集成度高、可靠性高、功耗低、结构简单等特点。现在许多现代先进设备,如保险箱、个人电脑、手机等需要对设备进行密码保护场合,都普遍的使用密码器。基于STC89C52RC单片机的密码器起因其具有操作灵活,精度高易于控制,设计简单等优点而成为优选的对象。STC89C52RC单片机在许多场合得到了广泛应用,解决了密码器造价昂贵的问题。2 设计要求 利用STC89C52RC单片机、LED灯、键盘和蜂鸣器组成一个结构相对简单的密码器。要求密码器有下述功能:u 1.上电时数码管显示四个0,同时蜂鸣器响一次,提示此时可以输入密码。u 2.每按下一个键蜂鸣器响一次(提示按键已按下),并在数码管上显示出相应的键值。u 3.当按下四个键值时判断输入的值和密码是否相等,若相等则蜂鸣器响三次,LED灯循环点亮,以此提示密码输入正确,否则蜂鸣器和LED灯不动作,以此说明密码输入错误。u 4.当错误密码输入大于三次时数码管全显示零,再输入密码将不再显示,密码器自锁。3 系统硬件设计3.1 STC89C52RC单片机简介STC89C52RC是STC89系列单片机中应用较为广泛的一种型号,芯片内部有8KB的闪速存储器Flash ROM。内部的8KB存储器用于存放可编程控制器监控程序。STC89C52RC单片机的40条引脚按功能来分,可以分为3部分,电源及时钟引脚、控制引脚和输入/输出引脚。 STC89C52RC单片机原理图89C52单片机引脚功能: 主电源及时钟引脚 此类引脚包括电源引脚Vcc、Vss、时钟引脚XTAL1、XTAL2。(1)Vcc(40脚):接+5V电源,为单片机芯片提供电能。(2)Vss(20脚)接地。(3)XTAL1(18脚)在单片机内部,它是一个反向放大器的输入端,该放大 器构成了片内的振荡器,可提供单片机的时钟控制信号。(4)XTAL2(19脚)在单片机内部,接至上述振荡器的反向输出端。 控制引脚此类引脚包括RESET(即RSR/VPD)、ALE、PSEN、EA,可以提供控制信号,有些具有复用功能。(1)RSR/ VPD(9脚):复位信号输入端,高电平有效,当振荡器运行时,在此引脚加上两个机器周期的高电平将使单片机复位(REST)。复位后应使此引脚电平保持为不高于0.5V的低电平,以保证单片机正常工作。掉电期间,此引脚可接上备用电源(VPD),以保持内部RAM中的数据不丢失。当Vcc下降到低于规定值,而VPD在其规定的电压范围内(50.5V)时,VPD就向内部RAM提供备用电源。(2)ALE/PROG(30脚):ALE为地址锁存允许信号。当单片机访问外部存储器时,ALE(地址锁存允许)输出脉冲的下降沿用于锁存16位地址的低8位。即使不访问外部存储器,ALE端仍有周期性正脉冲输出,其频率为振荡器频率的1/6。但是每当访问外部数据存储器时,在两个机器周期中ALE只出现一次,即丢失一个ALE脉冲。ALE端可以驱动8个LSTTL负载。(3)PSEN(29脚):程序存储器允许输出控制端。此输出为单片内访问外部程序存储器的读选通信号。在从外部程序存储器取指令(或取常数)期间,每个机器周期均PSEN两次有效。但在此期间,每当访问外部数据存储器时,这两次有效的PSEN信号将不会出现。PSEN同样可以驱动8个LSTTL负载。(4)EA(31脚):EA功能为内外程序存储器选择控制端。当EA端保持高电平时,单片机访问内部程序存储器,但在PC(程序计数器)值超过0FFFH时将自动转向执行外部程序存储器内的程序。 输入/输出引脚此类引脚包括P0口、P1口、P2口和P3口。(1)P0(P0.0P0.7)是一个8位三态双向I/O口,在不访积压处部存储器时,做通用I/O口使用,用于传送CPU的输入/输出数据,当访问外部存储器时,此口为地址总路线低8位及数据总路线分时复用口,可带8个LSTTL负载。(2)P1(P1.0P2.7)是一个8位准双向I/O口(作为输入时,口锁存器置1),带有内部上拉电阻,可带4个LSTTL负载。(3)P2(P2.0P2.7)是一个8位准双向I/O口,与地址总路线高8位复用,可驱动4个LSTTL负载。(4)P3(P3.0P3.7)是一个8位准双向I/O口,除此之外每位还具有第二功能。P3口功能表:P3口各个位的第二功能P3口的位第二功能说明P3.0RXD串行数据接收口P3.1TXD串行数据发射口P3.2INT0外部中断0输入P3.3INT1外部中断1输入P3.4T0计数器0计数输入P3.5T1计数器1计数输入P3.6WR外部RAM写信号P3.7RD外部RAM读信号89C52单片机内部结构图: 3.2 MAX232 简介 MAX232原理图MAX232 原理及DB9 引脚定义MAX232 芯片是专门为电脑的RS-232 标准串口设计的接口电路,使用+5v 单电源供电。内部结构基本可分三个部分:第一部分是电荷泵电路。由1、2、3、4、5、6 脚和4 只电容构成。功能是产生+12v 和-12v 两个电源,提供给RS-232 串口电平的需要。第二部分是数据转换通道。由7、8、9、10、11、12、13、14 脚构成两个数据通道。其中13 脚(R1IN)、12 脚(R1OUT)、11 脚(T1IN)、14 脚(T1OUT)为第一数据通道。8 脚(R2IN)、9 脚(R2OUT)、10 脚(T2IN)、7 脚(T2OUT)为第二数据通道。TTL/CMOS 数据从T1IN、T2IN 输入转换成RS-232 数据从T1OUT、T2OUT 送到电脑DP9 插头;DP9 插头的RS-232 数据从R1IN、R2IN 输入转换成TTL/CMOS 数据后从R1OUT、R2OUT 输出。第三部分是供电。15 脚DNG、16 脚VCC(+5v)。RS232 (DB9)引脚定义1 :DCD :载波检测。主要用于Modem 通知计算机其处于在线状态,即Modem 检测到拨号音,处于在线状态。2 :RXD:此引脚用于接收外部设备送来的数据;在你使用Modem 时,你会发现RXD 指示灯在闪烁,说明RXD 引脚上有数据进入。3 :TXD:此引脚将计算机的数据发送给外部设备;在你使用Modem 时,你会发现TXD 指示灯在闪烁,说明计算机正在通过TXD 引脚发送数据。4 :DTR:数据终端就绪;当此引脚高电平时,通知Modem 可以进行数据传输,计算机已经准备好。5 :GND:信号地;此位不做过多解释。6 :DSR:数据设备就绪;此引脚高电平时,通知计算机Modem 已经准备好,可以进行数据通讯了。7 :RTS:请求发送;此脚由计算机来控制,用以通知Modem 马上传送数据至计算机;否则,Modem 将收到的数据暂时放入缓冲区中。8 :CTS: 清除发送;此脚由Modem 控制,用以通知计算机将欲传的数据送至Modem。9 :RI : Modem 通知计算机有呼叫进来,是否接听呼叫由计算机决定R4 R5 一般取20K3.3 硬件原理设计图:4 软件设计4.1 程序流程图:NYY开 始初 始 化按键是否按下?显示按键所代表的数;panduan=panduan+10(4-n)按键次数n4?err3?Yerr=err+1;n=0N比较pangduan和code_data是否相等?蜂鸣器连响三声,流水灯循环点亮,提示密码正确。数码管全部显示0,无法再输入密码。结 束YNN4.2调试、实验方法及结果 1)打开设计软件Keil uVision3,新建project,选择CPU类型,并保存,然后新建一个file并保存为扩展名为c的文件。 2)右击Target1 option for Targettarget1,然后设置output(选中Create HEX)。 3)编写源程序,编写完之后进行编译,修改错误直至正确。 4)打开程序下载软件,连接好串口和电源,按正确的步骤将HEX文件下载到所焊接的单片机里面,并上电。观察实现的结果和原本设计的是否一样,倘若不理想,则进一步调试程序,知道出现原本设计的结果。5 设计总结在课程设计中我懂得了自己专业的重要性,自己在某些方面还是很欠缺的。在老师和同学的帮助下最终成功的完成了本次设计。过程有点曲折,但总是能峰回路转,整个设计过程还是挺快乐的。在课程设计中我学到了很多专业知识,对原先学的理论知识有了更深的理解。真正的做到了学有所用,终于体会到了专业的乐趣。此次课程设计收获颇丰,有专业知识的收获,也有非专业知识的收获。程序设计调试过程中,同学之间互帮互助,合作的很愉快,使得本次课程设计进行的更加顺利,避免了走弯路,节约了世间。此次课程设计让我真正的明白了“理论指导实践,实践是检验真理的唯一标准”这一道理。6 附 录 程序清单:#include sbit beep=P17;#define SEG P0sbit com0=P34;sbit com1=P35;sbit com2=P36;sbit com3=P37;sbit key1=P30;sbit key2=P31;sbit key4=P16;sbit key3=P15;unsigned char key_buf=0;unsigned char led_buf;unsigned int code code_data=1234;unsigned int code_in=0;unsigned int panduan=0;bit ledshow=0;unsigned char err=0;unsigned char errflag=1;#define uint unsigned intvoid delay(unsigned int a) while(a-);void liushuideng(void) static unsigned int jishu=0; static unsigned char i=0xfe; jishu+; if(jishu=100) jishu=0; P2=i;i=1;i|=0x01; if(i=0xff) i=0xfe; void speak(unsigned char a) unsigned char i;for(i=0;ia;i+) beep=0; delay(50000); beep=1; delay(50000);unsigned char scan_key(void) unsigned char key=0; if(key1&key2&key3&key4)=0) delay(30000); if(key1&key2&key3&key4)=0) if(key1=0) key=1;else if(key2=0) key=2;else if(key3=0) key=3;else if(key4=0) key=4; return key; return 0;unsigned char leddata= 0xC0, /0 0xF9, /1 0xA4, /2 0xB0, /3 0x99, /4 0x92, /5 0x82, /6 0xF8, /7 0x80, /8 0x90 /9 ;void display(unsigned int DATA) static unsigned char i=0; switch(i) case0:com3=1;SEG=leddataDATA%10;com0=0;break;case 1:com0=1; SEG=leddata(DATA/10)%10; com1=0;break;case 2:com1=1; SEG=leddata(DATA/100)%10; com2=0;break;case 3:com2=1; SEG=leddata(DATA/1000)%10; com3=0;break; i+; if(i=4) i=0;void Timer0_init(void) TMOD|=0X01;TH0=0Xf8;TL0=0Xcd;ET0=1;EA=1;TR0=1;void main(void) Timer0_init(); speak(1); while(1) key_buf=scan_key(); if(key_buf!=0) static unsigned char i=1; switch(i) case 1:code_in=(key_buf*1000); break; case 2:code_in+=(key_buf*100); break; case 3:code_in+=(key_buf*10); break; case 4:code_in+=key_buf; bre
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030中国电池基纸原纸行业深度研究及发展前景投资评估分析
- 2025至2030中国电动食品脱水机行业产业运行态势及投资规划深度研究报告
- 2025至2030中国瑞格列奈行业市场占有率及投资前景评估规划报告
- 2025至2030中国玻璃环氧层压板行业产业运行态势及投资规划深度研究报告
- 2025年安宁疗护上半年考核试卷(附答案)
- 物业客服前台培训课件
- 供水安全培训课件
- 教育心理学在提升学生自我认知能力中的应用
- 医疗保健基金的投资策略及风险控制要点
- 智慧港口安全监管先进技术应用
- 现代教育技术投稿格式
- 足球《踢墙式二过一》课件
- 高中信息技术面试试讲真题汇总
- 《论语》中的人生智慧与自我管理学习通超星课后章节答案期末考试题库2023年
- 《三伏贴》ppt课件(图文)
- 电梯司机安全技术交底
- 2022-2023学年黑龙江省宁安市六年级数学第二学期期末达标测试试题含解析
- 人教版物理八年级上册学案及答案(全册)
- 神经外科临床药物试验
- ISO27001:2022信息安全管理手册+全套程序文件+表单
- 杭州市学军中学2023年自主招生综合素质测试试卷
评论
0/150
提交评论