77范文网 - 专业文章范例文档资料分享平台

毕业设计-基于AT89C51单片机的大型电力机车自动停车器的设计(7)

来源:网络收集 时间:2019-06-11 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

而8155的C端口各引脚的工作方式3、工作方式4的定义见表4-3所列,详细资料请查阅手册。

表4-3 C端口各引脚的工作方式3、工作方式4定义 Table.4-3 Definition of work style of C port

端口C引脚

PC0 PC1 PC2 PC3 PC4 PC5

方式3

A INTR(端口A中断请求) A BF(端口A缓冲器) A STB(端口A选通)

输出口 输出口 输出口

方式4 同左 同左 同左

B INTR(端口B中断请求) B BF(端口B缓冲器) B STB(端口B选通)

本设计端口A和端口B均作为输出口,控制字PA位和PB位均为1其它的不用为0,控制字为3H。

由图4-5可知,8155的IO由AT89C51的端口2(作为高8位地址)的P2.0线选择,当IO为1时,做I/O端口;当IO为0时,作RAM用,所以,P2.0=1。由AT89C51的P2.7经反向器2404接到8155的片选引脚CE,所以P2.7=1。此外,在电路图中,AT89C51端口0作为低8位地址及双向数据线与8155的AD0~AD7想连。回8155内部有地址寄存器,AT89C51的ALE信号可与8155的ALE直接相连。

表4-4 I/O端口及定时器地址 Table.4-4 I/O port and timer address

I/O地址

A7 A6 A5 A4 A3 A2 A1 A0 × × × × × 0 0 0 × × × × × 0 0 1 × × × × × 0 1 0 × × × × × 0 1 1 × × × × × 1 0 0 × × × × × 1 0 1

寄存器选择

命令/状态寄存器

端口A 端口B 端口C 定时器低8位

定时器高6位和定时器方式2

31

4.2.4 速度显示程序框图

开始定时器工作方式1速度检测周期T=2s,JC列车前行NT=2sYC=∏D,C1=C/10,S=C1×JC,V=3.6S/(1000T)LED显示 图4-7速度检测显示的程序框图

Fig.4-7 The diagram of Speed display

其中,C为车轮圆周,C1为两块钢片间的圆周长,S为电机车2秒所走的路程,JC为单片机接收到的齿轮脉冲。

4.3 硬件及流程整体图

4.3.1 硬件整体框图

综合上面所给出的各种设计,我们便可以总结出系统总体硬件框图,如下图4-8所示,方便理解本设计的结构。

32

区段LED显示速度显示单元P2.3-P2.5P0.0-P0.7位置触发单元P1.2P2.2报警单元系统控制单元P2.1P1.0P1.1P1.3P1.4齿频脉冲单元1T0制动单元行车方式按钮报警复位触发复位

图4-8 电力机车自动停车装置系统总框图

Fig.4-8 The diagram of electric locomotive’s automatic stopping device

33

4.3.2 流程整体图

开始定时器工作方式1速度检测周期T=2S,JC中断列车前行C=∏D,C1=C/10,S=C1×JC,V=3.6S/(1000T)YP1.4=1YZd=0中断返回YNLED显示N是否有位置触发MC=414Y停车报警,锁N定V,MC=0,LEDCD亮YT=2S声光报警NNBj=1YNbj=0P1.3=1列车继续前行LEDBC亮NYzd=1,bj=1N方案130≥V>29N顶推N列车继续前行LEDAB亮NMC=414YMC=0N方案1031≥V>20Y方案229≥V>28NY列车继续前进NMC=NZd=1Y...YY电机车制动

图4-9 设计流程图 Fig.4-9 Flowing chart

34

4.4 整体程序

//头文件包含

#include \ //51定义文件

//全局宏定义

#define uint unsigned int #define uchar unsigned char

#define led1 0x04 //定义led1地址 #define led2 0x02 #define led3 0x01

#define CMD XBYTE[0x8100] //定义命令口地址 #define PA XBYTE[0x8101] //定义PA地址 #define PB XBYTE[0x8102] #define PC XBYTE[0x8103]

//全局变量的定义

int g_gear=0,g_gear_cnt; //g_gear用于速度检测,g_gear_cnt用于区域检测 float g_speed,date;

//led显示数据查询表

uchar led_table[17]=

{0x8f/*0*/,0x30/*1*/,0x5b/*2*/,0x4f/*3*/,0x66/*4*/,0x6d/*5*/,0x7d/*6*/,0x07/*7*/,0x7f/*8*/,0x67/*9*/,0x77/*A*/,0x7f/*B*/,0x39/*C*/,0x3f/*D*/,0x79/*E*/,0x31/*F*/,0x80/*.*/,0x76/*H*/};

void Led_Display(uchar addr, uchar data) //addr:在哪个数码管显示,data:显示的数字 { PA=addr; if(data==250/*\ addr=led_table[16]; //显示\ else addr=led_table[data]; //显示数字 }

void Result_Display(uint data) //**.* { data*=10; Led_Display(led1,(data/100)); //显示十位 Led_Display(led2,((data0)/10)); //显示个位 Led_Display(led2,16); //显示\ Led_Display(led3,(data)); //显示小数点后第一位 }

void zd_be() { if(g_gear_cnt==414)

{

date=g_speed; //锁定电机车通C点时的速度 p2.4=0; //LEDBC灭,LEDCD亮,并停止声光报警

35

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库毕业设计-基于AT89C51单片机的大型电力机车自动停车器的设计(7)在线全文阅读。

毕业设计-基于AT89C51单片机的大型电力机车自动停车器的设计(7).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/652728.html(转载请注明文章来源)
上一篇:大拇指汤姆
下一篇:用车管理制度
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: