版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第 1 章总体设计方案1.1. 设计思路1.1.1 课程设计的目的( 1 ) .进一步熟悉和掌握单片机的结构及工作原理。( 2) .掌握单片机的接口技术及相关外围芯片的外特性,控制方法。( 3) .通过课程设计,掌握以单片机核心的电路设计的基本方法和技术。( 4) .通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。( 5) .通过完成一个包括电路设计和程序开发的完整过程,了解开发一单片机应用系统的全过程,为今后从事相应开发打下基础。1.1.2 设计任务和内容1 设计任务单片机采用用AT89C51 芯片,使用LED(红,黄,绿)代表各个路口的交通灯,用8 段数码管对转换时间进行倒时
2、(东西路口,南北路口各10 秒,黄灯时间3 秒) 。2 设计内容( 1)设计并绘制硬件电路图。( 2)编写程序并将调试好的程序在proteus 软件中仿真。3 方案设计与论证 显示界面方案该系统要求完成倒计时、状态灯等功能。按照任务要求采用数码管和MAX7219驱动芯片设计方框图整个设计以AT89C51 单片机为核心,由数码管显示,LED数码管显示,MAX驱动芯片。硬件模块入图2-1 。4 交通管理的方案论证东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西
3、、南北两干道的公共停车时间。指示灯燃亮的方案如表2。255255S,东西道红灯亮红灯亮绿灯亮黄灯亮,南北道绿灯亮黄灯亮红灯亮红灯亮,表 2 说明:( 1 )当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。时间为5 秒。( 2)黄灯5 秒,警示车辆和行人红、绿灯的状态即将切换。( 3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。时间为5 秒。( 4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。5 芯片简介1) AT89C51单片机简介2) 各引脚功能说明Vcc:+5V 电源电压。
4、Vss: 电路接地端。P0.0P0.7: 通道 0 ,它是 8 位漏极开路的双向I/O 通道 ? 当扩展外部存贮器时,这也是低八位地址和数据总线? 在编程和校验期间? 它输入和输出字节代码,通道0 吸收 /发出二个TTL 负载 P1.0P1.7: 通道 1 是 8 位拟双向I/O 通道,在编程和校验时,它发出低8 位地址。11通道1 吸收 / 发出一个TTL 负载。P2.0P2.7: 通道 2 是 8 位拟双向I/O 通道。当访问外部存贮器时,用作高8 位地址总线。通道2 能吸收 / 发出一个TTL 负载。P3.0P3.7: 通道 3 准双向 I/O 通道。通道3 能吸收 /发出一个TTL 负
5、载, P3 通道的每一根线还有另一种功能:P3.0:RXD,串行输入口。P3.1:TXD,串行输出口。P3.2:INT0 ,外部中断0 输入口。P3.3:INT1 ,外部中断1 输入口。P3.4:T0 ,定时器/计数器 0 外部事件脉冲输入端。P3.5:T1 ,定时器/计数器 1 外部事件脉冲输入端P3.6:WR,外部数据存贮器写脉冲。P3.7:RD,外部数据存贮器读脉冲。RST/VpD:引脚9 ,复位输入信号,振荡器工作时,该引脚上2 个机器周期的高电平可以实现复位操作,在掉电情况下Vcc 降到操作允许限度以下后备电源加到此引脚将只给片内RAM 供电。ALE/PROG引脚:30, 地址锁存有
6、效信号, 其主要作用是提供一个适当的定时信号,在它的下降沿用于外部程序存储器或外部数据存贮器的低8 位地址锁存, 使总线 P0 输出 / 输入口分时用作地址总线, 低 8 位 , 和数据总线, 此信号每个机器出现2 次 , 只是在访问外部数据存储器期间才不输出ALE。 所以 , 在任何不使用外部数据存贮器的系统中 ,ALE 以 1/6 振荡频率的固定速率输出, 因而它能用作外部时钟或定时,8751 内的EPROM编程时, 此端输编程脉冲信号。PSEN:引脚29, 程序选通有效信号, 当从外部程序存贮器读取指令时产生, 低电平时 , 指令寄存器的内容读到数据总线上。 EA/VPP:引脚31, 当
7、保持 TTL 高电平时, 如果指令计数器小于40968051 执行内部 ROM 的指令 ,8751 执行内部EPROM的指令, 当使 TTL 为低电平时, 从外部程序存贮器取出所有指令, 在 8751 内的 EPROM编程时 , 此端为 21V 编程电源输入端。XTAL1:引脚18, 内部振荡器外接晶振的一个输入端,HMOS 芯片使用外部振荡源时 , 此端必须接地。 XTAL2:引脚19, 内部振荡器外2) MAX7219 芯片简介 MAX7219/MAX7221 是一种集成化的串行输入/输出共阴极显示驱动器,它连接微处理器与 8 位数字的7 段数字 LED 显示,也可以连接条线图显示器或者6
8、4 个独立的LED 。其上包括一 个片上的B 型 BCD 编码器、多路扫描回路,段字驱动器,而且还有一个8*8 的静态 RAM用来存 储每一个数据。只有一个外部寄存器用来设置各个LED 的段电流。MAX7221 与 SPI?、QSPI? 以及 MICROWIRE ?相兼容,同时它有限制回转电流的段驱动来减少EMI (电磁干扰)。一个方便的四线串行接口可以联接所有通用的微处理器。每个数据可以寻址在更新时不需要改写所有的显示。MAX7219/MAX7221 同样允许用户对每一个数据选择编码或者不编码。整个设备包含一个150 A 的低功耗关闭模式,模拟和数字亮度控制,一个扫描限制寄存器允许用户显示1
9、-8 位数据,还有一个让所有LED 发光的检测模式电路模块1.1.3 驱动芯片和LED 数码管显设计方框图AT89C51MAX721LED 倒计时显示1.1.4 设计原理分析我们称在单位时间内多能达到的最大车流为车流量,示。对于一个交通路口来说,能在最短的时间内达到最大的车流量,就算是达到了最佳的性能,用公式:车流量 = 车流 / 时间 来表先设定一些标号如图2 1 所示。说明:此图为直方图,上边为北路口灯,右边为东路口灯,下边为南路口灯,左边为西路口灯。图 2 2 所示为一种红绿灯规则的状态图,分别设定为S1、 S2、 S3、 S4,交通灯以这四的状态为一个周期,循环执行(见图2 3) 。请
10、注意图2 1b 和图2 1d,它们在一个时间段中四个方向都可以通车,这种状态能在一定的时间内达到较大的车流量,效率特别高。依据上述的车辆行驶的状态图,可以列出各个路口灯的逻辑表,由于相向的灯的状态图是一样的,所以只需写出相邻路口的灯的逻辑表;根据图2 3 可以看出,相邻路口的灯它们的状态在相位上相差180°。因此最终只需写出一组S1、 S2、 S3、 S4的逻辑状态表。如表2 1 所示。表2 1表中的“×”代表是红灯亮 (也代表逻辑上的0) , “”是代表绿灯亮 (也代表逻辑上的1 ) ,依上表,就可以向相应的端口送逻辑值。1.1.4 交通灯显示时间的理论分析与计算东西和南
11、北方向的放行时间的长短是依据路口的各个方向平时的车流量来设定,并且S1、S2、 S3、 S4各个状态保持的时间之有严格的对应关系,其公式如下示。T-S1+T-S2=T-S3T-S2=T-S4T-S1=T-S3我们可以依据上述的标准来改变车辆的放行时间。按照一般的规则,一个十字路口可分为主干道和次干道,主干道的放行时间大于次干道的放行时间,我们设定值时也应以此为参考第 2 章仿真图与设计程序2.1LED 数码管显示模块静态显示方式:静态显示方式是指当显示器显示某一字符时,发光二极管的位选始终被选中。在这种显示方式下,每一个 LED数码管显示器都需要一个8 位的输出口进行控制。由于单片机本身提供的
12、I/O 口有限, 实际使用中,通常通过扩展I/O 口的形式解决输出口数量不足的问题。静态显示主要的优点是显示稳定,在发光二极管导通电流一定的情况下显示器的亮度大,系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,这样既节约了CPU的时间,又提高了CPU的工作效率。其不足之处是占用硬件资源较多,每个LED数码管需要独占 8 条输出线。随着显示器位数的增加,需要的I/O 口线也将增加。( 2) 动态显示方式:动态显示方式是指一位一位地轮流点亮每位显示器(称为扫描), 即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。对于每一位显示器来说,每隔
13、一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。通过调整电流和时间参数,可以既保证亮度,又保证显示。 若显示器的位数不大于8 位, 则显示器的公共端只需一个8 位 I/O 口进行动态扫描(称为扫描口),控制每位显示器所显示的字形也需一个8 位口 (称为段码输出)。 示部分,电路图如下2.1 程序:倒计时子程序红绿灯部分;MAX7219 子程序MAX7219:CLR P1.1;将 LOAD 信号拉低LCALL XH1 ;一位字节送入7219MOV A,R7 ;LCALL XH1 ;NOPNOPSETB P1.1 ;产生LOAD 上升沿,锁存数据RETXH1: M
14、OV R2,#08H;总共有 8 位,移 8 次NEXT: CLR P1.2;将 CLK 拉低RLC A ;A 中值左移入进位累加器C 中MOV P1.0,C;给 DIN 口NOPSETB P1.2 ;CLK 上升沿,移入数据NOPDJNZ R2,NEXT ;没完成则继续RETSHORT_DELAY:MOV 10H,#40 ;10msDEL:MOV 11H,#50DEL1: MOV 12H,#255DEL2:DJNZ 12H,DEL2 ;125*2us=0.25msDJNZ 11H,DEL1DJNZ 10H,DEL;0.25ms*40=10msRETEND红绿灯子程序LOOP: MOV R3,
15、#26MOV P0,#1EHLCALL DISPRETLOOP1:MOV R3,#6MOV P0,#1DHLCALL DISPRETLOOP2: MOV R3,#25MOV P0,#33HLCALL DISPRETLOOP3:MOV R3,#6MOV P0,#2BHLCALL DISPRET总程序 CLK EQU P1.2DIN EQU P1.0LOAD EQU P1.1ORG 0000HLJMP MAINORG 0090HMAIN :LCALL LOOPLCALL LOOP1LCALL LOOP2LCALL LOOP3LJMP MAINLOOP: MOV R3,#26MOV P0,#1EHL
16、CALL DISPRETLOOP1:MOV R3,#6MOV P0,#1DHLCALL DISPRETLOOP2: MOV R3,#25MOV P0,#33HLCALL DISPRETLOOP3:MOV R3,#6MOV P0,#2BHLCALL DISPRETDISP:MOV A,#09H;置译码器方式寄存器地址MOV R7,#0FFH ; 选择译码方式LCALL MAX7219;写入MOV A,#0AH ;置亮度寄存器地址MOV R7,#05H;选择占空比LCALL MAX7219;写入MOV A,#0BH ;置 MAX7219 显示扫描位数寄存器地址MOV R7,#07H;选择 8 位显
17、示方式LCALL MAX7219;写入MOV A,#0CH ;置关闭显示寄存器地址MOV R7,#01H;选择进入正常工作,00H 表示关闭LCALL MAX7219;写入MOV 20H,R3DEC 20HMOV A,20HMOV B,#10DIV ABMOV 30H,AMOV 31H,BMOV R0,#30HCLR P1.1;MOV R1,#03H;指向第 0位 LEDMOV A,R0;取显示缓冲区数据MOV R7,A ;显示数MOV A,R1 ;LED 显示的位地址给ALCALL MAX7219;INC R0; 指向下一个显示数据INC R1 ; 指向另一个数码管MOV A,R0MOV R
18、7,AMOV A,R1LCALL MAX7219MOV R0,#30HCLR P1.1;MOV R1,#07H;指向第0位 LEDMOV A,R0;取显示缓冲区数据MOV R7,A ;显示数MOV A,R1 ;LED 显示的位地址给ALCALL MAX7219;INC R0; 指向下一个显示数据INC R1 ; 指向另一个数码管MOV A,R0MOV R7,AMOV A,R1LCALL MAX7219LCALL SHORT_DELAYDJNZ R3,DISPRET;MAX7219 子程序MAX7219:CLR P1.1;将 LOAD 信号拉低LCALL XH1;一位字节送入7219MOV A,R7 ;LCALL XH1 ;NOPNOPSETB P1.1;产生 LOAD 上升沿,锁存数据RETXH1: MOV R2,#08H;总共有 8 位,移 8 次NEXT: CLR P1.2;将 CLK 拉低RLC A ;A 中值左移入进位累加器C 中MOV P1.0,C;给 DIN 口NOPSETB P1.2 ;CLK 上升沿,移入数据NOPDJNZ R2,NEXTRET;没完成则继续SHORT_DELAY:MOV 10H,#40 ;10msDEL:MO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论