基于C51的密码锁和电子时钟_第1页
基于C51的密码锁和电子时钟_第2页
基于C51的密码锁和电子时钟_第3页
基于C51的密码锁和电子时钟_第4页
基于C51的密码锁和电子时钟_第5页
已阅读5页,还剩20页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

宁波理工学院专业综合课程设计报告题目专业综合课程设计姓名专业班级自动化091指导教师分院信息与工程学院完成日期2012年6月29日1目录1课程设计目的和要求22硬件原理图23课程设计报告内容(软件部分)431电子密码锁程序4321子程序4312程序流程图7313源程序832电子时钟程序13321子程序13322程序流程图17323源程序184自我总结235总结246参考文献242专业综合课程设计报告1课程设计目的和要求单片机是现代控制领域中不可缺少的核心部件,是掌握电子应用技术和自动控制技术的必要一课。课程设计是提高同学们深入理解课堂内容的重要环节。本课程设计的任务是巩固和加深学生对单片机原理和知识的理解,目的在于培养学生分析问题和解决问题的能力以及实践动手能力。要求每位学生编写电子时钟程序和电子密码锁程序,并在实验板上或仿真图上调试通过。要求如下基于C51的电子密码锁设计使用LED来显示密码和输入的相关信息(输入密码时显示“”);可以设置6个数字作为密码;可以更改密码;密码错误时显示“ERROR”。错误3次,自锁,显示全为8;系统的原始密码为123456;密码输入正确,绿色发光二极管亮2S密码输入错误时,红色发光二极管亮2S输入错误能退格;能复位。基于C51的电子时钟设计使用LED来显示时间和输入的相关信息;更改时分秒;设置闹钟,设置时分;闹钟到,红灯亮2S,喇叭(蜂鸣器)响2S。2硬件原理图硬件图3基于C51密码锁的PROTUES仿真图注意密码锁的仿真我用的是硬件仿真,所以软件仿真和硬件仿真显示的时候不一样。需要修改P2_TAB数组中的参数即可,具体如何设置,根据实际情况考虑。基于C51的电子时钟PROTUES仿真图4注意电子时钟中的报警喇叭若是声响过小,则可加入一个三极管(图中未加入三极管),放大其电流,从而使声音变大。3课程设计报告内容(软件部分)31电子密码锁程序311子程序1定义键盘及键值功能INTI0,N0,K1,M0,X0,Z0,V0WHILE1IFZINCLUDEDEFINEUCHARUNSIGNEDCHARDEFINEUINTUNSIGNEDINTVOIDDELAYUINTK/延时子程序VOIDTIME_PRO/时间处理子程序VOIDDISPLAY/显示子程序VOIDKEYSCAN/键盘扫描子程序19UCHARCODEDISPCODE0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F,0X40/012345678910INTP2_TAB0XFE,0XFD,0XFB,0XF7,0XEF,0XDF,0XBF,0X7F/01234567UCHARSECONDE0/秒UCHARMINITE0/分UCHARHOUR0/时UCHARMSTCNT0/定时器计数,定时50MS,MSTCNT满20,秒加1UNSIGNEDCHARNUM103,0,9,0,4,3,3,0,1,1UCHARSHI0/闹铃功能UCHARFEN0SBITP1_0P10/SECOND调整定义SBITP1_1P11/MINITE调整定义SBITP1_2P12/HOUR调整定义SBITP1_3P13/闹铃功能,调整时间SBITP1_4P14/调整时SBITP1_5P15/调整分SBITP1_6P16/喇叭VOIDDELAYUINTK/定义函数UCHARJWHILEK0FORJ0J125JVOIDTIME_PROVOIDIFSECONDE60SECONDE0MINITEIFMINITE60MINITE0HOURIFHOUR24HOUR020VOIDTIMER0VOIDINTERRUPT1/定时器0方式1,50MS中断一次TH00X3C/手动加载计数脉冲次数TL00XB0TMOD0X11MSTCNT/用于计算时间,每隔50MS加1IFMSTCNT20/MSTCNT满20即为一秒SECONDE/秒1TIME_PRO/时间处理MSTCNT0/对计数单元的清零,重新开始计数VOIDDISPLAYVOIDIFP1_31P2P2_TAB7P0DISPCODESECONDE10/秒个位DELAY1P2P2_TAB6P0DISPCODESECONDE/10/秒十位DELAY1P2P2_TAB5P0DISPCODE10/间隔符DELAY1P2P2_TAB4P0DISPCODEMINITE10/分个位DELAY1P2P2_TAB3P0DISPCODEMINITE/10/分十位DELAY1P2P2_TAB2P0DISPCODE10/间隔符DELAY1P2P2_TAB1P0DISPCODEHOUR10/时个位DELAY121P2P2_TAB0P0DISPCODEHOUR/10/时十位DELAY1VOIDKEYSCANVOIDIFP1_00/秒位的调整DELAY100IFP1_00SECONDEIFSECONDE60SECONDE0DELAY250IFP1_10/分位的调整DELAY100IFP1_10MINITEIFMINITE60MINITE0DELAY250IFP1_20/时位的调整DELAY100IFP1_20HOURIFHOUR24HOUR022DELAY250VOIDDINGSHIVOIDIFP1_30/按住P1_3不松,示闹铃设置界面,分别按P1_4、P1_5设置闹铃时间。P0DISPCODE0/秒个位P2P2_TAB7DELAY1P2P2_TAB6P0DISPCODE0/秒十位DELAY1P2P2_TAB5P0DISPCODE10/间隔符DELAY1P2P2_TAB4P0DISPCODEFEN10/分个位DELAY1P2P2_TAB3P0DISPCODEFEN/10/分十位DELAY1P2P2_TAB2P0DISPCODE10/间隔符DELAY1P2P2_TAB1P0DISPCODESHI10/时个位DELAY1P2P2_TAB0P0DISPCODESHI/10/时十位DELAY1IFP1_40/设定时DELAY100IFP1_40SHIIFSHI24SHI023DELAY250IFP1_50/设定分DELAY100IFP1_50FENIFFEN60FEN0DELAY250IFHOURSHIDELAY2000P1_61VOIDMAINVOIDP10XFFTMOD0X11/TIME0为定时器,方式1TH00X3C/预置计数初值,50MSTL00XB0EA1/总中断开ET01/允许定时器0中断TR01/开启定时器0WHILE1KEYSCAN/按键扫描DINGSHI/定时闹钟DISPLAY/显示时间4自我总结本次短学期,我们主要接触的是单片机中C语言的编译以及仿真。说实话,刚24开始做这个我一点思绪都没有,虽然在大三上半学期刚学完单片机的汇编,但是C和汇编毕竟不一样。而我们的C语言编程课却是在大一学习的。所以知识很多都义进遗忘,靠着这次机会,我基本拾起了C语言的基础知识。在网上查找部分资料和老师的帮助下,我先从简单的排序开始入手,慢慢的进入状态,开始密码锁和电子时钟的编程。老师和同学的帮助给了我巨大的启发,很多遗忘或者就没熟知的C语言知识在编程的过程中融汇进自己的脑海,收获真的很大。我基础不是很好,但是我完成了本次的短学期训练,这里非常感谢那些帮助过我的同学,还有指导我们的两位老师。5总结本报告具体阐述了两个基于单片机C51的简单编程运用,密码锁和电子时钟。并运用C语言的强大功能,将单片机中巧妙的组成

温馨提示

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

评论

0/150

提交评论