1、单片机课程设计指导单片机课程设计指导设计内容:交通灯控制系统设计内容:交通灯控制系统湖南冶金职业技术学院电气系湖南冶金职业技术学院电气系2005年年3月月目目 录录一、设计内容二、进度安排三、基本要求四、设计过程 1、设计要求 2、设计要点 3、硬件设计 4、软件设计 5、调试与仿真五、设计报告六、考核方法一、设计内容一、设计内容 十字路口交通灯控制系统的设计十字路口交通灯控制系统的设计 利用单片机的定时器产生秒信号,控制十字路口的红绿黄灯交替点亮和熄灭,并且用4只LED数码管显示十字路口两个方向的剩余时间。要求能用按键设置两个方向的通行时间(绿灯点亮的时间)和暂缓通行时间(黄灯点亮的时间),
2、系统的工作符合一般交通灯控制要求。回目录二、进度安排二、进度安排 单片机课程设计共安排2周,合计60学时,具体分配如下:n实习动员及准备工作:2学时n总体方案设计:4学时n硬件设计:6学时n软件设计:18学时n软件调试:6学时n硬件仿真:6学时n撰写设计报告:12学时n答辩与总结:6学时回目录三、基本要求三、基本要求 1、课程设计的基本要求、课程设计的基本要求 单片机课程设计的主要内容包括:理论设计、调试与仿真、撰写设计报告等。其中理论设计又包括选择总体方案,硬件系统设计、软件系统设计;硬件设计包括单元电路,选择元器件及计算参数等;软件设计包括模块化层次结构图,程序流程图。程序设计是课程设计的
3、关键环节,通过调试进一步完善程序设计,使之达到课题所要求的指标,使理论设计更接近于实际产品。课程设计的最后要求是写出设计总结报告,把理论设计内容,调试的过程及性能指标的测试结果进行全面的总结,把实践内容上升到理论高度。回目录 2、课程设计的教学要求、课程设计的教学要求 单片机课程设计的教学采用相对集中的方式进行,以班为单位全班学生集中到工控网络机房进行实训,每人配备一台PC机、一套DDZH-1型电子/单片机综合实训箱、相关的软件及电子元器件等器材设备。做到实训教学课堂化,严格考勤制度,在实训期间(两周)累计旷课达到6节以上,或者迟到、早退累计达到8次以上的学生,该课程考核按不及格处理。在实训期
4、间需要外出查找资料、购买电子元器件时,必须向指导老师请假,经同意后方可外出。回目录 课程设计的任务相对分散,每5-8名学生组成一个小组,完成一个课题的设计。小组成员既有分工、又要协作,同一小组的成员之间可以相互探讨、协商,可以互相借鉴或参考别人的设计方法和经验。但每个学生必须单独完成设计任务,要有完整的设计资料,独立撰写设计报告,设计报告雷同率超过50%的课程设计考核按不及格处理。回目录四、设计过程四、设计过程 1 1、设计要求、设计要求 十字交叉路口的交通灯控制系统的结构如图1.1所示。南北东西图1.1 十字路口交通灯控制示意图回目录 往南和往北的信号一致,即红灯(绿灯或黄灯)同时亮或同时熄
5、灭。用两个数码管来显示被点亮的指示灯还将点亮多久。往东和往西方向的信号一致,其工作方式与南北方向一样,也采用两个数码管来倒计时。当南北方向为绿灯和黄灯时,东西向的红灯点亮禁止通行;而东西方向为绿灯和黄灯时,南北向的红灯点亮禁止通行。回目录 假设南北方向为主干道,通行时间为60秒,东西方向是次干道,通行时间为30秒,黄灯点亮的时间均为4秒,则其工作方式如表1.1所示循环点亮信号灯。南北向东西向表1.1 交通信号灯工作模式绿灯亮60秒黄灯亮4秒红灯亮64秒红灯亮34秒绿灯亮30秒黄灯亮4秒回目录 具体设计要求如下:具体设计要求如下:1、设计一交通灯控制系统,其结构如图1所示,工作方式满足上述要求。
6、2、主干道和次干道的通行时间及黄灯点亮的时间可以手动设置。3、在没有手动设置通行时间时,系统自动按表1.1的模式进行工作。回目录2 2、设计设计要点要点(1)(1)硬件设计:硬件设计:1)单片机建议选用AT89C51,它与8051系列单片机全兼容,但其内部带有4KB的FLASH ROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。2)LED显示系统:南北向和东西向各采用2个数码管计时,对该方向的指示灯的点亮时间进行倒计时,最长计时范围为99秒。设计时可利用单片机的P0口和P1口作为字段和片选信号输出,经驱动芯片后驱动数码管显示倒计时时间,数码管采用动态扫描方式显示。回目录 3)键盘系
7、统:设置3个程序按键:设置键、增加键、减少键,因键盘使用频率很小,建议采用查询方式来读取键盘。另需配置一个非程序按键:系统复位键。4)电源供电系统:本系统采用220V电源供电,应设计相应的稳压电源电路。但课程设计受时间限制,也可采用现成的5V直流稳压电源供电,这样可以节约设计时间、简化设计过程。回目录(2)(2)本系统的工作流程:本系统的工作流程:1)接通电源时或系统复位后,系统按程序给定的时间工作,即南北向通行60秒,东西向通行30秒,黄灯亮4秒,工作模式如表1.1所示。首先南北向通行,然后东西向通行,如此循环。2)通行时间的设置:当需要更改主、次干道的通行时间时,可以用“设置键、增加键、减
8、少键”进行设置。第一次按“设置键”时,南北向的绿灯亮,南北向的数码管显示当前南北向的通行时间,并且按每秒3次的频率闪烁(每秒钟亮3次暗3次),其余的信号指示灯和东西向的数码管熄灭,此时可以用“增加键”和“减少键”来 回目录 改变南北向的通行时间。按一次“增加键”或“减少键”,数码管的显示时间增加1秒或减小1秒,长按“增加键”或“减少键”(按下的时间超过1秒钟以上),则数码管显示的时间按每秒钟增加或减少10的速度快速变化。第二次按“设置键”时,南北向的黄灯亮,南北向的数码管显示当前南北向黄灯的点亮时间,并且按每秒3次的频率闪烁(每秒钟亮3次暗3次),其余的信号指示灯和东西向的数码管熄灭,此时可以
9、用“增加键”和“减少键”来改变南北向黄灯的点亮时间。回目录 第三次按“设置键”时,东西向的绿灯亮,东西向的数码管显示当前东西向的通行时间,并且按每秒3次的频率闪烁,此时可以用“增加键”和“减少键”来改变东西向的通行时间。第四次按“设置键”时,东西向的黄灯亮,东西向的数码管显示当前东西向黄灯的点亮时间,并且按每秒3次的频率闪烁,此时可以用“增加键”和“减少键”来改变东西向黄灯的点亮时间。第五次按“设置键”时,系统退出设置状态,回到交通信号灯状态,并且南北向先通行,东西向后通行。“设置键”的功能如表1.2所示。回目录按“设置键”的次数 调整内容 调整范围 第1次南北向的绿灯点亮时间099秒表表1.
10、2 设置键的功能设置键的功能第2次南北向的黄灯点亮时间09秒第3次东西向的绿灯点亮时间099秒第4次东西向的黄灯点亮时间09秒第5次恢复交通灯工作状态回目录(3)(3)软件设计:软件设计:1)系统资源分配:为了便于程序的设计、阅读及修改,需要先对系统的存储器资源进行分配和说明。2)软件模块:根据上述工作流程和设计要求,软件设计可以分为以下几个功能模块:主程序:初始化及键盘监控。计时程序模块:为定时器的中断服务子程序,完成0.1秒和1秒的时间定时。回目录 显示程序模块:完成12个发光二极管(实际上只需驱动6个)和4个LED数码管的显示驱动。键盘扫描程序模块:判断是否有键按下,并求取键号。键处理程
11、序模块:分别是“设置键”“增加键”“减少键”的处理子程序。回目录3、硬件设计、硬件设计 根据设计要求,交通灯控制系统的硬件由8位单片机、4个数码管及其驱动电路、12个三色LED指示灯及其驱动电路、键盘(3个程序键)、电源电路等组成。可以参照图1.2所示的方框图进行设计。硬件设计的要求:回目录(1)确定元器件的型号及参数。(2)用PROTEL画出完整的原理图。(3)列出元器件清单。P2.0P2.3P0P3.0P3.2回目录电源电路电源电路时钟与复时钟与复位位程序按键程序按键段驱动段驱动位驱动位驱动驱动驱动P1.0P1.53色色LED指示灯指示灯4位位LED数码管数码管单片机单片机AT89C51图
12、图1.2 交通灯控制系统组成方框图交通灯控制系统组成方框图4、软件设计、软件设计 根据设计要点,软件设计首先应对系统资源进行进行分配和说明。为了增加程序的可读性,理清程序的编写思路,建 议程序采用模块化结构,可按以下9个模块编写程序:回目录 主程序模块:主要完成RAM清零,T0定时器的设置,绿、黄灯的初值设定,键盘查询以及各子程序的调用。定时中断服务程序模块:产生0.1秒和1秒的定时信号,每到了1秒钟,使南北绿灯(20H),南北黄灯(21H),东西绿灯(22H),东西黄灯(23H)进行递减计数。扫描显示子程序:为12位LED动态显示提供驱动信号。P0口和P2口为数码管提供驱动信号,P0口为字段
13、口,低电平有效,P2口为字位码输出口,高电平有效。显示缓冲区30H到34H共4个字节,33H和32H存放南北显示的十位与个位数据;31H和30H存放东西的十位与个位数据。回目录 键扫描子程序:检测P3端口,判断是否有键按下,如果有键按下,则进行延时去抖动并读取键值存入A中。键值处理子程序:根据键值,转相应键处理子程序。设置键处理子程序:设置键是一个多功能键,需要对其所按的次数进行计数,然后转到相应的程序段。加1键处理子程序:在按键标志位有效的情况下,每按一次加1键,对应的数据作加1处理。长按该键(时间超过1秒),则对应的数据快速增加。回目录 减1键处理子程序:在按键标志位有效的情况下,每按一次
14、减1键,对应的数据作减1处理。长按该键(时间超过1秒),则对应的数据快速减小。恢复通行显示子程序:在设置通行时间的状态下(此时键处理标志位0F2H=1),如在30秒钟内没有按任何按键,则自动恢复到正常工作状态,所作的设置时间无效。回目录 软件设计的要求:软件设计的要求:(1)用MCS-51汇编语言进行程序设计。(2)在WAVE或其它编程平台上进行编辑,并完成编译。附:参考程序。回目录5 5、调试与仿真、调试与仿真 程序设计完毕后,再进行硬件仿真和系统调试。仿真和调试在DDZH-1型电子/单片机综合实训箱上完成。系统调试按以下步骤进行:回目录(1)DDZH-1型电子/单片机综合实训箱的硬件连接:
15、J1 连J6;J4的1、2、3脚连J7的1、2、3脚。(2)程序烧录:如单片机采用AT89S51,可以用DDZH-1型实验箱的JC1口(ISP下载)固化程序。用数据线将PC机的串口与 (4)长时间通电试机,检测系统的稳定性和抗干扰能力。回目录实验箱的JC1口接连,打开相应的程序烧录软件(如Zpro等),按要求操作即可。如单片机采用AT89C51,则须采用专用的程序烧录器下载程序。(3)测试系统的性能,不能达到设计要求时,重新调整或修改程序,进一步调试,直到满足设计要求。五、设计报告五、设计报告 设计完成后,必须撰写课程设计报告。设计报告必须独立完成,格式符合要求,文字(不含图形、程序)不少于3
16、000字,图形绘制规范。设计报告的格式如下:回目录 1、封面 2、内容提要 3、目录 4、正文 (1)所作题目的意义、本人所做的工作及系统的 主要功能;(2)硬件电路设计及描述;(3)软件设计流程及描述;(4)源程序代码(要有注释);5、心得体会 6、参考文献 回目录六、考核方法六、考核方法 单片机课程设计的考核方式为考查,考核结果为优秀、良好、中等、及格和不及格五等,分数在90-100之间为优秀,80-89分之间为良好,70-79分之间为中等,60-69分之间为及格,60分以下为不及格。考核分三个方面进行:设计制作 40%;设计报告 30%;设计答辩 30%。表1.3是单片机课程设计的考核成
17、绩记录表。回目录表表1.2 单片机课程设计考核成绩记录表单片机课程设计考核成绩记录表 姓名班级学号考核项目设计制作40分设计报告30分设计答辩30分设计质量50%创新设计50%报告质量70%平时成绩30%熟练程度80%个人素质20%实得分总分考核等级教师签名回目录 1 1、设计制作:、设计制作:4040分分回目录(1 1)创新设计:)创新设计:50%50%包括总体设计方案、硬件系统的设计、软件系统的设计、程序的调试等。考核时要查看原始设计资料和相关记录,分段进行考核。(2 2)设计质量:)设计质量:50%50%包括硬件的连接、程序固化、硬件调试与仿真。要求元器件布局合理,连线规范、整洁、牢固,
18、硬件仿真符合设计要求,系统运行稳定可靠。2 2、设计报告:、设计报告:3030分分回目录(1 1)设计报告的完成质量:)设计报告的完成质量:70%70%设计报告必须独立完成,格式符合要求,文字(不含图形、程序)不少于3000字,图形绘制规范。(2 2)平时成绩:)平时成绩:30%30%主要考核学生在实训期间的表现,包括考勤、课堂纪律、学习态度、工作作风等方面。3 3、课题答辩:、课题答辩:3030分分 主要回答老师和同学提出的问题,要求思路清晰,语言准确、精练。对于课程设计中的基本问题、相关的基本知识能够进行解答。其中对课题内容的熟练程度占80%,答辩中的个人素质占20%。回目录 有下列情形之一者,课程设计考核按不及格处理:回目录、实训期间累计旷课达6节;、实训期间累计迟到、早退达8次;、设计报告雷同率超过50%;、不能完成设计任务,达不到设计要求;