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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机实验报告.docx

1、单片机实验报告单片机原理及应用系统设计实验报告 专业:电子信息工程 班级: 信息0701学号: 09003070111 姓名: 陈 杰 目录1.设计内容 22.设计方案 23.总体设计 44.功能描述 55.功能测试 96.系统仿真原理图 97.试验目的 98、参考文献 109.附件: 101.设计内容:本设计是在车辆通行繁忙的十字交叉路口设置的交通灯控制系统,其特点是:在十字路口的支线、干线的车辆通行时间不等,同时设有道路应急控制。具体的情况是:在正常的情况下,通行道路时间设为15秒,禁行道路时间设为10秒;当通行线路绿转黄灯时设为5秒显示,并且黄灯要闪烁;并且设置中断程序,表示救护车来临时

2、的应急状态,此时东西,南北道路都变为红灯并显示10秒计时;并用1616点阵显示的相应字符,计时完毕后恢复之前的状态。道路通行与禁止通行以及救护车来临时的各个状态用1616点阵显示相应字符来显示;设计中以单片机为主控器,作适当的存储器,显示器,、六盏LED指示灯的扩展成一个路口交通灯控制系统。2.设计方案:(1)硬件设计(硬件结构图如下图所示)硬件系统在该系统中的作用主要是进行数据的传送,特殊状态的控制,有关逻辑的计算,并且提供显示,此外系统运行的安全可靠性要靠硬件系统来实现。硬件系统的设计主要包括下面的工作:东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安

