单片机课程设计实训报告_第1页
单片机课程设计实训报告_第2页
单片机课程设计实训报告_第3页
单片机课程设计实训报告_第4页
单片机课程设计实训报告_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 单片机系统课程设计报告单片机系统课程设计报告 专 业: 电子信息 09 电子 303 学 生 姓 名: 学学 号:号:2009540730312 2009540730314 2009540730336 2009540730308 指指 导导 教教 师:师: 完成日期:完成日期:2011 年年 06 月月 22 日日 2 一 序言序言 3 实训内容实训内容 1.0 广告灯 4 1.1 设计任务 4 1.2 语言程序4 1.3 原理图6 1.4 系统仿真 6 三三 实训课题实训课题 2.0秒表7 2.1 设计任务 7 2.2 语言程序7 2.3 系统仿真图9 四四 实训课题实训课题 3.0 按键

2、10 3.1 设计任务10 3.2 语言程序10 3.3 原理图11 3.4 系统仿真图12 五五 实训课题实训课题 4.0 交通灯 13 4.1 设计任务 13 4.2交通灯流程图14 4.3 语言程序14 4.4 系统仿真图16 4.5 检测与调试16 4.6 实物成品展示17 六六 心得体会心得体会.18 3 序言序言 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术 日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来 使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。 一一 、实训目地、实训目地 通过此次实

3、训,让我们掌握了单片机基本原理的基础、单片机的编程知识以及初步掌握 单片机应用系统开发实用技术,了解单总线的读/写控制方法。同时培养学生理论与实践相 结合的能力,提高分析问题和解决问题的能力,增强学生独立工作能力;培养学生团结合 作、共同探讨、共同前进的精神与严谨的科学作风。本次实训目的主要有以下几点: 1、熟悉单片机应用系统的开发、研制过程。 2、能运用 mcs-51 单片机进行简单的单片机应用系统的硬件设计。 3、能采用 mcs-51 单片机汇编语言进行简单的单片机应用系统的软件设计。 4、掌握单片机应用系统的硬件、软件调试方法。 5、熟悉单片机仿真开发系统的作用,基本掌握运用单片机仿真开

4、发系统进行在线 仿真、调试和目标程序固化的方法。 6、为今后从事单片机应用系统的开发、生产和维护工作奠定基础。 7 通过实物 焊接,掌握了各元器件的基本性质,在排查错误的同时锻炼了自己的调试能力。 8 进一步提高焊接技能。 二、实训时间:二、实训时间:16 周周18 周周 三实验要求:三实验要求: 1.运用单片机原理与应用的课程知识以及单片机单片机的知识编写程序。 2.注意单片机与 pc 机的连接使用。 3.结合理论知识分析在调试程序过程中出现的问题,及时解决相应的问题。 4.可以到图书馆或上网查阅参考资料。 5.用单片机实现十字路交通信号灯的控制,完成系统的软硬件设计及调试。 6.画出交通灯

5、的各元件的连接图,并模拟电路的运行。 7.将交通灯做成实物,完成焊接与调试过程。 8.总结交通灯控制电路的设计、安装与调试过程。 9.分析安装与调试中发现的问题及故障排除的方法 4 (一)广告灯(一)广告灯 1.1 设计任务: 任务一: 按 1-8、8-1 的顺序依次逐个点亮,任意时刻只有一个灯点亮; 循环点亮 1 次后灯全灭后,让所有灯同时闪烁 3 次; 灯全亮,然后按 1-8 的顺序依次熄灭一个灯,直到全灭; 再按 8-1 的顺序依次点亮,直到所有灯全亮; 灯全灭,同时从两头开始,依次各点亮一个灯并熄灭此前点亮的灯,即 1 和 8 亮, 熄灭后 2 和 7 亮,依此类推,最后灯全灭; 所有

6、偶数灯同时闪烁 3 次; 灯全灭,同时从两头开始,依次各点亮一个灯,直到所有灯全亮后,同时按 8-1、2- 7 的顺序依次各熄灭一个灯,直到灯全灭; 所有奇数灯同时闪烁 3 次; 重新按步骤走 1.2 汇编程序 main:mov r0,#8 mov r1,#8 mov p2,#0ah mov a,#0feh m0:mov p0,a lcall delay rl a djnz r0,m0 mov a,#7fh m1:mov p0,a lcall delay rr a djnz r1,m1 mov p0,#0ffh mov r3,#3 lcall delay m2:mov p0,#00h lcal

