找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 921|回复: 0
打印 上一主题 下一主题
收起左侧

来一波课程设计 新人报道

[复制链接]
跳转到指定楼层
楼主
ID:350517 发表于 2018-6-12 18:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
目 录
1设计任务---------------------------------------------------------- 1
2 设计方案--------------------------------------------------------- 1
2.1任务分析---------------------------------------------------- 1
2.2方案设计---------------------------------------------------- 1
2.3硬件方案---------------------------------------------------- 1
2.4软件方案---------------------------------------------------- 2
3 系统硬件设计----------------------------------------------------- 3
    3.1单片机的最小系统-------------------------------------------- 3
3.2电源电路设计------------------------------------------------ 3
3.3数码管显示电路---------------------------------------------- 3
4 系统软件设计----------------------------------------------------- 4
4.1 主程序设计-------------------------------------------------- 4
4.2系统程序---------------------------------------------------- 4
5 调试及性能分析--------------------------------------------------- 4
5.1软件调试---------------------------------------------------- 4
5.2硬件调试---------------------------------------------------- 4
5.3系统功能调试------------------------------------------------ 5
6 遇到的问题及解决------------------------------------------------- 5
7 心得体会--------------------------------------------------------- 5
附录:------------------------------------------------------------- 6
总结-------------------------------------------------------------- 10
1设计任务
    利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。用红、绿、黄发光二极管作信号灯。
2 设计方案2.1任务分析
    模拟交通灯控制器就是使用单片机来控制一些LED 和数码管,模拟真实交通灯的功能。红、黄、绿交替点亮,利用数码管倒计数显示间隔等,用于管理十字路口的车辆及行人交通,计时牌显示路口通行转换剩余时间等。
2.2方案设计
    我们设计的是十字路口的红绿灯,有东西,南北两个走向,前两个灯是东西的红灯和绿灯,后两个是南北的红灯和绿灯,前两个灯不会同时亮,后两个灯不会同时亮,第1个和第3个不会同时亮,暂时没有黄灯的功能。
2.3硬件方案
根据设计的要求可知,系统的硬件原理框图如下图所示

file:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif


图1  硬件原理框图
    单片机可选用STC89C52,它与8051系列单片机全兼容,但其内部带有8KB的FLASH ROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。南北向和东西向各采用2个数码管计时,同时需要对该方向的指示灯的点亮时间进行倒计时。按键可以根据系统的需要进行复位。用三极管驱动数码管显示,三极管控制共阳位选端,控制数码管的显示。
2.4 软件方案
    首先南北方向红灯、东西方向绿灯亮,南北方向红灯15秒、东西方向绿灯10秒,相应的数码管显示对应的数字并读秒,同时南北方向红色的二极管和东西方向的绿色二极管接通点亮显示,当东西方向的绿灯时间到,则东西方向的绿灯转为黄灯,同时数码管显示黄灯的时间5秒,东西方向的黄色二极管接通点亮,此时南北方向的红灯不变。南北方向的红灯和东西方向的黄灯时间同时到,此时南北方向的红灯跳转为绿灯,时间同样为10秒,东西方向有黄灯跳转为红灯,时间为15秒。当南北方向的绿灯时间到,南北绿灯跳转为黄灯,东西方向的红灯不变,当南北方向的黄灯和东西方向的红灯时间到,南北方向的黄灯跳转为红灯,东西方向的红灯跳转为绿灯。进入开始的状态,循环执行。
根据设计要求,程序框图如图所示。软件可由汇编语言完成,也可由C语言完成。软件设计可以分为以下几个功能模块:
数码管显示模块
    动态显示方式:动态显示方式是指一位一位地轮流点亮每位显示器(称为扫描),即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。通过调整电流和时间参数,可以既保证亮度,又保证显示。若显示器的位数不大于8位,则显示器的公共端只需一个8位I/O口进行动态扫描(称为扫描口),控制每位显示器所显示的字形也需一个8位口(称为段码输出)。
