




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
宁波理工学院 课程设计(单片机) 题 目 洗衣机部分功能控制设计 姓 名 学 号 专业班级 10通信工程1班 指导教师 分 院 信息科学与工程学院 完成日期 2013年5月31日 目 录第1章 电路组成11.1 AT89C51芯片11.1.1 AT89C51的结构11.1.2 AT89C51的引脚功能11.2 复位电路31.3 时钟31.4 报警系统41.5 洗衣机工作模式显示41.6 按键控制模块51.7 洗衣机显示模块5第2章 软件控制62.1 主程序设计62.2 动态数码管显示控制72.3 状态选择按键的控制72.4 暂停按键的控制82.5 定时器设置82.6 蜂鸣器控制9附 录11附录一11附录二11I第1章 电路组成1.1 AT89C51芯片1.1.1 AT89C51的结构AT89C51 的封装形式是DIP40。如图1.1所示。图1.1 AT89C51的封装形式1.1.2 AT89C51的引脚功能1. Vcc:电源电压2. GND:接地3. P0口P0口是一组8位漏极开路型双向I0口,也即地址数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗转入端用。4. Pl口P1是个带内部上拉电阻的8位双向IO口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。5. P2口P2是一个带有内部上拉电阻的8位双向IO口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。6. P3口可以作为输入/输出口,外接输入/输出设备;作为第二功能使用,每一位功能定义如表1.1所示。表1.1 P3口的第二功能7. RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。8. ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振器频率的16输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。9. PSEN程序存储允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。10. EAVPPEA 0,单片机只访问外部程序存储器。EA 1,单片机访问内部程序存储器。11. XTAL1振荡器反相放大器的及内部时钟发生器的输入端。12. XTAL2振荡器反相放大器的输出端。1.2 复位电路如图1.2所示上电复位/按键式复位电路电路图。当加电时,电容C3上的电压不能突变,RST引脚为高电平,开始复位;电容C不断充电,电阻R上的压降逐渐下降,当电容C充满电后,电路相当于开路,复位结束。复位的时间与充电的时间有关,充电时间越长复位时间越长,增大电容或电阻都可以增加复位的时间。另外当按键按下时,通过两电阻分压,使RST端产生高电平。按键按下的时间决定了复位的时间。图1.2 上电复位/按键式复位电路1.3 时钟如图1.3所示是单片机时钟电路。时钟电路是由振荡器和分频器组成,振荡器产生基本的振荡信号,然后进行分频,得到相应的时钟。此次大作业我用的是内部振荡器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。把放大器与作为反馈元器件的晶体振荡器和陶瓷电容连接,就构成了自激振荡器,其输出就是时钟脉冲。图1.3 内部振荡器电路 1.4 报警系统如图1.4所示是设计的报警系统,它的作用是当洗衣机工序全部完成时进行报警。电路主要有PNP和蜂鸣器组成。其中PNP三极管是起到放大电流的作用,使有足够的电流驱动蜂鸣器报警。另外三极管基极接在P1.5口,低电平有效,至P1.5为低电平时,蜂鸣器鸣叫。图1.4 洗衣机报警系统1.5 洗衣机工作模式显示如图1.5为设计的洗衣机工作模式显示模块,该模块由三盏LED灯和三个220欧姆的电阻组成,电阻起到限流的作用,从而保护LED灯。三盏灯分别接在P1.0,P1.1,P1.2,低电平有效,通过控制该三个位的高低电平来控制三盏灯的亮灭。图1.5 洗衣机工作模式显示模块1.6 按键控制模块如图1.6为洗衣机的按键控制模块,该模块设有三个按键,分别的作用是启动洗衣机,暂停,洗衣机工作模式选择。三个按键的控制位分别为P1.7,P3.2,P3.3,其中P3.2,P3.3为外部中断0和外部中断1。P1.7在程序中是扫描按键,通过判断P1.7位是否变为低电平来判断按键被按下。P3.2是暂停功能,它是通过取反定时器TR0来实现的。P3.3是工作模式选择,它是通过一个寄存器R3作为标志来告诉洗衣机该运行哪个状态。图1.6 洗衣机按键控制模块1.7 洗衣机显示模块图1.7是洗衣机工作计时显示模块,该模块由一个动态扫描数码管组成,其中P2口的P2.0,P2.1,P2.2,P2.3控制动态扫描数码管哪个位显示,P0口用来控制动态数码管显示的数字。该动态扫描管是共阴数码管,所以驱动数码管的亮灭是低电平有效为亮,反之为灭。另外电路中接的8个电阻是因为P0口做输出时必须接上拉电阻,否则会呈高阻态。图1.7 洗衣机显示模块第2章 软件控制2.1 主程序设计主程序由四部分组成,分别是外部中断0控制暂停,外部中断1控制状态选择,同时P1.7来控制进入主程序。进入主程序时利用寄存器R3来判断哪个LED亮,同时开启定时器以及外部中断0,另外关闭外部中断1来保护状态正常运行,防止误按状态选择按钮。当定时器50ms到时进入定时器中断,此时先利用R3判断倒计时的时间,然后进行减一运算,期间如果有外部中断0请求,则进入外部中断0程序,取反TR0来关闭或开启定时器,达到暂停的功能。当状态三运行完毕时将蜂鸣器的控制位P1.5至低电平使它鸣叫,延时1秒,将它至高电平使它停止鸣叫,同时也延时1秒,如此循环3次从而实现“嘀”“嘀”“嘀”鸣叫3下的报警功能。2.2 动态数码管显示控制用寄存器R1来给P2口,从而来控制显示的位,用寄存器R0来存放倒计时时间存放的地址,并用除法取数据的高位和地位,代码如下:XIANSHI: MOV B,#10 ;显示子程序 MOV P2,R1 MOV A,R0 DIV AB MOV DPTR,#TAB MOVC A,A+DPTR ;查段码表 MOV P0,A LCALL DELAY LCALL YIWEI MOV P2,R1 MOV A,B MOV DPTR,#TAB MOVC A,A+DPTR ;查段码表 MOV P0,A LCALL DELAY RETYIWEI: MOV A,R1 ;移位子程序 RL A MOV R1,A RET2.3 状态选择按键的控制 开启外部中断1的中断允许位EX1,设置触发方式脉冲触发,开启总中断EA,收到外部中断1请求的信号进入中断,R3状态标志位加1,然后进行判断来点亮哪种状态的LED灯,程序如下: SETB EA SETB EX1 SETB IT1ANJIAN2:JNB P3.3,ANJIAN2 ;按键松掉为1,程序顺序执行 INC R3 CJNE R3,#00,D1 SETB P1.2 CLR P1.0D1: CJNE R3,#01,D2 SETB P1.0 CLR P1.1D2: CJNE R3,#02,D3 SETB P1.1 CLR P1.2D3: CJNE R3,#03,EXIT2 SETB P1.2 MOV R3,#0FFHEXIT2:RETI2.4 暂停按键的控制暂停按键的控制只需对TR0定时器开关控制位取反就行,另外设置外部中断0中断允许控制位EX0及它的触发方式IT0为1,同时开启总中断。代码如下:SETB EASETB EX0SETB IT0ANJIAN:CPL TR0 ;暂停按键控制 RETI2.5 定时器设置通过TH0和TL0来设置定时器的时间,通过TMOD设置定时器的工作方式,设置定时器T0溢出中断允许位,开启定时器运行控制位,另外中断响应程序里利用R3寄存器标志位来判断倒计时的时间以及点亮哪盏LED灯,代码如下: SETB EAMOV TH0,#3CHMOV TL0,#0B0HMOV TMOD,#01H SETB TR0 SETB ET0T1: PUSH ACC MOV TH0,#3CH MOV TL0,#0B0H ;重置初始值 DJNZ R2,EXIT MOV R2,#20 CLR C CJNE R3,#0FFH,L0 INC R3L0: CJNE R3,#00,L1 ;洗衣机状态1倒计时 MOV A,50H SUBB A,#01H MOV 50H,A CJNE A,#0FFH,EXIT INC R0L1: CJNE R3,#01,L2 ;状态2倒计时 MOV A,51H SUBB A,#01H MOV 51H,A CJNE A,#0FFH,EXIT INC R0L2: CJNE R3,#02,L3 ;状态3倒计时 MOV A,52H SUBB A,#01H MOV 52H,A CJNE A,#0FFH,EXITL3:CJNE R3,#03,EXIT MOV R3,#0FFHEXIT: CJNE A,#0FFH,OUT INC R3OUT: POP ACC ;退出中断 RETI2.6 蜂鸣器控制蜂鸣器控制是给控制位P1.5低电平鸣叫,高电平蜂鸣器不工作。实现的代码如下: MOV R3,#00 CLR P1.5 LCALL DELAY1S SETB P1.5 LCALL DELAY1S INC R3 CJNE R3,#03,H4 SETB P1.5 SJMP $附 录附录一1. 总设计图附录二1. 实验代码ORG 0000H LJMP STARTORG 0003H;定时中断 AJMP ANJIANORG 000BH;外部中断0 AJMP T1ORG 0013H;外部中断1 AJMP ANJIAN2ORG 0030HSTART: MOV R1,#0FEH ;7SEG-MPX4-CC四个公阴二极管显示器1234是阴公共;端,至1号数码管亮 ; MOV R0,#50H ;用于控制显示哪个状态倒计时 MOV 50H,#02H;状态一计数时间 MOV 51H,#04H;状态二计数时间 MOV 52H,#05H ;状态三计数时间 MOV R2,#20 MOV R3,#0FFH ;判断洗衣机工作的状态 SETB EA;打开总中断 SETB EX1;允许外部中断1中断 SETB IT1;外部中断1下降沿有效MAIN: JB P1.7,MAIN;P1.7为1时跳转,为0时顺序执行 LCALL DELAY05 JB P1.7,MAIN CLR EX1;关闭外部中断1允许位,防止洗衣机在工作时误按该按;键而是洗衣机工作出错 CJNE R3,#0FFH,S0;判断R3是否为0FFH,是顺序执行程序 INC R3 CLR P1.0S0: CJNE R3,#00,S1 ;洗衣机1号状态 MOV R0,#50H;将50H内容给R0,从而显示一号状态的倒计时S1:CJNE R3,#01,S2 ;洗衣机2号状态 MOV R0,#51HS2:CJNE R3,#02,S3 ;洗衣机3号状态 MOV R0,#52HS3: MOV TH0,#3CH;定时器定时50ms MOV TL0,#0B0H MOV TMOD,#01H ;定时器一号模式 SETB TR0;启动定时器计数 SETB ET0;允许T0中断 SETB IT0;外部中断0下降沿触发 SETB EX0;外部中断0中断位LOP: MOV R1,#0FEH;lop为扫描程序,未有中断响应一直工作在此状态 LCALL XIANSHI CJNE R3,#00,H1;洗衣机状态1,点亮第一盏灯,同时关闭前一盏灯 SETB P1.2 CLR P1.0H1: CJNE R3,#01,H2 SETB P1.0 CLR P1.1H2: CJNE R3,#02,H3 SETB P1.1 CLR P1.2H3: CJNE R3,#03H,LOP ;判断是否已完成最后的状态,完成则进行蜂鸣器鸣 ;叫 MOV P2,#0FFH MOV R3,#00H4: CLR P1.5 LCALL DELAY1S SETB P1.5 LCALL DELAY1S INC R3 CJNE R3,#03,H4 SETB P1.5 SETB P1.2 SJMP $ ;MOV 50H,#02 ;到R1为止全为初始化 ;MOV 51H,#04 ;MOV 52H,#05 ;MOV R0,#50H ;MOV R3,#00H ;MOV R1,#0FEH ;LJMP LOPXIANSHI: MOV B,#10 ;显示子程序 MOV P2,R1 MOV A,R0 DIV AB MOV DPTR,#TAB MOVC A,A+DPTR ;查段码表 MOV P0,A LCALL DELAY LCALL YIWEI MOV P2,R1 MOV A,B MOV DPTR,#TAB MOVC A,A+DPTR ;查段码表 MOV P0,A LCALL DELAY RETYIWEI: MOV A,R1 ;移位子程序 RL A MOV R1,A RETANJIAN:CPL TR0 ;暂停按键控制 RETIANJIAN2:JNB P3.3,ANJIAN2 ;按键松掉为1,程序顺序执行 INC R3 CJNE R3,#00,D1;选择模式1,则相应的点亮第一盏小灯 SETB P1.2 CLR P1.0D1: CJNE R3,#01,D2 SETB P1.0 CLR P1.1D2: CJNE R3,#02,D3 SETB P1.1 CLR P1.2D3: CJNE R3,#03,EXIT2 SETB P1.2 MOV R3,#0FFHEXIT2:RETIT1: PUSH ACC;T1为定时器中断响应程序 MOV TH0,#3CH MOV TL0,#0B0H ;重置初始值 DJNZ R2,EXIT MOV R2,#20 CLR C CJNE R3,#0FFH,L0 INC R3L0: CJNE R3,#00,L1 ;洗衣机状态1倒计时 MOV A,50H SUBB A,#01H MOV 50H,A CJNE A,#0FFH,EXIT INC R0L1: CJNE R3,#
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 押题宝典教师招聘之《小学教师招聘》模考模拟试题及参考答案详解(培优b卷)
- 教师招聘之《小学教师招聘》从业资格考试真题附完整答案详解(易错题)
- 教师招聘之《小学教师招聘》能力测试B卷附答案详解(完整版)
- 2025年教师招聘之《幼儿教师招聘》考前冲刺模拟题库附答案详解【考试直接用】
- 报关实习总结心得
- 2025年教师招聘之《小学教师招聘》综合提升练习题附答案详解(考试直接用)
- 2025年教师招聘之《小学教师招聘》练习试题含完整答案详解【名校卷】
- 2025年翻译资格证(NAATI)考试题库(附答案和详细解析)
- 2025年时事政治考试100题及答案
- 合肥市生育保险与职工基本医疗保险合并实施:成效、挑战与优化路径
- 秋形势与政策正确认识中国经济热点问题-教案2025版本
- 药品注册审评员考核试题及答案
- GB/T 7251.10-2025低压成套开关设备和控制设备第10部分:规定成套设备的指南
- 森林防灭火知识培训材料课件
- 成本管控的课件
- 2025年全国中小学校党组织书记网络培训示范班在线考试题库及答案
- CT检查的课件教学课件
- 2025年学校意识形态工作要点
- 领导科学概论课件
- 煤矿安全规程(防治水)课件
- 疥疮防与治课件
评论
0/150
提交评论