同,为节省空间可省略一对)。
五电路设计分析根据前面的设计内容与原理分析,电路设计中应有控制模块(单片机电路)、显示模块(十六个信号灯和两个七段数码管)本电路的设计,将发光二极管作为16个信号灯的材料。电源将采用5V的直流电源。东西两个方向的绿灯是同时亮的,为了简化电路可以让这两个灯接同一个引脚。同理,东西方向的黄灯、红灯也可以分别接同一个引脚。南北方向同上。这样我们可以用一个8位口控制16盏信号灯。各信号灯均是共阴极接法,LED负极均接地,正极通过保护电阻接单片机P1口。这样单片机引脚的输出一个高电平时,相应的信号灯就被点亮。七段数码管经过8位排阻RESPACK8连接。单片机中应包括复位电路和晶振电路。本设计中,采用上电复位形式,由于本系统应用的机器周期为ls,所以晶振选择为12MHz,根据调试电容选择30pF.
f图3:复位电路
图4:晶振电路
六硬件原理图
f七程序流程本程序的程序流程图如图所示
f开始
复位
东西直行绿灯亮南北红灯亮南北直行绿灯亮东西红灯亮延时25s延时25s东西左转绿灯亮南北红灯亮南北左转绿灯亮东西红灯亮
延时20s
延时20s
设置闪烁次数
设置闪烁次数
黄灯亮
黄灯亮
延时500ms
延时500ms
黄灯灭
黄灯灭
延时500ms
延时500ms
N闪烁次数到?
Y
N闪烁次数到?
Y
八心得体会这次系统实验历时一个月的时间,在这实验过程里我们巩固了从编程、软件使用到调试的专业知识,逻辑思维和动手能力都得到了很大的提高。
f要解决的主要问题就是程序的设计和仿真,虽然初期在设计和布局、编程时思路比较清晰,但是到了细节处,也出了不少问题,而且很难被检查出来,如在定时器使用方面出了一些错误。但是最后经过不断努力,还是写出来正确的代码。通过这次系统实验,对以前学过的知识进行了巩固,加深了理解,提高了应用的能力,而且提高了我们的发现、分析、解决问题的能力,同时提高了对专业的认识及兴趣,对于我们工科生来说,对以后就业很有帮助。
附录
程序代码:ucharu
sig
edchar
defi
e
fdefi
eui
tu
sig
edi
ti
cludereg52h定义控制位sbitEW_LED2P23东西数码管个位sbitEW_LED1P22东西数码管十位sbitSN_LED2P21南北数码管个位sbitSN_LED1P20南北数码管十位_sbitSN_YellowP16南北黄灯sbitEW_YellowP12东西黄灯sbitEW_RedP13东西红灯sbitSN_RedP17南北红灯sbitBusy_Btto
P34bitFlag_SN_Yellow南北黄灯标志位bitFlag_EW_Yellow东西黄灯标志位charTime_EW东西方向倒计r