接口课程设计——交通灯.doc_第1页
接口课程设计——交通灯.doc_第2页
接口课程设计——交通灯.doc_第3页
接口课程设计——交通灯.doc_第4页
接口课程设计——交通灯.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

微机接口技术课程设计一、步骤:负责系统流程图及硬件连接图设计;完成(状态1)设计:南北绿灯通车,东西红灯;完成(状态2)设计:南北绿灯闪烁3次转黄灯亮,东西仍然红灯,延时3秒;完成(状态3)设计:东西绿灯通车,南北红灯;完成(状态4)设计:东西绿灯闪烁3次转黄灯亮,延时3秒南北仍然红灯。负责后期测试及结果分析。二、设计方案以及论证整个设计以AT89C51单片机为核心,LED数码管显示,晶振电路,复位电路组成。硬件模块入图2-1。图21 硬件模块三、硬件原理图(包括芯片的选型介绍)(1)硬件原理图功能介绍:LED数码管则用来对各种状态进行倒计时的显示。设计中采用74LS164静态驱动LED数码管,利用单片机的RXD作为数据的输出端给164送数。利用164的移位进行多位的显示。利用延时程序控制每秒时间,从而控制RXD送数的时间间隔。(2)AT89C511AT89C51单片机简介AT89C51是美国ATMEL公司推出的系列单片机,将多种功能的8位CPU与FPEROM(快闪可编程/擦除只读存储器)结合在一个芯片上,是一种低功耗、高性能的CMOS控制器,为很多嵌入式控制应用提供了非常灵活而又价格适宜的方案,其性能价格比远高于同类芯片。它与MCS-51指令系统兼容,片内FPEROM允许对程序存储器在线重复编程,也可用常规的EPROM编程器编程,可循环写入/擦除1000次。89C51内含4KB的FPEROM,一般的EEPROM的字节擦除时间和写入时间基本上均为10ms,对于任一个实时控制系统来说,这样长的时间是不可能在线修改程序的。图22 89C51内部结构图与EEPROM相比较,FPEROM大大缩短了存储内容擦除和写入的时间,为在线改写程序提供了极大的方便,而且价格也比带EPROM87C系列单片机便宜,这更显示出了89C系列的优越性。它还有128*8Bit的片内RAM;32根I/O线;2个16位定时/计数器;5个中断源;一个全双工的异步串行口;间歇和掉电工作模式;三级程序存储器加密;全静态工作,晶振工作范围:0Hz24MHz。2管脚功能AT89C51单片机为40引脚芯片如图23所示。I/O口线: P0、P1、P2、P3共四个八位P0口是三态双向口, 通称数据总线口, 因为只有该口能直接用于对外部存储器的读写操作。P0口也用以输出外部存储器的低8位地址。由于是分时输出, 故应在外部加锁存器将此地址数据锁存, 地址锁存信号用ALE。P1口是专门供用户使用的I/O口, 是准双向口。P2口是从系统扩展时作高8位地址线用。不扩展外部存储器时, P口也可P2口也是准双向口。P3口是双功能口, 该口的每一位均可独立地定义为第一I/O 功能或第二I/O功能。作为第一功能使用时操作同P1口。P3口的第二功能如表21。图2-3 89C51引脚图控制口线: PSEN (片外取控制)、AL E( 地址锁存控制)、EA (片外储器选择)、RE2SET (复位控制) ;电源及时钟: CCC、VSS; XTAL 1, XTAL 2表2-1 引脚功能表(3)74LS16474LS164引脚定义如图2-5所示,其真值表如表2-2所示,其功能是将外部输入的串行数据转化为8位的并行数据输出具有锁寸功能。A、B端为串行数据输入端,QA QH为数据输出端,CLK为外部时钟输入端,CLR为清零端。 图2-5 74LS164引脚图表2-2 74LS164真值表输入输出CLEARCLOCKA BQA QB QHLX X XL L LHL X XQA0 QB0 QH0H H HH QAn QGnH L XL QAn QGnH X LL QAn QGn(3)LED数码管显示电路在单片机应用系统中,数码管显示常用两种方法:静态显示和动态扫描显示。所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中CPU的开销小,可以提供单独锁存的I/O接口电路很多。所以本设计采用串并转换电路74LS164的静态显示电路。其电路图如图3-4所示。 图3-4 数码管显示静态驱动电路四、程序流程图(包括各个子系统和子过程的程序流程)设置定时,显示初始化南北绿灯亮,东西红灯亮,延时南北黄灯闪烁,东西红灯亮,延时 南北红灯亮,东西绿灯亮,延时南北红灯亮,东西黄灯闪烁,延时 开 始主程序框图五、程序清单,要有适当的注释SECOND1 EQU 30H ;东西路口计时寄存器SECOND2 EQU 31H ;南北路口计时寄存器DBUF EQU 40H ;显示码缓冲区1TEMP EQU 44H ;显示码缓冲区2LED_G1 BIT P2.1 ;东西路口绿灯LED_Y1 BIT P2.2 ;东西路口黄灯LED_R1 BIT P2.3 ;东西路口红灯LED_G2 BIT P2.4 ;南北路口绿灯LED_Y2 BIT P2.5 ;南北路口黄灯LED_R2 BIT P2.6 ;南北路口红灯 ORG 0000H LJMP START ORG 0100HSTART: MOV TMOD,#01H ;置T0为工作方式1 MOV TH0,#3CH ;置T0定时初值50ms MOV TL0,#0B0H CLR TF0 SETB TR0 ;启动T0 CLR A MOV P1,A ;关闭不相关的LEDLOOP: MOV R2,#20 ;置1S计数初值,50ms*20=1s MOV R3,#20 ;红灯亮20S MOV SECOND1,#25 ;东西路口计时显示初值25s MOV SECOND2,#25 ;南北路口计时显示初值25s LCALL DISPLAY LCALL STATE1 ;调用状态1WAIT1: JNB TF0,WAIT1 ;查询50ms到否 CLR TF0 MOV TH0,#3CH ;回复T0定时初值50ms MOV TL0,#0B0H DJNZ R2,WAIT1 ;判断1S到否 未到继续状态1 MOV R2,#20 ;置50MS计数初值 DEC SECOND1 ;东西路口显示时间减1sDEC SECOND2 ;南北路口显示时间减1sLCALL DISPLAYDJNZ R3,WAIT1 ;状态1维持20sMOV R2,#5 ;置50MS计时初值5*4=20MOV R3,#3 ;路灯闪3sMOV R4,#4 ;闪烁间隔200msMOV SECOND1,#5 ;东西路口计时显示初值5sMOV SECOND2,#5 ;南北路口计时显示初值5sLCALL DISPLAY ;WAIT2: LCALL STATE2 ;调用状态2JNB TF0,WAIT2 ;查询50ms到否CLR TF0 ;MOV TH0,#3CH ;恢复T0定时初值50msMOV TL0,#0B0HDJNZ R4,WAIT2 ;判断200MS到否 未到继续状态2CPL LED_G1 ;东西绿灯闪MOV R4,#4 ;闪烁间隔200MSDJNZ R2,WAIT2 ;判1S到否 未到继续状态2MOV R2,#5 ;置50MS计数初值DEC SECOND1 ;东西路口显示时间减1S DEC SECOND2 ;南北路口显示时间减1SLCALL DISPLAY DJNZ R3,WAIT2 ;状态2维持3S MOV R2,#20 ;置50MS计数初值MOV R3,#2 ;黄灯闪2SMOV SECOND1,#2 ;东西路口计时显示初值2SMOV SECOND2,#2 ;南北路口计时显示初值2S LCALL DISPLAYWAIT3: LCALL STATE3 ;调用状态3JNB TF0,WAIT3 ;查询100MS到否CLR TF0MOV TH0,#3CH ;恢复T0定时初值100MSMOV TL0,#0B0H DJNZ R2,WAIT3 ;判断1S到否 未到继续状态3MOV R2,#20 ;置100MS计数初值DEC SECOND1 ;东西路口显示时间减1SDEC SECOND2 ;南北路口显示时间减1SLCALL DISPLAY DJNZ R3,WAIT3 ;状态3维持2SMOV R2,#20 ;置50MS计数初值MOV R3,#20 ;红灯闪20SMOV SECOND1,#25 ;东西路口计时显示初值25SMOV SECOND2,#25 ;南北路口计时显示初值25SLCALL DISPLAYWAIT4: LCALL STATE4 ;调用状态4JNB TF0,WAIT4 ;查询100ms到否CLR TF0 MOV TH0,#3CH ;恢复T0定时初值100msMOV TL0,#0B0HDJNZ R2,WAIT4 ;判断1S是否 未到继续状态4MOV R2,#20 ;置100MS计数初值DEC SECOND1 ;东西路口显示时间减1SDEC SECOND2 ;南北路口显示时间减1SLCALL DISPLAY DJNZ R3,WAIT4 ;状态4维持20SMOV R2,#5 ;置50MS计数初值 MOV R4,#4 ;红灯闪20SMOV R3,#3 ;绿灯闪3SMOV SECOND1,#5 ;东西路口计时显示初值5SMOV SECOND2,#5 ;南北路口计时显示初值5SLCALL DISPLAYWAIT5: LCALL STATE5 ;调用状态5JNB TF0,WAIT5 ;查询100MS到否CLR TF0MOV TH0,#3CH ;恢复T0定时初值100MSMOV TL0,#0B0HDJNZ R4,WAIT5 ;判断200MS到否?未到继续状态5CPL LED_G2 ;南北绿灯闪MOV R4,#4 ;闪烁200MSDJNZ R2,WAIT5 ;判断1S到否?未到继续状态5MOV R2,#5 ;置100MS计时初值DEC SECOND1 ;东西路口显示时间减1SDEC SECOND2 ;南北路口显示时间减1SLCALL DISPLAY DJNZ R3,WAIT5 ;状态5维持3SMOV R2,#20 ;置50MS计数初值 MOV R3,#2 ;红灯闪2SMOV SECOND1,#2 ;东西路口计时显示初值2SMOV SECOND2,#2 ;南北路口计时显示初值2SLCALL DISPLAYWAIT6: LCALL STATE6 ;调用状态6JNB TF0,WAIT6 ;查询100MS到否CLR TF0MOV TH0,#3CH ;恢复T0定时初值100MS MOV TL0,#0B0H DJNZ R2,WAIT6 ;判断1S到否 未到继续状态6MOV R2,#20H ;置100MS计数初值DEC SECOND1 ;东西路口显示时间减1SDEC SECOND2 ;南北路口显示时间减1SLCALL DISPLAYDJNZ R3,WAIT6 ;状态6维持2SLJMP LOOP ;大循环STATE1: ;状态1SETB LED_G1 ;东西路口绿灯亮CLR LED_Y1CLR LED_R1CLR LED_G2CLR LED_Y2SETB LED_R2 ;南北路口红灯亮RETSTATE2: ;状态2CLR LED_Y1CLR LED_R1CLR LED_G2CLR LED_Y2SETB LED_R2 ;南北路口红灯亮RETSTATE3: ;状态3CLR LED_G1CLR LED_R1CLR LED_G2CLR LED_Y2SETB LED_R2 ;南北路口红灯亮SETB LED_Y1 ;东西路口绿灯亮RET STATE4: ;状态4CLR LED_G1CLR LED_Y1SETB LED_R1 ;东西路口红灯亮SETB LED_G2 ;南北路口红灯亮CLR LED_Y2 CLR LED_R2RET STATE5: ;状态5CLR LED_G1CLR LED_Y1SETB LED_R1 ;东西路口红灯亮CLR LED_Y2CLR LED_R2RETSTATE6: ;状态6CLR LED_G1CLR LED_Y1SETB LED_R1 ;东西路口红灯亮CLR LED_G2CLR LED_R2SETB LED_Y2 ;南北路口黄灯亮RETDISPLAY: ;数码显示MOV A,SECOND1 ;东西路口计时寄存器MOV B,#10 ;十六进制数拆成两个十进制数DIV ABMOV DBUF+3,AMOV A,BMOV DBUF+2,AMOV A,SECOND2MOV B,#10DIV ABMOV DBUF+1,AMOV A,BMOV DBUF,AMOV R0,#DBUFMOV R1,#TEMPMOV R7,#4DP10: MOV DPTR,#LEDMAPMOV A,R0MOVC A,A+DPTRMOV R1,AINC R0INC R1DJNZ R7,DP10MOV R0,#TEMPMOV R1,#4DP12: MOV R7,#8MOV A,R0DP13: RLC AMOV P3.0,CCLR P3.1SETB P3.1DJNZ R7,DP13INC R0DJNZ R1,DP12RETLEDMAP:DB 3FH,06H,5BH,4FH,66H,6DH ;0,1,2,3,4,5DB 7DH,07H,7FH,6FH,77H,7CH ;6,7,8,9,a,bDB 58H,5EH,7BH,0,40H ;s,d,e,f,- END六、心得体会我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似的课程设计就为我们提供了良好的实践平台。要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题

温馨提示

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

评论

0/150

提交评论