




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、河北工程大学科信学院课程设计说明书(2012/2013学年第2学期)课程名称 : 单片机课程设计 题 目 :带3*3键盘3位数电子号码锁 专业班级 :科信自动化3班 学生姓名 :马景明 学 号: 100412332 指导教师 :韩昱 苗敬利 杨怡君 王巍 王静爽 设计周数 : 2周 设计成绩 : 2013年6月27号目录1、课程设计目的2、课程设计任务 2.1设计题目2.2原始数据及主要任务2.3技术要求3、课程设计内容3.1方案设计 3.1.1 STC90C52AD的功能参数介绍 3.1.2 综合电路设计3.2单元电路设计 3.2.1键盘单元 3.2.2数码管显示3.2.3时钟产生单元3.2
2、.4蜂鸣器电路单元3.3 系统原理图3.4系统调试3.5程序流程图3.6系统实施3.7 实习心得附录1、课程设计目的1.1用单片机课程及已学电子电路知识设计,包括电路图的设计和制板等。 1.2通过课程设计加深对单片机课程的相关知识的学习和理解。1.3初步学会一些设计思想和实践技能。提高学生综合素质。1.4让学生从设计过程中领悟到相互合作的重要性。2、课程设计任务 2.1设计题目:带3*3键盘3位数电子号码锁22原始数据及任务:设计并制作出一个以单片机为核心的电子锁系统:1、确定总体设计方案;2、设计键盘输入电路;3、设计显示电路;4、合理分配地址,编写系统程序;5、利用Protel设计硬件电路
3、原理图和PCB图;6、软硬件联机调试。2.3技术要求 电源打开后,显示器显示“000”,“111”为内定密码;输入号码,再按“确定”开门键。若号码正确,则门会打开(用蜂鸣器指示),否则显示器会清除为“000”;并且密码可修改。3、课程设计内容3.1方案设计3.1.1 STC90C52AD的功能参数介绍STC90C52AD是由宏晶公司生产的高性能八位单片机。如图一所示。该芯片采用FLASH存储技术,内部具有8KB字节快闪存存储器,采用DIP封装,是目前在中小系统中应用最为普及的单片机。 STC90C52AD可构成真正的单片机最小应用系统,缩小系统体积,增加系统的图一可靠性,降低系统的成本。只要程
4、序长度小于8K,四个I/O口全部提供给用户。可用5V电压编程,而且擦写时间仅需10毫秒,仅为8751/87C51的擦除时间的百分之一,与8751/87C51的12V电压擦写相比,相对不易损坏器件,没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。工作电压范围(2.7V6V),全静态工作,工作频率宽在0Hz24MHz之间,比8751/87C51等51系列的6MHz12MHz更具有灵活性,系统能快能慢。STC90C52AD芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。P0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读
5、/写操作。 STC90C52AD单片机为40引脚芯片如图一所示,在本设计中,主要用到P0口、P2口、P1.0口及P3.0、P3.1、P3.2口。P0口:P0口可作为通用I/O口,但须外接上拉电阻,所以在设计显示数码管我们避免了使用P0口这样大大简化了动态显示电路。P1口:P1口:8位、双向I/0口,内部含有上拉电阻。P1口可作普通I/O口。输出缓冲器可驱动四个TTL负载;用作输入时,先将引脚置1,由片内上拉电阻将其抬到高电平。P1口的引脚可由外部负载拉到低电平,通过上拉电阻提供电流。在FLASH并行编程和校验时,P1口可输入低字节地址。在串行编程和效验时,P1.5/MO-SI,P1.6/MIS
6、O和P1.7/SCK分别是串行数据输入、输出和移位脉冲引脚。P2口:P2口:具有内部上拉电阻的8位双向I/O口。P2口用做输出口时,可驱动4各TTL负载;用做输入口时,先将引脚置1,由内部上拉电阻将其提高到高电平。若负载为低电平,则通过内部上拉电阻向外部输出电流。在FLASH并行编程和校验时,P2口可输入高字节地址和某些控制信号。P3口:因本次课程设计中用不到P3口。因此不详细介绍。单片机使用宏晶公司支持串口下载程序(ISP)的单片机,为STC90C52AD课程设计配发的小电路板(ISP-MCU Basic circuit)电路原理图见下图。该板作为课程设计的核心电路板使用,板上有单片机及附属
7、电路,RS-232通信驱动电路,高低电平测试电路等。课程设计电路中需要的其他电路在此基础上扩展,通过插孔连接。课程设计配发的小电路板(ISP-MCU Basic circuit)电路原理图见下图。扩展电路在万用板上制作用四位数码管显示小时与分钟,中间那个点用来区分小时与分钟;每秒用一个LED闪烁一下;用了4个按键,一个是选择键,一个是加键,一个是减键, 一个是确认键。时间要精确,整点报时,声音间隔1秒,并且可以调整时间调整位闪烁提示。 扩展电路用到得器件:共十六个按键:十个数字键,一个是加键,一个是减键,一个是除键,一个乘键,一个等键,一个清零键;六个DPY7-SEG DP共阳极动态LED;六
8、个PNP三极管;十四个330欧姆和两个470欧的电阻;导线。每各引脚可吸收8各TTL的灌电流。作为输入时,首先应将引脚置1。P0也可用做访问外部程序存储器和数据存储器时的低8位地址/数据总线的复用线。在该模式下,P0口含有内部上拉电阻。在FLASH编程时,P0口接收代码字节数据;在编程效验时,P0口输出代码字节数据(需要外接上拉电阻)。器件标识符:标识符器件名称规格型号数量标识符器件名称规格型号数量U1单片机STC90C52AD1C11 C12瓷片电容22p 或30p2U2RS232驱动MAX2321C13-C17独石电容0.22uF(224)5J1-J4, CRYLsts Hsts接线插孔座
9、排母86针C1 C2电解电容1.0uF / 50V2C3 C4 C0电解电容10uF / 50V3CRY晶体谐振器6MHz1C5-C8电解电容47uF(22uF)4High,Low,PS发光二极管33JPS接线端子电源用1R1金属膜电阻2001RST按钮小(0.2×0.3)1R0金属膜电阻6.8K1JDBDB9插座DB9针形座1R2 R3 R4金属膜电阻3.3K3U1DIP插座DIP401R9金属膜电阻1M1U2DIP插座DIP1613.1.2综合电路设计本系统共有两部分构成,即硬件部分与软件部分。其中硬件部分由电源输入部分、键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、
10、报警部分、开锁部分组成,软件部分对应的由主程序、初始化程序、LCD显示程序、键盘扫描程序、启动程序、关闭程序、建功能程序、密码设置程序、EEPROM读写程序和延时程序等组成。其原理框图如下图AT90C52键盘输入复位电路密码存储电路晶振电路电源输入显示电路报警电路3.2单元电路设计3.2.1键盘单元 键盘设计如下图所示 其中12个键的功能分配如下S1:1 S4:2 S7:3S2:4 S5:5 S8:6S3:7 S6:8 S9:9S10:0 S11:确认 S13:重置采用扫描控制端口P1的值来确定有没有键按下,按下的是那个键。3.2.2数码管显示我们采用共阳数码管显示,共3个,段选端接在P0口,
11、接法如下:P0口需要通过上拉电阻接到+5V电源,这点需注意,上拉电阻接法如下:R=10K数码管位选端由P2口得前三个端口控制,分别通过PNP接到数码管的公共端,其接法如下图:数码管显示是单片机中应用最为广泛的一种显示方式之一,设计中0-9与P0口对应关系如下表:P0口值0xc00xf90xa40xb00x99显示值01234P0值0x920x820xf80x800x90显示值567893.2.3时钟产生单元52单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。 在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益
12、反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。内部振荡方式的外部电路如下图所示。 图中,电容器Col,C02起稳定振荡频率、快速起振的作用,其电容值一般在5-30pF。晶振频率的典型值为12MH2,采用6MHz的情况也比较多。内部振荡方式所得的时钟情号比较稳定,实用电路中使用较多。外部振荡方式是把外部已有 的时钟信号引入单片机内。这种方式适宜用来使单片机的时钟与外部信号保持同步。(本次课设采用6MHz) 3.2.4 蜂鸣器电路单元如图下所示 3.3 系统原理图3.4系统调试硬件调试时可先检查印制板及焊接的质量情况,在检查无误后可通电检查LED显示器的点亮状况。若亮度不理想,可
13、以调整P1口的电阻大小,一般情况下取200电阻即可获得满意的亮度效果。 实验室制作时,可结合示波器测试晶振及P1,P2端口的波形情况进行综合硬件测试分析。硬件调试:硬件调试是利用DVCC实验与开发系统、基本测试仪器(万用表、示波器等),检查用户系统硬件中存在的故障。硬件调试可分为静态调试与动态调试两步进行。静态调试:是在用户系统未工作时的一种硬件检测。第一步:目测。检查外部的各种元件或者是电路是否有断点。第二步:用万用表测试。先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。第三步:加电检测。给板加电,检测所有插座或是器件的电源端是否符合要求的值 第四步:联机检查。
14、因为只有用单片机开发系统才能完成对用户系统的调试。 动态调试:是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。动态调试的一般方法是由近及远、由分到合。由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的 器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。由分到合的调试既告完成。由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。调试时,仍采用去掉无关元件的方法,
15、逐层调试下去,就会定位故障元件了。软件调试:利用仿真器加以调试,对系统单个单元进行调试,当单元电路成功后,在对整个程序调试,最后在用CPU芯片调试。3.5程序流程图重置密码消抖子程序读P1值Ok=0调用显示子程序结束开始送入行扫描初值Ok=0Set=0扫描P1口00000XF0Ok=1设置初值 N N Y N Y Y3.6系统实施根据原理图列写原件清单,领取所需的元件,烙铁,万用表,去试验台焊电路板。焊完板子,通过软硬结合的方式对电路板进行硬件调试,硬件没错误之后,开始进行软件编程,直到整个功能实现,并进行优化。3.7 实习心得本次课设我主要进行了电路板与器件的焊接,同时全程参与了程序编写、改
16、进与体统调试,对单片机系统简单调试与功能是先有了进一步认识。由于学校配发的开发板有特殊的自然走线特点,给我们的自由拓展提供了方便也造成了难度。我充分利用了其地线与火线多重排列,以及相邻焊盘自然连接的位置特点,结合我们需要使用的器件,先对整体布局加以把握,并简单焊接,并为后期改动、增删器件留有余地。后期由于板子调试,加入了数枚电阻,虽然留有余地,但是由于器件较多任然稍显局促,并且锻炼了检查电路板连接失误的能力。值得一提的是上拉电阻的使用,他不仅使单片机P0成功输出高电平,并且保证了共阴极数码管的放大控制,二者配合,成功实现了原理设计。 通过这次课程设计掌握51单片机的原理,初步掌握单片机调整及测
17、试方法,提高动手能力和排除故障的能力。同时通过本课题设计与装配、调试,提高自己的动手能力,巩固已学的理论知识,建立单片机理论和实践的结合,了解各单元电路之间的关系及相互影响,从而能准确设计、计算定时计数的各个单元电路。初步掌握厨房报警器的调整及测试方法。提高动手能力和排除故障的能力在完成单片机课程设计后我们发现我们还有许多不足所学到的知识还远远不够以至于还有一些功能不能被动完成。但通过学习这一次实践增强了我们的动手能力提高和巩固了单片机方面的知识特殊是软件方面。从中增强了我们的团队合作精神并让我们熟悉到把理论应用到实践中去是多么重要。附录 C语言实验程序#include<reg52.h&
18、gt;#define uchar unsigned char#define uint unsigned intsbit fmq=P23;/定义报警器端口p2.3为fmqsbit wei1=P20;/定义数码管1端口p2.0为wei1sbit wei2=P21; /定义数码管2端口p2.1为wei2sbit wei3=P22; /定义数码管3端口p2.2为wei3uchar Code3=0,0,0;uchar InPut3=1,1,1;char code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uint KeyBoard,t
19、ime;uchar *p=InPut;void delay(unsigned int cnt) while(-cnt);main()uchar temp,Ok,Error;uchar count=0;uchar Set=0;/修改密码关键字TMOD=0X11;/TCON=0X10;/TH0=(65536-5000)/256;/50msTL0=(65536-5000)%256;TH1=(65536-50000)/256;TL1=(65536-50000)%256;ET0=1;/定时/计数器T0中断允许位ET1=1;EA=1;/开总中断while(1)if(KeyBoard=11)Set=1;/修
20、改密码关键字Ok=0;/确认关键字if(Set=1&&Ok=1&&KeyBoard<10)/重新设置密码的条件Ok=0;switch(count)case 0:Code0=KeyBoard;count+;break;case 1:Code1=KeyBoard;count+;break;case 2:Code2=KeyBoard;count+;break; if(Set=0&&Ok=1&&KeyBoard<10)Ok=0;if(count>2)count=0;switch(count)case 0:InPut0=K
21、eyBoard;count+;break;case 1:InPut1=KeyBoard;count+;break;case 2:InPut2=KeyBoard;count+;break;if(KeyBoard=10)KeyBoard=100;Ok=0;count=0;if(Set=1)Set=0;elseif(Code0=InPut0)&&(Code1=InPut1)&&(Code2=InPut2) fmq=1;Error=0;time=0;else/密码输入错误Error+;InPut0=1;InPut1=1;InPut2=1; if(Error>=2)
22、TR1=1;if(time<200)fmq=0; else fmq=1; if(time>200)time=0,Error=0;if(Ok=0)P1=0xfe;/P1口设置为oxfe 1111 1110(第一行置为低电0)temp=P1;/P1赋给tenptemp=temp&0xf0;/0xf0赋给temp(所有行线置为低电0,所有列线置为高电1)if(temp!=0xf0)/检测是否有按键按下delay(5000);/去除干扰if(temp!=0xf0)/再次检测是否有按键按下 1111 0000switch(temp)case 0x70:KeyBoard=1;break
23、;/0111 0000case 0xb0:KeyBoard=2;break;/1011 0000case 0xd0:KeyBoard=3;break;/1101 0000 Ok=1;while(P1&0xf0)=temp);P1=0xfd;/1111 1101(第二行置为低电0)temp=P1;temp=temp&0xf0;/1111 0000if(temp!=0xf0)delay(5000);if(temp!=0xf0)Ok=1;switch(temp)case 0x70:KeyBoard=4;break;case 0xb0:KeyBoard=5;break;case 0xd0:KeyBoard=6;break;while(P1&0xf0)=temp);P1=0xfb;/1111 1011 (第三行置为低电0)temp=P1;temp=temp&0xf0;if(temp!=0xf0)delay(5000);if(temp!=0xf0)Ok=1;switch(temp)case 0x70:KeyBoard=7;break;case 0xb0:KeyBoard=8;b
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年酒店管理专业就业能力考试卷及答案
- 第33届全国中学生物理竞赛复赛答案
- 2022年全国生物学联赛答案
- 售后返租解除合同协议
- 欠债抵账协议书范本
- 商丘购房合同协议
- 商场商铺变更合同协议
- 售后公房分摊协议书范本
- 2025授权合同书协议模板
- 品牌策划双方合同协议
- 食堂食材配送合同
- 【9语一模】2025年合肥市第42中学九年级中考一模语文试卷(含答案)
- 福建泉州文旅集团招聘笔试真题2024
- 玉盘二部合唱正谱
- 海运电商市场潜力分析-深度研究
- 无人机飞行安全风险分析-深度研究
- 人教版(2024)七年级下册生物期末复习必背知识点提纲
- 2025年第六届(中小学组)国家版图知识竞赛测试题库及答案
- 2024年金融研究所科研财务助理招聘笔试真题
- 微训练 一文多考 备考高效之小说《理水》 - 鲁迅(教师版)
- 四佰本帖子内容-中医美容
评论
0/150
提交评论