已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录一:概述二:系统硬件电路设计三;系统软件设计四:软硬件调试五:安装、调试与制作六:产品使用说明七:系统的改进八:心得体会九:参考文献一、概述 单片机,又称微控制器MCU、嵌入式微控制器,是现代电子智能仪器仪表及嵌入式系统的重要组成部分,应用非常广泛,是现代工程技术人员必须掌握的知识之一。单片机自20世纪70年代问世以来,以其鲜明的特点得到迅速发展,已广泛应用于家用电器、智能玩具、智能仪器仪表、工业控制、航空航天等领域,经过30多年的发展,性能不断提高,品种不断丰富,已形成自动控制的一支中坚力量。据统计,我国的单片机容量已达13亿片,且每年以大约16%的速度增长,但相当于国际市场我国的单片机占有率还不到1%。这说明单片机应用在我国有着广阔的前景。今后单片机的发展趋势,将是进一步向着多功能、高性能、高速度、低功耗、低价格、存储容量扩大和增强I/O功能及结构兼容等方面发展。二、硬件电路设计 整个硬件电路由单片机最小系统、数码管显示电路和发光二极管显示电路三部分组成,如下面图1所示。 图1 电路原理图(1) 单片机最小系统考虑到电路的简单即成本等因素,选用ATMEL公司的AT8C51单片机作为微处理器,它是一种低功耗、高性能的片内含有4KB的快闪可编程/擦除只读存储器的8位CMOS微存储器,使用高密度、非易失存储器技术制造,并且与80C51引脚和指令系统完全兼容,其时钟频率为024MHZ,并且价格低廉。用AT8C51加上相应的时钟和复位电路就组成了最小系统,见图1中相应部分。(2) 数码管显示电路 由串入并出的8位移位寄存器74LS164和8段式LED数码管组成十字路口交通灯的时间显示电路,见图1中相应部分。其中,数码管采用共阴极结构的采取静态串行显示 ,其两个COM端并联后接一个10欧姆的电阻,防止数码管被大电流烧坏。74LS164有14个端子,将各自的A、B输入端(1、2脚)并联起来,清除端(9脚)接高电平,单片机P2.0口接其时钟输入端(8脚),QAQH按顺序一一接上相应数码管的 adp端,7脚接低电平,14脚接高电平。最后将P2.1口接一个数码管的1脚,其QH(13脚)接后面的74LS164的1脚。这样,数码管显示电路就形成了。 (3)发光二极管显示电路 由驱动芯片ULN2003和发光二极管组成,见图1中相应部分。ULN2003是高耐压、大电流、内部由七个硅NPN达林顿管组成的驱动芯片。其每一对达林顿管都串联一个2.7K的基极电阻,在5V工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V的电压,输出还可以在高负载电流并行运行。ULN2003有16个端子,使用时其8脚接低电平,9脚接高电平,输入端(16脚)和P2.2P2.7(2328脚)一一相接,输出端(1116脚)和南北、东西方向的发光二极管阳极一一相接。发光二极管共12个,分三种颜色:红,绿,黄。将各个方向相同颜色的两个发光二极管首尾串联起来,东西、南北两个方向剩余发光二极管的阴极并联起来接高电平。这样,电路就形成了,。三、软件设计(1)程序流程图如下图所示: 秒寄存器显示值减为8S?开始初始化置秒寄存器初值30S东西绿灯亮,南北红灯亮亮 秒寄存器显示值减为0S?东西绿灯闪南北红灯亮南北红灯亮秒寄存器显示值减为3S?东西黄灯亮南北红灯亮东西红灯亮南北黄灯亮置秒寄存器初值25S东西红灯亮南北绿灯亮秒寄存器显示值减为5S?东西红灯亮南北绿灯闪秒寄存器显示值减为2S?秒寄存器显示值减为0s?(2)源程序如下: ;交通灯 SECOND1 EQU 30H ;东西秒寄存器 SECOND2 EQU 31H ;南北秒寄存器 DBUF EQU 40H ;显示缓冲1 TEMP EQU 44H ;显示缓冲2 LED_G2 BIT P2.2 ;南北绿灯 LED_Y2 BIT P2.3 ;南北黄灯 LED_R2 BIT P2.4 ;南北红灯 LED_G1 BIT P2.5 ;东西绿灯 LED_Y1 BIT P2.6 ;东西黄灯 LED_R1 BIT P2.7 ;东西红灯 DIN BIT P2.1 ;串行显示数据 CLK BIT P2.0 ;串行显示时钟 ORG 0000H LJMP START ORG 0100HSTART: MOV A, #00H ;关闭不相关的LED MOV P2,A MOV A ,#0FFH MOV P0,A MOV P1,A LCALL DISPLAY2 MOV TMOD,#01H ;置T0工作方式1 MOV TH0, #3CH ;置T0定时初值50mS MOV TL0, #0B0H SETB TR0 ;启动T0 CLR EALOOP: MOV R2,#20 ;置1S计数初值 50mS*20=1S MOV R3,#20 ;红灯20S MOV SECOND1,#30 ;东西秒显示初值30S MOV SECOND2,#30 ;南北秒显示初值30S LCALL DISPLAY LCALL STATE1 ;调用状态1WAIT1: JNB TF0,WAIT1 ;查询50mS到否 CLR TF0 MOV TH0, #3CH ;恢复T0定时初值50mS MOV TL0, #0B0H SETB TR0 ;启动T0 DJNZ R2,WAIT1 ;判1S到否?未到继续状态1 MOV R2,#20 ;置50mS计数初值 DEC SECOND1 ;东西秒显示减一 DEC SECOND2 ;南北秒显示减一 LCALL DISPLAY DJNZ R3,WAIT1 ;状态1维持22S MOV R2,#5 ;置50mS计数初值 5*4=20 MOV R3,#5 ;绿灯闪5S ;* MOV R4,#4 ;闪烁间隔200mS MOV SECOND1,#8 ;东西秒显示初值8S MOV SECOND2,#8 ;南北秒显示初值8S LCALL DISPLAYWAIT2: LCALL STATE2 ;调用状态2 JNB TF0,WAIT2 ;查询50mS到否 CLR TF0 MOV TH0, #3CH ;恢复T0定时初值50mS MOV TL0, #0B0H DJNZ R4,WAIT2 ;判200mS到否?未到继续状态2 CPL LED_G1 ;东西绿灯闪 MOV R4,#4 ;闪烁间隔200mS DJNZ R2,WAIT2 ;判1S到否?未到继续状态2 MOV R2,#5 ;置50mS计数初值 DEC SECOND1 ;东西秒显示减一 DEC SECOND2 ;南北秒显示减一 LCALL DISPLAY DJNZ R3,WAIT2 ;状态2维持5S;* MOV R2,#20 ;置50mS计数初值 MOV R3,#3 ;黄灯3S MOV SECOND1,#3 ;东西秒显示初值3S MOV SECOND2,#3 ;南北秒显示初值3S LCALL DISPLAYWAIT3: LCALL STATE3 ;调用状态3 JNB TF0,WAIT3 ;查询30mS到否 CLR TF0 MOV TH0, #3CH ;恢复T0定时初值50mS MOV TL0, #0B0H DJNZ R2,WAIT3 ;判1S到否?未到继续状态3 MOV R2,#20 ;置50mS计数初值 DEC SECOND1 ;东西秒显示减一 DEC SECOND2 ;南北秒显示减一 LCALL DISPLAY DJNZ R3,WAIT3 ;状态3维持3S;* MOV R2,#20 ;置50mS计数初值 MOV R3,#20 ;红灯20S MOV SECOND1,#25 ;东西秒显示初值25S MOV SECOND2,#25 ;南北秒显示初值25S LCALL DISPLAYWAIT4: LCALL STATE4 ;调用状态4 JNB TF0,WAIT4 ;查询50mS到否 CLR TF0 MOV TH0, #3CH ;恢复T0定时初值50mS MOV TL0, #0B0H DJNZ R2,WAIT4 ;判1S到否?未到继续状态4 MOV R2,#20 ;置50mS计数初值 DEC SECOND1 ;东西秒显示减一 DEC SECOND2 ;南北秒显示减一 LCALL DISPLAY DJNZ R3,WAIT4 ;状态4维持20S;* MOV R2,#5 ;置50mS计数初值 5*4=20 MOV R4,#4 ;闪烁间隔200mS MOV R3,#3 ;绿灯闪3S MOV SECOND1,#5 ;东西秒显示初值5S MOV SECOND2,#5 ;南北秒显示初值5S LCALL DISPLAYWAIT5: LCALL STATE5 ;调用状态5 JNB TF0,WAIT5 ;查询50mS到否 CLR TF0 MOV TH0, #3CH ;恢复T0定时初值100mS MOV TL0, #0B0H DJNZ R4,WAIT5 ;判200mS到否?未到继续状态5 CPL LED_G2 ;南北绿灯闪 MOV R4,#4 ;闪烁200mS DJNZ R2,WAIT5 ;判1S到否?未到继续状态5 MOV R2,#5 ;置100mS计数初值 DEC SECOND1 ;东西秒显示减一 DEC SECOND2 ;南北秒显示减一 LCALL DISPLAY DJNZ R3,WAIT5 ;状态5维持3S;* MOV R2,#20 ;置50mS计数初值 MOV R3,#2 ;黄灯2S MOV SECOND1,#2 ;东西秒显示初值2S MOV SECOND2,#2 ;南北秒显示初值2S LCALL DISPLAYWAIT6: LCALL STATE6 ;调用状态6 JNB TF0,WAIT6 ;查询100mS到否 CLR TF0 MOV TH0, #3CH ;恢复T0定时初值100mS MOV TL0, #0B0H DJNZ R2,WAIT6 ;判1S到否?未到继续状态6 MOV R2,#20 ;置100mS计数初值 DEC SECOND1 ;东西秒显示减一 DEC SECOND2 ;南北秒显示减一 LCALL DISPLAY DJNZ R3,WAIT6 ;状态6维持2S LJMP LOOP ;大循环STATE1: ;状态1 SETB LED_G1 ;东西绿灯亮 CLR LED_Y1 CLR LED_R1 CLR LED_G2 CLR LED_Y2 SETB LED_R2 ;南北红灯亮 RETSTATE2: ;状态2 CLR LED_Y1 CLR LED_R1 CLR LED_G2 CLR LED_Y2 SETB LED_R2 ;南北红灯亮 RETSTATE3: ;状态3 CLR LED_G1 CLR LED_R1 CLR LED_G2 CLR LED_Y2 SETB LED_R2 ;南北红灯亮 SETB LED_Y1 ;东西黄灯亮 RETSTATE4: ;状态4 CLR LED_G1 CLR LED_Y1 SETB LED_R1 ;东西红灯亮 SETB LED_G2 ;南北绿灯亮 CLR LED_Y2 CLR LED_R2 RETSTATE5: ;状态5 CLR LED_G1 CLR LED_Y1 SETB LED_R1 ;东西红灯亮 CLR LED_Y2 CLR LED_R2 RETSTATE6: ;状态6 CLR LED_G1 CLR LED_Y1 SETB LED_R1 ;东西红灯亮 CLR LED_G2 CLR LED_R2 SETB LED_Y2 ;南北黄灯亮 RETDISPLAY: ;数码显示 MOV A, SECOND1 ;东西秒寄存器 MOV B, #10 ;16进制数拆成两个10进制数 DIV AB MOV DBUF+2,A MOV A,B MOV DBUF+3, A MOV A, SECOND2 ;南北秒寄存器 MOV B, #10 ;16进制数拆成两个10进制数 DIV AB MOV DBUF, A MOV A,B MOV DBUF+1, A MOVR0,#DBUF MOVR1,#TEMP MOVR7,#4DP10:MOVDPTR,#LEDMAP MOVA,R0 MOVCA,A+DPTR MOVR1,A INCR0 INCR1 DJNZR7,DP10 MOVR0,#TEMP MOVR1,#4DP12:MOVR7,#8 MOVA,R0DP13:RLCA MOVDIN,C CLRCLK SETBCLK DJNZR7,DP13 INCR0 DJNZR1,DP12 RETLEDMAP: DB 3FH,6,5BH,4FH,66H,6DH ;0,1,2,3,4,5 DB 7DH,7,7FH,6FH,77H,7CH ;6,7,8,9,A,B DB 58H,5EH,7BH,71H,0,40H ;C,D,E,F, , -DISPLAY2: MOV R7, #8OUTDATA: RRC A MOV P3.0, C CLR P3.2 SETB P3.2 NOP NOP DJNZ R7,OUTDATA SETB P3.1 ;显示一行 CLR P3.1 RETEND四、软硬件调试(1)软件调试 首先,打开KEIL软件,建立项目文件,接着添加程序文件,最后编译连接项目。编译连接时,如果信息窗口中显示程序有错,则编译不成功,用户需要进行修改,修改后再编译连接,直到编译成功,编译成功后,保存目标文件。(2)硬件仿真调试在实验台上,接好通信电缆,接通电源,运行KEIL软件,设置硬件仿真,选择正确的仿真头、通信口、通信协议和波特率。然后,装入源程序,接好外围电路,编译并执行。观察结果,程序设计是否正确。若不正确,则修改,直到程序设计完全正确为止。五、安装、调试、制作(1)安装1.清点元件 根据设计核对元件的数量和规格,应符合工艺要求,如有短缺、差错应及时补缺和更换。2.元件检测 用万用表的电阻挡对元件进行逐一检测,对不符合质量要求的元器件剔除并更换。3.元件的预加工 对电阻器、电容器进行剪脚和浸锡处理。数码管和发光二极管是不耐热的元件,浸锡温度要低,浸锡时间不宜过长,防止烫坏PN结,剪脚时要防止发光二极管的极性搞错。4.导线加工 对导线进行剪切、剥头、捻头和浸锡处理。5.万能电路板装配工艺要求:电阻器采用水平安装方式,高度要求为元件离开万能电路板5mm,色标法电阻的色环标志顺序方向一致。电容器采用垂直安装方式,高度要求为电容器的底部离万能电路板8 mm。发光二极管采用垂直安装方式,管底离万能电路板15 mm。集成电路插座贴紧万能电路板安装,并注意集成电路插座缺口的朝向,将集成电路插入插座时,应避免出现插错及引脚未完全插入插座等现象。(2)调试 1.打开计算机电源,安装好仿真器,用串行数据通信线连接计算机与仿真器,把仿真头插到模块的单片机插座中,打开模块电源,插上仿真器电源插头。2.打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加交通灯.ASM源程序,进行编译,直到编译无误。3.进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。4.全速运行程序,观察实验现象(3)制作在制作双面板时,由于缺少经验,我们只考虑到它布线的优点,但有些焊盘在元件的下面,与元件接触,这给我们焊接工作带来了很大的难度,也在一定的程度上影响了产品的美观。焊点表面应美观,焊点表面应呈现光滑、在电子制作过程中,焊接工作是必不可少的。它不但要求将元件固定在电路板上,而且要求焊点必须牢固、圆滑,所以焊接技术的好坏直接影响到电子制作的成功与否,现将本次产品在焊接的过程中,我们力争把锡焊焊点达到了的要求简单总结一下:、焊点接触良好,保证被焊件间能稳定可靠地通过一定的电流;、应避免虚焊的发生。虚焊是用仪器测量也不一定能发现,但是时间一长,未形成合金的表面经过氧化就会出现电流变小或时段时续的现象,也可能造成短路。虚焊原因有:被焊件表面不洁净;焊接时夹持工具晃动;落铁头温度过高或过低等。、焊点要有足够的机械强度。为了使被焊件不制脱落,焊点的焊料要适当,如果太少,强度不够,太多不仅不呢感增加强度,反而回增加焊料的消耗,易造成短路或虚焊等其他问题状态,不应出现棱角或拉尖现象。产生拉尖的原因与焊接温度,落铁撤去的方向,速度及焊剂等因素有关。焊接结束后必须检查有无漏焊、虚焊以及由于焊造成的元件短路。六:产品使用说明使用者在使用本产品时,只须按照以下几点执行相应的操作即可实现相应的功能。(1)、本设计考虑到我们主要是在宿舍进行设计、安装、调试,所以在产品中的电源采用USB 电源接口进行供电。当产品需要工作时只需要通过USB 电源线与电脑的USB 接口连接进行供电即可,简单,方便、成本低廉。(2)、本设计采用按键电平复位电路进行复位,所以当产品上电之后直接从程序开头开始执行。当运行过程中要求产品从头开始运行时只须按下复位按钮P1 即可。(3)、通过USB 线接通电源,系统即可自动运行,开始运行时为A(南北方向)车道禁止红灯亮、B(东西方向)车道通行绿灯亮。在运行过程中可能出现以下三种情况:、当A 车道亮红灯、B 车道亮绿灯,而此时A 车道有车、B 车道没车时,为了节省时间而又不造成交通事故。我们可以拨动开关S1,进行对A 车道亮绿灯对车放行,而对B车道亮红灯。当车辆全部通过时使开关复位,交通灯延时5 秒后返回原来的状态运行。、与情况相反,即当A车道亮绿灯、B 车道亮红灯,而此时A 车道没车、B 车道有车时,同样为了节省时间而又不造成交通事故。我们可以拨动开关S2,进行对 B 车道亮绿灯对车放行,而对A 车道亮红灯。当车辆全部通过时使开关复位,交通灯延时5 秒后返回原来的状态运行。、当出现紧急车辆时,比如说救护车、执行紧急任务的警车、电力抢险车等车辆,我们可以通过拨动开关S3,使A 和B 车道都亮红灯、禁止普通车辆通行,让有紧急任务的车辆通过。当紧急车辆全部通过时使开关复位,交通灯延时20S,相信20S的时间足以让紧急车辆通过。注:以上操作,如果S1、S2、S3 开关没复位,系统将继续执行中断,直到复位后执行完相应的延时为止,这样就就要求使用者根据实际情况调节时间。(4)、本设计最大的一个亮点就是在产品中增加了在线下载接口,这样既方便了设计者在有电脑的情况下随时随地对产品的程序进行修改。使用者在使用本产品时,如对本产品的定时时间不满意,觉得定时的时间长短不符合自己的要求时,可以通过该借口用数据下载线与电脑的相应接口相连接。通过对程序的定时时间参数进行修改。直到用户满意。当用户想在原有的功能上增加一些功能时,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年江西司法警官职业学院单招职业适应性考试题库及答案1套
- 2026年甘肃农业职业技术学院单招职业适应性考试必刷测试卷及答案1套
- 2026年梧州医学高等专科学校单招职业倾向性测试题库必考题
- 2026年长沙环境保护职业技术学院单招综合素质考试必刷测试卷及答案1套
- 2026年江西生物科技职业学院单招职业适应性考试必刷测试卷附答案
- 2026年四川工商职业技术学院单招职业技能考试题库新版
- 2026年陕西财经职业技术学院单招职业倾向性考试题库必考题
- 2026年周口职业技术学院单招职业适应性测试题库新版
- 2026年云南省曲靖市单招职业倾向性考试题库必考题
- 2026年重庆文理学院单招职业倾向性考试必刷测试卷及答案1套
- 2025年公共基础知识题库
- DB37-T5321-2025 居住建筑装配式内装修技术标准
- 营销策划 -贝壳网品牌VI手册-贝壳品牌视觉识别规范
- 2025年工地监护员考试题及答案
- 肯德基店面试试题及答案
- 2025中国远洋海运集团校园招聘1484人笔试参考题库附带答案详解
- 康复项目运营方案
- DBJ52-45-2018 贵州建筑地基基础设计规范
- 2025年度互联网医疗合作协议(标准范本)
- 2025年黑龙江鹤岗市“黑龙江人才周”企事业单位人才引进365人高频重点提升(共500题)附带答案详解
- 软组织贴扎技术
评论
0/150
提交评论