LED红绿灯显示模块
状态1, 东西绿灯亮,南北红灯亮
状态2, 东西黄灯亮,南北红灯亮
状态3, 东西红灯亮,南北绿灯亮
状态4, 东西红灯亮,南北黄灯亮
结构框图file:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image002.giffile:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image003.giffile:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image004.giffile:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image005.giffile:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image003.giffile:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image006.giffile:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image007.giffile:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image008.giffile:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image009.gif
  
        
状态4
   
   
   
  
        
状态3
   
   
   
  
        
状态2
   
   
   
  
        
状态1
   
   
   
file:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image010.gif
图2  LED红绿灯显示框图
3 系统硬件设计3.1单片机的最小系统
    STC公司生产的AT89C52单片机它是硬件电路的核心部分,时钟电路晶振使用12MHz,复位电路采取按键复位方式。
3.2电源电路设计
    电源用5V直流变压器直接供电,usb接口供电。
3.3数码管显示电路
    显示电路采用4个共阳数码管,用74HC244做驱动器,P0口作为数码管的输入,ULN2803作为控制位选端,P2.0,P2.1,P2.2, P2.3分别作为东西,南北四路数码管的位选端。
4 系统软件设计4.1 主程序设计
系统程序流程图

file:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image011.gif


图3  系统程序流程图
4.2系统程序
    根据设计方案,设计满足要求的程序,并将程序烧写进单片机,运行程序,观察现象是否符合要求,若不符合要求继续修改程序。直至能达到要求。程序清单见附录
5 调试及性能分析5.1软件调试
    软件调试主要是利用protus仿真软件完成电路的搭建,运行以发现设计中的错误及时改正。
5.2硬件调试
     硬件调试主要是检测硬件电路是否有短路、断路、虚焊等。具体步骤及测试结果如下:
(1)检查电源与地线是否全部连接上,用万用表对照电路原理图测试各导线是否完全连接,对未连接的进行修复。(2)参照原理图,检查各个器件之间的连接是否连接正确,是否存在虚焊,经测试,各连接不存在问题。(3)以上两项检查并修复完后,给该硬件电路上电,电源指示灯点亮。
5.3系统功能调试
    通过通电调试系统的功能,观察系统是否正常运行,是否达到设计指标,通过修改软件完成系统的系能指标,也可以通过仿真软件进行仿真运行,调试并修改系统,以便达到最佳水准。让系统最大限度的发挥其功效。
6 遇到的问题及解决
    在设计过程中,会出现了一些问题,但都是常见的小问题,如:代码中双引号的使用并不是在英语书写状态下,输入字母出错等,在调试时出现异常,不过这些都是经常性错误,经过调试修改都一一解决,程序顺利完成,并实现了其功能。
    综合课程设计让我把以前学习到的知识得到巩固和进一步的提高认识,对已有知识有了更进一步的理解和认识。在此,由于自身能力有限,在课程设计中碰到了很多的问题,我通过查阅相关书籍、资料以及和周围同学交流。
    由于使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。但是在我们设计和调试的过程中,也发现了一些问题,譬如红灯和绿灯的切换还不够迅速,红绿灯规则不完善效率还不是很高等等,这需要在实践中进一步完善。
7 心得体会这学期是我们首次接触单片机这门课程,大一的时候学长为我们展示了单片机,告诉我们这是我们以后要学习的很重要的东西,那时候只看到一块板子上可以显示数字,现在我知道了那个叫数码管。单片机刚刚学习的时候我觉得很难,代码都看不懂,更别说编程了,所以这次课设对我们来说很困难,可是随着组员之间的讨论我们解决了一些问题,也更深的了解了单片机的原理,交通灯在所有课设里面不算是难的,可是对我们来说都一样很困难。问题虽然很多但我们还是努力去解决,从计时到LED亮都很难,从书本学习的东西用在实际中才知道有多重要,最后我们只实现了简单的红绿灯而没有黄灯,这是我们的课设需要改进的。在以后的学习中我们应该勤动手,多动脑,遇到问题思考怎么解决,并且要有合作意识,团队的能力总是比一个人要大的,我们会改进作品,更好的使用单片机。
附录
      ORG   0000H
      LJMP  MAIN
      ORG   0003H
      LJMP  INTT0
      ORG   0013H
      LJMP  INTT1
      ORG   001BH
      LJMP  TT1
      ORG   0100H
