四川科技职业学院毕业论文设计
第 18 页
3.10 按键输入
夜间模式:按下夜间模式按键进入,四方向红灯长亮,再次按下按键退出。 紧急模式:按下紧急模式按键进入,四方向黄灯闪烁,再次按下按键退出。 设定倒计时时间:按下设定键后,进入设定状态,先设定南北方向,再次按下按键设定东西方向,设定好后,按下按键退出,正常运行。
修德技精 勤思协作
四川科技职业学院毕业论文设计
第 19 页
第三章 软件设计
3.1系统软件设计
根据实际交通灯的变化情况和规律。假设一个十字路
口为东南西北走向。初始状态1东西绿灯通车,南北红灯亮。过30s,转状态2,东西绿灯灭黄灯亮,南北红灯灭黄灯亮,过5s,再转状态3,南北绿灯通车,东西红灯亮。过30s,转状态4,南北绿灯灭黄灯亮,东西红灯灭黄灯亮,过5s,又循环至状态1。对于交通信号灯来说东西南北共四组灯,由于同一道上的两组的信号灯的显示情况是相同的,因此,采用单片机内部的I/O口来控制12个信号灯。通过编写程序,实现对发光二极管的控制,来模拟交通信号灯的管理。
3.2软件总体流程图
软件总体设计及流程图见图3-1,主要完成各部分的软件控制和协调。本系统主程序模块主要完成的工作是对系统的初始化,发送显示数据,同时对按键进行扫描,等待外部中断,以及根据所需要的功能进行相应的操作。其流程图如图4.1所示:
修德技精 勤思协作
四川科技职业学院毕业论文设计
图4.1 流程图
修德技精 勤思协作 第 20 页
四川科技职业学院毕业论文设计
第 21 页
第四章制作与软件调试
软件调试是通过对程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。
Keil uVision
Keil是德国开发的一个51单片机开发软件平台,最开始只是一个支持C语言和汇编语言的编译器软件。后来随着开发人员的不断努力以及版本的不断升级,使它已经成为了一个重要的单片机开发平台,不过Keil的界面并不是非常复杂,操作也不是非常困难,很多工程师的开发的优秀程序都是在Keil的平台上编写出来的。可以说它是一个比较重要的软件,熟悉他的人很多很多,用户群极为庞大,要远远超过伟福等厂家软件用户群,操作有不懂的地方只要找相关的书看看,到相关的单片机技术论坛问问,很快就可以掌握它的基本使用了。
Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。
硬件调试
硬件调试是利用DVCC实验与开发系统、基本测试仪器(万用表、示波器等),检查用户系统硬件中存在的故障。
硬件调试可分为静态调试与动态调试两步进行。 静态调试是在用户系统未工作时的一种硬件检测。
第一步:目测。检查外部的各种元件或者是电路是否有断点。
第二步:用万用表测试。先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。
第三步:加电检测。给板加电,检测所有插座或是器件的电源端是否符合要
修德技精 勤思协作
四川科技职业学院毕业论文设计
第 22 页
求的值
第四步:是联机检查。因为只有用单片机开发系统才能完成对用户系统的调试。
动态调试:是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。动态调试的一般方法是由近及远、由分到合。由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的 器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。由分到合的调试既告完成。由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了。
仿真结果图
图4.1仿真图
修德技精 勤思协作