1、由5V直流稳压电源:普通5V直流稳压电源即可;单片机:常用8051或8052SR锁存器:普通14脚SR锁存器即可晶振:12M发光二级管:普通发光二级管红,黄,绿数码管:LG3641电阻:10K电阻及300欧电阻若干电容:22pF电容及CT81电解电容1.4系统核心处理策略(控制策略、信号处理方法等) 主要是电路设计正确及程序编写无误。起初对PCB板进行调试,确保焊接无误及电路连接正确。再通过编写程序控制灯的闪亮时间及方式直至符合要求。1.5系统软硬件功能划分硬件部分: 计时部分 信号灯显示部分软件部分: 计时部分控制 信号灯显示次序控制1.6其他(人机交互、结构设计等) 有复位按键,选通按键详
2、细设计 1.7硬件设计1.7.1输入与输出(确定输入、输出性质、数量和指标要求) 输入为复位及选通开关 输出有计时输出及交通灯模拟信号输出 交通灯信号由两组红黄绿LED灯代替 计时部分由数码管显示,由于硬件限制,计时部分只能用于东西干道计时1.7.2功能划分(以框图形式表示)1.7.3子系统1(元器件选型、硬件原理及功能描述)25s 3s 2s 25s 3s 2s 东西通道 红灯亮 红灯亮 红灯亮 绿灯亮 绿灯闪 黄灯亮 南北通道 绿灯亮 绿灯闪 黄灯亮 红灯亮 红灯亮 红灯亮 1.7.4子系统2(根据系统划分确定小节数)1.7.5系统原理图及元器件清单1.7.6PCB设计1.7.7系统硬件资
3、源清单及价格名称规格数量单价格备注89S51112数码管四位4电容22pf0.15晶振2锁存器74HC573微动开关80.25自锁开关发光二极管 红,黄,绿6个0.1电阻10k 7个1.8结构设计3调试与测试1.9调试(主要控制参数或策略确定方法、实验结果、出现问题与解决方法) 针对单片机P1口调试交通灯信号,使其预定目标显示 针对单片机P0口和P1口调试数码管显示部分,使其按预定 实现倒计时1.10测试(测试内容及结果) 1信号显示是否与计时同步 2 LED显示顺序是否正确 3 计时是否正确2结论(是否达到系统设计目标、存在问题及原因) 通过测试交通灯系统能够符合要求,完成亮灯转换及时间计数
4、要求3感想工程综合实训具有很强的实践性质,虽然有时比较辛苦,但让我们获得的是收获的快乐。在这综合实训期间,我们有太多的担心与害怕,遇到了太多的挫折,中途有好多次都有放弃的念头,印象最深的是我们调电路的那几天,下午饭基本上没有吃过,为了查清楚某一部分的原理,我们晚上2点多钟才睡觉,为了写项目设计说明书我们熬夜到很晚。但值得庆幸的是,我们坚持下来了,并且获得了成功,心里有种小小的成就感。从中我们学到了很多了知识,没有了担心与害怕并且学会了坚持。当然,这与老师和同学的帮助分不开。自从做“线性稳压电源”这个项目以来,每天都是匆忙而规律的,苦恼、欢笑,失败、成功伴随着我们工训的点点滴滴。虽然我们小组只有
5、两个女生,但是我们共同努力,克服了许许多多的困难,一直在努力让自己做到最好。从最开始的确定组员和选定题目,到后来的设计电路,购买元器件,再到安装PCB板子、安装以及调试,虽然辛苦但收获很多,看到我们两个辛苦做出来的成果,心里真的很高兴。工程实训不仅让我们学到了很多课堂上学不到的东西,而且开拓了我们的视野,增长了见识,为我们以后更好的把所学知识运用到实际工作中打下坚实的基础。经过这次实训,让我们从实践中对自己所学专业获得了一个感性的认识,为今后专业的学习打下坚实的基础。作为一名工科学生,掌握生产实践基本知识和加强动手能力是十分必要的,我们的汗水与心血将会见证我们的成功。程序清单:#include
6、unsigned char code dis_721=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82, 0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1, 0x86,0x8e,0xbf,0x89,0x8c,0x00,0xff;/共阳数码管 段码 unsigned char data disbuf6=0x00,0x00,0x00,0x00,0x00,0x00;/显示缓冲区:时分秒使用 unsigned char data count_timedx=2,10,5,10,25; /东西方向倒计时时间 unsigned char data count_time
7、nb=2,25,10,5,10; /南北方向倒计时时间 unsigned char data Hour=14,Minite=06,Second=0,Halfsec=0; /定义时钟位 unsigned char xdata *ledaddr=0x2000; /锁存器选通地址 unsigned char data Ms=0,Lightcode=0,Light_step,Led_step,Light_num;unsigned int data Fault_dx=0,Fault_nb=0,Fault_total=0,Countdx=0,Countnb=0;sbit p10=P10; /第0位数码管位
8、控制端 sbit p11=P11; /第1位数码管位控制端 sbit p12=P12; /第2位数码管位控制端 sbit p13=P13; /第3位数码管位控制端 sbit p14=P14; /第4位数码管位控制端 sbit p15=P15; /第5位数码管位控制端 sbit p16=P16; /发光二极管选通 sbit p17=P17; /按键选通 sbit p33=P33; /k1键 用于切换四种功能 /*/ /*1毫秒延时函数*/ void delay1ms(int t) unsigned int i,j; for(i=0;it;i+) for(j=0;j120;j+) ; /*/ /*
9、键盘扫描函数*/ unsigned char getkey(void) unsigned char Yiwei; unsigned char test=0x00,tim; *ledaddr=test; if(p17=0 & tim=0) /判断是否有按键按下 p17=1; tim=1; test=0xfe; delay1ms(5); for(Yiwei=0;Yiwei8;Yiwei+) /处理按键 if(p17=0)break; else test=(test1)+1; return Yiwei; else if(p17=0) else tim=0;/*六位LED数码管显示*/ void di
10、spled(unsigned int hour_shi,unsigned int hour_ge,unsigned int min_shi,unsigned int min_ge,unsigned int sec_shi,unsigned int sec_ge) *ledaddr=dis_7hour_shi; /时的十位显示 p10=0; delay1ms(1); p10=1; *ledaddr=dis_7hour_ge; /时的个位显示 p11=0; p11=1; *ledaddr=dis_7min_shi; /分的十位显示 p12=0; p12=1; *ledaddr=dis_7min_ge; /分的个位显示 p13=0; p13=1; *ledaddr=dis_7sec_shi; /秒的十位显示 p14=0; p14=1; *ledaddr=dis_7sec_ge; /秒的个位显示 p15=0; p15=1;/*发光二极管显示函数*/ void displight(unsign
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1