feiyun 发表于 2014-6-26 09:23
你直接写个串口程序,然后根据收到字节做相应命令呀
/******************************************************
程序说明:LED显示
时 间:2014.6.26
HT1621显示数字:0 1 2 3 4 5 6 7 8 9
程序功能:接收来自PC的字符,然后用8个LED灯显示出来
8个LED从高到低,组成8位二进制数.
通信格式:N.8.1, 9600
无校验,8个数据位,1个停止位,波特率9600
*******************************************************/
#include
#include
#define uint unsigned int
#define uchar unsigned char
unsigned char table[] = { 0xEB, 0x60, 0xC7, 0xE5, 0x6C, 0xAD, 0xAF, 0xE0, 0xEF,
0xED };
#define BIAS 0x52 //0b1000 0101 0010 1/3duty 4com
#define SYSDIS 0X00 //0b1000 0000 0000 关振系统荡器和LCD偏压发生器
#define SYSEN 0X02 //0b1000 0000 0010 打开系统振荡器
#define LCDOFF 0X04 //0b1000 0000 0100 关LCD偏压
#define LCDON 0X06 //0b1000 0000 0110 打开LCD偏压
#define XTAL 0x28 //0b1000 0010 1000 外部接时钟
#define RC256 0X30 //0b1000 0011 0000 内部时钟
#define TONEON 0X12 //0b1000 0001 0010 打开声音输出
#define TONEOFF 0X10 //0b1000 0001 0000 关闭声音输出
#define WDTDIS1 0X0A //0b1000 0000 1010 禁止看门狗
#define SECOND 20
#define SYSTEM_CLOCK
uchar Data_Length=3,counter=0,sec=0;
uchar LED_STATUS=1,RXD_STATUS=1; //显示状态
uint RXD_COM[3],LED_COM=0,LCD_COM=0,LCD_COM_TIME=0; //
//-----------------------------------------------------------------------------------------
//函数名称:Delay()
//功 能:延时子程序
//-----------------------------------------------------------------------------------------
void Delay(uchar us) //5,7,9
{
while (--us)
;
}
//-----------------------------------------------------------------------------------------
//函数名称:DelayMS()
//功 能:延时子程序
//-----------------------------------------------------------------------------------------
void DelayMS(uint iMs) {
uint i, j;
for (i = 0; i < iMs; i++)
for (j = 0; j < 65; j++) {
Delay(1);
}
}
//-----------------------------------------------------------------------------------------
//函数名称:Ht1621Wr_Data()
//功 能:写数据函数,cnt为传送数据位数,数据传送为低位在前
//-----------------------------------------------------------------------------------------
void Ht1621Wr_Data(uchar Data, uchar cnt) {
uchar i;
for (i = 0; i < cnt; i++) {
P1OUT &= ~0x40;
if ((Data & 0x80) == 0x80) {
P1OUT |= 0x04;
} else {
P1OUT &= ~0x04;
}
P1OUT |= 0x40;
Data