《单片机实训报告》word版.doc

2021-08-09 01:08:45yan128780 KB16页 约9.33千字金币:250 点击下载

文本预览:精品.成都航空职业技术学院 《单片机技术与应用》实习报告 (2011-2012学年第一学期)课程名称: __________ 课程代码:_________ 系 别:__________ 专 业:__________ 班 级:__________ 学 号:__________ 学生姓名:__________ 指导老师:__________ 完成时间:__________年__________月__________日一、教学实训的性质和目的1、性质微机原理与接口技术是根据教学计划安排的,以培养学生利用单片机进行电子设计能力为中心的综合性实习。2、目的通过《单片机接口技术》教学实训,提高学生的电子设计能力;加强分析问题和解决问题的能力;巩固和加深理解所学的理论知识;培养理论联系实际、实事求是、严肃认真的工作作风和科学态度。二、教学实训的基本要求通过微机原理教学实训要达到以下基本能力要求:专业能力单片机系统硬件电路的设计能力;单片机系统硬件电路的基本测试能力;使用仿真器、编程器等单片机开发工具的技能;采用单片机开发控制系统的基本能力;单片机系统资源的应用能力;单片机指令系统的基本编程能力;程序设计框图的应用;使用仿真器、编程器等单片机开发工具的技能;采用单片机系统程序设计的基本能力;掌握一种单片机仿真软件的基本应用能力。方法和学习能力拓展相应的信息收集和应用能力;思考和解决问题的能力;学会系统设计方法和严谨工作态度;程序设计思路及编制方法、思考和解决问题的能力。个人和社会能力通过分组实施,提高学生的沟通能力、团队合作及协调能力;通过实际电路的搭建及测试,提高学生的细心、耐心和责任意识;通过程序设计与调试,提高学生严谨的逻辑思路,慎密的工作方式和强烈的责任意识。三、教学实训的内容硬件电路要求用89C51单片机设计一个系统,具有6个数码管,按键若干,指示灯1个任务一系统运行后,六个数码管分别显示0、1、2、3、4、5。任务二按键1,系统显示888888;按键2,显示888888,并闪烁;按键3,轮流显示000000至999999;按键4,恢复显示HELLO.任务三系统倒计时,重9开始减,没过1秒钟减1,当减到0时,计时停止,指示灯闪烁。任务四系统运行后,自动显示时、分、秒任务五1.编写程序,使系统运行后后自动显示时、分、秒; 2.通过按键能修改时间(“+”键或“-”键)。四、实施步骤1、分析 根据项目要求,利用网络、书籍等手段广泛查阅,收集相关资料。研究、学习资料中的内容和知识,获取项目设计的有价值的信息。2、计划与决策 根据获取的信息,制定出完成项目任务的各种方案。并找出其中的最佳方案进行详细设计,包括方案叙述、硬件描述、软件功能、流程图、软件代码等。 3、实施 调试显示子程序;调试定时显示子程序;调试键盘子程序;调试键盘控制显示子程序;调试主程序;撰写实训报告。4、评估检查功能是否满足预期要求。 5、总结 组成工作小组,进行汇报和讨论,通过组内互评和教师评价,分析设计中出现的问题,以及设计中应用的技术关键。五、任务设计 (1)任务一实训要求:写一个完整的运行程序,使原理图按要求进行显示0、1、2、3、4、5。2元器件使用单片机(AT89C51),电阻(RES),按钮(BUTTON),瓷片电容(CAP),电解电容(CAP-ELEC),晶振(CRYSTAL),6个数码管的显示器(7SEG-MPX6-CC),八排电阻(RX8)。3、任务一的程序 ORG 0000H AJMP START ORG 0010HSTART:MOV P3,#0FFH MOV DPTR,#TAB 查表指令NEXT: MOV DPTR,#TAB CLR A A 清零 MOVC A,@A+DPTR 查字形码 MOV P0,A INC DPTR 指针加1 LCALL DELAY 延时 SETB 置1 CLR A A 清零 MOVC A,@A+DPTR 查字形码 MOV P0,A 把A 送入P0口 INC DPTR 指针加1 LCALL DELAY 延时 CLR CLR A MOVC A,@A+DPTR MOV P0,A INC DPTR LCALL DELAY SETB CLR CLR A MOVC A,@A+DPTR MOV P0,A INC DPTR LCALL DELAY SETB CLR CLR A MOVC A,@A+DPTR MOV P0,A INC DPTR LCALL DELAY SETB CLR CLR A MOVC A,@A+DPTR MOV P0,A LCALL DELAY SETB LJMP NEXTDELAY:MOV R5,#10 D1: MOV R6,#20D2: MOV R7,#20 DJNZ R7,$ DJNZ R6,D2 跳转执行下一步 DJNZ R5,D1 RETTAB: DB 3FH,06H,5BH,4FH,66H,6DH END4、原理图 (2)任务二1、实训要求:用89C51单片机设计一个系统,具有6个数码管,按键若干,指示灯1个,系统运行后,数码管显示HELLO;按键1,系统显示888888; 按键2,显示888888,并闪烁; 按键3,轮流显示000000至999999; 按键4,恢复显示HELLO.2元器件使用单片机(AT89C51),电阻(RES),按钮(BUTTON),瓷片电容(CAP),电解电容(CAP-ELEC),晶振(CRYSTAL),6个数码管的显示器(7SEG-MPX6-CC),八排电阻(RX8)。3、程序 DISBUFF EQU 40H 把40H赋给DISBUFFdisbit equ 30h 把30H赋给disbithello bit 20h.0 把定义数据寄存在20h org 000hajmp main org 000bhajmp interorg 30hmain: mov sp,#5fh mov p0,#0ffh mov p1,#0ffh mov p2,#0ffh mov p3,#0ffh mov r3,#00h setb hello clr shan_1 clr count clr shan mov tmod,#01h 选择工作方式 mov th0,#0ech mov tl0,#78h setb ea 总中断开放 setb et0 允许T0中断 setb tr0 开启T0定时器loop: lcall delay 延时 jb p1.0,key2 jb p1.0,$ clr hello clr shan clr count mov disbuff,#8 ajmp loopkey2: jb p1.1,key3 lcall delay jb p1.1,key3 jb p1.1,$ clr hello setb shan clr count mov disbuff,#8 key3: jb p1.2,key4 lcall delay jb p1.2,key4 jb p1.2,$ clr hello clr shan setb count mov disbuff,#0key4: jb p1.3,key_ret lcall delay jb p1.3,key_ret jb p1.3,$ setb hello clr shan clr count key_ret: ajmp loopinter: push acc 累加器入栈保护 push psw 状态字入栈保护 mov th0,#0ech mov tl0,#78hcounter:jnb count,disp inc r4 cjne r4,#50,disp inc disbuff mov a,disbuff cjne a,#10,disp mov disbuff,#00h disp: jnb hello,display1 mov dptr,#distabdisplay:mov p3,#0ffh mov a,disbit movc a,@a+dptr 查字形码 mov p0,a mov dptr,#distab2 mov
展开>> 收起<<