您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 嵌入式交通灯设计报告实验运行并通过
嵌入式系统原理与应用课程设计报告题目:基于S3C2440的交通灯设计姓名:学号:系别:班级:指导老师:完成时间:_一、设计目的1.注重培养综合运用所学知识、独立分析和解决实际问题的能力,培养创新意识和创新能力,并获得科学研究的基础训练。2.了解所选择的ARM芯片各个引脚功能,工作方式,计数/定时,I/O口,中断等的相关原理,并巩固学习嵌入式的相关内容知识。3.通过软硬件设计实现利用ARM芯片完成交通灯控制功能。二、设计内容1.查阅相关文献资料,熟悉所选ARM芯片2.总体设计方案规划,设计车辆遇到红灯停绿灯行情况,红绿灯时间均为60s,切换时间为10s,最后5s为黄灯闪烁。3.系统硬件设计,熟悉I/O接口,定时器,计数器工作原理4.系统软件设计,包括交通信号灯的工作流程软件实现,用C语言编程5.设计心得体会及总结。三、设计原理熟悉S3C2440芯片各个引脚功能,工作方式,计数/定时,I/O口,中断等的相关原理,通过软硬件的设计和CodeWarrior开发环境的帮助实现交通灯的功能。四、设计程序(命令)清单1.C语言设计:#includestdio.h#define_ISR_STARTADDRESS0x33ffff00#defineU32unsignedint#definepISR_TIMER4(*(unsigned*)(_ISR_STARTADDRESS+0x58))#definerSRCPND(*(volatileunsigned*)0x4a000000)//interruptrequeststatus#definerINTMSK(*(volatileunsigned*)0x4a000008)//interruptmaskcontrol#definerINTPND(*(volatileunsigned*)0x4a000010)//interruptrequeststatus#definerGPBCON(*(volatileunsigned*)0x56000010)//PortBcontrol#definerGPBDAT(*(volatileunsigned*)0x56000014)//PortBdata#definerGPBUP(*(volatileunsigned*)0x56000018)//Pull-upcontrolB#definerTCFG0(*(volatileunsigned*)0x51000000)//Timer0configuration#definerTCFG1(*(volatileunsigned*)0x51000004)//Timer1configuration#definerTCON(*(volatileunsigned*)0x51000008)//Timercontrol#definerTCNTB4(*(volatileunsigned*)0x5100003c)//Timercountbuffer4intcount;/*************************************中断程序************************************/void__irqTimer4_ISR(void){count++;rSRCPND=rSRCPND|(0x114);rINTPND=rINTPND|(0x114);}voidinit(void){count=0;rGPBCON=0x15400;//GPB5~GPB8outputrGPBUP=0x7ff;//disableGPBpulluprGPBDAT=0x1e0;//LED灯灭rSRCPND=rSRCPND|(0x114);//清除定时器4等待中断状态rINTPND=rINTPND|(0x114);//开启中断rINTMSK=~(0x114);//打开定时器4中断rTCFG0&=0xFF00FF;//先清零rTCFG0|=0xf900;//再赋值,prescaler等于249rTCFG1&=~0xF0000;//先清零rTCFG1|=0x20000;//再赋值,divider等于8,则设置定时器4的时钟频率为25KHzrTCNTB4=25000;//让定时器4每隔1s中断一次rTCON&=~0xF00000;//先清零rTCON|=0x700000;//再赋值rTCON&=~0x200000;//定时器4开始工作pISR_TIMER4=(U32)Timer4_ISR;//赋予中断入口接口}/********************************主函数*******************************/intMain(void){init();while(1){if(count=60)rGPBDAT=(0x37);if((count60)&(count=65))/*闪烁5s,每秒亮一次*/{if(count%2==0)rGPBDAT=(0x37);elserGPBDAT=(0xf5);}if((count65)&(count=120))rGPBDAT=(0x35);if((count120)&(count=125))/*闪烁5s,每秒亮一次*/{if(count%2==0)rGPBDAT=(0x35);elserGPBDAT=(0xf5);}if(count==125)count=0;}}2.汇编语言设计:IMPORTMainAREAInit,CODE,READONLYENTRYbMainEND五、运行步骤、结果,保存截屏步骤说明的截图如下:清除上一次的链接编译没发现错误格式转换设置汇编语言设置,选择内核ARM920TC语言设置,选择内核ARM920T选择SDRAM初始地址汇编语言入口设置输出文件格式设置六、设计的收获与体会通过这次交通灯的实验,我学会并了解了一些嵌入式与单片机的相同和不同之处,更让我感到了嵌入式的强大。以往在单片机的学习和课程设计中,一些知识点并不会显的十分复杂,而现在的嵌入式系涉及到了更多的知识和复杂的理论。因为嵌入式不仅仅是一个高级的一些的单片机,而是涉及到了系统的概念,从功能上还是应用、实时、稳定上都要优于单片机。另外,从做交通灯的实验中,学习和巩固了以前的编程知识,还有对天一些电路的分析,数电模电的知识等。更重要的是在这次实验中,得到了动手能力和思维方式的锻炼。做为一名自动化专业的学生,动手能力和思维方式的锻炼是成为得要的,特别在以后遇到问题时要有解决问题的能力。课程设计评语完成情况优秀良好中等及格不及格出勤方案设计安装调试答辩报告总成绩指导教师评语
本文标题:嵌入式交通灯设计报告实验运行并通过
链接地址:https://www.777doc.com/doc-3760615 .html