7、l delay1 mov p0,#0ffh lcall delay2 djnz r3,m2 mov p0,#00h mov r4,#8 mov dptr,#tb1 mov a,#0 m3:mov r1,a movc a,a+dptr mov p0,a lcall delay mov a,r1 inc a djnz r4,m3 mov r0,#8 mov dptr,#tb2 mov a,#0 m4:mov r1,a movc a,a+dptr mov p0,a lcall delay mov a,r1 inc a 5 djnz r0,m4 mov p0,#0ffh lcall delay mov

8、 r0,#5 mov dptr,#tb3 mov a,#0 m5:mov r1,a movc a,a+dptr mov p0,a lcall delay mov a,r1 inc a djnz r0,m5 mov r0,#3 m6:mov p0,#55h lcall delay1 mov p0,#0ffh lcall delay2 djnz r0,m6 mov r0,#8 mov dptr,#tb4 mov a,#0 m7:mov r1,a movc a,a+dptr mov p0,a lcall delay mov a,r1 inc a djnz r0,m7 mov r0,#3 m8:mov

9、 p0,#0aah lcall delay mov p0,#0ffh lcall delay djnz r0,m8 ljmp main delay: mov r5,#10 d0:mov r6,#100 d1:djnz r6,d1 djnz r5,d0 ret delay1: mov r5,#10 d2:mov r6,#250 d3:djnz r6,d3 djnz r5,d2 ret delay2: mov r5,#10 d4:mov r6,#200 d5:djnz r6,d5 djnz r5,d4 ret tb1: db 01h,03h,07h,0fh,1fh,3fh,7fh,0ffh tb2

10、: db 7fh,3fh,1fh,0fh,07h,03h,01h,00h tb3:db 7eh,0bdh,0dbh,0e7h,0ffh tb4: db 7eh,3ch,18h,00h,81h,0c3h,0e7h,0ffh end 1.3 原理图 6 1.5 系统仿真图 7 秒表秒表 21设计任务 设计一电子秒表,利用 3 个数码管显示,显示范围为 59.9-00.0 秒,精确到 0.1s。定时 时间采用定时器来做,利用第二行的第一个键(1) 、第一行的第一个键(2) 、第一行的第 二个键(6)分别代表清零、启动、暂停三个按键。 数码管的片选线低电平有效,对应 p2 口的值分别为 08、06、0

11、4、02(4-1 数码管) ,显示 0-9 对应的段码值为:edh,88h,0b5h,0b9h,0d8h,79h,7dh,0a8h,0fdh,0f9h 2.2 汇编程序 org 0000h ljmp main org 000bh ljmp loop0 main: mov r2,#6 mov tmod,#01h mov th0,#(65536-10000)/256 mov tl0,#(65536-10000)mod 256 setb ea setb et0 mov dptr,#tab mov r0,#0 mov r1,#0 mov r3,#0 wait:lcall mm mov p1,#0ffh

12、 clr p1.6 mov a,p1 anl a,#01h ;立即数与到累加器 xrl a,#01h ;立即数异或到累加器,和 下面一句构成判断第 1 行有没按键按下的 功能。 jz xx ;累加器为零转移到 lcall delay mov a,p1 anl a,#01h xrl a,#01h jz xx mov a,p1 anl a,#01h xrl a,#01h cjne a,#00h,zz ;累加器 a 与立即数不 等转移到 nk1; xx: mov a,p1 anl a,#10h xrl a,#10h cjne a,#00h,dd ;累加器 a 与立即数不等转移到 yy: mov a,

13、p1 anl a,#04h xrl a,#04h cjne a,#00h,ee ljmp wait zz:setb tr0 8 lcall mm ljmp xx dd: clr tr0 mov r0,#0 mov r1,#0 mov r3,#0 ljmp yy ee:clr tr0 ljmp wait loop0: djnz r2,loop2 mov r2,#6 inc r0 cjne r0,#10,loop2 mov r0,#0 inc r1 cjne r1,#10,loop2 mov r1,#0 inc r3 cjne r3,#6,loop2 mov r3,#0 loop2: mov th

14、0,#(65536-10000)/256 mov tl0,#(65536-10000)mod 256 reti mm: mov p2,#02h mov a,r0 movc a,a+dptr mov p0,a lcall delay mov p2,#04h mov a,r1 movc a,a+dptr mov p0,a setb p0.1 lcall delay mov p2,#06h mov a,r3 movc a,a+dptr mov p0,a lcall delay ret delay: mov r5,#50 dl0:mov r6,#10 dl1:djnz r6,dl1 djnz r5,d

