ImageVerifierCode 换一换
格式:DOCX , 页数:43 ,大小:2.90MB ,
资源ID:19224588      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19224588.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(定时消毒碗柜课程设计报告文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

定时消毒碗柜课程设计报告文档格式.docx

1、(5) 课程设计报告 (6)答辩情况目录:一题目4页二问题的提出4页三总体设计4页四详细设计5页五调试程序的方法8页六你所设计的程序最终完成的功能9页七对该设计题目有何更完善的方案12页八收获及心得体会12页九附录:程序清单13页河北工业大学计算机硬件技术基础(2010)课程设计报告学院理学院班级物理C071成绩姓名梁少锋学号073009同组人陶磊073012一、题目用单片机模拟消毒碗柜的工作过程+液晶显示(03)二、问题的提出定时消毒碗柜是现代化生活中不可缺少的电器,给家庭生活带来方便和卫生。这个学期我们学习了单片机硬件技术技术这门课,从中获益匪浅,希望将所学得以应用。于是设计了这样一个程序

2、来模拟定时消毒的目的。(1) 培养综合运用所学单片机知识来解决生活中常见问题的能力。(2) 掌握单片机的接口技术及相关外围芯片的外特性和控制方法。(3) 通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。(4)进一步加深对MCS-51单片机内部结构和程序设计方法的理解。三、总体设计1、 分析问题的功能(1)通过软件编程利用8051单片机内部定时器实现对消毒的定时,开关模拟消毒柜的门,外部中断实现消毒开始命令。(2)设计中加入了液晶的同步显示,可以提示用户消毒的状态,如进行、暂停、结束。2、系统总体结构设计(1)硬件设计:根据问题需要确定单片机、I/O接口、定时器、I/O设备、中断等

3、设备设备的应用;实验平台是DP-51PROC实验箱,用的是TKSMONITOR51仿真器,采用NXP(founded by Philips)的P89C52X2型号单片机,晶振频率为11.0592MHz。用到的I/O接口有P0.0,P0.1,P0.2,P1, P2.0,P2.1,P2.2,P3.2,P3.5等,用到了外部中断INT0、INT1,内部定时器计数器T/C0、T/C1,锁存器,74LS138译码器,输出设备有:液晶屏、蜂鸣器、LED灯、输入设备:1*8按键中的KEY1、KEY2,开关SW1。(2)软件设计:主要功能分两大模块,即定时模块,液晶显示模块.其中定时为主要模块,在定时的过程中

4、根据需要调用液晶显示,并进行蜂鸣提醒。四、详细设计:1、硬件详细设计:1)1液晶显示部分电路图;1)2八段显示和消毒部分电路图:2)进行硬件资源分配(包括I/O口地址、所用各存储单元的用途)。用途介绍: (1)SDA为总线定义,串行数据存取位;SCL为总线定义,串行时钟位;RST为MCU复位输出信号,低电平复位ZLG7290,用于倒计时的显示。 (2)P1.4与开关相连,控制门的关闭;INT1与按键1相连,控制消毒按钮,P1.2与LED1相连,根据亮灭判断门的开关;P1.3与LED2相连,判断消毒状态的进行;整个相连用于消毒过程。(3)P0与P2口为外部总线扩展,其中P0口接锁存器后组成地址总

5、线的低八位,低八位中的低三位分别接液晶屏的D/I,R/W,CS1控制端口,P0口不接锁存器直接与液晶屏的数据接口(DB0DB7)相连。P2口为地址总线的高八位,用于选择液晶屏的右半屏,其中实验箱内部已将CS1与CS2进行非链接,可以保证同时只会有一块显示屏被选中。P3.2使用第二功能外部中断0,用来控制屏幕的切换。P1.0用于控制液晶屏的复位操作。总体用来静态和动态显示消毒状态,实现了液晶的显示。下面以表格的形式列出所有的硬件连接:串行口器件引脚P1.0液晶RSTP1.1T1P1.2LED1P1.3LED2P1.4SW1P3.1BUZZP3.2(INT0)KEY2P3.3(INT1)KEY1P

6、3.4(T0)不接线P3.5(T1)A0D/IA1R/WA2CS1Y0CSA15G2AA14G2BA13G1A12CA11BA10A2、 软件详细设计:按各功能模块进行程序设计,并说明各功能模块的实现方法。3、设计中的主要困难及解决方案在将液晶显示糅合在程序中时,前三张的静态显示可以正常运行,后边的动态显示无法调用,后来发现是主程序和液晶显示所用的存储单元和地址有冲突,经过调整,程序正常。五、调试程序的方法硬件调试方法(确定硬件工作是否正常)在进行实验之前要对所用到的硬件进行检测,看其是否完好。再有“图形点阵液晶显示屏驱动参考程序看液晶显示屏及KYE1是否能正常工作。在检验个部分都能工作后再由

