单片机课程设计报告.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

(此文档为word格式,下载后您可任意编辑修改!)

目录

一、课程设计的目的………………

二、课程设计用的仪器和器件……………

三、课程设计的具体内容…………………

1、总体报告…………………

2、硬件设计…………………

3、软件流程和程序…………

4、调试结果…………………

四、课程设计的体会和发生的问题……

参考文献………………………

一、课程设计的目的

单片机系统课程设计是《单片机原理与接口技术》课程与实验结束后的一门综合性实践课。所选题目《交通灯控制系统》紧密结合所学的主要内容,加深巩固所学知识,同时对所学内容进行扩展,有一定的深度和广度,能充分发挥学生的能动性和想象力。通过电路设计、安装、调试等一系列环节的实施,提高学生的单片机应用系统的设计能力。

二、课程设计用的仪器和器件

实验设备:试验台、电烙铁、焊锡丝、支架、吸枪、剪刀、PC机一台、仿真仪一台

实验材料:电路板(12*8cm1块)、发光二级管(红、黄、绿各4只)、发光二级管插座(4只)、接线排座(7针)、电阻(300Ω12只)、导线(红、黄、绿各0.5米)

三、课程设计的具体内容

1、总体报告

本次单片机课程设计的任务是以单片机为核心设计一个完整的交通灯模拟系统,用P1.0、P1.1、P1.2控制南北通道的红、黄、绿灯;用P1.3、P1.4、P1.5控制东西通道的红、黄、绿灯。开始时,南北红灯亮并保持25秒,同时东西绿灯亮,保持20秒,20秒钟到了之后,东西绿灯闪亮3次(每周期1秒)后熄灭。继而东西黄灯亮并保持2秒,到2秒后,东西黄灯灭,东西红灯亮并保持25秒,同时南北红灯灭,南北绿灯亮20秒,20秒到了之后,南北绿灯闪亮3次(频率为0.5秒)后熄灭。继而南北黄灯亮并保持2秒,到2秒后,南北黄灯灭,南北红灯亮,同时东西红灯灭,东西绿灯亮。到此完成一个循环。紧急状况由按键产生,两个方向的交通灯全为红(10S),急救车通过后恢复正常信号。

此次设计中,我重新熟悉了用PROTEL99SE画系统原理图的步骤与方法,重点复习了用汇编语言编程的相关细节与法则。硬件部分要画出电路的原理图和仿真图,软件部分要细心编程,实现交通灯的基本功能和紧急情况,学会如何调试、运行程序,发现其中的错误并进行修改,通过这次课程设计,加强了动手、思考和解决问题的能力。

2、硬件设计

设计出单片机最小控制系统,在12*8CM的万用版上,布局好格局,并且将发光二极管插座焊接到万用版上,然后将12个发光二极管,其中红色4个、黄色4个、绿色4个插入其中。每个发光二极管与电源之间接一个阻值300欧姆的电阻,作为限流,以防止因电流过大烧毁发光二极管。发光二极管的控制输入由XL400开发板提供,倒计时时间显示在XL400的8位数码管上,紧急按键由XL400提供。

硬件电路中交通灯的连接方式:相同方向的相同颜色的灯并联在一起,即东西方向的绿色LED灯并联在一起,LED灯的正极接电压为+5V的电源,负极串联一个300Ω的电阻与排针的其中一根针脚串联起来,东西方向实际用3个电阻。其他方向,其他颜色连接方法相同。在只有红黄绿三种颜色LED灯的情况下,需用6个I/O端口来控制LED灯的亮灭。

Protel硬件原理图

Proteus仿真图

3、软件流程和程序

(1)软件流程图

软件流程图

(2)源程序

#includereg51.h//包含头文件reg51.h

#defineuintunsignedint//用uint表示unsignedint

#defineucharunsignedchar//用uchar表示unsignedchar

voiddelay0_5s1();//0.5秒延时函数

voiddelay_t1(uchart);//延时时间为1s*t的延时函数

voiddisplay();数码管显示函数

ucharcounter=0,sec=0,n,c,t0,t1;//定义全局变量

ucharcodeled[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};共阳0~9字型码

voidint_0()interrupt0//紧急情况中断

{

ucharh,i,j,k,l,m,o,p,q;

h=counter;/

文档评论(0)

共享文档 + 关注
实名认证
内容提供者

二级建造师持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年10月07日上传了二级建造师

1亿VIP精品文档

相关文档