TT1:  MOV   TH1,#0D8H                ;定时器1,定时10us
      MOV   TL1,#0F0H
      DJNZ  R6,EXIT
      MOV   R6,#100                  ;定时器定时100次
      MOV   R1,#0FFH
EXIT: RETI
INTT0:MOV    P1,#0BEH                  ;外部中断0,
      JB    P3.4,$
      RETI
INTT1:MOV    P1,#0BBH                  ;外部中断1,
      JB    P3.4,$
      RETI
      ORG   1000H
MAIN: MOV    R6,#100                  ;主程序;
      MOV   R1,#00H
      MOV   TMOD,#10H                ;初始化
      MOV   TH1,#0D8H
      MOV   TL1,#0F0H
      MOV   IE,#8DH
      MOV   20H,#10
      MOV   21H,#5
      MOV   22H,#10
      MOV   23H,#15
      MOV   24H,#15
      SETB  TR1
ST1:  MOV   P1,#0EBH                 
      CJNE  R1,#0FFH,TZ1
      MOV   R1,#00H
      DEC   20H
      DEC   23H
TZ1:  MOV   R2,20H
      MOV   R3,23H
      LCALL DISP                    
      MOV   A,20H
      CJNE  A,#00H,ST1
      MOV   20H,#10
ST2:  MOV   P1,#0EDH               
      CJNE  R1,#0FFH,TZ2
      MOV   R1,#00H
      DEC   21H
      DEC   23H
TZ2:  MOV   R2,21H
      MOV   R3,23H
      LCALL DISP                  
      MOV   A,21H
      CJNE  A,#00H,ST2
      MOV   21H,#05
      MOV   23H,#15
ST3:  MOV   P1,#0BEH               
      CJNE  R1,#0FFH,TZ3
      MOV   R1,#00H
      DEC   24H
      DEC   22H
TZ3:  MOV   R2,24H
      MOV   R3,22H
      LCALL DISP                    
      MOV   A,22H
      CJNE  A,#00H,ST3
      MOV   22H,#10
ST4:  MOV   P1,#0DEH               
      CJNE  R1,#0FFH,TZ4
      MOV   R1,#00H
      DEC   24H
      DEC   21H
TZ4:  MOV   R2,24H
      MOV   R3,21H
      LCALL DISP                    
      MOV   A,21H
      CJNE  A,#00H,ST4
      MOV   21H,#05
      MOV   24H,#15
      LJMP  ST1                     
DISP: MOV    A,R2                    
      MOV   B,#10
      DIV   AB
      MOV   60H,A
      MOV   61H,B
      MOV   A,R3
      MOV   B,#10
      DIV   AB
      MOV   62H,A
      MOV   63H,B
      MOV   40H,#04H
      MOV   R5,#01H
      MOV   R0,#60H
LLP:  MOV   A,@R0
      MOV   DPTR,#TABLE
      MOVC  A,@A+DPTR
      MOV   P0,A
      MOV   A,R5
      MOV   P2,A
      LCALL DELAY1
      MOV   P2, #00H;
      RL    A
      MOV   R5,A
      INC   R0
      DJNZ  40H,LLP
      RET
DELAY1:                              ;延时子程序
      MOV   R4,#12
DL2:  MOV   R7,#12
      DJNZ  R7,$
      DJNZ  R4,DL2
      RET
TABLE:DB     0C0H,0F9H,0A4H,0B0H,99H
      DB    92H,82H,0F8H,80H,90H
      END
总结
交通灯的设计总结:
通过此次课程设计,使我更加扎实的掌握了有关电子线路方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过自己亲手实践,是我们掌握的知识不再是纸上谈兵。
过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会极大人的认可。
课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。同时,设计让我感触很深。使我对抽象的理论有了具体的认识。通过这次课程设计,我掌握了NI Multisim软件的使用方法,了解了红绿灯的实际控制过程,以及如何提高电路的性能等等。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表