汽车速度控制系统说明书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
摘要 (2)
第一章硬件介绍 (3)
1.1 8086最小系统模块 (3)
1.2可编程并行接口芯片8255A (4)
1.2.1 8255A的作用 (4)
1.2.2 8255A的功能分析及技术参数 (4)
1.3 PWM控制直流电机 (6)
1.3.1 带有H桥的直流电机 (6)
1.3.2 PWM调制原理 (7)
1.4一组按键控制 (7)
1.5 LED显示模块 (8)
第二章系统设计和理论分析 (9)
2.1 系统工作原理 (9)
2.2 总体设计框图 (9)
2.3 程序流程图 (9)
2.3.1主程序模块 (9)
2.3.2显示模块 (11)
2.3.3中断服务子程序流程图 (11)
第三章程序设计与电路 (12)
3.1程序清单 (12)
3.2 PROTEUS仿真 (16)
第四章课程设计总结 (17)
参考文献 (18)
摘要
随着电子技术的发展,计算机在现代科学技术的发展中起着越来越重要的作用。
多媒体技术、网络技术、智能信息处理技术、自适用控制技术、数据挖掘与处理技术等都离不开计算机。
本课程设计是基于微机原理与接口技术的简单应用。
汽车速度控制系统是将在现场采集的速度控制信息(用键盘模拟控制信息,通过I/O端口芯片将信息输入),经I/O接口芯片将将键盘控制信息送至微处理器,然后计算机按照读入的键盘号对汽车速度进行相应的控制,再将汽车速度送至接口芯片并在显像管中显示当前速度,当确定速度档位后,通过二极管发光显示当前档位,设置紧急情况为不可屏蔽中断,当出现紧急情况出发中断紧急处理情况。
关键字:8086系统 LED 显示 8255A PWM控制直流电机
第一章 硬件介绍
1.1 8086最小系统模块
(1)8086CPU 构成的最小模式系统如图:
(2)硬件连接框图
1.2可编程并行接口芯片8255A
1.2.1 8255A的作用
与8086最小系统相连,通过74LS138译码器选通8255A,用来扩展8086的IO口引脚,以便于控制更多设备。
1.2.2 8255A的功能分析及技术参数
1、8255A的工作方式:
8255A有3种工作方式。
可用软件编程来指定。
方式0:基本输入输出方式
适用于无条件传送和查询方式的接口电路。
方式1:选通输入输出方式
适用于查询和中断方式的接口电路。
方式2:双向输入输出方式
适用于双向传送数据的外设。
适用于查询和中断方式的接口电路。
8255A 的内部结构图
2、引脚信号
8255A 的引脚如图,分为数据线、地址线、读/写控制线、输入/输出端口线和电源线。
8255A 芯片引脚
外部引线有40个引脚,双列直插式结构。
D0~D7为双向数据信号线,用来传送数据和控制字。
为读信号线,与其他信号线一起实现对8255A 接口的读操作。
为写信号线,与其他信号一起实现对8255A 的写操作 为片选信号线,低电平有效,选中该8255芯片。
A0,A1为口地址选择信号线。
A1、A0 =00,选中端口A ; A1、A0 =01,选中端口B ; A1、A0 =10,选中端口C ; A1、A0 =11,选中控制端口。
CS RD WR
RESET为复位输入信号。
PA0~PA7 为A口的8条输入输出信号线。
PB0~PB7 为B口的8条输入输出信号线。
PC0~PC7 C口8条线根据其工作方式可作为数据的输入或输出线,也可以用作控制信号的输出或状态信号的输入线。
1.3 PWM控制直流电机
1.3.1 带有H桥的直流电机
H桥由8个晶体管连接组成,通过控制PWM端的高低电平来控制直流电机两端的电压,从而达到控制直流电机两端的正压时间长短,从而控制直流电机的转速,达到控制汽车速度的目的。
带有H桥的直流电机
1.3.2 PWM调制原理
与8086相连的8253A,通过8086的预先设置好的控制字,设置好8053的工作方式,使之不断产生高低电平长度不同方波。
当为高电平的时候,相当于通过H桥后为直流电机加上正电压,使直流电机正向加速,,当为低电平的时候,直流电机停止加速。
这样不断的高低电平交替,实现了控制电机的转速。
在8086中的程序中,可不断改变8253A的定时时间来达到调节速度的目的。
1.4一组按键控制
应用一排按键模拟汽车控制的K1,K2,K3,A,B,C,D和ESC按键。
如图所示:
一排按键图
1.5 LED显示模块
采用共阴极4位显示数码管,如图所示:
共阴极4位显示数码管
第二章系统设计和理论分析
2.1 系统工作原理
本系统是将在现场采集的速度控制信息(用键盘模拟控制信息,通过I/O 端口芯片将信息输入),经I/O接口芯片将将键盘控制信息送至微处理器,然后计算机按照读入的键盘号
对汽车速度进行相应的控制,再将汽车速度送至接口芯片并在显像管中显示当前速度,当确定速度档位后,通过二极管发光显示当前档位,设置紧急情况为不可屏蔽中断,当出现紧急情况出发中断紧急处理情况。
在键盘管理模块中,按键“1”启动系统,汽车以最低速度行驶,同时用一盏绿灯显示档位,数码管显示速度,最低速度为5KM/h当需要换挡时用键盘键入“2、3”并将用一盏黄灯合格一盏红灯显示并显示相应的速度;汽车慢加速时用“4”建,急加速时用“5”键,慢刹车用“6”键,急刹车用“7”键,加速和刹车时用数码管显示相应的速度变化;当汽车需紧急停车时,键入“8”键所有发光二极管熄灭同时用数码管显示0。
2.2 总体设计框图
2.3 程序流程图
2.3.1主程序模块
.。
2.3.2显示模块
2.3.3中断服务子程序流程图
第三章程序设计与电路3.1程序清单
DATA SEGMENT
NO1 DB 2.5
NO2 DB 5.7
NO3 DB 10,20
SCAN1 DB ?
SCAN2 DB ?
SCAN3 DB ?
TABLE DB 0C0H,0F9H,0A4H,0B0H,099H,92H,82H DB 0F8H,80H,90H,88H,83H,0C6H,0A1H
DB 86H,8EH,0FFH,8CH,89H,8EH,0BFH,0F7H P8255_A DW 0020H
P8255_B DW 0021H
P8255_C DW 0022H
P8255_CR DW 0023H
DATA ENDS
STACK SEGMENT
DB 100 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV DX,P8255_CR
MOV AL.82H
OUT DX,AL
PUSH DS
MOV AX,0000H
MOV DS,AX
MOV BX,0008H
LEA AX,INTPROC
MOV [BX],AX
MOV AX,SEG INTPROC
MOV [BX+2],AX
POP DS;终端初始化
A1 : MOV DX,P8255_B
LEA BX,NO3
MOV SCAN1,0
MOV SCAN2,6
MOV DX,P8255_C
MOV AL,80H
OUT DX,AL
CALL DISPLAY
CALL FUNCTION
MOV AH,4CH
INT 21H
DISPLAY PROC FAR
PUSH DX
PUSH CX
PUSH BX
PUSH AX
MOV DX,P8255_C
MOV AL,04H
OUT DX,AL ;KL1位选择
LEA BX,TABLE
MOV DX, P8255_C
MOV AL,SCAN1
XLAT
OUT DX,AL;显示字段
MOV CX,00H
LOOP $
MOV DX, P8255_C
MOV AL,02H
OUT DX,AL ;KL2 位选择
MOV DX, P8255_A
MOV AL,SCAN2
OUT DX,AL ;显示字段
LOOP $
XLAT
OUT DX,AL ;KL3位选择
MOV DX, P8255_A
MOV AL,SCAN3
XLAT
OUT DX,AL
MOV CX,000H
LOOP $
POP AX
POP BX
POP CX
POP DX
RET
A6: MOV DX,P8255_B
IN AL,DX
CMP AL,0DFH
JE MJII
A71: MOV DX,P8255_B
IN AL,DX
CMP AL,0BFH
JE KJII
JMP BACK
MJI: MOV AL,SCAN1
ADD AL,[BX+1]
CMP AL,10
JNA PDMAX1
INC SCAN2
SUB AL,10
JMP PDMAX1
KJ1; MOV AL,SCAN1
ADD AL,[BX+2]
CMP AL,10
JNA PDMAX1
INC SCAN2
SUB AL,10
JMP PDMAX1 PDMAX1:MOV SCAN1,AL
MOV AH,SCAN2
SUB AH,2
JC A4
SUB AL,5
JC A4
MOV SCAN1,5
MOV SCAN2,2
JMP A4
MJII: MOV AL,SCAN1
SUB AL,[BX+1]
JNC PDMIN1
DEC SCAN2
ADD AL,10
JMP PDMIN1
KJII: MOV AL,SCAN1
SUB AL,[BX+2]
JNC PDMIN1
DEC SCAN2
ADD AL,10
JMP PDMIN1 PDMIN1: MOV SCAN1,AL
MOV AH,SCAN2
SUB AH,0
JNC A4
SUB AL,5
JC A4
MOV SCAN1,5
JMP A4
BACK: RET
FUNCTION ENDP
INTPROC PROC FAR
MOV SCAN1,0
MOV SCAN2,0
MOV SCAN3,0
CALL,DISPLAY
IRET
INTPROC ENDP
CODE ENDS
END START
3.2 PROTEUS仿真
第四章课程设计总结
“微型计算机原理与接口技术课程设计”作为自动化专业的主要基础课之一,课程紧密结合自动化专业的专业特点,围绕微型计算机原理和应用主题,以intel8086CPU为主线,系统介绍微型计算机的基本知识,基本组成,体系结构和工作模式从而使学生能较清楚的了解微机的机构和工作流程,建立起系统的概念。
这次的课程设计为期一周,却让我学到很多东西,也巩固了所学的知识。
以前上课的时候老师经常强调再写一个程序的时候,一定要事先写出程序框图,总觉得这是浪费时间,但通过这次课程设计完全改变了这种错误认识。
以前接触的那些程序都很短,很基础,但是在这次课程设计中碰到的那些需要很多代码才能完成的任务,画流程图是很必要的。
因为通过流程图在我们设计的过程中,每一步怎么做,每一步要完成什么样的任务都会有一个很清晰的思路,而且在程序测试过程中也有利于查错。
以前对与编程软件的使用还处于一知半解的基础上,但经过这一段时间的实践,对于怎么样查错、排错,在那么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序正确性上都有了一定提高。
通过这次课程设计我懂得了理论与实际相结合是很重要的,只有亲自动手,才能提高自己的实际动手能力和独立思考能力,发现自己的不足,进而提高自己。
总之,这次课程设计对于我有很大的帮助,通过课程设计,我更加深入地理解了,微机原理课程上讲到的各种芯片的功能,以及引脚的作用,同时加深了对于主要芯片的应用的认识,同时在试验室的环境里熟悉了汇编程序的编写过程和运行过程,最后还提高了自己的动手能力。
最后,感谢老师的悉心指导!
参考文献
[1] 第四版周和琴吴秀清编著《微型计算机原理与接口技术》
中国科学技术大学出版社出版时间:2008年6月[2] 蔡启先,王智文,黄晓璐编著《汇编语言程序设计实验指导》
清华大学出版社出版时间: 2008-3-1
[3] 张晓明,白凤凤,李雅红编著《汇编语言程序设计》
国防工业出版社出版时间: 2009-1-1
[4] 张坤编著《汇编语言实验教程》
清华大学出版社出版时间: 2008-7-1 [5] 卜艳萍,周伟编著《汇编语言程序设计教程》(第二版)
清华大学出版社出版时间: 2007-6-1
[6] 彭虎、周佩玲、傅忠谦、编著《微机原理里与接口技术》(第2版) 电子工业出版社出版时间: 2008-4-1。