STC单片机驱动段码式液晶显示屏程序STC12C5612 HT1621B

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
};
/*********************************消息类型定义***********************************************************/
typedef enum
{
#define Char_D_Index 13
#define Char_E_Index 14
#define Char_F_Index 15
#define Char_G_Index 16
#define Char_H_Index 17
#define Char_L_Index 18
{0x05,0x0e}, //U段码 20
{0x02,0x00}, //-段码 21
{0x08,0x00}, //.段码 如果是SEG4则为单位Kvar 22
{0x00,0x0f}, //“)”段码 23
{0x02,0x07}, //F段码 15
{0x04,0x0f}, //G段码 16
{0x07,0x06}, //H段码 17
{0x00,0x0e}, //L段码 18
{0x03,0x07}, //P段码 19
{0x06,0x0b}, //5段码
{0x06,0x0f}, //6段码
{0x05,0x01}, //7段码
{0x07,0x0f}, //8段码
{0x07,0x0b}, //9段码
//#include "reg2051.h"
#include "STC12C5612AD.H"
#include "intrins.h"
#include "ht1621.h"
/*******************************************宏定义***********************************************/
/*********************************串口波特率发生器预置值*************************************************/
uint16 code UART__TAB[] = {
(uint16)(FOSC / 9600) - 16, //9600BPS
(uint16)(FOSC / 14400) - 16, //14400BPS
(uint16)(FOSC / 19200) - 16 //19200BPS
KEY_UP , //递增键
KEY_ENTER , //确定键
} MSG;
/*****************************************口线定义**************************************************/
NOT_KEY, //无按键
KEY_SET, //设置键
KEY_DOWN, //递减键
#define Char_T_Index 25
#define Char_DownLing_Index 26
#define Char_UpLing_Index 27
#define FOSC 11059200 //CPU外接晶振频率(Hz)
#define Char_P_Index 19
#define Char_U_Index 20
#define Char_Ling_Index 21
#define Char_Dot_Index 22
#define Char_Bracket_Index 23
#define Char_N_Index 24
#define SYS_TICKS_PER_SEC 500 //每秒的系统节拍305
#define CLOCK 1 //分频 不分频;
#define TIM0_LOW (65536 - ((FOSC / CLOCK) / SYS_TICKS_PER_SEC)) % 256//Timer0重装值
#define MODE 1
/**字符索引 **/
#define Char_S_Index 5
#define Char_A_Index 10
#define Char_B_Index 11
#define Char_C_Index 12
#define TIM0_HIGH (65536 - ((FOSC / CLOCK) / SYS_TICKS_PER_SEC)) / 256
#define IRQ_INT0 0 //INT0中断号
uint8 Dis_Buf[16]; //显示更新缓存数组
bit gRec; //串口接收中 数据标志
bit gDisData; //接收数据标志
bit gGetKey; //接收键盘标志
uint8 gKeyValue; //读取键盘值
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
/*****************************************全局变量定义**********************************************/
{0x07,0x07}, //A段码 10
{0x06,0x0e}, //B段码 11
{0x00,0x0f}, //C段码 12
{0x07,0x0c}, //D段码 13
{0x02,0x0f}, //E段码 14
/********************************************************************************************************
* 智能综合监控器显示器源序(STC12LE5612AD) *
#define VER 1101 //版本号U1101,
//CPU:STC12LE5612AD显示板程序版本;
#define DIGIT 13 //10位数据+aa+crc校验
#define MASTER 0XFD
#define SLAVE 0XFB
* *
* V1.00 *
* 2011.2.19 *
*
**********************************************************************************************************/
{0x05,0x07}, //n段码 24
{0x00,0x07}, //T段码 25
{0x00,0x08}, //下划线 26
{0x00,0x01} //上划线 27
};
uint8 code Ht1621Clear[16]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //显示清零
(uint16)(FOSC / 3600) - 16, //3600BPS
(uint16)(FOSC / 4800) - 16, //4800BPS
(uint16)(FOSC / 7200) - 16, //7200BPS
(uint16)(FOSC / 1200) - 16, //1200BPS
(uint16)(FOSC / 1800) - 16, //1800BPS
(uint16)(FOSC / 2400) - 16, //2400BPS
* *
* (c) Copyright 2011 *
* All Rights Reserved *
sbit Key1 =P1^3; //设置键
sbit Key2 =P1^4; //确认键
sbit Key3 =P1^5; //上翻键
sbit Key4 =P1^6; //下翻键
sbit Rs485_SW =P2^3;
{0x05,0x0f}, //0段码
{0x05,0x00}, //1段码
{0x03,0x0d}, //2段码
{0x07,0x09}, //3段码
{0x07,0x02}, //4段码
#define IRQ_T0 1 //T0中断号
#define IRQ_T1 3 //T1中断号
#define IRQ_UART 4 //串口中断号
void Rs485_DirR(void)
{
Rs485_SW = 0; //输出低电平
}
void Rs485_DirT(void)
{
Rs485_SW = 1; //输出高电平
}
uint8 code Number_Tab[][2]={ //对应地址线SEG4-SEG13的数字编码
相关文档
最新文档