3、全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。指示灯燃亮的方案如表2。60S5S80S5S东西道红灯亮黄灯亮绿灯亮黄灯亮南北道绿灯亮黄灯亮红灯亮黄灯亮 表2表2说明: (1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。时间为15秒。(2)黄灯闪烁5秒,警示车辆和行人红、绿灯的状态即将切换。 (3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。时间为10秒。(4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全

4、畅通的通行。硬件说明:a :用8段数码管动态显示东西和南北道路的禁止与通行秒数。对应4位8段数码管,按地址输出相应数据,就可以实现对显示器的控制。8位段码、8位位码是由两片74LS374输出。位码经MC1413倒相驱动后,选择相应显示位。b :配置6个L显示器:分别表示东西和南北方向道路的红、绿、黄灯。分别循环表示4种状态.c :用实验箱上的1616LED点阵显示器,编写显示符号字符程序,标志道路通行情况的显示.d :用实验箱上的负脉冲发生器,作为外部中断的输入信号。控制外部中断的发生。(2)软件设计设计说明:因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西

5、南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯转亮黄灯闪几次,延时5秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯转亮黄灯闪几次,延时5秒,南北仍然红灯。最后循环至状态1。各个状态对应显示字符。在该系统的软件设计中用到的是模块程序设计,主要的模块程序是显示的模块程序,它包括显示红绿灯的时间倒计时和各个状态的表示字符的转换。通过软件分块的设计使系统功能明了容易实现.正常显示状态:动态显示车辆通行时间,其格式大致为(包括应急状态时的显示);以及显示响应字符: 南北通行时间显示位3.总体设计: A: 首先

6、根据该设计的特点,把出现的情况进行分析整理,得到以下几种情况:(1)通行道:占时15秒,显示如上图所示的位码;(2)禁行道: 占时10秒,显示如上图所示的位码;(3)同时通行道倒计时至5秒时,禁行道跳转5秒倒计时;(4)在黄灯转红灯时,黄灯闪烁,变黄灯延时五秒变红灯;(5)救护车来临时,都变为红灯占时10秒,能恢复之前状态。 B:根据以上的情况分析,经过思路的整理得到了整体的设计框架图,及程序流程图 C:我们的系统设计过程中,实验系统主要采用的是模块化设计。这次系统设计中用到的模块是:1红绿灯显示倒计时模块,2黄灯闪烁显示模块,3 1616点阵显示字符显示模块,4 中断急救车到来中断及显示模块

7、,5 延时模块。这次系统设计过程中要将这几个模块按照逻辑与设计要求把它们与8031做连接,实现以上特点。D:这次设计当中初步决定所需要实验箱接口:1616LED点阵,1616_CS接CS3;外部中断INT0负脉冲接P3.2;LED灯显示,P0-P5接L0-L5;倒计时显示8255_CS接CSO.E:硬件设计:电路图为附件。F:软件设计:显示程序,显示程序为主程序,子程序有延时程序。4.功能描述:本系统由单片机系统、发光二极管、交通灯演示系统、中断系统、倒计时显示系统、点阵显示系统组成。1. 系统硬件电路的设计 整套电路系统由控制系统模块、通行灯输出控制显示模块、时间显示模块、点阵显示模块和急救

8、特种车辆控制模块等组成。 1、主控制系统 由主程序的四个状态循环显示程序控制。并设置一个外部中断,P3.2口接受一个负脉冲的控制,救护车通过时使用外中断INT0口(P3.2)。Start: mov SP, #70 mov TCON, #01h ; down edge IT0 mov IE, #81h ; enable EA, EX0 mov aa,#0 mov bb,#0 mov cc,#0 mov dd,#0 mov ee,#0 mov ff,#0 setb SR ; 南北, 东西均红灯 clr SY clr SG setb ER clr EY clr EG clr STOP jnb STO

9、P,wrld call AllRed2、通行灯输出控制 道口交通灯指示采用红黄绿色发光二极管。单片机的P1.0-P1.5口用于控制发光二级管L0-L5,用于控制东西南北方向的红绿灯状态转换。分别由各个状态下的程序控制。 3、时间显示模块 道口通行剩余时间采用红色8段LED发光数码管显示,采用共阳数码管。由倒计时显示8255_CS接CSO来扩展。分别由程序中的位显示控制和段显示控制程序来设定计时功能。同时调用延时程序控制响应显示时间。4、救护车到来自动控制模块 在救护车到来时能自动关闭所有灯,让救护车通过。设计中采用外部中断作为救护车到来的发生器,使用实时中断来影响救护车的通行要求。由外部中断I

10、NT0负脉冲接P3.2来接受外部中断信号。AllRed: push a mov a,r0 push a mov a,r1 push a mov a,r2 push a mov a,r4 push a mov a,r5 push a push SR push SY push SG push ER push EY push EG push RowLow push RowHigh push ColLow push ColHigh push OUTBIT push OUTSEG push LEDBuf push LEDBuf+1 push LEDBuf+2 push LEDBuf+3 push LED

11、Buf+4 push LEDBuf+5 push LEDBuf+6 push LEDBuf+7 push LEDBuf+8 push LEDBuf+9 push LEDBuf+10 push LEDBuf+11 push LEDBuf+12 push LEDBuf+13 push LEDBuf+14 push LEDBuf+15 push bitmask push bitmask+1 push base push base+1 push PSW setb SR clr SY clr SG setb ER clr EY clr EG clr STOP mov r2,#10 call mainc

12、pop PSW pop base+1 pop base pop bitmask+1 pop bitmask pop LEDBuf+15 pop LEDBuf+14 pop LEDBuf+13 pop LEDBuf+12 pop LEDBuf+11 pop LEDBuf+10 pop LEDBuf+9 pop LEDBuf+8 pop LEDBuf+7 pop LEDBuf+6 pop LEDBuf+5 pop LEDBuf+4 pop LEDBuf+3 pop LEDBuf+2 pop LEDBuf+1 pop LEDBuf pop OUTSEG pop OUTBIT pop ColHigh

13、pop ColLow pop RowHigh pop RowLow pop EG pop EY pop ER pop SG pop SY pop SR pop a mov r5,a pop a mov r4,a pop a mov r2,a pop a mov r1,a pop a mov r0,a pop a ret5.功能测试:1 状态灯显示测试当电路连接完毕后,将写好的测试程序刷写到芯片内,通电即可检测。2数码管的测试将串口的和电路板上的接口连接,将写好的测试程序刷写到芯片内,开电源即可测试。3整体电路测试系统上电,刷写好程序即可开始测试,观测一个周期(共计S1S4四个状态,默认一个周期

14、)灯的显示状态是否正常,同时观察倒计的计数是否正常。6.系统仿真原理图:7.试验目的:本次试验是单片机原理与应用系统设计课程的综合训练,我们通过理论学习,课题选择,资料查阅,软、硬件设计,系统调试等环节,巩固和提高所学的知识及应用水平学会从提出问题,观察与分析问题,到最终解决问题科学方法培养我们严谨的工作作风,务实的工作态度。为今后的毕业设计、及从事微机控制系统的设计与维护奠定坚实的基础。本设计的意义在于通过具体的控制系统的设计,掌握微机控制系统设计的一般方法和处理问题的思路,特别是一些常用的技术手段。使我们能在实践教学环境中累积设计经验,开拓思维空间,全面提高个人的综合能力。通过这次试验,使

15、我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。8.参考文献:1凌玉华 单片机原理及应用系统设计 长沙:中南大学出版社,20062 李朝青.单片机原理及接口技术(修订版).北京:北京航空航天大学出版社,19989.附件:程序源代码: RowLow equ 0B002h; 行低八位地址 RowHigh equ 0B003h; 行高八位地址 ColLow equ 0B000h; 列低八位地址 ColHigh equ 0B0

16、01h; 列高八位地址 bitmask equ 40h base equ 42h Flash equ 0 ; LED状态 STOP equ 1 SR equ p1.0 ; 南北红灯 SY equ p1.1 ; 南北黄灯 SG equ P1.2 ; 南北绿灯 ER equ P1.3 ; 东西红灯 EY equ P1.4 ; 东西黄灯 EG equ p1.5 ; 东西绿灯 OUTBIT equ 08002h ; 位控制口 OUTSEG equ 08004h ; 段控制口 LEDBuf equ 60h ; 显示缓冲 aa equ 30h bb equ 31h cc equ 32h dd equ 33

17、h ee equ 34h ff equ 35h gg equ 36h ljmp Start org 3 setb STOP ; 南北, 东西均红灯 retimaina: mov bitmask, #0 mov bitmask+1,#0 ;清屏 mov a,#00h ;列驱动低有效 mov dptr,#RowLow movx dptr,a mov dptr,#RowHigh movx dptr,a mov a,#0ffh ;行驱动高有效 mov dptr,#ColLow movx dptr,a mov dptr,#ColHigh movx dptr,aloop0a: mov r4, #200 ;

18、每个字显示的时间loopa: mov bitmask, #01 ;选择显示行 mov r5, #16 ;每行16列 mov a,aa ;字模的起始地址 mov b,#32 mul ab mov dptr,#Fonta add a,dpl mov base, a mov a,b addc a,dph mov base+1,a mov r0,#LEDBuf mov a,bb mov b,#16 mul ab mov b,afillbufa: mov a,b mov dptr,#Tablea movc a,a+dptr mov r0,a inc r0 inc b cjne r0,#LEDBuf+16

19、,fillbufa mov r0,#LEDBuf mov r1,#00001000bnextrowa: mov dptr,#OUTBIT mov a,#0 movx dptr,a mov a,r0 mov dptr,#OUTSEG movx dptr,a mov dptr,#OUTBIT mov a,r1 movx dptr,a mov a,r1 rr a mov r1,a inc r0 cjne r1,#80h,nexta mov r1,#00001000bnexta: mov a,#00h ;先关闭显示 mov dptr,#RowLow movx dptr,a mov dptr,#RowH

20、igh movx dptr,a mov dpl, base ;取出该行字模 mov dph, base+1 clr a movc a, a+dptr mov r6,a inc dptr clr a movc a,a+dptr mov r7,a inc dptr mov base , dpl ;指向下行字模 mov base+1, dph mov dptr,#ColLow ;输出字模数据 mov a,r6 cpl a movx dptr,a mov dptr,#ColHigh mov a,r7 cpl a movx dptr,a mov a,bitmask ;点亮该行 mov dptr,#Row

21、Low movx dptr,a mov a,bitmask+1 mov dptr,#RowHigh movx dptr,a clr c mov a,bitmask rlc a mov bitmask,a mov a,bitmask+1 rlc a mov bitmask+1,a ;指向下一行 jnb STOP,one call AllRedcji: djnz r5, nextrowa djnz r4, cji ;每个字要重复显示 inc aa inc bb ;指向下个汉字 mov a,r2 cjne a,aa, nextchara ret ;nextchara: jmp loop0atwo:

22、ljmp loopamainb: mov bitmask, #0 mov bitmask+1,#0 ;清屏 mov a,#00h ;列驱动低有效 mov dptr,#RowLow movx dptr,a mov dptr,#RowHigh movx dptr,a mov a,#0ffh ;行驱动高有效 mov dptr,#ColLow movx dptr,a mov dptr,#ColHigh movx dptr,aloop0b: mov r4, #200 ;每个字显示的时间loopb: mov bitmask, #01 ;选择显示行 mov r5, #16 ;每行16列 mov a,cc ;

23、字模的起始地址 mov b,#32 mul ab mov dptr,#Fontb add a,dpl mov base, a mov a,b addc a,dph mov base+1,a mov r0,#LEDBuf mov a,dd mov b,#16 mul ab mov b,afillbufb: mov a,b mov dptr,#Tableb movc a,a+dptr mov r0,a inc r0 inc b cjne r0,#LEDBuf+16,fillbufb mov r0,#LEDBuf mov r1,#00001000bnextrowb: mov dptr,#OUTBIT

24、 mov a,#0 movx dptr,a mov a,r0 mov dptr,#OUTSEG movx dptr,a mov dptr,#OUTBIT mov a,r1 movx dptr,a mov a,r1 rr a mov r1,a inc r0 cjne r1,#80h,nextb mov r1,#00001000bnextb: mov a,#00h ;先关闭显示 mov dptr,#RowLow movx dptr,a mov dptr,#RowHigh movx dptr,a mov dpl, base ;取出该行字模 mov dph, base+1 clr a movc a,

25、a+dptr mov r6,a inc dptr clr a movc a,a+dptr mov r7,a inc dptr mov base , dpl ;指向下行字模 mov base+1, dph mov dptr,#ColLow ;输出字模数据 mov a,r6 cpl a movx dptr,a mov dptr,#ColHigh mov a,r7 cpl a movx dptr,a mov a,bitmask ;点亮该行 mov dptr,#RowLow movx dptr,a mov a,bitmask+1 mov dptr,#RowHigh movx dptr,a clr c

26、mov a,bitmask rlc a mov bitmask,a mov a,bitmask+1 rlc a mov bitmask+1,a ;指向下一行 jnb STOP,two call AllRedtwo: djnz r5, nextrowb djnz r4, cjj ;每个字要重复显示 inc cc inc dd ;指向下个汉字 mov a,r2 cjne a,cc, nextcharb ret ;nextcharb: jmp loop0bcjj: ljmp loopbmainc: mov bitmask, #0 mov bitmask+1,#0 ;清屏 mov a,#00h ;列驱

27、动低有效 mov dptr,#RowLow movx dptr,a mov dptr,#RowHigh movx dptr,a mov a,#0ffh ;行驱动高有效 mov dptr,#ColLow movx dptr,a mov dptr,#ColHigh movx dptr,a mov ee,#0 mov ff,#0loop0c: mov r4, #200 ;每个字显示的时间loopc: mov bitmask, #01 ;选择显示行 mov r5, #16 ;每行16列 mov a,ee ;字模的起始地址 mov b,#32 mul ab mov dptr,#Fontc add a,d

28、pl mov base, a mov a,b addc a,dph mov base+1,a mov r0,#LEDBuf mov a,ff mov b,#16 mul ab mov b,afillbufc: mov a,b mov dptr,#Tablec movc a,a+dptr mov r0,a inc r0 inc b cjne r0,#LEDBuf+16,fillbufc mov r0,#LEDBuf mov r1,#00001000bnextrowc: mov dptr,#OUTBIT mov a,#0 movx dptr,a mov a,r0 mov dptr,#OUTSEG movx dptr,a mov dptr,#OUTBIT mov a,r1 movx dptr,a mov a,r1 rr a mov r1,a inc r0 cjne r1,#80h,nextc mov r1,#00001000bnextc: mov a,#00h ;先关闭显示 mov dptr,#RowLow movx dptr,a mov dptr,#RowHigh movx dptr,a mov dpl, bas

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

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