要求很简单 只要用到单片机就可以,由于本人初学者,希望弄个比较简单的东西。请发到zhanghan185844924@163.com谢谢
单片机课程设答态烂计报告
一、设计目的
熟悉单片机的使用方法。
二、设计任务和要求
用3000只DIP40的单片机叠起来,看怎样可以叠的最高。
三、设计原理分析
1、SOP64封装的单片机主体每片厚度(不含引闭此脚为1.8mm,如果单个同一方向叠起来的总厚度为5.4米,可能性不大。为了可靠,可以叠成“丁”字形或“十”字形清漏,这样不易倒,
单片机课程设计报告
班 级:04电专2
学 号:200402547
姓 名:黄桂萍
指导老师: 涂二生 王清辉 沈汉鑫 黄朝良
一、设计目的
1、通过单片机课程设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。
2、通过
交通信号灯控制系统的设计,掌握定时/计数哭的使用方法,和简单程序的编写,最终提高我们的逻辑抽象能力。
二、设计任务和要求
任务:设计一个能够控制十二盏交通信号灯的模拟系统
要求:利用单片机的定时器定时,令十字路口的红橡粗绿灯交替点亮和熄灭,并用LED灯显示倒计时间。
三、设计原理分析
1、首先了解实际交通灯的变化情况和规律。假设一个十字路口如上图所以,为东南西北走向。初始状态0为东西南北都红灯亮。然后转状态1东西绿灯通车,南北红灯亮。过一段时间后,转状态2,东西绿灯灭,黄灯闪几下,南北还是红灯。再转状态3,南北绿灯通车,东西红灯亮。过一段时间后转状态4,南北绿灯灭,闪几个黄灯,东西还是为红灯亮,一段时间后,又循环至状态1。
列出交通信号灯的状态表如下:(其中,1代表灯亮,0代表灯灭)
状态 北 西 南 东
绿黄红 绿黄败昌红 绿黄红 绿黄红
0 001 001 001 001
1 001 100 001 100
2 001 010 001 010
3 100 001 100 001
4 010 001 010 001
2、对于交通信号灯来说,应该有东西南北共四组灯,但由于同一道上的两组的信号灯的显示情况是相同的,所以只要用两组就行了,因此,采用单片机内部的I/O口上的P1口中的6个引脚即可来控制6个信号灯。
3、通过编写程序,实现对发光二极管的控制,来模拟交通信号灯的
管理。每延时一段时间,灯的显示情况都会按交通灯的显示规律进行状态转换。
4、通过延时时间送显,可以在原有的交通信号灯系统的基础上,增添其倒计时间的显示功能,实现其功能的扩展。
四、硬件资源及其分配
主要梁枯镇用到的硬件:P1口、P3口、LED
数码管、LED发光二级管、定时器T0
硬件分配:
1、P1口:做为输出口,与发光二极管相连接,其状态及对应的十六进制值如下:
方向
状态 无 南 北 东 西 十六进制值 说 明
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
0 00 001 001 09H 都为红灯亮
1 00 001 100 0CH 东西绿南北红
2 00 001 010 0AH 东西黄闪
南北红
00 001 000 08H
3 00 100 001 21H 东西红南北绿
4 00 010 001 11H 南北黄闪
东西红
00 000 001 01H
2、P3口中的P3.0(RXD)和P3.1(TXD)作特殊用途,数据(倒计时时间)从RXD端输入,TXD端输出。
3、74LS240和LED发光二极管用来显示灯亮情况。
4、定时/计数器T0用来产生1秒的定时
5、74LS240和数码管用来显示时间
五、硬件图
六、程序框图
七、程序流程图及程序
程序流程图:
主程序:
程序清单:
;主程序:
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN: MOV SP,#60H
MOV SCON,#00H ;设置串行口工作方式为方式0
CLR TI
CLR RI
MOV A,#09H ;置初态,东南西北都为红灯亮
MOV P1,A
MOV R2,#4
LCALL DELAY ; 调用4次1秒的延时子程序
H1:MOV A,#0CH ;东西绿灯亮,南北红灯亮
MOV P1,A
MOV R2,#10
LCALL DELAY ;调用10次1秒的延时子程序
MOV R7,#03H ;黄灯闪烁次数为3次
H2:MOV A,#0AH ;东西黄灯闪,南北红灯亮
MOV P1,A
MOV R2,#1
LCALL DELAY ;每1秒闪烁一次
MOV A,#18H ;南北红灯亮,南北黄灯也闪
MOV P1,A
MOV R2,#1
LCALL DELAY ;调用1秒的延时子程序
DJNZ R7,H2 ;判断闪烁次数是否达到
MOV A,#21H ;东西红灯亮,南北绿灯亮
MOV P1,A
MOV R2,#10 ;
LCALL DELAY ;延时10秒
MOV R7,#03H
H3:MOV A,#11H ;东西红灯亮,南北黄灯闪
MOV P1,A
MOV R2,#1
LCALL DELAY
MOV A,#03H ;东西红灯亮,东西黄灯闪
MOV P1,A
MOV R2,#1
LCALL DELAY
DJNZ R7,H3 ;判断黄灯闪的次数是否达到
LJMP H1 ;循环
;1秒的延时子程序:
DELAY: MOV R3,#20 ;定时1秒
MOV TMOD,#10H ;T1定时器,方式1
MOV TH1,#3CH
MOV TL1,#0B0H
SETB TR1
LOOP: JBC TF1,NEXT
SJMP LOOP
NEXT: MOV TL1,#080H
MOV TH1,#3CH
DJNZ R3,LOOP
;数据传送:
DEC R2 ;R2自动减1
MOV DPTR,#CDATA ;置表初地址
MOV A,R2 ;屏蔽R2的高位
SWAP A
ANL A,#0FH ;
MOVC A,@A+DPTR ;读表格数据
CPL A ;取反
MOV SBUF ,A ;串行发送数据
AA1: JBC TI,A1 ;
SJMP AA1
A1: MOV A,R2
ANL A,#0FH
MOVC A ,@A+DPTR ;
CPL A
MOV SBUF ,A
AAB1: JBC TI,AB1 ;
SJMP AAB1
AB1: CJNE R2,#00H,DELAY ;当R2为0时返回,不为0时,则跳转
RET
CDATA: DB 03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,09H
END
八、调试运行
1、接硬件图接线,为了确保东西南北红黄绿灯能够对应显示,实验时,对P1口的接线做了调整。即,P1.0接L3,P1.1接L2,P1.2接L1,P1.3接L6,P1.4接L5,P1.5接L3
2、S/P区DATA插孔接BUS 3区P3。0
S/P区CLK插孔接BUS 3区P3。1
S/P区 CLR接/SP插孔
3、从0030H单元开始连续运行,观察六个LED灯是否与交通显示情况对应,如果有偏差,则单步运行或断点运行,进行调试,直至满足设计要求。
5、调试完灯的显示后,从0030H开始连续运行,观察数码管显示的是否正常,如果不正常,则运用单步运行或断点运行进行分析和调试,直至满足要求。
6、整体运行,观察灯显示和时间显示是否都符合要求,如果不符合,则再调试。直至满足要求。
九、参考文献
《单片机原理与应用技术》主编:苏家健等 高等
教育出版社出版
十、设计心得体会
通过单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新,是要我们学会将理论很好地联系实际,并不断地去开动自己的大脑,从为人类造福的意愿出发,做自己力所能及的,别人却没想到的事。使之不断地战胜别人,超越前人。同时,更重要的是,我在这一设计过程中,学会了坚持不懈,不轻易言弃。设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。
这个设计过程中,我遇到过许多次失败的考验,就比如,自己对实际
生活中的交通秩序的不了解给整个设计带来的困扰,真想要就此罢休,然而,就在想要放弃的那一刻,我明白了,原来结果并不那么重要,我们更应该注重的是这一整个过程。于是,我坚持了下来。当然最终,这个设计很成功,主要体现在,这一整个系统,几乎没有参考任何书,程序由自己独立完成,与用8255来制作的交通灯控制系统相比,程序简单易读,结构清楚,最重要的是成本低。在设计一个系统,除了达到所要求的性能指标以外,成本也是很重要的一个指标。成本的高低也决定了产品的适用性。