




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计说明书(2014/2015 学年第 2 学期)课程名称 : 单片机课程设计 题 目 : 厨房提醒器 专业班级 : 自动化3班 学生姓名 : 郭少伟 学 号: 120410329 指导教师 : 赵奇 设计周数 : 2周 设计成绩 : 2015年6月 26 日目 录一、课程设计的题目- 1二、课程设计的目的- 2三、课程设计的任务- 3四、设计原理器件说明 - 4五、设计方案- 131、硬件部分-142、软件分析-143、程序设计- 164、系统调试-22六、课程设计心得- 23七、参考文献- 231、课程设计目的1、通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用
2、进一步的了解。知道单片机的各个引脚的功能,以及如何通过编写的程序让它实现我们所需要的功能,期间要进行电路的焊接和程序调试,最后实现我们所需要的功能。2、掌握定时器、外部中断的设置和编程原理。3、通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。4、提高综合以及灵活应用所学知识,并且从中培养了针对课题需要,选择和查阅有关手册和图表以及文献资料的自学能力,提高组成系统和变成以及调试的动手能力。2、课程设计正文2.1 设计所需器材电阻:1K (5个) 330(8个)10K(5个)开关:5个电容:30F (2个)22F(1个)晶振:12MHZ(1个)集成芯片: AT89C51(1片)
3、三极管:PNP(5个)共阳极数码管:4个蜂鸣器:1个底座:DIP40(1个)万能电路板:1个2.2 设计任务和要求本次课程设计,我们这一组要求做的是厨房提醒器设计。提醒器在家庭中很实用,能够帮助提醒人做饭或者做菜的时间等,市面上卖的成品提醒器一般都比较贵,我们可以利用已经学过的知识自制简易的提醒器。设计的主要内容是采用AT89S51作为控制单元,实现提醒器的设计。(1)设计键盘输入电路;(2)设计显示电路;(3)合理分配地址,编写写程序;(4)利用PROTEL设计硬件电路原理图和PCB图;(5)软硬件联机调试;(6)书写实验报告。主要技术要求:(1)设置提醒器的“开始”键,“清除”键,“分十位
4、加一”键,“分个位加一”键和“秒十位加一”键。刚通电时和按下“清除”键时,均可使显示器显示00:00。按下开始键,则按照设定的时间减一定时。当显示器再次显示为00:00时则蜂鸣器提醒定时到。(2)4个数码管分别显示分十位,分个位,秒十位。 2.2.1 设计基本原理厨房提醒器设计,主要的部分是AT89S51,编写程序,实现软硬结合,实现提醒功能。采用中断的方式,先清除按钮,然后设置分十位,分个位,秒十位,然后按开始按钮开始倒计时,当时间变为00:00时蜂鸣器提醒则目的实现。 2.2.2 器件说明 图1 AT89C51的引脚图 图1 AT89C51的引脚图2.2.2.1 AT89C51单片机 AT
5、89S51的引说明和功能说明如下:VCC :AT89S51电源正极输入,接+5V电压。 GND :电源接地端。 XTAL1 :接外部晶振的一个引脚。在单片机内部,它是一反相放大器输入端,这个放大器构成了片内振荡器。它采用外部振荡器时,些引脚应接地。 XTAL2 :接外部晶振的一个引脚。在片内接至振荡器的反相放大器输出端和内部时钟发生器输入端。当采用外部振荡器时,则此引脚接外部振荡信号的输入。 RST :AT89C51的复位信号输入引脚,高电位工作,当要对芯片又时,只要将此引脚电位提升到高电位,并持续两个机器周期以上的时间,AT89C51便能完成系统复位的各项工作,使得内部特殊功能寄存器的内容均
6、被设成已知状态。 ALE/ :ALE是英文ADDRESS LATCH ENABLE的缩写,表示允许地址锁存允许信号。当访问外部存储器时,ALE信号负跳变来触发外部的8位锁存器 (如74LS373),将端口P0的地址总线(A0-A7)锁存进入锁存器中。在非访问外部存储器期间,ALE引脚的输出频率是系统工作频率的 1/16,因此可以用来驱动其他外围芯片的时钟输入。当问外部存储器期间,将以1/12振荡频率输出。 /VPP 该引脚为低电平时,则读取外部的程序代码 (存于外部EPROM中)来执行程序。因此在8031中,EA引脚必须接低电位,因为其内部无程序存储器空间。如果是使用AT89C51或其它内部有
7、程序空间的单片机时,此引脚接成高电平使程序运行时访问内部程序存储器,当程序指针PC值超过片内程序存储器地址(如8051/8751/89C51的PC超过0FFFH)时,将自动转向外部程序存储器继续运行。 此外,在将程序代码烧录至8751内部EPROM、89C51内部FALSH时,可以利用此引脚来输入提供编程电压(8751为2lV、AT89C51为12V、8051是由生产厂方一次性加工好)。 :此为Program Store Enable的缩写。访问外部程序存储器选通信号,低电平有效。在访问外部程序存储器读取指令码时,每个机器周期产生二次PSEN信号。在执行片内程序存储器指令时,不产生PSEN信号
8、,在访问外部数据时,亦不产生PSEN信号。 P0口(P0.0P0.7)是一个8位漏极开路双向输入输出端口,当访问外部数据时,它是地址总线(低8位)和数据总线复用。外部不扩展而单片应用时,则作一般双向IO口用。P0口每一个引脚可以推动8个LSTTL负载。 P2口(P2.0P2.7)是具有内部提升电路的双向I/0端口(准双向并行I/O口),当访问外部程序存储器时,它是高8位地址。外部不扩展而单片应用时,则作一般双向IO口用。每一个引脚可以推动4个LSTL负载。 P1口(P1.0P1.7)是具有内部提升电路的双向I/0端口(准双向并行I/O口),其输出可以推动4个LSTTL负载。仅供用户作为输入输出
9、用的端口。 P3口(P3.0P3.7)是具有内部提升电路的双向I/0端口(准双向并行I/O口),它还提供特殊功能,包括串行通信、外部中断控制、计时计数控制及外部随机存储器内容的读取或写入控制等功能。其特殊功能引脚分配如下: P3.0 RXD串行通信输入 P3.1 TXD串行通信输出 P3.2 外部中断0输入,低电平有效 P3.3外部中断1输入,低电平有效 P3.4 T0计数器0外部事件计数输入端 P3.5 T1计数器1外部事件计数输入端 P3.6 外部随机存储器的写选通,低电平有效 P3.7 外部随机存储器的读选通,低电平有效 2、内存空间1、内部程序存储器(FLASH)4K字节。 2、外部程
10、序存储器(ROM)64K字节。 3、内部数据存储器(RAM)256字节。 4、外部数据存储器(RAM)64K字节。 只读程序存储器和外部数据存储器分别如下图所示: 图2 只读程序存储器 图3 外部数据存储器图5 内部高128个字节地址空间的特殊功能寄存器区3. 复位后寄存器状态4、中断入口5、PSW程序状态字CY(PSW.7) :高位进位标志位。常用“C”表示。 AC(PSW.6) :辅助进位标志。 F0(PSW.5) :用户标志位。 RS1(PSW.4) :寄存器组选择位1。 RS0(PSW.3) :寄存器组选择位0。 OV(PSW.2) :溢出标志位。 (PSW.1) :保留位,无定义。
11、P(PSW.0) :奇偶校验位,在每一个指令周期中,若累加器(A)中的“1”的位个数是奇数个则P1,偶数个则P0。TMOD定时计数器工作方式控制寄存器 GATE :当GATE1时,INT0或INT1引脚且为高电平,同时TCON中的TR0或TR1控制位如为1时,定时计数器0或1才会工作。 若GATE0,同时只要TCON中的TR0或TR1控制位如为1时,定时计数器0或1即可工作。 CT :选择定时或计数器模式。当CT1为计数器,由外部引脚T0或T1输入计数脉冲。CT0时为计时器,由内部系统时钟提供计时工作脉冲。M1 :方式选择位1。 M0 :方式选择位0。 M1、M2的操作方式选择定义如下:TCO
12、N定时计数器工作方式控制寄存器 TF1(TCON.7) :计时器 1溢出标志,当计时溢出时,由硬件设定为1,在执行相对的中断服务程序后则自动清0。 TR1(TCON.6) :计时器1启动控制位,可以由软件来设定或清除。TR1时启 动计时器工作,TRl=0时关闭。 TF0(TCON.5) :计时器0溢出标志,当计时溢出时,由硬件设定为1,在执行相对的中断服务程序后则自动清0。 TR0(TCON.4) :计时器0启动控制位,可以由软件来设定或清除。TR0=1时,启动计时器工作,TR0=时关闭。 IE1(TCON.3) :外部中断1工作标志,当外部中断被检查出来时,硬件自动设定此位,在执行中断服务程
13、序后,则清0。 IT1(TCON.2) : 外部中断1工作形式选择,IT1=1时,由下降缘产生外部中断,IT1=0时,则为低电位产生中断。 IE0(TCON.1) :外部中断0工作标志,当外部中断被检查出来时,硬件自动设 定此位,在执行中断服务程序后,则清0。 IT0(TCON.0) :外部中断0工作形式选择,IT1=1时,由下降沿产生外部中断 IT1=0时,则为低电位产生中断。SCON定时计数器工作方式控制寄存器SM0(SCON.7) : 串行通讯工作方式设定位0。 SM1(SCON.6) :串行通讯工作方式设定位1。 SM2(SCON.5) :允许方式2或方式3多机通讯控制位。在方式2或方
14、式3时,如SM2=1,REN=1,则从机处于只有接收到RB8=1(地址帧)才激发中断请求标志位RI=1,向主机请求中断处理。被确认为寻址的从机复位SM2=0,才能接收RB8=0的数据帧;在方式1时,如SM2=l,则只有在接收到有效停止位时才置位中断请求标志位RI=1;在方式0时,SM2应为0。 REN(SCON.4) :REN,允许/禁止串行接收控制位。由软件置位REN=1为允许串行接收状态,可启动串行接收器RXD,开始接收信息。软件复位REN0,则禁止接收。 TB8(SCON.3) :在方式2或方式3,它为要发送的第9位数据,按需要由软件置位或清0。例如,可用作数据的校验位或多机通讯中表示地
15、址帧/数据帧的标志位。 RB8(SCON.2) :在方式2或方式3,是接收到的第9位数据。在方式l,若SM20,则RB8是接收到的停止位。方式0不用RB8。 TI(SCON.1) :发送中断请求标志位。在方式0,当串行发送数据第8位结束时,由内部硬件自动置位TI=l,向主机请求中断,响应中断后必须用软件复位TI=0。在其他方式中,则在停止位开始发送时由内部硬件置位,必须用软件复位。 RI(SCON.0) :接收中断请求标志位。在方式0,当串行接收到第8位结束时由内部硬件自动置位RI=1,向主机请求申断,响应中断后必须用软件复位RI=0。在其他方式中,串行接收到停止位的中间时刻由内部硬件置位RI
16、1(例外情况见SM2说明),必须由软件复位RI=0。 其中SM0、SM1按下列组合确定串行通讯的工作方式: PCON电源控制寄存器 SMOD :双倍波特率控制位。 :保留。 GF1 :通用标志。 GF0 :通用标志。 PD :PD1时,进入掉电方式。 IDL :IDL1时,进入冻结方式。 6、常用波特率与定时计数器1各参数关系 2.2.2.2、数码管数码管可以分为共阳极与共阴极两种,共阳极就是把所有LED的阳极连接到共同接点com,而每个LED的阴极分别为a、b、c、d、e、f、g及 dp(小数点);共阴极则是把所有LED的阴极连接到共同接点com,而每个LED的阳极分别为a、b、c、d、e、
17、f、g及dp(小数点)。图9 共阳极内部接线图此设计采用的是共阳极数码管,共阳极的LED显示管的发光二极管的阴极连在一块,通常此公共阳极接地,当某个发光二极管的阳极为低电平的时候,发光二极管点亮,相应的段被显示出来,为了使LED显示器不同的符号和数字,就要把不同段的发光二极管点亮,这样就要为LED显示器提供代码,因为这些代码可以使LED相应的段发光,从而显示不同的字型,因而该代码称之为段码。 图10 共阳极数码管段码2.3 设计方案根据设计的任务和要求,需要进行硬件和软件的结合。2.3.1 硬件设计 具体的电路原理图如下图11所示: 图11 厨房提醒器原理图分析电路图: 2.3.1.1按钮电路
18、的分析 图12 按钮电路 按钮电路中五个按钮分别代表开始键,清除键,秒个位健,秒十位健,分个位健,分十位健,他们分别与单片机的P0.0,P0.1,P0.2,P0.3,P0.4相连,并接10K的上拉电阻,按钮的另一端接地,当相应的按钮按下时,单片机根据程序会检测到相应P0口的电平变化,从而执行相应的子程序。2.3.1.2位选电路的分析 图13位选电路位选电路由五个三极管与电阻串联而成,电阻的主要作用是保护单片机的并行口,五个三极 管的b级分别接单片机的P2.0,P2.1,P2.2,P2.3,e端接正5V电压,c端接数码管的位选端,当P2口中相应的并行口为低电平时,则三极管导通,并会选中相应的数码
19、管。2.3.1.3数码管段码端电路 图14 段码电路 数码管的7个段码分别由P1口控制,限流电阻为330,当单片机P1的相应口为高电平时,会点亮数码管的相应的段码。2.3.2 软件的分析此厨房提醒器采用的是提醒的方式,有五个按键,分别是“开始”键,“清除”键,“分十位加一”键,“分个位加一”键和“秒十位加一”键,程序需要设置各个按键的时间,然后按开始键倒计时,当再次显示00:00时则蜂鸣器提醒到时。具体的程序流程图如下图15所示:开始初始化设置(清零)秒十位设置是否按下?Y秒十位加一是否为6?Y清零秒十位分个位设置NN是否按下?Y分个位位加一是否为10?Y清零分个位NN分十位设置是否按下?Y分
20、十位位加一是否为6?Y清零分十位NN扫描开始键是否按下YN定时初始化设置显示设置值按秒减一是否为0NY蜂鸣器报警图15 流程图2.3.2.1程序如下:MIAOS EQU P0.4 FENGE EQU P0.3FENSH EQU P0.2KAISH EQU P0.1QINGC EQU P0.0;*中断入口程序*ORG 0000HLJMP MAINORG 000BHLJMP TIMER0ORG 0030H;*主程序开始*MAIN: LCALL ST ;上电显示00:00LOOP1: JB MIAOS, LOOP2 ;秒十位的设置 CLR P2.7 ;开蜂鸣器LCALL DELAY ;消抖JB MI
21、AOS, LOOP2 ;判断秒十位是否按下MOV A, 41HINC AMOV 41H, AJNB MIAOS,$CJNE A,#06H,LOOP2 ;判断秒十位是否为6MOV 41H, #00H ;41H单元清0LOOP2: JB FENGE, LOOP3 ;分个位设置CLR P2.7 ;开蜂鸣器LCALL DELAY ;消抖JB FENGE,LOOP3 ;判断分个位是否按下 MOV A,42HINC AMOV 42H,AJNB FENGE,$CJNE A,#0AH,LOOP3 ;判断分个位是否为10MOV 42H,#00H ;42H单元清0LOOP3: JB FENSH,START ;分十
22、位设置CLR P2.7 ;开蜂鸣器LCALL DELAY ;消抖JB FENSH,START ;判断分十位是否按下 MOV A,43HINC AMOV 43H,AJNB FENSH,$CJNE A,#06H,START ;判断分十位是否为6MOV 43H,#00H ;43H单元清0START: JB KAISH,LOOP5 ;开始键设置 CLR P2.7 ;开蜂鸣器LCALL DELAY ;消抖JB KAISH,LOOP5 ;扫描开始键MOV TMOD,#01H ;定时器初始化MOV TL0,#60HMOV TH0,#0F0HSETB ET0SETB EAMOV R4,#250SETB TR0
23、HEDIS:ACALL DISP SJMP LOOP1LOOP5:ACALL DISPJB QINGC,ST ;清除键设置SJMP LOOP1 ;返回秒十位设置程序;*显示00:00程序*ST: MOV R0,#40H ;将显示内容移到40H MOV R2,#20H MOV R3,#00H CLR A MOV DPTR,#STABSLOOP: MOVC A,A+DPTR MOV R0,A MOV A,R3 INC A MOV R3,A INC R0 DJNZ R2,SLOOP ;移入完毕 LCALL DISP ;调用显示程序 RETSTAB: DB 00H,00H,00H,00H;*数码管显示
24、程序*DISP:MOV R1,40H MOV R5,#0FEH ;扫描控制字初值SPLAY: MOV A,R5 ;扫描字放入A MOV P2,A ;从P2口输出 MOV A,R1 ;取显示数据到A MOV DPTR,#TABS ;取段码表地址 MOVC A,A+DPTR ;查显示数据对应段码 MOV P1,A ;段码放入P1口 MOV A,R5 LCALL DL1MS ;显示1ms INC R1 ;指向下一地址 MOV A,R5 ;扫描字放入A JNB ACC.3,ENDOUTS ;ACC.3=0时,一次显示结束 RL A ;A中数据循环左移 MOV R5,A AJMP SPLAY ;跳回SP
25、LAY循环ENDOUTS: MOV P2,#0FFH ;P2口复位 MOV P1,#0FFHRETTABS: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H;共阳段数码表 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ;*1ms延时程序*DL1MS: MOV R6,#14HDL1: MOV R7,#19HDL2: DJNZ R7,DL2 DJNZ R6,DL1 RET;*20ms延时程序,用于消抖*DELAY: CLR P2.7 LCALL DISP LCALL DISP LCALL DISP SETB P2.7 RET;*中断程序
26、*TIMER0: MOV TL0,#60HMOV TH0,#0F0HPUSH AccPUSH PSWDJNZ R4,N5MOV R4,#250MOV B,#10MOV A,41HMUL ABADD A,#40HMOV 50H,AMOV A,43HMOV B,#10MUL ABADD A,42HMOV 51H,AMOV A,50HCJNE A,#00,LOOP10MOV A,51HCJNE A,#00,LOOP11LCALL SPEAKEYSJMP N4LOOP11:MOV 50H,#59DEC 51HSJMP N4LOOP10:DEC 50H N4:MOV A,50HMOV B,#10DIV
27、ABMOV 41H,AMOV 40H,BMOV A,51HMOV B,#10DIV ABMOV 43H,AMOV 42H,BN5:POP PSWPOP AccRETSPEAKEY: CLR TR0SETB P2.7RETEND 2.3 软件与硬件结合调试硬件调试: 硬件调试是利用DVCC实验与开发系统、基本测试仪器(万用表、示波器等),检查用户系统硬件中存在的故障。硬件调试可分为静态调试与动态调试两步进行。静态调试是在用户系统未工作时的一种硬件检测。第一步:目测。检查外部的各种元件或者是电路是否有断点。第二步:用万用表测试。先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。第三步:加电检测。给板加电,检测所有插座或是器件的电源端是否符合要求的值 第四步:联机检查。因为只有用单片机开发系统才能完成对用户系统的调试。 动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。动态调试的一般方法是由近及远、由分到合。由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的器件全部
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 砸车安全测试题及答案
- 2025年国家电投黄河公司毕业生招聘考试笔试试题(含答案)
- 2025年甘肃天水师范大学招聘事业编制学生专职辅导员笔试考试试题(含答案)
- 2024年演出经纪人继续教育题库及答案【各地真题】
- 2024年事业单位考试古县A类《职业能力倾向测验》统考试题含解析
- 消防安全知识培训模拟试题及参考答案
- 卫生院过敏性休克、急性心梗的急救与护理培训考试试题(附答案)
- 传染病及突发公共卫生事件试题及答案
- 2024水利安全员考试题题库及答案
- 标准理论基础知识培训课件
- 2025届江苏省苏州地区学校英语八年级第二学期期末联考试题含答案
- 信息化项目监理规划
- TAOPA《固定式无人机反制设备技术规范》
- 新生儿院感管理
- 保洁用品采购管理制度
- 中国石油独山子石化分公司32万吨-年苯乙烯装置扩能改造项目环评报告
- 英语教师遴选试题及答案
- 胸痹的中医治疗
- 人流术后的护理及健康宣教
- 财务岗位笔试题目及答案
- 兵团两委考试试题及答案
评论
0/150
提交评论