计算机原理及应用课设Word格式.docx
- 文档编号:19923430
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:16
- 大小:125.56KB
计算机原理及应用课设Word格式.docx
《计算机原理及应用课设Word格式.docx》由会员分享,可在线阅读,更多相关《计算机原理及应用课设Word格式.docx(16页珍藏版)》请在冰豆网上搜索。
(1)交通灯的显示
交通的灯的显示是通过LED灯来实现的,由于实验设备中有三种颜色的LED灯,分别是红色、绿色和黄色。
根据设计要求中,共需十二个交通灯,分别是四个路口行车道的红灯,黄灯,绿灯。
所以我们将试验箱的12个LED灯分成四组,将8255的a端口设置在2方式,连接到LED灯上,实现对LED灯输出信号。
(2)时间的控制
由于题目中没有给定红绿灯延迟的时间和黄灯是闪烁次数和闪烁时间,我们根据实际情况进行设定为:
绿灯时间亮起时间13.5秒,黄灯闪烁八次。
(3)黄灯的闪烁问题
对于题目中要求的对于黄灯的闪烁问题,可以通过连续的将黄灯置亮和置灭来实现。
对于两次操作的时间间隔,我们设置为0.5s中,因为太小了,人眼无法觉察得到,太大时,就起不到闪烁的作用。
在中断程序中进行判断如果是黄灯闪烁的时间,则每隔0.5s将其置灭或者置亮一次。
四、程序功能描述及流程图
1.功能描述:
(1)初试状态,四个路口的红灯全亮.
(2)开始运行,1、3路口绿灯亮,2,4口亮红灯。
车辆开始通行。
(3)延迟一段时间后,1,3路口黄灯闪烁8次;
2,4路口亮绿灯。
(4)1、3路口绿灯变红,2、4路口红灯变绿,开始通车。
(5)延迟一段时间后,黄灯开始闪烁数次。
(6)2、4路口绿灯变红,1、3路口红灯变绿,开始通车。
2.程序流程图:
五、端口接线及电路连接图
1.端口接线:
8255A
黄灯:
PB3---L1、PB0---L9、PA5---L5、PA2---L13
红灯:
PB1---L3、PA6---L11、PA3---L7、PA0---L15
绿灯:
PB2—L2、PA7—L10、PA4---L6、PA1---L14
2.电路连接图:
PA14PB9PB1PA5PA4PA3PB0PA7PA6PB1PA1PA0
8255
六、
程序代码
CODESEGMENT
ASSUMECS:
CODE
IOCONPTEQU0FF2BH
IOPATEQU0FF28H
IOPBTEQU0FF29H
ORG12e0H
START:
MOVAL,80H
MOVDX,IOCONPT
OUTDX,AL;
初始化
MOVDX,IOPAT
MOVAL,10110110B
OUTDX,AL
MOVDX,IOPBT
MOVAL,11111101B
初始全红灯
CALLDELAY1
GOON:
MOVAL,11111011B
MOVAL,01110110B
1、3绿灯,2、4红灯
MOVCX,8
GOON1:
MOVAL,11110110B
MOVAL,11111111B
只有2、4红灯亮
CALLDELAY2
DECCX
JNZGOON1;
黄灯闪烁8次
MOVAL,10101101B
1、3红灯,2、4绿灯
GOON2:
MOVAL,10111111B
只有1、3红灯亮
MOVAL,10011011B
JNZGOON2;
JMPGOON;
循环
DELAY1:
PUSHAX
PUSHCX
MOVCX,0030H
DELY2:
LOOPDELY2
POPCX
POPAX
RET
DELAY2:
MOVCX,8000H
DELA1:
LOOPDELA1
RET;
2个延时程序
CODEENDS
ENDSTART
七、实验结果
程序运行后,发光二极管状态表:
(其中0代表灯灭,1代表灯亮和闪烁)
状态
南
东
北
西
黄
绿
红
PB3
PB2
PB1
PB0
PA7
PA6
PA5
PA4
PA3
PA2
PA1
PA0
开始4个红灯亮
1
该四
个工
作状
态按
此次
序将
重复
出现
南北绿灯亮,东西红灯亮
南北黄灯闪烁,东西红灯亮
南北红灯亮,东西绿灯亮
南北红灯亮,东西黄灯闪烁
发光二极管状态转换图:
(四种状态重复出现)
八、实验中遇到的问题及解决方法
在这次课程设计中,我们组遇到了许多问题。
尽管我们的课题并不是很复杂,但在写程序时还是有许多细节上的问题没有注意,通过跟另外与我们课题相同的一组同学一起讨论,才最终完善了程序。
即使如此,我们在真正做实验时,还是遇到了一些出乎意料的问题。
比如说,当老师检查结果时,我们才发现,初始状态四个红灯全亮的情形没有出现,通过仔细地核查程序,我们最终发现是由于设定的初始全红灯的时间太短了,以至于无法用肉眼辨别出来,在更改了时间后,这个问题才终于得到了解决。
九、实验收获及体会
通过这次的课程设计,令我对微机原理的理论知识以及单片机的程序开发有了更加深刻的认识。
对于微型计算机的程序设计语言也有了更深的理解。
这些都为我今后进一步地学习单片机的设计、开发和应用打下了良好的基础。
另外,这次课程设计使我真正认识到了理论与实际的区别,这在以后的工作和学习中将给予我很重要的提示,使我更加注重理论与实际相结合,注重选择解决问题的思路和方法。
总之,这次课程设计巩固了我所学的知识,提高了我分析、解决问题的能力,加强了我的团队合作意识,令我获益匪浅。
附:
交通灯法二
ASSUMECS:
IOCONFIGEQU0FF2BH
IOAEQU0FF28H
IOBEQU0FF29H
ORG1200H
MAINPROC
CALLINITIAL
MOVAX,1001001001B;
四个红灯全亮
CALLASSIGN
CALLDELAYL
CIRCLE:
MOVAX,1010001010B
CALLINTERVAL13
MOVAX,10001010001B
CALLINTERVAL24
JMPCIRCLE
MOVAH,4CH
INT21H
RET
MAINENDP
INITIALPROC;
8255A初始化
MOVDX,IOCONFIG
MOVAL,10000000B;
PA0,PB0,PC0,均输出
OUTDX,AL
RET
INITIALENDP
DELAYLPROC;
延时子程序(长)1S(设定BX和CX参数)40
PUSHCX
PUSHBX
MOVBX,2
CIRCLEDELAYL:
CALLDELAYS
DECBX
JNZCIRCLEDELAYL
POPBX
POPCX
DELAYLENDP
DELAYSPROC;
延时子程序(短)约10MS(设定CX参数)2E95//书162
PUSHCX
MOVCX,2H
CIRCLEDELAYS:
LOOPCIRCLEDELAYS
DELAYSENDP
ASSIGNPROC;
赋值子程序(将信号灯的情况输出至相应口)
MOVDX,0378H
MOVDX,0379H
MOVAL,AH
ASSIGNENDP
INTERVAL13PROC;
24变红前的交替状态
MOVBX,10
CIRCLE13:
MOVAX,1100001100B
MOVAX,1000001000B
JNZCIRCLE13
INTERVAL13ENDP
INTERVAL24PROC;
13变红前的交替状态
MOVBX,10
CIRCLE24:
MOVAX,100001100001B
MOVAX,000001000001B
JNZCIRCLE24
POPBX
INTERVAL24ENDP
CODEENDS
步进电机程序控制:
CODESEGMENT;
步进电机5度步进角
CALLINITIAL;
8255初始化
NOP
MOVBX,100H;
参数设置1
CALLFORWARD
CALLBACKWARD
DECBX
JNZCIRCLE
INITIALPROC
FORWARDPROC
MOVDX,IOA
MOVCX,0B4H;
参数设置10B4H
CIRCLEFORWARD:
MOVAL,03H
CALLDELAY
MOVAL,06H
MOVAL,0CH
MOVAL,09H
LOOPCIRCLEFORWARD
FORWARDENDP
BACKWARDPROC
MOVCX,5AH;
参数设置25AH
CIRCLEBACKWARD:
LOOPCIRCLEBACKWARD
POPCX
BACKWARDENDP
DELAYPROC
MOVCX,0CCCH;
参数设置30CCCH
CIRCLEDELAY:
LOOPCIRCLEDELAY
DELAYENDP
ENDSTART
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 原理 应用