版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信息与电气工程学院课程设计说明书(2012/2013学年第二学期)课程名称 : 单片机原理及接口技术 题 目 : 厨房提醒器设计 专业班级 : 学生姓名 : 学 号 : 指导教师 : 设计周数 : 2周 设计成绩 : 13年 6 月 27 日目 录1、课程设计目的22、课程设计要求23、课程设计正文2 3.1硬件设计3.1.1 AT89S51简介3 3.1.2 方案设计73.1.3 原理图7 3.1.4 单元电路设计7 3.1.5 系统调试8 3.2 软件设计3.2.1 系统分析93.2.2 系统设计93.2.3 系统实施及程序94、课程设计总结195、参考文献191、课程设计目的1) 进一步
2、熟悉和掌握单片机的结构及工作原理。2)掌握单片机的接口技术及相关外围芯片的外特性,控制方法。3) 通过课程设计,掌握以单片机核心的电路设计的基本方法和技术4) 通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。5) 通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相关专业打下基础。 2、课程设计具体要求本次课程设计旨在设计并制作出一个以单片机为核心的厨房提醒器。电源打开后,显示器显示“0000”;通过分十位加1键、分个位加1键、秒十位加1键对初始时间进行设置。按下开始键,则按照设定的时间减1定时。当显示器再次显示为00:00时,蜂鸣器
3、响,则提醒定时到。按下清除键,显示器显示00:00。主要任务:(1) 确定总体设计方案(2) 设计键盘输入电路(3) 设计显示电路(4) 合理分配地址,编写系统程序(5) 利用PROTEL设计硬件电路原理图和PCB图(6) 软硬件联机调试技术要求:(1) 熟练应用PROTE L绘制原理图和PCB图(2) 掌握键盘输入电路,数码管显示相关电路和程序设计a) 原理图设计1 原理图设计要符合项目的工作原理,连线要正确。2 图中所使用的元器件要合理选用,电阻,电容等器件的参数要正确标明。3 原理图要完整,CPU,外围器件,扩器接口,输入/输出装置要一应俱全。b) 程序调试1 根据要求,将总体项能分解成
4、若干个子功能模块,每个功能模块完成一个特定的功能。2 根据总体要求及分解的功能模块,确定各功能模块之间的关系,设直出完整的程序流程图。3、课程设计正文3.1硬件设计3.1.1 AT89S51,CD4511,数码管简介a.at89s51主要特性 与MCS-51单片机产品兼容 全静态工作:0Hz33MHz 1000次擦写周期 32个可编程I/O口线 2个16位定时器/计数器 6个中断源 看门狗定时器 低功耗空闲和掉电模式 掉电后中断可唤醒 4K字节在系统可编程Flash存储器 双数据指针 全双工UART串行通道 灵活的ISP编程(字或字节模式) 4.0-5.5V电压工作范围 b.内部结构图3-1
5、是单片机AT89S51的内部结构总框图。它可以划分为CPU、存储器、并行口、串行口、定时/计数器和中断逻辑几个部分。 CPU由运算器和控制逻辑构成。其中包括若干特殊功能寄存器(SFR) AT89S51时钟有两种方式产生,即内部方式和外部方式。(如图3-2所示) AT89S51在物理上有四个存储空间:片内/片外程序存储大路、片内/片外数据存储器。片内有256B数据存储器RAM和4KB的程序存储器ROM。除此之外,还可以在片外扩展RAM和ROM,并且和有64KB的寻址范围。 AT89S51内部有一个可编程的、全双工的串行接口。它串行收发存储在特殊功能寄存器SFR的串行数据缓冲器SBUF中的数据。
6、AT89S51共有4个(P0、P1、P2、P3口)8位并行I/O端口,共32个引脚。P0口双向I/O口,用于分时传送低8位地址和8位数据信号;P1、P2、P3口均为准双向I/O口;其中P2口还用于传送高8位地址信号;P3口每一引脚还具有特殊功能(图3-3),用于特殊信号的输入输出和控制信号。 AT89S51内部有两个16位可编程定时器/计数器T0、T1。最大计数值为216-1。工作方式和定时器或计数器的选择由指令来确定图3-1 AT89S51 内部结构框图 中断系统允许接受5个独立的中断源,即两个外部中断,两个定时器/计数器中断以及一个串行口中断。c.外部特性(引脚功能)AT89S51芯片有4
7、0条引脚,双列直插式封装引脚图如2-4所示: Vcc(40):电源+5V Vss(20): 接地 XTAL1(19)和XTAL2(18):使用内部振荡电路时,用来接石英晶体和电容;使用外部时钟时,用来输入时钟脉冲 P0口(3932):双向I/O口,既可作地址/数据总线口用,也可作普通I/O口用。 P1口(18):准双向通用I/O口。 P2口(2128):准双向口,既可作地址总线口输出地址高8位,也可作普通I/O口用。 P3口(1017):多用途口,既 图3-4 AT89S51引脚图可作普通I/O口,也可按每位定义的第二功能操作。 ALE/PROG(30):地址锁存信号输出端。在访问片外丰储器时
8、,若ALE为有效高电平,则P0口输出地址低8位,可以用ALE信号作外部地址锁存信号。公式(21)fALE=1/6fOSC ,也可作系统中其它芯片的时钟源。第二功能PROG是对EPROM编程时的编程脉冲输入端。 RST/VPD(9):复位信号输入端。AT89S51接能电源后,在时钟电路作用下,该脚上出现两个机器周期以上的高电平,使内部复位。第二功能是VPD,即备用电源输入端。当主电源Vcc发生故障,降低到低电平规定值时,VPD将为RAM提供备用电源,发保证存储在RAM中的信号不丢失。 EA/Vpp(31):内部和外部程序存储器选择线。EA=0时访问外部ROM 0000HFFFFH;EA=1时,地
9、址0000H0FFFH空间访问内部ROM,地址1000HFFFFH空间访问外部ROM。 PSEN(29):片外程序存储器选通信号,低电平有效。CD4511cd4511是常用的七段数码管显示译码芯片,他的驱动能力强稳定性高,在单片机系中得到了广泛的应用。主要功能:BCD锁存,7段译码,驱动器 cd4511管脚功能介绍如下:LE:锁定控制端,当LE=0时,允许译码输出。 LE=1时译码器是锁定保持状态,cd4511输出被保持在LE=0时的数值。A1、A2、A3、A4、为8421BCD码输入端。 a、b、c、d、e、f、g:为译码输出端,输出为高电平1有效。BI:4脚是消隐输入控制端,当BI=0 时
10、,不管其它输入端状态如何,七段数码管均处于熄灭(消隐)状态,不显示数字。LT:3脚是测试输入端,当BI=1,LT=0 时,译码输出全为1,不管输入 DCBA 状态如何,七段均发亮,显示“8”。它主要用来检测数码管是否正常。 数码管使用条件:a、段及小数点上加限流电阻b、使用电压:段:根据发光颜色决定; 小数点:根据发光颜色决定c、使用电流:静态:总电流 80mA(每段 10mA);动态:平均电流 4-5mA 峰值电流 100mA数字对应数码管显示控制转换字节(共阴编码)显示HGFE,DCBA编码0 0011,11110x3
11、F;1 0000,01100x06;2 0101,10110x5B;3 0100,11110x4F;4 0110,01100x66;5 0110,11010x6D;6 0111,11010x7D;7 0000,01110x07;8 0111,11110x7F;9 0110,11110x6F;共阳为编码取反即可3.1.2 方案设计本次课程设计的内容是设计一个能够定时的厨房提醒器。定时时间通过键盘输入电路实现,键盘输入电路采用独立式结构,输出显示电路部分利用CD4511驱动四个数码管显示,定时时间设置与提醒器启动、停止通过软件编程实现,故在硬件设计上本次设计课题主要由键盘输入电路、复位电路、晶体振
12、荡电路、驱动电路,位选电路和蜂鸣器提示电路等组成。主要元器件有AT89S51、CD4511、NPN、PNP、数码管、晶体振荡器、按键。3.1.3原理图3.1.4 单元电路设计(1) 复位电路的实现当正常工作时单片机接低电平正常工作,当按下按键,单片机接通高电平,实现复位功能。(2) 晶体振荡电路的实现电容C1、C2与晶体构成一个谐振型网络,完成对振荡频率的控制功能,同时提供了一个180度相移,从而和非门构成一个正反馈网络,实现了震荡器的功能。由于晶体具有较高的频率稳定性及准确性,从而保证了输出频率的稳定和准确。(3) 蜂鸣器提示电路通过P2.6经过一个PNP和蜂鸣器来实现提示定时到。(4) 驱
13、动电路的实现通过CD4511来实现 译码驱动的功能,把BCD码转化成段码显示。(5) 键盘输入电路的实现键盘输入电路采用独立式电路结构,设为分十位加1键、分个位加1键、秒十位加1键,分别与P0口的P0.0,P0.1,P0.2,P0.3相连,清除键与外部中断INT0相连。(6) 位选电路的实现通过P2.0,P2.1,P2.2,P2.3经过四个三极管放大来实现位选,分别控制四个数码管的显示。3.1.5系统调试硬件调试: 硬件调试是利用DVCC实验与开发系统、基本测试仪器(万用表、示波器等),检查用户系统硬件中存在的故障。硬件调试可分为静态调试与动态调试两步进行。静态调试:是在用户系统未工作时的一种
14、硬件检测。 第一步:目测。检查外部的各种元件或者是电路是否有断点。 第二步:用万用表测试。先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。 第三步:加电检测。给板加电,检测所有插座或是器件的电源端是否符合要求的值 第四步:是联机检查。因为只有用单片机开发系统才能完成对用户系统的调试。 动态调试:是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。动态调试的一般方法是由近及远、由分到合。由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的 器件全部从用户系统中去掉,这样可以将故障范围限
15、定在某个局部的电路上。当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。由分到合的调试既告完成。由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了。软件调试:软件调试是通过对程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。3.2 软件设计3.2.1 系统分析本次课题设计是基于单片机的特性来实现其功能的。本系统采用的单片机是AT89S51型号。其上集成了4个数码管,6个按键开关,主要实现数字输入和复位功能。其中 有5
16、个数字键,分别为开始键、清除键、分十位加1键、分个位加1键、秒十位加1键,还有复位电路一个按键。还有蜂鸣器提示电路,当定时时间到时,蜂鸣器响,起提示作用。3.2.2 系统设计本系统中,键盘输入电路通过5个按键采用独立式电路结构实现,分十位加1键、分个位加1键、秒十位加1键用来对初始时间进行设置,开始键、清除键用来对提醒器进行启动与停止,输出显示电路部分通过CD4511驱动四个数码管结合位选电路来显示时间,当定时时间到时,蜂鸣器响,起提示作用,定时功能通过软件编程实现。3.2.3 系统实施及程序 #include"reg52.h" /AT89S52单片机头文件/*定义系统变量
17、与引脚*/ #define uint unsigned int #define uchar unsigned char sbit Buzzer=P26; /蜂鸣器控制脚 sbit key1=P00; /按键1 sbit key2=P01; /按键2 sbit key3=P02; /按键3 sbit key4=P03; /按键4 sbit guan1=P20; /数码管位选控制端1 sbit guan2=P21; /数码管位选控制端2 sbit guan3=P22; /数码管位选控制端3 sbit guan4=P23; /数码管位选控制端4int fenshi=0;int fenge=0;int
18、 miaoshi=0;int miaoge=0;/*子函数列表*/void delay_dis(void); /延时子程序void delay_key(void); /延时子程序uchar getkey(void); /键值获取子函数void key(void); /按键扫描子程序void xianshi(void); /显示子程序void jingbao(void); /警报声void init_dis(void); /初始化数码管/主程序void main() P1=0X00;P2=0X00;TMOD=0X01;TH0=0X99;TL0=0X2f;ET0=1;init_dis();whil
19、e(1) getkey(); key(); xianshi(); /子函数/初始化显示程序void init_dis(void)fenshi=0;fenge=0;miaoshi=0;miaoge=0;xianshi();/动态扫描延时 void delay_dis(void) uint N=4000; while(N-);/按键消抖扫描 void delay_key(void) uint N=1000; while(N-);/确认哪个键按下uchar getkey(void) uchar i=0; if(!key1) delay_key(); If (!key1) i=1; if(!key2)
20、 delay_key(); if(!key2) i=2; if(!key3) delay_key(); if(!key3) i=3; if(!key4) delay_key(); If (!key4) i=4; return i; /按键程序void key(void) uchar keyid; keyid=getkey();if(keyid=1) fenshi+=1; if(fenshi>=6) fenshi=0; xianshi(); if(keyid=2) fenge+=1; if(fenge>=10) fenge=0; xianshi(); if(keyid=3) miao
21、shi+=1; if(miaoshi>=6) miaoshi=0; xianshi(); if(keyid=4 ) TR0=1; EA=1; /显示程序void xianshi(void)guan4=0;P1=miaoge;guan4=1; delay_dis();guan4=0;guan3=0;P1=miaoshi;guan3=1; delay_dis();guan3=0;guan2=0;P1=fenge;guan2=1; delay_dis();guan2=0; guan1=0;P1=fenshi;guan1=1; delay_dis();guan1=0;/中断程序void time
22、r0_int (void) interrupt 1 static unsigned char counter; TH0=0X99; TL0=0X2f; if(!(counter-) counter=40; miaoge-; if(miaoge=-1) miaoge=9;miaoshi-; if(miaoshi=-1) miaoshi=5; fenge-; if(fenge=-1) fenge=9; fenshi-; if(fenshi=-1) TR0=0; EA=0; while(1) / init_dis(); guan1=0; guan2=0; guan3=0; guan4=1; P1=0; jingbao(); /报警程序void jingbao(void) /警报声 unsigned int ul,n; for(ul=0;ul<3000;ul+) /输出一个频率的声音 for(n=0;n<40;n+); /延时 Buzzer=Buzzer; /取反输出到喇叭的信号 for(ul=0;ul<2500;ul+) /输出另一个频率的声音 for(n=0;n<50;n+); /延时 Buzzer=Buzzer; /取反输出到喇叭的信号 是否10分后1分后10秒后1秒后否否是是否是初始化开 始秒十位加1键有效41H
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高考地理一轮复习第十六章区际联系与区域协调发展第二节资源跨区域调配课件
- 自建房建筑安全合同(2篇)
- 海尔净水 课件
- 西京学院《影视广告》2022-2023学年第一学期期末试卷
- 初三(4)班月考动员
- 幼儿园小班歌唱活动《表情歌》教案
- 第二节国民党政府处在全民的包围中
- 西华师范大学《中国地理》2021-2022学年第一学期期末试卷
- 高考地理一轮复习第三章地球上的大气及其运动第一节大气的组成和垂直分层及大气受热过程课件
- 西华师范大学《写意花鸟画》2023-2024学年第一学期期末试卷
- 《标书制作流程培训》课件
- 建筑工程专业中级职称考试试题及答案解析精编
- 神经科护士的职责和工作范围
- 粤教版科学四年级上册全册试卷(含答案)
- 如何提高医务人员的个人防护装备使用效率
- 公共服务质量评价指标体系
- 2023中国智慧手术室发展与实践白皮书
- 江西省2023年高等职业院校单独招生考试-江西电力职业技术学院-样卷
- 《热力学基础 》课件
- 完整版体检中心应急预案
- 无人机培训教材
评论
0/150
提交评论