文档介绍:《微机原理与接口技术》
课程设计
姓名: 厉小洋
学号: 0945533117
班级: 09电气1班
专业: 电气工程及其自动化
学院: 电气与信息工程学院
江苏科技大学张家港校区
2012年9月
目录
一理论部分 2
1课题要求与内容 2
2 系统方案设计 3
3 系统硬件的设计 4
4 系统软件设计 5
二实践部分 6
1 系统硬件原理简介 6
2 系统硬件调试中出现的问题及解决措施 10
3 系统软件 11
软件设计 11
14
三附录 15
题目:《基于80x86的步进电机控制系统》
理论部分
一微机原理课程设计课题要求与内容
内容要求:
使用8255A控制步进电机的运转。
使用数码管LED显示速度的大小。
使用8253定时器调节速度的大小。
使用4个独立按键控制步进电机,即“正传”、“反转”、“停止”、“调速”。
使用8259A产生中断控制按键;
使用DAC0832显示速度的波形。
拓展功能:
按键部分可以增加“加速”、“减速”等功能;
考虑可以加蜂鸣器来区分“正转”和“反转”;
其他可以有自己特色的功能均可。
二系统方案设计
80X86
8255
8259
8254
步进电机
LED显示
按键控制
在课程要求的前提下,步进电机为四相八拍步进电机,这样可以用8255的一个端口控制电机的驱动,LED显示为十六位
图1系统流程图
在8255中可用两个端口控制,按键单元可与电机共用一个八位端口,由8254产生可编程脉冲,进入8259产生中断,反馈给80x86,控制8255。
再执行到步进电机及其LED显示上,一个脉冲步进电机一拍。由按键读入系统状态。
具体的系统设计如图1为系统概况流程图
三系统硬件设计
在硬件设计中,主要是通过步进电机模块、8255模块、LED模块、8254模块。
在8255芯片上用A,B口控制数码管的显示(A为位选B为段选),C口的高四位为四个按键单元,低四位作为输出,控制步进电机。
片选CS接IOY2。在8259和8254上,采用一个脉冲一拍的方式。,OUT2输出给CLK0,由OUT0给8259的INT,输出一个脉冲,经由IR0给80x86的中断口INTR。如图2为硬件连接图,如下
硬件连接:8254,8255,8259的CS分别接在IOY2,IOY0,IOY1
8255芯片连接:8255的A,B控制LED,A口接位选,B口接段选,将C口分为两段,高四位读取按键,低四位控制步进电机,按键分为四个如下表1所示
表1
K1
K2
K3 K4
判断开关
0开
1关
判断正反转
0正
1反
0 速度1
0 速度2
0 1 速度3
1 1 速度4
8254:GATE2接电源+5v 给CLK2一个信号OUT2接CLK0将输出接8259的INT ,在用8259的IRO1连接到80X86的中断INTR
XD0~XD7
XIOR
XIOW
XA2
XA2
INTR
IOY0
XD0~XD7
IOY1
IOR
IOW
IOR
IOW
XA2
8086系统总线
D0 PC0
D7 PC3
A0 PC4
A1 PC7
8255
WR A口
RD
CS B口
按键单元
步进电机单元
LED显示
XD0~XD7
D0
D7
WR
RD INT
CS
8259
IR0
A0
D0 OUT0
D7 CLK0
WR OUT2
RD
CS CLK2
8254
A0
A1 GATE2
+5V
IOY2
图2硬件连接图
四系统软件设计
开始
系统初始化
判断开关
判断正反
判断速度
计数器装入初值
判断是否
进入中断
LED显示
判断是否
八拍走完
判断键盘是
否有按键
否
否
是
是
是
否
结束
是
否
图3软件系统工作流程图
过8255读取按键的信号,来控制步进电机的开关,正转,反转,速度的大小。通过8254计数器工作在方式0的状态下来控制每拍运行的时间,步进电机速度不同,赋给8254的初始值不同,同时8255的PA,PB口向LED接口输出信号,LED数码管显示步进电机每分钟的转速。8254计数器每次运行结束,向8259发出一个高电平,8259IR0接口检测到高电平信号,即进入中断服务程序,在中断服务程序里,执行对下一拍给步进电机信号的赋值。在每次循环中,执行键盘按键检测程序,如有按键,退出程序,否则,反复