旋转编码器程序.doc
文本预览下载声明
/* *************************** */
/* Author: FD.chd HiSi Allright Reserved */
/* *************************** */
#include AMP_BTL.h
#include iom16v.h
#include macros.h
#include string.h
#include delay.h
#include signal.h
/*************************************************************************************/
//sbit FD650_SCL=P2^7;
//sbit FD650_SDA=P2^6;
/*************************************************************************************/
#define LEDMAPNUM 22
#define ConnectOkPortOn PORTC=~(1PC6)
#define ConnectOkPortOff PORTC|=(1PC6)
//#define ConOkErrorDirSet DDRC|=0xC0
#define ErrorPortOn PORTC=~(1PC7)
#define ErrorPortOff PORTC|=(1PC7)
/* LED bitmap */
int KeyNumber;
u_int32 gbData;//设置全局变量,用于显示及电位器和编码器桥梁作用
u_int16 gbX9C102_Data;//电位器全局变量
u_int16 gbmode;//0下调,1上调
u_int16 gbsave;// 1保存,0不保存
u_int16 gbcounter;//计数值
u_int16 gbcounterMID;//静音存储用的
u_int8 PID_MID=0;
u_int16 gbX9C102_Data_MID;
const int KeyCode[8]={
0x47,0x4f,0x57,0x5f,0x67,0x6f,0x77
};
typedef struct _led_bitmap
{
u_int8 character;
u_int8 bitmap;
}led_bitmap;
const led_bitmap BCD_decode_tab[LEDMAPNUM] =
{
{0, 0x3F}, {1, 0x06}, {2, 0x5B}, {3, 0x4F},
{4, 0x66}, {5, 0x6D}, {6, 0x7D}, {7, 0x07},
{8, 0x7F}, {9, 0x6F}, {a, 0x77}, {A, 0x77},
{b, 0x7C}, {B, 0x7C}, {c, 0x58}, {C, 0x39},
{d, 0x5E}, {D, 0x5E}, {e, 0x79}, {E, 0x79},
{f, 0x71}, {F, 0x71}
};//BCD码字映射
/************************************************
SCL PC0
SDA PC1
************************************************/
//立即数码值映射
u_int8 bLEDTable[] =
{
0x3F, // 0
0x06, // 1
0x5B, // 2
0x4F, // 3
0x66, // 4
0x6D, // 5
0x7D, // 6
0x07, // 7
0x7F, // 8
0x6F, // 9
0x77, // A
0x7C, // b
0x39, // C
0x5E, // d
0x79, // E
0x71, // F
};
/******************************************
显示全部