- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机课程设计字路口交通灯报告
PAGE
课 程 设 计
课程名称
题目名称十字交通路口交通灯控制器1
学生学院 材料与能源学院
专业班级
学 号
学生姓名
指导教师
2013 年 6 月
目录
1 任务说明……………………………………………………………1
2绘制原理图………………………………………………………………2
3 程序编译说明及程序图…………………………………………………………4
3.1 main程序说明………………………………………………………4
3.2tl_inint程序说明……………………………………………………5
3.3init_max7219()程序说明……………………………………6
3.4tl_func()程序说明……………………………………………………7
4仿真说明……………………………………………………14
5 心得体会………………………………………………………………………16
6 参考文献………………………………………………………………………17
PAGE 7
一、任务说明
本次课程设计任务为:题目23 十字路口交通灯控制器1
利用单片机设计一个十字路口交通灯控制器。用单片机控制LED灯模拟指示。模拟东西方向的十字路口交通信号控制情况。东西向通行时间为80s,南北通行方向为60s,缓冲时间为3s。
二、绘制原理图
原理图绘制步骤
1.建立文件。进入ISIS系统,选择菜单栏中的“文件”“新建设计”新建一个文件,然后选择菜单栏中的“系统”“设置图纸大小”来设置电路图纸的尺寸为A4,如图1所示。然后将文件保存到预先建立的文件夹中。设计窗口便新建完毕,如图2所示。
图1 图纸尺寸设定
图2 新建的设计窗口
2. 元件的查找及放置。首先点击工具箱左上角的“P”按钮,如图3。弹出“Pick Devices”操作界面,如图4。在关键字窗口输入所需器件名称,如AT89C51,系统会自动搜索到此元件,如图5所示。将所有元件搜索到以后按相应位置在图纸上放置好。
图3 按钮“P”所在位置
图4 “Pick Devices”操作界面
图AT89C51元件搜索窗口
3.布线及调整。将鼠标移至所要连接器件的管脚处,鼠标箭头会变成图6的样式,此时按住鼠标左键拖至对应器件管脚处,松开左键即把两器件连接。如果在连接器件时出现交叉或重叠,可以对连线或元件位置进行适当的调整。布线后电路图如图7所示。
图6 可连线标示
图7 电路原理图
三、程序编译说明及程序流程图
Main程序说明
主程序先执行tl_init()子程序,初始化定时器T1,然后设置时间为83秒,中断次数计数单元timer初始值为0,while(1)实现死循环。以此来实现程序设计的要求。主程序流程图如图8所示。
开始
开始
tl_init()
second=83
timer=20
While(1)
结束
图8 主程序流程图
初始化tl_init()子程序说明
初始化System_Init(void)子程序是主程序调用的子程序,初始化tl_Init(void)子程序将TMOD、IE、TH1、TL1、TR1分别进行赋值操作。本程序中采用定时器/计数器T1的方式1定时,定时时间为50ms,对应的时间常数为0x3cb0,对应的十进制初始值为15536,计数满5000后,即1s(65536-15536)=1s5000=50ms,要想定时1s,需要20次中断,因此程序中定义了中断次数timer,来对中断次数进行计数。 tl_init()子程序流程图如图9所示。
开始
开始
TMOD=0x10;
IE=0x88;
TH1=0x3c;
TL1=0xb0;
TR1=1;
结束
图9 tl_init() 子程序流程图
Init_max7219(void)子程序说明
display(uchar tmp)子程序由中断函数tl_func()进行调用。程序由P3输出数据,故设置DIN=P3^0, LOAD=P3^1, CLK=P3^2。 然后对译码模式、亮度、扫描范围、电源工作模式进行设置。其中,Write_data()函数调用了Write_ Write_data ()函数,其作用是向MAX7219写入字(16位),而Write_data()函数调用了Write_byte()函数,其作用是向MAX7219写入字(8位)。Init_max7219(void)子程序流程图如图10所示。
结束结束开始sbit DIN=P3^0;//显示串行数据输入端sbit LOAD=P3^1;//显示数据锁存端sbit CLK=P
您可能关注的文档
最近下载
- 2025年清洁服务项目投资风险评估报告.docx
- 智慧园区规划、建设与管理通用规范.docx VIP
- 2023年安徽省高考数学试卷真题(含答案逐题解析).pdf
- 建筑工地基孔肯雅热防控和应急方案.docx VIP
- (81页PPT)高处作业安全培训.pptx VIP
- GB 45673- 2025《危险化学品企业安全生产标准化通用规范》之“5.7 操作安全”审核检查单(2025A0).docx VIP
- GB 45673- 2025《危险化学品企业安全生产标准化通用规范》之“5.8 作业安全”审核检查单(2025A0).docx VIP
- 高处作业安全培训(83页).ppt VIP
- 传染病疫情应急预案.doc VIP
- 压水堆核电厂一回路系统与设备简介.ppt VIP
文档评论(0)