7、此硬件进行设计实验。特别应注意的是在进行硬件连线一定得在断电的情况下进行,否则容易烧坏仪器。软件调试方法(如何调试程序的方法)在程序无法正常运行的时候,采用单步运行,查看每一步程序时是否正常,发现不能执行的地方就是问题的所在;在某个功能不能运行的时候,采用执行到光标处指令,如不能正常跳转,应是循环出现问题或子程序有错误。比如,在开始调用液晶静态图行的时候,调用完,不能继续执行后边的程序,经研究发现是液晶显示子程序中有死循环,不能跳出,修改后便正常了。六、你所设计的程序最终完成的功能(1)我们所编制的定时消毒碗柜+液晶显示程序,首先可以实现对放入其中的碗筷进行定时消毒,并在柜门被中途打开时停止消

8、毒,防止臭氧的扩散,同时可以用液晶显示同步提示用户现在消毒所处的状态,最后消毒完成时会有蜂鸣提示。准备的测试数据,将以图解说明。七、对该设计题目有何更完善的方案1、对自己完成程序进行自我评价。程序在基本要求的基础上,进行了全面的创新,包含了基本的单片机知识点,融会贯通。将中断控制消毒以及中断级联延时等各个方面融到一起,液晶动态显示融入其中,达到了较高的单片机应用与创新水平。对本次课程设计,我们倾注了很大的心血,使任务书中所要求的功能圆满的实现,并在此的基础上,加入了创新功能,如液晶同步显示及蜂鸣器的提示音等,使消毒碗柜更加贴近生活,贴近实际应用。此外这个设计还可以应用到其他需要计时及显示的用具

9、中,大大增加其使用价值。2、对课题提出更完善的方案。定时消毒碗柜基本程序简单,却运用的知识广泛,在此基础上可以将其它的课题和此课题合二为一,运用中断的嵌套等解决问题。八、收获及心得体会1、通过本次课程设计,自己在哪些方面的能力有所提高。对单片机的基本理论有了更深刻的理解和掌握,通过查阅资料和文件,扩大了自己又一个领域的知识面,掌握了一门新的技能。在编程的过程中,逻辑思维能力及实践能力,创新能力,合作能力以及学习能力都得到了全面的提高。2、收获和心得体会。首先,谢谢赵老师在这半年来对我们的谆谆教导,不仅仅是在学习方面,更重要的是老师让我们学会了创新,学会了自己思维,动手的能力,并且在人生观、价值

10、观给予了很多很多耐人寻味的道理。通过这门课程的学习,我懂得了要努力去争取,努力去创造,正直加奋斗才等于成功。最后希望老师身体健康、万事如意!日期: 2010年 月 日 程序清单: LCD_WR_CMD1 XDATA 2004H ;THE CONSTANTS OF THE COMMAND,THE 1 REPRESENT THE LEFT LCD_WR_DATA1 XDATA 2005H SCREEN,AND THE 2 REPRESENT THE RIGHT SCREEN LCD_WR_CMD2 XDATA 2000H LCD_WR_DATA2 XDATA 2001H LCD_IS_BUSY1

11、XDATA 2006H LCD_IS_BUSY2 XDATA 2002H LCD_RST BIT P1.0 LCD_DISP_ON EQU 3FH THE EQU IS THE CONSTANTS AND THE DATA IS THE VARIABLES LCD_DISP_CLR EQU 00H LCD_ADDZ_ZERO EQU 0C0H THE FIRST DISPLAY LINE LCD_ADDX_ZERO EQU 0B8H LCD_ADDX_END EQU 0C0H LCD_ADDY_ZERO EQU 40H LCD_DISP_BUF DATA 0EH LCD_DATA_BUF DA

12、TA 02H LCD_CMD_BUF DATA 02H LCD_X DATA 08H THE LEFT-UP LOCATIONS IN THE X-COORDINATE LCD_Y DATA 09H SIZE_X DATA 0AH SIZE_X*8 IS THE DISPLAYED AREAS SIZE IN THE ROW DIRECTION SIZE_Y DATA 0BH THE DISPLAYED AREAS SIZE IN THE COLMUN DIRECTION START_X DATA 0CH IN THE ACTIVE DISPALY,ITS THE FIRST AREAS LC

13、D_X START_Y DATA 0DH ORG 8000H LJMP MAIN ORG 8003H SETB F0 RETI ORG 8013H ;外部中断1入口地址 LJMP TOP1 ORG 800BH ;定时器0入口地址 LJMP TOP3 ORG 801BH ;定时器1入口地址LJMP TOP5 ORG 8100H-主程序如下:MAIN: MOV SP,#70H ;堆栈区从70H开始 SETB EA SETB EX0 SETB IT0 CLR F0 ACALL LCD_INIT LCALL FIRST_SCREEN LCALL SECOND_SCREEN LCALL THIRD_SC

14、REEN MOV TMOD,#51H ;1为计数0为定时 MOV TH1,#0FFH ;计数100个 MOV TL1,#9CH MOV TH0,#3CH ;延时50ms MOV TL0,#0B0H MOV IE,#10001111B ;申请中断 CLR RS0 SETB RS1 SETB IT1 ;采用边缘触发 外部中断1下降眼厨房 SETB P1.2 ;门显示灯 (灭) SETB P1.3 ;消毒指示灯 CLR P1.1 ;100ms的脉冲 (CLR清0)WELL: JB P1.0,WELL1 ;不断判断门的状态等待中断 判断P1.0是1,如果是1就条到WELL1,如果是0 就顺序执行 SE

