logo资料库

单片机课程设计 51系列.doc

第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
资料共9页,剩余部分请下载后查看
单片机课程设计报告 题目:交通灯设计 专业:电子信息科学与技术 班级:电专(1)班 学号:200402437 姓名:刘富镇 指导老师:涂二生、黄朝良、沈汉鑫、王清辉 设计时间:2006 年 03 月 13 到 2006 年 3 月 19 号
单片机课程设计与总结报告 摘要 近年来随着科技的飞速发展,单片机的应用正在不断地走 向深入,同时带动传统控制检测日新月益更新。在实时检测和 自动控制的单片机应用系统中,单片机往往是作为一个核心部 件来使用,仅单片机方面知识是不够的,还应根据具体硬件结 构,以及针对具体应用对象特点的软件结合,加以完善。交通 信号灯的出现,使交通得以有效管制,对于疏导交通流量、提 高道路通行能力,减少交通事故有明显效果。本系统采用单片 机 AT89C51 为中心器件来设计交通灯控制器,系统实用性强、 操作简单、扩展性强。 目录 一.设计任务………………………… 二.交通灯的设计程序框图……………… 三.交通灯程序的主程序 ……………… 四.系统硬件电路的设计…………………… 五.原理图……………… 六.检测与调试……………………………. 七.总结与体会………………………………. 八.致谢……………………………….
一.设计任务 (一)、功能及技术指标要求 设计交通灯的基本要求 : 设计一个交通灯,要应用 DVCC 实验系统。 (二)、设计内容 按设计技术指标进行交通灯的硬件和软件设计。 (三)设计思路及关键技术 一个完整的交通灯相当于一个简单的单片机系统,该系统有交通灯设置电路、单片机、 显示电路等构成。单片机是集成的 IC 芯片,只需根据实际设计要求选型。其他部分都需要根 据应用要求和性能指标自行设计。 基于单片机的交通灯的设计时要充分的认识以下两个问题: 1.因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。假设一个十字路 口为东西南北走向。初始状态 0 为东西红灯,南北红灯。然后转状态 1 南北绿灯通车,东西 红灯。过一段时间转状态 2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态 3,东西绿灯通车,南北红灯。过一段时间转状态 4,东西绿灯闪几次转亮黄灯,延时几秒, 南北仍然红灯。最后循环至状态 1。 2.双色 LED 是由一个红色 LED 管芯和一个绿色 LED 管芯封装在一起,公用负端。当红 色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时, 绿灯亮;两端都加高电平时,黄灯亮。 二. 交通灯的设计程序框图 开始 ↓ 四个路口红灯亮 ↓ 东西绿灯亮,南北红灯亮,延时 ↓ 东西黄灯闪烁,南北红灯亮,延时 ↓ 东西红灯亮,南北绿灯亮,延时 ↓ 东西红灯亮,南北黄灯闪烁,延时 ↓ ;四盏红灯亮 ;显示 5 秒 ;调显示子程序 LCALL xian DJNZ R4,LOOP1 MOV R4,#00H MOV R2,#03H LCALL xian ;东西绿灯亮,南北红灯亮 A2:MOV A,#0CH CLR P3.5 MOV P1,A 三.交通灯程序的主程序 程序如下: ORG 0000H SJMP A3 A3:MOV SP,#60H MOV A, #24H MOV P1, A CLR P3.4 CLR P3.3 SETB P3.5 SETB P3.2 MOV R4,#05H LOOP1:MOV R2,#03H
;显示 20 秒 ;调显示子程序 ;调显示子程序 ; 显示 5 秒 ;东西黄灯亮,南北红灯亮 ;调显示子程序 ;定时 ;调延时子程序 ;定时 ;调延时子程序 ;调显示子程序 ; 显示 20 秒 LOOP2 :MOV R2,#03H SETB P3.3 CLR P3.4 SETB P3.2 MOV R4,#14H LCALL xian DJNZ R4,LOOP2 MOV R4,#00H MOV R2,#03H LCALL xian SETB P3.2 CLR P3.3 MOV R4 ,#05H LOOP9:MOV A,#14H MOV P1 ,A CLR P3.5 SETB P3.4 MOV R2,#02H LCALL xian MOV R2,#01H LCALL DELAY ;南北红灯亮 MOV A ,#04H MOV P1 ,A CLR P3.4 CLR P3.5 MOV R2,#01H LCALL DELAY DJNZ R4,LOOP9 MOV R4,#00H MOV R2,#03H LCALL xian ;东西红灯亮,南北绿灯亮 A8: MOV A, #61H MOV P1,A CLR P3.4 CLR P3.3 CLR P3.2 SETB P3.5 MOV R4,#14H LOOP3: MOV R2,#03H LCALL xian ;调显示子程序 DJNZ R4,LOOP3 MOV R4,#00H MOV R2,#03H LCALL xian ;调显示子程序 SETB P3.5 MOV R4 ,#05H LOOP10: MOV R2,#02H LCALL xian ;调显示子程序 ; 东西红灯亮,南北黄灯亮 A0:MOV A,#0A2H MOV P1,A CLR P3.4 CLR P3.3 CLR P3.2 MOV R2,#01H LCALL DELAY ;调延时子程序 ;定时
; 东西红灯亮 MOV A,#20H MOV P1,A CLR P3.4 CLR P3.3 CLR P3.2 MOV R2,#01H LCALL DELAY DJNZ R4,LOOP10 MOV R4,#00H MOV R2,#03H LCALL xian LJMPA2 DELAY:PUSH 2 PUSH 1 PUSH 0 DELAY1: MOV 1,#00H DELAY2:MOV 0,#0B2H DJNZ 0,$ DJNZ 1,DELAY2 DJNZ 2,DELAY1 POP 0 POP 1 POP 2 DJNZ R2 ,DELAY RET ;显示子程序 xian: MOV A,R4 MOV B,#10 DIV AB MOV R6,A MOV DPTR,#TAB MOV A,B MOVC A,@A+DPTR MOV SBUF,A MOV R7,#0FH H55S:DJNZ R7,H55S MOV A,R6 MOVC A,@A+DPTR MOV SBUF,A MOV R7,#0FH H55S1:DJNZ R7,H55S1 ;定时 ;调延时子程序 ;调显示子程序 ;延时子程序 LCALL DELAY RET TAB:DB 0fch,60h,0dah,0f2h,66h,0b6h,0beh,0e0h DB 0feh,0f6h,0eeh,3eh,9ch,7ah,9eh,8eh END 四.系统硬件电路的设计 (1)芯片由 DVCC 实验系统提供(AT89C51) 1.主要特性: ·与 MCS-51 兼容 ·4K 字节可编程闪烁存储器 寿命:1000 写/擦循环 数据保留时间:10 年
·全静态工作:0Hz-24Hz ·三级程序存储器锁定 ·128*8 位内部 RAM ·32 可编程 I/O 线 ·两个 16 位定时器/计数器 ·5 个中断源 ·可编程串行通道 ·低功耗的闲置和掉电模式 ·片内振荡器和时钟电路 2.管脚说明: VCC:供电电压。 GND:接地。 P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P1 口的 管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为 数据/地址的第八位。在 FIASH 编程时,P0 口作为原码输入口,当 FIASH 进行校验时,P0 输 出原码,此时 P0 外部必须被拉高。 P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平 时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时,P1 口作为第八位地址 接收。 P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输 入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程 序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1” 时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能 寄存器的内容。P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。 当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为 低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。P3 口也可作为 AT89C51 的一些特殊 功能口,如下表所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.2 /INT0(外部中断 0) P3.4 T0(记时器 0 外部输入) P3.6 /WR(外部数据存储器写选通) P3 口同时为闪烁编程和编程校验接收一些控制信号。 P3.1 TXD(串行输出口) P3.3 /INT1(外部中断 1) P3.5 T1(记时器 1 外部输入) P3.7 /RD(外部数据存储器读选通) RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此 频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是: 每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上 置 0。此时, ALE 只有在执行 MOVX,MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。 如果微处理器在外部执行状态 ALE 禁止,置位无效。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次 /PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。 /EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管 是否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为 RESET;当/EA 端保持高电平 时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 3.振荡器特性: XTAL1 和 XTAL2 分别为反向放大器的输入和输出。该反向放大器可以配置 为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2 应不接。 有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求, 但必须保证脉冲的高低电平要求的宽度。 4.芯片擦除: 整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合, 并保持 ALE 管脚处于低电平 10ms 来完成。在芯片擦操作中,代码阵列全被写“1” 且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外,AT89C51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软 件可选的掉电模式。在闲置模式下,CPU 停止工作。但 RAM,定时器,计数器,串 口和中断系统仍在工作。在掉电模式下,保存 RAM 的内容并且冻结振荡器,禁止 所用其他芯片功能,直到下一个硬件复位为止。 (2) 完整的 DVCC 实验箱面板 (3)硬件电路连接说明
五.原理图 六.检 测 与 调 试 9 1 0 5V 1 0 9 8 7 6 5 4 3 2 1 dp g f e d c b a D1 D2 5V 5V 1K 硬 件 调 试 是 利 用 DVCC 实 验 与 开 发 系 统 、 基 本 测 试 仪 器 ( 万 用 表 、 示 波 器 等 ), 1、 硬 件 调 试 : GND DM74LS164N QH QG QF QE QD QC QB QA CLK CLR B A 7 8 9 C1 B2 B1 2 1 13 12 11 10 6 5 4 3 VCC 14 U1 D12 A12 dp g f e d c b a 8 7 6 5 4 3 2 1 DM74LS164N GND QH QG QF QE QD QC QB QA 7 8 9 CLK CLR C1 B A B2 B1 2 1 13 12 11 10 6 5 4 3 14 VCC U2 AT89C51 GND XTAL1 20 P2.0 P2.1 21
分享到:
收藏