15、l0 ret tab: db0edh,88h,0b5h,0b9h,0d8h,79h,7dh,0a8h,0fd h,0f9h end 9 2.4 系统仿真图 10 按键按键 3.1 设计任务设计任务 将开发板中的 2 行*5 列矩阵式按键对应的键值 0-9 在一位数码管中进行显示。下载程序 时用短路帽将 p1.5-k2,p1.6-k1 进行短接。 3.2.汇编程序 mov p2,#02h mov r0,#8 mov a,r0 mov dptr,#tab movc a,a+dptr mov p0,a lcall delay mm:mov p1,#0ffh clr p1.6 mov a,p1 anl

16、 a,#1fh xrl a,#1fh jz jj lcall delay mov a,p1 anl a,#1fh xrl a,#1fh jz jj mov a,p1 anl a,#1fh cjne a,#1eh,n1 mov r1,#0 ljmp dd n1: cjne a,#1dh,n2 mov r1,#1 ljmp dd n2: cjne a,#1bh,n3 mov r1,#2 ljmp dd n3: cjne a,#17h,n2 mov r1,#3 ljmp dd n4: cjne a,#0fh,n5 mov r1,#4 ljmp dd n5:nop dd: mov a,r1 mov d

17、ptr,#tab movc a,a+dptr mov p0,a jj:mov p1,#0ffh clr p1.6 mov a,p1 anl a,#1fh xrl a,#1fh lcall delay mov a,p1 anl a,#1fh xrl a,#1fh jz mm mov a,p1 anl a,#1fh cjne a,#1eh,n6 mov r1,#5 ljmp kk n6: cjne a,#1dh,n7 mov r1,#6 ljmp kk n7: cjne a,#1bh,n8 mov r1,#7 ljmp kk n8: cjne a,#17h,n9 mov r1,#8 11 ljmp

18、 kk n9: cjne a,#0fh,n10 mov r1,#9 ljmp kk n10:nop kk: mov a,r1 mov dptr,#tab movc a,a+dptr mov p0,a ljmp mm delay: mov r5,#10 dl0: mov r6,#10 dl1:djnz r6,dl1 djnz r5,dl0 ret tab: db 0edh,88h,0b5h,0b9h,0d8h,79h,7dh,0a8h,0fdh, 0f9h end 3.3 原理图原理图 12 3.4 系统仿真图 交通灯交通灯 4.1 设计任务 (1)基本功能: 在马路的十字路口东西南北各设置红、

19、黄、绿 3 种信号灯,4 个路口共 12 个信号灯。控制 的过程为:当东西方向通车时绿灯亮,而南北方向红灯亮;当通车的时间到后,东西方向 的绿灯灭,而黄灯亮,黄灯闪烁若干次后由东西方向换到南北方向通车。此时,东西方向 黄灯灭而红灯亮,南北方向红灯灭而绿灯亮,南北方向开始通车。通车时间到后,南北方 向绿灯灭,黄灯闪烁若干次后由南北方向切换到东西方向,南北方向黄灯灭,红灯亮;而 东西方向红灯灭,绿灯亮。如此不断循环。如下图所示: 北 绿 黄 红 红 红 西 黄 黄 东 绿 绿 绿 黄 红 13 南 (2)、扩展功能: 增设两个按钮,用于调整红、黄、绿灯的显示时间。 2、课题要求 (1)所有信号灯全

20、部用 5 发光二极管替代。 (2)单片机采用 89c51(内含 4kb 程序存储器,与 mcs-51 兼容) 。=12mhz。 f osc (3)延时时间用单片机的定时器实现。 (4)因 cmos 型单片机的拉电流很小,为了减少额外的驱动开销,所有发光二极管采用共 阳极接法。 4.2交通灯流程图 东西方向绿灯亮,南北方向红灯亮(15s) 东西方向的绿灯灭,南北方向的红灯灭 两车道黄灯亮(5s) 东西方向红灯亮,南北方向绿灯亮(15s) 东西方向的红灯灭,南北方向的绿灯灭 两车道黄灯亮(5s) 4.3 汇编程序 14 flag equ 23h shijian equ 30h ljmp mm or

