接口课设报告书Word格式.docx
- 文档编号:21459059
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:18
- 大小:209.15KB
接口课设报告书Word格式.docx
《接口课设报告书Word格式.docx》由会员分享,可在线阅读,更多相关《接口课设报告书Word格式.docx(18页珍藏版)》请在冰豆网上搜索。
1月2日~1月4日
功能分析,硬件设计,拟定实验电路,编写程序,调试程序、运行系统;
1月5日
答辩后撰写设计报告。
1月5日下午4:
00前交设计报告。
具体要求:
设计报告撰写格式要求(按提供的设计报告统一格式撰写)
具体内容如下:
①设计任务与要求②总体方案与说明
③硬件原理图与说明④实验电路图与说明
⑤软件主要模块流程图⑥源程序清单与注释
⑦问题分析与解决方案(包括调式记录、调式报告,即在调式过程中遇到的主要问题、解决方法及改进设想);
⑧小结与体会
附录:
①源程序(必须有简单注释)②使用说明③参考资料
指导教师签字:
2012年12月29日
系主任签字:
年月日
目录
第1章需求分析1
1.1设计题目1
1.2设计目的1
1.3设计任务1
1.4软硬件运行环境及开发工具1
1.4.1软硬件运行环境1
1.4.2开发工具1
第2章概要设计1
2.1交通灯实时控制系统设计原理及方法1
2.1.1设计原理1
2.1.2电路原理2
2.1.3设计方法2
第3章详细设计2
3.1硬件设计与软件设计2
3.2硬件电路的设计与实现3
3.3软件设计4
3.3.1红绿灯时间控制4
3.3.2本实验中的中断的运用4
第4章软件主要模块流程图5
4.1程序总设计流程图5
4.2延时1s子程序DELLAY1S流程图5
4.3IRQ7中断子程序流程图6
第5章系统调试7
5.1系统调试7
5.2操作说明及运行结果7
5.2.1操作说明7
5.2.2运行结果7
第6章课程设计小结7
8
第1章需求分析
1.1设计题目
1.2设计目的
1.2.1巩固和加深课堂所学知识;
1.2.2学习掌握计算机控制系统的软硬件的设计方法和查阅、运用资料的能力;
1.2.3在TDN集成开发环境中实现对交通灯实时控制系统的设计与制作,综合运用8259、8253、8255芯片,深入了解与掌握利用可编程8255A进行控制的原理与方法。
1.3设计任务:
(在规定的时间内完成下列任务)
1.3.1画出硬件原理图(接口芯片和外设部分、交通灯与路口对应关系)和实验连线图;
1.3.2交通灯控制方式是四个路口轮流通行(无交叉点通行控制方式)
①使东西方向准行,东西方向绿灯亮、南北方向红灯亮;
经过一段延时,使南北方向准行,南北方向绿灯亮、东西方向红灯亮;
②东西方向准20秒,南北方向准20秒;
③在东西南北方向显示准行时间,并按秒倒计时;
④当准行时间到最后5秒时,准行方向绿灯闪烁。
1.3.3用2位7段LED数码管上显示路口当前通行时间的倒计时。
1.3.4各路口允许通车时间内,若有异常事件发生(用开关模拟中断信号的产生),则所有灯闪烁10秒钟,返回原处继续。
1.4软硬件运行环境及开发工具
1.4.1软硬件运行环境
TDN88实验平台,PC机,导线,汇编语言编译软件。
1.4.2开发工具
TDN86/88教学实验系统,PC机。
第2章概要设计
2.1交通灯实时控制系统设计原理及方法
2.1.1设计原理
通过并行接口芯片8255和计算机的硬件连接,通过软件计时,来实现十字路口交通灯的模拟控制,用8259芯片,得到CPU的中断响应后,提供中断类型号,从而
快速寻找到该中断源的中断服务程序的入口地址,转去执行中断服务序。
通过并行接口芯片8255和计算机的硬件连接,通过软件延时计数,来实现十字路口交通灯的模拟控制。
即用D5,D4,D1,D0亮表示车辆允许东西方向通行,D7,D6,D3,D2亮表示车辆允许南北方向通行。
用8259芯片,得到CPU的中断响应后,提供中断类型号,从而快速寻找到该中断源的中断服务程序的入口地址,转去执行中断服务程序。
实验中:
‘0’表示灯亮,‘1’表示灯灭。
通过课程设计要求找出灯亮的规律:
1.东西方向绿灯亮,南北方向红灯亮,延续20秒。
2.20秒钟的最后5秒,东西方向绿灯以频率1HZ闪烁5次,南北方向红灯亮。
3.东西方向红灯亮,南北方向绿灯亮,延20秒。
4.20秒钟的最后5秒,南北方向绿灯以频率1HZ闪烁3次,东西方向红灯亮。
5.循环以上步骤。
通过分析灯亮的规律,总结出如下的功能表:
表2.1交通灯亮灭功能表
灯
状态
南北
红D7
红D6
东西
红D5
红D4
绿D3
绿D2
绿D1
绿D0
状态1
1
1
0
0
1
状态2
0
状态3
状态4
2.1.2电路原理
本课题的设计可通过实验平台上的一些功能模块电路组成,由于各模块电路内部已经连接,用户在使用时只要设计模块间电路的连接,因此,硬件电路的设计及实现相对简单。
硬件电路由R-S触发器电路、发光二极管模块、8255可编程并行接口模块和紧急中断模块8259组成。
2.1.3设计方法
通过分析8255、8259各端口地址,设计合理的地址译码电路。
8259的地址为20H、21H,8255的端口地址为60H、61H、62H、63H。
红、绿灯分别接在8255的A口的高四位和低四位端口,PA0~PA7分别连接到D0~D7来控制8个灯的亮灭,用以模拟交通灯。
B口和C口接两个两片数码管显示器进行倒计时。
用开关模拟中断信号的产生,则要用到8259芯片。
8259的中断请求输入管脚IR7与KK1相连。
每按动一次KK2,产生一次中断请求信号。
当8259接收到中断请求信号之后,便开始执行中断,实现8个灯的闪烁。
系统的程序设计最关键的就是延时程序的编写,因为要在延时的同时用两个LED数码管同步显示倒计数,这给程序设计带来了难题。
现提出如下解决方案:
在进入每个状态时,给寄存器CX置初值表示要倒计时的时间,然后开始把CX循环减1,直到0进入下一个状态。
在CX减1循环中每循环一次,调用延时1s的子程序DELLAY1S,这样假如在状态0给CX置初值20,则会延时20s;
如果在每次调用的延时1s的子程序DELLAY1S中,再调用显示CX的值的子程序LED1给2个LED数码管显示,就实现了与延时同步的倒计数显示。
这样就实现了延时与倒计数的同步。
程序主要是由主程序、延时1s子程序DELLAY1S、LED显示CX子程序LED1、中断服务程序IRQ7组成。
在主程序中包括对8255初始化、中断程序入口地址的填写、中断IRQ7开放,各种状态的依次处理。
第3章详细设计
3.1硬件设计与软件设计
3.1.18255A芯片
8255A芯片是一种通用的可编程并行I/O接口芯片。
它包含有3个8位端口,称为A口,B口,C口。
其中A口包含8个I/O引脚(PA0~PA7),B口包含8个I/O引脚(PB0~PB7),C口包含8个I/O引脚(PC0~PC7)。
该芯片有3种工作方式,称为0方式,1方式,2方式。
本实验选取8255A的A口、B口、C口都作为输出端口,工作方式选0方式。
所以8255A的方式命令字为10000000B,即80H。
端口地址为60H~63H。
其初始化编程为:
MOVAL,10000000B
OUT63H,AL
图3.1系统中的8255A芯片
3.1.28259芯片
8259A芯片内部含有中断请求寄存器,用来存放由外部输入的中断请求信号IR7~IR0。
当某个输入端为高电平时,该寄存器相应位置“1”。
本实验中需要从IR7请求中断,因此采用中断屏蔽方式,将IR6~IR0都设为高电平,即将寄存器IR6~IR0置“1”。
所以其方式命令字为01111111B,即7FH。
端口地址为20H~21H
MOVAX,0000H
MOVDS,AX;
数据段清零
MOVAX,OFFSETIRQ7;
装入中断程序入口地址
MOVSI,003CH
MOV[SI],AX
MOVAX,CS
MOVSI,003EH
POPDS
INAL,21H;
读中断屏蔽寄存器IMR
ANDAL,7FH
OUT21H,AL;
开放IRQ7
STI;
开中断
3.2硬件电路的设计与实现
图3.3控制中断实验图
图3.4硬件设计实验图
3.3软件设计
3.3.1红绿灯时间控制
本实验中有25秒,15秒和5秒的延时,我们先编写一个一秒的延时程序,然后再分别调用这个一秒的延时子程序,MOVCX,25中的cx控制时间,延时一秒子程序如下:
DELLAY1S:
PUSHAXPOPAX
PUSHBXLOOPD0
PUSHCXPOPCX
CALLLED1POPBX
MOVCX,0FFFFHPOPAX
D0:
PUSHAXRET
3.3.2本实验中的中断的运用
MOVAX,OFFSETIRQ7;
取中断程序入口地址(相对地址)
本实验中使用的是中断请求输入IR7,当你按kk2时,执行中断程序,灯会闪烁,程序如下
IR7:
OUT60H,ALPOPBX
CALLDELLAY1SPOPAX
NOTALMOVAL,20H;
结束中断
DECBXOUT20H,AL
JNZIR7IRET
POPCX
第4章软件主要模块流程图
4.1程序总设计流程图
图4.1软件流程图
4.2延时1s子程序DELLAY1S流程图
此延时子程序不光实现延时,还调用了LED1子程序显示了CX的内容,实现延时的同时倒计数的显示。
具体流程如下:
图4.2实验延时1秒流程图
4.3IRQ7中断子程序流程图
IRQ7中断子程序是实现所有灯闪烁10s就返回的功能。
具体流程就如下。
图4.3中断服务程序流程图
第5章系统调试
5.1系统调试
1使用串行通讯现将实验系统与PC微机相连
2正确搭接好相关实验电路
3接通电源,双击试验系统快捷方式,开启试验系统如下图
4点击菜单栏“文件”按钮,选择建新文件。
即可开始输入源程序。
输入程序后,点击保存按钮,进行保存。
5点击编译按钮,对源程序进行汇编,生成目标文件(*。
obj)。
汇编信息显示与屏幕,若出现错误,修改源程序,直至正确。
6汇编无误后,对汇编生成的*。
Obj文件进行链接,链接信息显示于屏幕上,生成*。
EXE可执行文件。
7点击加载按钮,加载*。
EXE程序。
屏幕显示信息。
8加载成功,RUN,运行程序。
9开始时候东西方向绿灯亮,南北方向红灯亮30秒,最后5秒时候绿灯会闪烁。
南北方向绿灯亮,东西方向红灯亮20秒,最后5秒时候绿灯会闪烁。
10在9过程中,若用户按下KK2,则会出现8个灯一起闪烁10秒,然后回到按之前状态,继续循环步骤9中过程。
5.2操作说明及运行结果
5.2.1操作说明
1)按实验接线图接线。
2)输入程序并检查无误,经汇编,连接后装入系统。
3)运行程序。
观察灯的变化,将KK1按1下,会出现红绿灯交替闪烁10秒
5.2.2运行结果
D0,D1亮表示东西方向绿灯亮准行,D4,D5亮表示南北方向红灯亮,持续30秒;
当准行时间到最后5秒时,准行方向绿灯闪烁。
D2,D3亮表示南北方向绿灯亮准行,D6,D7表示东西方向红灯亮持续时间20秒,当准行时间到最后5秒时,准行方向绿灯闪烁。
此过程课程设计要求相符合。
第6章课程设计小结
通过这次课程设计,我对8255、8259这两种芯片有了进一步的了解。
知道了它们在实际应用中的功能以及它们初始化的方法。
这次课程设计从需求分析到设计,是一个完整的体系,这提高了我分析问题的能力。
当遇到问题时,回到书本,查找实际问题所需的理论知识,将理论和实际结合起来,以得到问题的解,这提高了我解决实际问题的能力。
其实课程设计和真正的实际需求还是有些差别的,比如我开头时实现led实现倒数30秒计时的时候,我想的是先判断个位是否为0,为零则把十位减一,再显示,但是发现实现起来程序很复杂,在老师的指导后我修改了方法,就是将要显示的数字除以10,商放在AL中,余数放在AH中,然后输出AL与AH中的数字,最后得出结果,简洁明了。
在本次课程设计中我深有感触的是上学期学的汇编指令都不怎么记得了,这对于接口编程来说实在是个巨大的Bug。
指令不记得当然写程序就慢了!
以后会复习一下8086汇编指令的。
设计者:
郭和朋
日期:
2013年01月04日
DATASEGMENT
TAB1DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H
DATAENDS
STACKSEGMENTSTACK
DW64DUP(?
)
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
CLI
MOVAL,80H;
8255A初始化,A,B,C作为输出口
OUT63H,AL
PUSHDS
MOVAX,0000H
MOVDS,AX;
MOVAX,OFFSETIRQ7;
MOVSI,003CH;
填8259中断7中断矢量
MOV[SI],AX;
填偏移量矢量
MOVAX,CS;
段地址CS
MOVSI,003EH
MOV[SI],AX
POPDS
INAL,21H;
读IMR
ANDAL,7FH;
允许IR7中断
OUT21H,AL
STI;
S0:
MOVAL,11001100B;
状态0,东西方向通车25s,南北方向禁止通行
OUT60H,AL
MOVCX,25;
延时25s
T0:
CALLDELLAY1S
LOOPT0
S1:
MOVAL,11001111B;
状态1,东西方向允许通车5s闪灯,南北方向禁止通行
MOVCX,05H
CALLDELLAY1S
DECCX
T1:
MOVAL,11001100B;
东西方向5s闪灯
MOVAL,11001111B
JNZT1
S2:
MOVAL,00110011B;
状态2,南北方向通车15s,东西方向禁止通行
MOVCX,15;
延时15s
T2:
LOOPT2
S3:
MOVAL,00111111B;
状态3,南北方向允许通车5s闪灯,东西方向禁止通行
T3:
MOVAL,00110011B
MOVAL,00111111B
JNZT3
JMPS0
延时1s的子程序,实现延时1s并在数码管中显示CX中的内容
PUSHAX
PUSHBX
PUSHCX
CALLLED1
MOVCX,0FFFFH
D0:
PUSHAX
POPAX
LOOPD0
POPCX
POPBX
RET
LED1:
PUSHCX;
数码管显示数字
MOVAX,CX
MOVBL,0AH
MOVAH,0
DIVBL;
商放在AL,余数放在AH
MOVBX,OFFSETTAB1;
取段码表首地址
XLAT
OUT61H,AL;
输出显示
MOVCX,0600H
ADD2:
LOOPADD2
MOVAL,AH
MOVBX,OFFSETTAB1
OUT62H,AL
ADD3:
LOOPADD3
RET
IRQ7:
PUSHAX;
外中断服务子程序,所有灯闪10秒
MOVCX,0
MOVAL,0FFH
MOVBX,0AH
NOTAL
DECBX
JNZIR7
MOVAL,20H;
OUT20H,AL
IRET
CODEENDS
ENDSTART
参考文献
[1]肖红兵,李国峰《80C51嵌入式系统教程》北京,北京航空航天大学出版社2008
[2]周越,张平《单片机技术试验实训教程》北京,中国水利水电出版社2007
设计过程中质疑(或答辩)记载:
1.请写出本实验中8255的初始化代码。
答:
OUT63H,AL
2.请写出北通车的代码。
红西红东红北红南绿西绿东绿北绿南
00101101
代码为MOVAL,00101101B;
OUT60H,AL
指导教师评语:
评分:
签名:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 接口 报告书
![提示](https://static.bdocx.com/images/bang_tan.gif)