15、TB P1.2 SJMP WELLWELL1: CLR P1.2 AJMP WELLTOP1: JNB P1.0,TOP2 ;门中断触发判断触发方式(JNB 0的时候转到TOP2 1的时候就一直执行) LJMP NEXTTOP2: SETB P1.2 ;关门启动定时器0 SETB TR0 ;kai zhong duan 1wei kai tiao dao CLR P1.3 SETB TR1 LCALL FIVE_SCREENNEXT: RETI ;恢复到中断处TOP3: CLR P1.3 ;消毒指示灯打开 JB P1.0,TOP4 CPL P1.1 ;每50ms取反一次 wei le gei

16、p1.1 yi ge mai chong MOV TH0,#3CH ;重新赋值 LJMP NEXT1TOP4: CLR TR0 ;判断门转移 CLR TR1 SETB P1.3 CLR P1.2 NEXT1:RETITOP5: CLR TR0 ; 定时器1中断 CLR TR1 SETB P1.3 MOV TH1,#0FFH ; MOV TL0,#0B0H LCALL SIX-SCREENdelay2: MOV 7BH,0FFH LCALL DELAY1 djnz 7BH,DELAY2 LCALL FOUTH_SCREEN mov 35h,#05h DELAY1: MOV 34H,#05H DJ

17、NZ 34H,$ DJNZ 35H,DELAY1 RET RETI DELAY4: MOV R5,#00H DELAY4_L1: MOV R4,#00H DJNZ R4,$ DJNZ R5,DELAY4_L1 RETDELAY10: MOV R3,#01H DL1: MOV R4,#01H DL2: MOV R5,#0FH DJNZ R5,$ DJNZ R4,DL2 DJNZ R3,DL1DELAY50: MOV R3,#04H DL11: MOV R4,#0FH DL22: MOV R5,#0AFH DJNZ R4,DL22 DJNZ R3,DL11DELAY100: MOV R3,#06H

18、 DL111: MOV R4,#0FFH DL222: MOV R5,#0FFH DJNZ R4,DL222 DJNZ R3,DL111 RET IS_BUSY1: ;NO PARAMETER PUSH DPH PUSH DPL MOV DPTR,#LCD_IS_BUSY1 MOVX A,DPTR JB ACC.7,IS_BUSY1 POP DPL POP DPHIS_BUSY2: MOV DPTR,#LCD_IS_BUSY2 JB ACC.7,IS_BUSY2WR_CMD1: ;THE INPUT PARAMETER IS LCD_CMD_BUF ACALL IS_BUSY1 MOV DPT

19、R,#LCD_WR_CMD1 MOV A,LCD_CMD_BUF MOVX DPTR,AWR_CMD2: ACALL IS_BUSY2 MOV DPTR,#LCD_WR_CMD2WR_DATA1: ;THE INPUT PARAMETER IS THE LCD_CMD_BUF MOV DPTR,#LCD_WR_DATA1 MOV A,LCD_DATA_BUFWR_DATA2: MOV DPTR,#LCD_WR_DATA2DISP_ALL1:THE INPUT PARAMETER IS LCD_DISP_BUF MOV LCD_CMD_BUF,#LCD_ADDZ_ZERO ACALL WR_CM

20、D1 MOV LCD_CMD_BUF,#LCD_ADDX_ZERO REP_X1: PUSH LCD_CMD_BUF MOV LCD_CMD_BUF,#LCD_ADDY_ZERO MOV R3,#40H ;EACH SCREEN HAVE 64 COLMUNS REP_Y1: MOV LCD_DATA_BUF,LCD_DISP_BUF ACALL WR_DATA1 DJNZ R3,REP_Y1 POP LCD_CMD_BUF INC LCD_CMD_BUF CJNE A,#LCD_ADDX_END,REP_X1DISP_ALL2: ACALL WR_CMD2 REP_X2: MOV R3,#4

21、0H REP_Y2: ACALL WR_DATA2 DJNZ R3,REP_Y2 CJNE A,#LCD_ADDX_END,REP_X2LCD_INIT: ; CLR LCD_RST ACALL DELAY50 SETB LCD_RST MOV LCD_CMD_BUF,#LCD_DISP_ON MOV LCD_DISP_BUF,#LCD_DISP_CLR ACALL DISP_ALL1 ACALL DISP_ALL2PRINTE: ;THE INPUT PARAMETERS ARE LCD_X,LCD_Y,DPTR,SIZE_X,SIZE_Y MOV R4,SIZE_X REP_X: MOV A,LCD_X ADD A,#LCD_ADDX_ZERO MOV LCD_CMD_BUF,A MOV R3,SIZE_Y PUSH LCD_Y REP_Y:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1