21、g 0003h ljmp int_0 org 0013h ljmp int_1 org 001bh sjmp xs mm:mov tmod,#10h mov th1,#(65536-50000)/256 mov tl1,#(65536-50000)mod 256 mov r0,#20 mov dptr,#table clr flag;东西、南北路口红灯状态 标志位 mov r3,#10 mov shijian,r3;显示时间 setb et1 setb ex0 setb it0 setb ex1 setb it1 setb ea loop: mov p0,#2dh lcall delay1 m

22、ov p0,#3fh lcall delay1 jb p3.7,loop setb tr1 loop1: jb p3.7,loop2 setb tr1 loop2:lcall disp sjmp loop1 xs: djnz r0,fh mov r0,#20 dec shijian mov a,shijian cjne a,#0,fh mov shijian,r3 cpl flag /路口红灯显示标志位取反 fh: mov th1,#(65536-50000)/256 mov tl1,#(65536-50000)mod 256 reti disp: mov a,shijian ;数码管显示 m

23、ov b,#10 div ab movc a,a+dptr mov p1,#01h mov p2,a lcall delay mov a,b movc a,a+dptr mov p1,#02h mov p2,a lcall delay jb flag,dongxi /判别东西、南北 红灯的状态,flag=1 代表东西 红灯亮、南北绿灯亮 /flag=0 代表南北红灯亮、东西绿灯亮 15 nanbei: clr c /判别黄灯时间 5s 到否? mov a,shijian subb a,#6 jc hudeng /5s 到,转黄灯显 示 lvdeng: /5s 未到,南北 红灯亮、东西绿灯亮 m

24、ov p0,#33h sjmp fh1 hudeng: mov p0,#35h lcall delay1 mov p0,#37h lcall delay1 sjmp fh1 dongxi: /南北红灯亮、东西 绿灯亮 clr c /判别黄灯时间 5s 到 否? mov a,shijian subb a,#6 jc hudeng1 /5s 到,转黄灯显示 lvdeng1: /5s 未到,东西红灯 亮、南北绿灯亮 mov p0,#1eh sjmp fh1 hudeng1: mov p0,#2eh lcall delay1 mov p0,#3eh lcall delay1 fh1: ret int_

25、0:clr tr1 inc r3 mov a,r3 cjne a,#99,fh2 mov r3,#6 fh2:mov shijian,r3 reti int_1:clr tr1 dec r3 mov a,r3 cjne a,#6,fh3 mov r3,#99 fh3:mov shijian,r3 reti delay:mov r5,#40 dl1:mov r6,#50 dl2:djnz r6,dl2 djnz r5,dl1 ret 16 delay1:mov r1,#60 dl3:mov r2,#150 dl4:djnz r2,dl4 djnz r1,dl3 ret table:db 0c0h

26、,0f9h, 0a4h,0b0h,99h,92h,82h,0f8h,80h,90h end 4.4 系统仿真图 4.5 检测与调试 1、硬件调试: 硬件调试是利用开发系统、基本测试仪器(万用表、示波器等) ,检查用户系统硬件中存 在的故障,硬件调试可分为静态调试与动态调试两步进行。 静态调试 :静态调试是在用户系统未工作时的一种硬件检测。 静态调试的 第一步:目 测。检查外部的各种元件或者是电路是否有断点。 第二步用万用表测试。先用万用表复核 目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。 第三步加电检测。 给板加电,检测所有的插座或是器件的电源端是否符合要求的值 第四步是联

27、机检查。因为 只有用单片机开发系统才能完成对用户系统的调试。 动态调试 : 动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器 件内部故障、器件连接逻辑错误等的一种硬件检查。动态调试的一般方法是由近及远、由 分到合。 由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元 17 件无关的 器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。当 各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的 相互联系进行调试。由分到合的调试既告完成。 由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后

28、分层调试。调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了。 2、软件调试: 软件调试是通过对拥护程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错 误并加以排除纠正的过程。程序后,编辑,查看程序是否有逻辑的错误。 4.6 实物成品展示实物成品展示 心得体会心得体会 短短三周的实习过程使我受益匪浅,不仅是在专业知识方面,最主要是在怎样去解决编 程中出现的问题。通过这周的实训我明白了,社会在加速度地发生变化,对人才的要求也 越来越高,要用发展的眼光看问题,得不断提高思想认识,完善自己。作为一名新时代大 18 学生,要学会创新求变,以适应社会的需要。这次实习成长了不少,从中有不少感悟,下 面就是我的一点心得: 这次单片机程序设计,加强了我动手、思考和解决问题的能力。对电路原理和连接,和 keil uvision3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论