单片机课程设计王京京.docx
- 文档编号:27015193
- 上传时间:2023-06-25
- 格式:DOCX
- 页数:13
- 大小:398.63KB
单片机课程设计王京京.docx
《单片机课程设计王京京.docx》由会员分享,可在线阅读,更多相关《单片机课程设计王京京.docx(13页珍藏版)》请在冰豆网上搜索。
单片机课程设计王京京
交通灯控制
班级:
测控071
学号:
200710402115
姓名:
王京京
完成日期:
2010年6月
一、前言
单片机技术是近年来计算机科学技术中发展最快的领域之一,它已成为计算机信息系统与应用系统的核心技术和重要基础。
为了巩固单片机原理与应用知识,加强实际动手设计能力和提高综合素质十分必要。
为此,我们需要不断练习单片机设计实验,加深对讲授内容的理解。
《单片机原理及应用》中有关设计技术的基本理论、基本概念、设计实现的方法和阶段性知识,光靠课堂讲授既枯燥无味又难以记住,但它们都很重要,要想熟练掌握,必须经过大量实践环节加深对它们的理解。
通过课程设计,掌握单片机系统设计与开发的方法。
单片机是一门应用性很强的学科,开发一个软件系统需要集理论、系统和应用三方面为一体,以理论为基础,以系统作支柱,以应用为目的,将三者紧密结合起来。
同时结合实际需要开发一个软件系统在此过程中将所学的知识贯穿起来,达到能够纵观全局,分析、设计具有一定规模的题目要求,基本掌握单片机系统设计与开发的基本思路和方法并且做到对知识的全面掌握和运用。
单片机课程设计可以培养我们主动解决问题的能力
二、功能描述
控制LED灯,完成交通灯的管理任务;
允许急救车优先通过的要求。
有急救车到达时,所有的交通信号灯为红灯,以便让急救车通过。
1.交通灯控制变化规律:
假设一个十字路口为东西南北走向。
初始状态0为东西红灯,南北红灯。
然后转状态1南北绿灯通车,东西红灯。
过20秒钟转状态2,南北绿灯闪烁几次转亮黄灯,东西仍然为红灯,延迟一段时间。
再转状态3,东西绿灯,南北红灯,延迟一段时间后转状态4,东西东西绿灯闪几次转黄灯,南北仍为红灯,延迟一段时间转状态1,南北绿灯东西红灯。
一直循环到中断。
有中断请求时,东西南北转红灯,延迟20秒后恢复为中断前状态。
2.可以以按键为中断申请,表示有急救车通过,所有的交通信号灯全红20秒钟。
三、课程设计分析设计
所设计的交通灯管理系统要求满足急救车优先通过的要求。
有急救车到达时,按下开关按钮,两向交通灯信号全为红灯,以便急救车通过。
急救车通过后,交通灯恢复中断前状态。
状态控制码见下表1。
表1状态控制码
状态
控制码
东西红灯,南北红灯
10011100B
东西红灯,南北绿灯
10011001B
南北绿灯闪烁几次
10000000B
南北转黄灯,东西仍为红灯
01000001B
东西绿灯,南北红灯
00111100B
东西绿灯闪烁
00000100B
东西转黄灯,南北仍为红灯
00100010B
中断,东西红灯,南北红灯
10011100B
表2LED资源分配
灯
管脚
东西红灯
P2.0
东西黄灯
P2.1
东西绿灯
P2.2
南北红灯
P2.5
南北黄灯
P2.6
南北绿灯
P2.7
四、硬件电路图
硬件电路图如下:
对硬件电路进行说明:
实验设备
AT89C51一块
晶振(12MHz)一个
电容(10uF)一个
电容(30pF)一个
电阻(4.7k)一个
按钮一个
芯片AT89C51各管脚连线由图上可知,其中P2.3—P2.4为悬空状态,即对其分配可以置1也可以为0,对电路所要实现的功能并无影响。
需要注意的时,电路连接好时必须加电源。
实验中XTAL1和XTAL2之间加入晶振的作用是为了使有电路自动计时功能。
在复位处联入电阻和一各电容起到自动保护和滤波作用。
中断处加入按钮起到中断请求作用。
实验程序中用到的是P2.0—P2.7这一系列的管脚,所以在芯片上连接交通灯的是从P2.0开始的。
不过一半按照程序而定。
五、软件流程图
初始状态
状态1
状态2
状态3
状态4
状态5
对软件流程进行说明:
程序一开始先进入中断,判断能否允许中断后,再进入初始状态,即东西南北都为红灯,此间调用延迟程序进行延迟,进而进入下一状态,即状态1,完后进入状态2、状态3、状态4,最后再返回到状态1,期间都有调用了延迟程序。
其中,在开始时写入中断程序,并在需要时候调入中断。
引入中断时,先对现场进行保护,并按要求对其设置了相应程序,进入状态5计时时间到,恢复现场,比偶那个保护现场,返回到中断前的状况。
程序的源代码清单如下:
org0000h;开始地址
ORG0000H
LJMPSTART
;--------------------------------
ORG0003H;
LJMPINT_0
;--------------------------------
ORG0030H
START:
MOVSP,#60H
SETBEX0
SETBIT0
SETBEA
callloop1
ljmploop2;长跳转最大范围64K
INT_0:
PUSHPSW;保护现场
;PUSH20H
PUSHACC;累加器
MOVp2,#10011100B;
MOVR2,#200;
;LCALLDELAY1
POPACC;
;POP20H
PUSHPSW;程序状态字
RETI;中断程序返回
loop1:
movp2,#00111001b;初始化,所有红灯亮,其余全灭
movr5,#200;延时约5.6秒
calldelay
ret;调用延迟程序
loop2:
movp2,#10011001b;(p2)<'#00111001b'?
movr5,#100;延时约3秒
calldelay;调用延迟程序
movr2,#10000000b;闪烁
callblink;调用闪烁程序
movp2,#01000001b
movr5,#100
calldelay
loop3:
movp2,#00111100b;(p2)<'#00111001b'?
movr5,#100
calldelay;调用延迟程序
movr2,#00000100b;闪烁
callblink;调用闪烁程序
movp2,#00100010b
movr5,#100
calldelay
ajmploop2;跳转
;DELAY1:
PUSH22H;
;PUSH21H
;PUSH20H
blink:
movr3,#10;闪烁子程序闪烁五次
mova,p2
b1:
xrla,r2
movp2,a
movr5,#3
calldelay
djnzr3,b1
ret
delay:
movr7,#38h;延迟子程序
d1:
movr6,#0f9h
djnzr6,$
djnzr7,d1
djnzr5,delay
ret
end
上机调试运行结果及分析
运行结果是,初始状态东西南北都为红灯,延迟一段时间后,南北绿灯通车,东西仍然为红灯,延长20秒后,南北绿灯闪烁几次转黄灯亮,东西仍然为红灯亮,延时几秒,东西绿灯亮,南北红灯亮,延迟一段时间后,东西绿灯闪烁几次转为黄灯亮,南北仍然为红灯。
一直这样循环下去直至按下中断开关后,东西南北红绿灯红灯一起闪烁几下后都变为红灯,延迟20秒后,恢复为中断前的状况。
实验基本成功。
通过单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,通过本次课程设计我学会了如何面对一系列问题解决方法技巧以及,也掌握了一定的编程能力以及一些软件的应用。
这次实验自认为较为艰辛,虽然课题简单,但单独完成次试验也耗费大量心血,从读懂题目到编制程序,调试程序,修改硬件电路图,每一步都耗费太多经历。
这次的课程设计我又多学了好多知识,最大的收获是学会了真正实用Proteus这个仿真软件,也进一步学习了如何使用keiluvision软件进行汇编程序这两个程序,是做单片机的最基本基础软件,熟练掌握了这两个软件对单片机的设计和学习会有更深刻的了解。
而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。
设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。
这个设计过程中,我遇到过许多次失败的考验,程序编写完毕后,
调试中存在一些问题,无法正常实现射界要求,在我没有办法解决的时候,我请教了我周围的同学和老师,在他们的帮助下,修改了一些程序和管脚连接,我的程序很快就没问题了。
在仿真软件Proteus下重新加载后可以看到现象,最后实现了设计的要求。
随着现代化的发展,人民的需求越来越大,所用到的相关软件也随之增多,复杂。
目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、功耗低、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。
单片机很好的处理了人们日常女生活中遇到的问题,方便人们实现自动化装备等,单片机的使用在国民生产中起着举足轻重的地位,一个好的单片机系统不但利于人民生活,更能为创造者带来巨大财富。
实验过程是艰苦的,但结果是甜蜜的,我相信在今后的课程设计以及毕业设计中我会做得更好……
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 王京京