📄 main.h
字号:
/*********************************************************************************************************
** Small RTOS(51)
** The Real-Time Kernel(For Keil c51)
**
** (c) Copyright 2002-2002, chenmingji
** All Rights Reserved
**
** V1.12.1
**
**
**--------------文件信息--------------------------------------------------------------------------------
**文 件 名: main.C
**创 建 人: 陈明计
**最后修改日期: 2003年4月27日
**描 述: DP-51的液晶TC1602A的驱动程序的例子
**
**--------------历史版本信息----------------------------------------------------------------------------
** 创建人: 陈明计
** 版 本: V1.0
** 日 期: 2003年4月27日
** 描 述: 原始版本,应用于Small RTOS 51 v1.12.1
**
**------------------------------------------------------------------------------------------------------
** 修改人:龚树强
** 版 本:
** 日 期:2004年9月25日
** 描 述:基于AT89C2051和SMALL_RTOS 51的触摸屏项目
**
**--------------当前版本修订------------------------------------------------------------------------------
** 修改人:
** 日 期:
** 描 述:
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#include "config.h"
//*******************************************************************************************************
//***************************** PREDEFINED STATES *************************************
//*******************************************************************************************************
#define LOCOAL_ADDR 1
#define CMD_SWITCH_LINE 1
#define CMD_STOP 2
#define CMD_START 3
#define CMD_REQUEST 4
#define CMD_FINISHED 5
#define CMD_CURRENT_PRODUCED 6
#define CMD_PROCESSING 7
#define CMD_RESEND_REQUEST 8
#define CMD_ACK 9
#define CMD_STANDBY 10
#define CMD_NO_ORDER 11
#define CMD_TARGET_VALUE 1
#define CMD_CURRENT_VALUE 2
#define CMD_FINISHED_PERSENT 3
#define CMD_INCORRECT 4
#define CMD_QUARY 5
#define CMD_CURRENT_VALUE_REQUEST 6
#define SERIAL_DIRECTION_CTRL P2_7
#define UP_DELAY_THREADHOLD 18 //键盘弹起倒计时
#define TIME_THREADHOLD_HIGH 5000 //计数器高电平最短下限
#define TIME_THREADHOLD_LOW 2000 //计数器低电平最短下限
//*******************************************************************************************************
//***************************** GLOBAL PERAMETER *************************************
//*******************************************************************************************************
#if OS_TIME_ISR == 1
uint8 _Reg_TH0; //TH0缓存
uint8 _Reg_TL0; //TL0缓存
#endif
uint8 OS_Q_MEM_SEL CommandData[7]; //给命令消息队列分配的队列空间
uint8 OS_Q_MEM_SEL SerialInData[10]; //给读串口消息队列分配的队列空间
uint8 OS_Q_MEM_SEL SerialOutData[22]; //给写串口消息队列分配的队列空间
idata uint8 _ResendBuffer[6];
idata uint8 _BufferIndex;
idata uint8 _InputReg; //按键输入寄存器
idata uint8 _KeyScanReg; //键盘扫描寄存器
idata uint8 _KeyboardTimer; //弹起计时器
idata uint8 _Sum;
idata uint8 _IdleTimer; //空闲时间计时器
idata unsigned long _TargetValue = 0; //目标值
idata unsigned long _CurrentValue = 0; //当前值
idata unsigned long _TempValue = 0; //临时值
idata unsigned int _ProduceSpeed = 0; //每秒产量
idata unsigned int _ProducedPersent = 0; //完成百分比
bit _Flag_AutoMode; //自动模式 :TRUE 手动模式 :FALSE
bit _Flag_KeyLock; //键盘锁
bit _Flag_Set; //设置目标产量 :TRUE 设置当前产量 :FALSE
bit _Flag_State_Producing; //工作状态 : TRUE 待机状态 : FALSE
bit _Flag_State_Error;
bit _Flag_State_Finish;
bit _Flag_State_TaskAccepted;
bit _Flag_CounteEnable; //允许计数 :TRUE 禁止计数 :FALSE
bit _Flag_SetupMode; //设置模式
bit _Flag_CounterFallDown; //计数器下降沿
bit _Flag_CounterUpRising; //计数器上升沿
bit _Flag_CounterTimeOut; //计数器定时触发
bit _Flag_DispChanged; //显示已更改,需要刷新显示
bit _Flag_DispSpeed; //显示生产速度 :TRUE 显示完成度 :FALSE
bit _Flag_Beep;
bit _Flag_KeyPressed; //键已按下,等待释放
bit _Flag_StateLedOn;
bit _Flag_StateError;
bit _Flag_StateProducing;
bit _Flag_StateIdle;
bit _Flag_RequestAccept;
bit _Flag_StateLed;
sbit _Beep=P3^4;
sbit _Counter=P3^2;
sbit _LedProduceSpeed=P1^6;
sbit _LedProducedPersent=P1^7;
sbit _LedStateError=P1^0;
sbit _LedStateProducing=P1^1;
sbit _LedStateIdle=P1^2;
sbit _Out=P1^4;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -