5.4.2 显示原理
由于单片机的运行速度相当快,考虑到人的视觉特性,因而显示系统采用了动态扫描:逐个地循环地点亮各位数码管。这样虽然在任一时刻只有一位数码管被点亮,但是由于人眼具有视觉残留效应,看起来与全部数码管持续点亮效果完全一样。
为了实现数码管的动态扫描,除了要给数码管提供段(字型代码)的输入之外,还要对数码管加位的控制,这就是通常所说的段控和位控。因此,数码管接口电路需要有两个输出口,其中一个用于输出8条段控线(有小数点显示);另一个用于输出位控线,位控线的数目等于数码管的位数。图4-3(c)为译码器与数码管的连接线路图。
5.5 程序设计
5.5.1流程图如图所示
图5-1 信号控制灯流程图
5.5.2 系统内存分配和I/0接口使用
表5-1 系统内存分配和I/0接口使用
R0
用于间址寻址
30H
1S定时循环次数
R1
用于间址寻址
31H
显示子程序暂存RAM
R2
A组数码管的倒计时
40H
暂存开关内容
R3
B组数码管的倒计时
41H
倒计时次数
R4
C组数码管的倒计时
外00H
8155命令/状态寄存器
R5
减一子程序中的暂存寄存器
外01H
8155 PA口
R6
主程序暂存寄存器
外02H
8155 PB口
R7
0.5ms延时子程序暂存寄存器
外03H
8155 PC口
38H
外中断子程序暂存RAM
20H.0
暂存有无开关按下
6 单片机开发系统
单片机开发系统实际上也是一种计算机系统,是专门用来开发单片机应用系统的一种工具,它通常由一台计算机和一个通用在线仿真器构成。
在计算机上运行开发软件(编辑软件、调试软件)就可以输入、删除、编辑和运行用户程序,也可以把用户目标代码通过串口传送到通用再线仿真器。编程器可以对EPROM 进行编程和效验,也可以在计算机上对编程器进行操作
仿真器又称模拟器,主要用来帮助设计者验证设计的正确性。在硬件系统设计的各个层次都要用到仿真器。在数字系统设计中,硬件系统由数字逻辑器件以及它们之间的互连来表示。仿真器的用途是确定系统的输入/输出关系,所采用的方法是把每一个数字逻辑器件映射为一个或几个进程,把整个系统映射为由进程互连构成的进程网络,这种由进程互连组成的网络就是设计的仿真模型。
本次系统的调试使用了伟福仿真器。它最大的优点是可以进行在线仿真,如果对结果不满意,在线修改,编译后就可直接观察结果。
7 系统调试
根据方案设计的要求,调试过程共分三大部分:硬件调试、软件调试和软硬联调。
7.1硬件调试
(1)交通灯演示电路的调试:交通灯模块由多个发光二极管组成,接线繁琐,极易出错。检查二极管无故障、导线无断线、连线接头无互相搭联后可先写一个软件调试程序,依次检查东南西北方向的指示灯(发光二极管)是否点亮;若未点亮,则可能是连线接错。根据灯的亮灭情况依次查找直到电路正常工作为止。
(2)倒计时电路调试:倒计时电路主要有数码管组成。当交通灯程序写好后,倒计时的显示可与最小系统板上两组数码管显示比较(系统板上的这两组数码管用以检查倒计时工作情况)。若倒计时电路中有数码管不亮,检查数码管是否良好、数码管连线是否良好。依次检查,直至倒计时电路正常工作。
(3)其它电路的调试主要看接口以及连线是否正确。依次检查,直到正常工作。
7.2软件调试
本系统的软件系统很大,全部采用汇编语言编写,除语法与逻辑差错外,当确认程序没问题时,直接下载到单片机仿真调试。采取自下到上的方法,单独调好每一个模块,最后完成一个完整的系统调试。
7.3 软硬联调
系统做好后,进行系统的完整调试。
8 结论
本系统充分利用了AT89S52和8155芯片的I/O引脚。系统采用MSC-51系列单片机AT89S52和可编程并行I/O接口芯片8155为中心器件来设计交通灯控制器,实现了能根据实际车流量设置红、绿灯燃亮时间的功能;为了系统稳定可靠提供了可进行手动复位的功能,避免了系统不良情况的发生;显示时间直接通过8155的PA、PB输出;交通灯信号通过8155的PC口及AT89S52的某些口线输出;系统不足之处在于没有引入无线技术和传感技术等。因而如果有需要,可以设计扩充原系统来实现。
这次毕业设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。