单片机课程设计报告.docx
- 文档编号:18016493
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:16
- 大小:1.20MB
单片机课程设计报告.docx
《单片机课程设计报告.docx》由会员分享,可在线阅读,更多相关《单片机课程设计报告.docx(16页珍藏版)》请在冰豆网上搜索。
单片机课程设计报告
《单片机原理、接口及应用》
课程设计报告
姓名:
XX
学号:
XXXXXXX
班级:
XXXX
专业:
计算机科学与技术
指导教师:
XXX
时间:
2011年12月24日
XXXX计算机科学与信息学院
一、课程设计名称
单片机原理、接口及应用课程设计
二、运行环境
Windows7下Proteus7.8。
三、开发工具
Proteus7.8仿真软件
四、设计目的
提高学生的项目开发能力,增强学生的动手能力。
进一步掌握单片机的汇编指令,会使用中断系统来处理一些事务,会使用串行中断进行数据发送。
会协调单片机各个系统的工作,会使用一些常用的数字电路和模拟电路的器件,并运用在实际的项目开发中。
五、设计题目
花溪公园路口的交通灯设计。
六、设计内容及步骤
1、自己去统计花溪丁字路口的交通灯及人行灯的信息,包括每一种颜色的灯亮的时间和统一的时刻对所有灯的统一。
2、根据统计信息找出需要使用的知识,并在一段时间内学好。
需要的知识有:
指令系统,中断系统,数码管的使用,Proteus的使用。
3、确定需要实现的功能,并设计相应的算法。
主机U1:
T1用作串行接口的波特率发生器,波特率为9600,TH1=0FDH、TL1=0FDH。
T0用作定时器,定时50ms,TH0=3CH、TL0=0B0H,中断20次发送一次数据。
INT0下降沿方式中断。
警察控制,发送0FFH给从单片机。
当警察控制的时候主机还给从机发送数据,由从机处理是否从新显示。
流程图:
从机交通灯U2:
4、代码实现步骤三的算法,并调试验证。
5、正式运行。
七、源程序(附件)
部分源代码:
U1:
ORG0000H
AJMPSTART
ORG000BH
AJMPTV0
ORG0013H
AJMPZDINT1
ORG0100H
START:
MOVTMOD,#21H;T1用作串行接口的波特率发生器,波特率为9600
;T0用作定时器,定时50ms
MOVTH1,#0FDH
MOVTL1,#0FDH
MOVTH0,#3CH
MOVTL0,#0ABH
SETBTR1
SETBTR0
SETBIT1
MOVSCON,#40H
MOVR7,#01H;发送的数据,1-113S。
MOVR6,#00H;控制中断20次,发送一次数据。
MOVR5,#00H;用于存放交警的控制信号,00H和01H。
SETBEA
SETBET0
SETBEX1
LOOP:
SJMP$
IOIP:
CLRTI
MOVA,R7;发送R7。
MOVSBUF,A
JNBTI,$
AGA:
INCR7
CJNER7,#72H,LOOP;判断是否到113s,如果到了这重置为1s。
MOVR7,#01H
SJMPLOOP
TV0:
MOVTH0,#3CH;每中断20次跳转到发送R7代码段
MOVTL0,#0B0H
INCR6
CJNER6,#0AH,LOOP1
MOVR6,#00H
POPACC
POPACC
MOVDPTR,#IOIP
PUSHDPL
PUSHDPH
LOOP1:
RETI
ZDINT1:
JNBTI,$
CLRTI
MOVA,#0FFH;警察控制,发送0FFH给从单片机。
当警察控制的时候主机还给从机发送数据,由从机处理是否从新显示。
MOVSBUF,A
INCR5
CJNER5,#02H,LOOP2
MOVR5,#00H
MOVR7,#01H
MOVR6,#00H
LOOP2:
JNBTI,$
RETI
END
U2源代码:
ORG0000H
AJMPMAIN
ORG0023H
AJMPIOIP
ORG0100H
MAIN:
MOV26H,#00H;控制主机传过来FFH的个数是奇数还是偶数
START:
MOVTMOD,#20H
MOVTH1,#0FDH
MOVTL1,#0FDH
SETBTR1
MOVSCON,#50H
SETBEA
SETBES
MOVDPTR,#TAB
MOV20H,#01H;控制显示第一个数码管
MOV21H,#02H;控制显示第二个数码管
MOV22H,#24H;控制路灯的颜色
MOVR2,#00H;控制一个周期的执行次数
MOVR7,#06H
MOVR6,#00H
AJMPDIR2
DIR1:
MOVR6,#09H;当倒计时个位显示0后,置R6=9,从9接着显示。
DIR2:
MOVR3,#66H;控制动态显示次数
DIR3:
MOVA,R7;显示十位数字
MOVCA,@A+DPTR
MOVP2,20H
MOVP1,A
ACALLDAY
MOVA,R6;显示个位数字
MOVCA,@A+DPTR
MOVP2,21H
MOVP1,A
ACALLDAY
MOVP0,22H;显示灯
CJNER7,#00H,FLICK1
CJNER6,#04H,FLICK3
FLICK3:
JNCFLICK1
MOVA,22H
CJNEA,#0CH,FLICK6
SJMPFLICK1
FLICK6:
DECR3
CJNER3,#00H,FLICK5
SJMPFLICK4
FLICK5:
DECR3
CJNER3,#00H,FLICK1
SJMPFLICK4
FLICK1:
DJNZR3,DIR3;数码管动态显示FEH次,由中断控制显示下一组数据。
FLICK4:
MOVP2,#00H
MOVP0,#00H
SJMP$
DUAN:
POPDPH
POPDPL
DECR6
CJNER2,#71H,DIR8
AJMPDIR5
DIR8:
MOVA,R7
SWAPA
MOV24H,R6
ADDA,24H
JZDIR7
CJNEA,#25H,DIR4;执行到第二段,改变显示灯
MOVA,R2
CJNEA,#23H,DIR4
MOV22H,#0CH
DIR4:
CJNER6,#0FFH,DIR2
DECR7
CJNER7,#0FFH,DIR1
DIR7:
MOVA,R2
CJNEA,#3CH,DIR6
MOVR7,#05H
MOVR6,#00H
MOV22H,#09H
AJMPDIR2
DIR6:
MOVR7,#00H
MOVR6,#03H
MOV22H,#12H
AJMPDIR2
DIR5:
AJMPSTART
ZDINT1:
MOVR3,#88H;控制动态显示次数
MOVDPTR,#TAB
DIR13:
MOVA,#00H;显示十位数字
MOVCA,@A+DPTR
MOVP2,20H
MOVP1,A
ACALLDAY
MOVA,#00H;显示个位数字
MOVCA,@A+DPTR
MOVP2,21H
MOVP1,A
ACALLDAY
MOVP0,#12H;显示灯
DECR3
CJNER3,#44H,DIR13
DIR14:
DECR3
ACALLDAY
ACALLDAY
MOVP2,#00H
MOVP0,#00H
CJNER3,#00H,DIR14
AJMPZDINT1
SJMP$
IOIP:
CLRRI
MOVA,SBUF
CJNEA,#0FFH,LOOP1
INC26H
MOVA,26H
CJNEA,#01H,LOOP3
MOVP2,#00H
MOVP0,#12H
PUSHDPL
PUSHDPH
MOVDPTR,#ZDINT1
PUSHDPL
PUSHDPH
AJMPLOOP2
LOOP1:
MOVR1,26H
CJNER1,#00H,LOOP2
MOVR2,A
MOVSP,#07H
PUSHDPL
PUSHDPH
MOVDPTR,#DUAN
PUSHDPL
PUSHDPH
AJMPLOOP2
LOOP3:
MOVR1,26H
CJNER1,#02H,LOOP3
MOV26H,#00H
MOVSP,#07H
PUSHDPL
PUSHDPH
MOVDPTR,#START
PUSHDPL
PUSHDPH
LOOP2:
RETI
DAY:
MOVR4,#20H
DL2:
MOVR5,#20H
DL1:
NOP
NOP
DJNZR5,DL1
DJNZR4,DL2
RET
TAB:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H
END
八、实验演示
1、总体布局:
2、运行状况:
3、警察控制:
4、警察控制结束:
十、实验总结(必写)
在本次课程设计中,不仅学到了老师课本上讲的知识,而且也自己在网上查了一些相关的内容。
对于本课程设计的功能我还没有全部实现,现在实现的有和花溪丁字路口观察到的相同,添加了警察控制的功能。
我还想在后期添加的功能有:
红外遥控器,方便警察控制;车流量统计单元,用于动态的决定交通灯对的显示时间,使交通灯更智能;容错处理,减少因交通灯的问题而引起的事故;硬件故障检测,减少因单片机或其他的硬件错误二引发的事故。
我会在以后的学习中继续改进。
我的建议:
希望老师们能继续推动考试改革,这样更能锻炼我们,让我们学习更多的技能。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 报告