极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 15415|回复: 10

中显液晶屏程序。哪位大侠帮忙

[复制链接]
发表于 2015-8-28 22:10:43 | 显示全部楼层 |阅读模式
A5 5A 06 83 00 00 01 00 19//屏设置是这个数。 incomingByte应该返回是这个数。怎么和showNumber[100][8]比较相同
    led亮   。


int x=0;//初使化加数变量
int incomingByte =  0;
int CheckSumX = 0;
int ledpin = 8;
int addKey =4;//定义按键为第4引脚
int buttonState = 0; //初使化按键暂存值,为了和addKey类型保持一致用int;
/*数码管用二维数组表达看起来简洁一些*/
/*
PS:初使化数组没必要放loop里面,楼主可能需要搞清楚step()和loop()的工作方式*/
unsigned char showNumber[100][8] ={
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x01},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x02},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x03},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x04},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x05},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x06},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x07},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x08},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x09},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x0A},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x0B},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x0D},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x0E},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x0F},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x10},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x11},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x12},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x13},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x14},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x15},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x16},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x17},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x18},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x19},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x1A},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x1B},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x1D},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x1E},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x1F},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x20},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x21},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x22},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x23},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x24},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x25},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x26},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x27},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x28},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x29},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x2A},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x2B},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x2D},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x2E},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x2F},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x30},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x31},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x32},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x33},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x34},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x35},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x36},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x37},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x38},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x39},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x3A},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x3B},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x3D},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x3F},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x40},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x41},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x42},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x43},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x44},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x45},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x46},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x47},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x48},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x49},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x4A},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x4B},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x4D},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x4E},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x4F},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x50},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x51},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x52},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x53},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x54},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x55},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x56},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x57},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x58},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x59},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x5A},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x5B},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x5D},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x5E},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x5F},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x60},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x61},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x62},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x63},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x64}};
//{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x65},


void setup() {
Serial.begin(9600);//串口波特率设置
Serial.flush();//初使化串口
pinMode(addKey,INPUT);//初使化物理按键输入
}

void loop()
{
buttonState = digitalRead(addKey);//将第4脚的电平赋予按键变量
if (Serial.available() > 0)
  {
    incomingByte = Serial.read();
    Serial.print(incomingByte, HEX);

    if (showNumber[100][8] == incomingByte) {
      CheckSumX++;
    }
   
    x++;
    if (x == 11) {
      if (CheckSumX == 11) {
        digitalWrite(ledpin, HIGH); //点亮数字13 口LED。
        delay(500);
   
      x = 0;
      CheckSumX = 0;
    }}}
if (buttonState == LOW){     
delay(10);
if (buttonState == LOW)//机械式延时去抖
x++;//按键后变量加1;
while(!digitalRead(addKey));//等待松开按键结束,按键弹起算一次有效值
}

switch(x)
{
case 1:
Serial.write(&showNumber[0][0],8);
break;
case 2:
Serial.write(&showNumber[1][0],8);
break;
case 3:
Serial.write(&showNumber[2][0],8);
break;
case 4:
Serial.write(&showNumber[3][0],8);
break;
case 5:
Serial.write(&showNumber[4][0],8);
break;
case 6:
Serial.write(&showNumber[5][0],8);
break;
case 7:
Serial.write(&showNumber[6][0],8);
break;
case 8:
Serial.write(&showNumber[7][0],8);
break;
case 9:
Serial.write(&showNumber[8][0],8);
break;
case 10:
Serial.write(&showNumber[9][0],8);
break;
case 11:
Serial.write(&showNumber[10][0],8);
break;
case 12:
Serial.write(&showNumber[11][0],8);
break;
case 13:
Serial.write(&showNumber[12][0],8);
break;
case 14:
Serial.write(&showNumber[13][0],8);
break;
case 15:
Serial.write(&showNumber[14][0],8);
break;
case 16:
Serial.write(&showNumber[15][0],8);
break;
case 17:
Serial.write(&showNumber[16][0],8);
break;
case 18:
Serial.write(&showNumber[17][0],8);
break;
case 19:
Serial.write(&showNumber[18][0],8);
break;
case 20:
Serial.write(&showNumber[19][0],8);
break;
case 21:
Serial.write(&showNumber[20][0],8);
break;
case 22:
Serial.write(&showNumber[21][0],8);
break;
case 23:
Serial.write(&showNumber[22][0],8);
break;
case 24:
Serial.write(&showNumber[23][0],8);
break;
case 25:
Serial.write(&showNumber[24][0],8);
break;
case 26:
Serial.write(&showNumber[25][0],8);
break;
case 27:
Serial.write(&showNumber[26][0],8);
break;
case 28:
Serial.write(&showNumber[27][0],8);
break;
case 29:
Serial.write(&showNumber[28][0],8);
break;
case 30:
Serial.write(&showNumber[29][0],8);
break;
case 31:
Serial.write(&showNumber[30][0],8);
break;
case 32:
Serial.write(&showNumber[31][0],8);
break;
case 33:
Serial.write(&showNumber[32][0],8);
break;
case 34:
Serial.write(&showNumber[33][0],8);
break;
case 35:
Serial.write(&showNumber[34][0],8);
break;
case 36:
Serial.write(&showNumber[35][0],8);
break;
case 37:
Serial.write(&showNumber[36][0],8);
break;
case 38:
Serial.write(&showNumber[37][0],8);
break;
case 39:
Serial.write(&showNumber[38][0],8);
break;
case 40:
Serial.write(&showNumber[39][0],8);
break;
case 41:
Serial.write(&showNumber[40][0],8);
break;
case 42:
Serial.write(&showNumber[41][0],8);
break;
case 43:
Serial.write(&showNumber[42][0],8);
break;
case 44:
Serial.write(&showNumber[43][0],8);
break;
case 45:
Serial.write(&showNumber[44][0],8);
break;
case 46:
Serial.write(&showNumber[45][0],8);
break;
case 47:
Serial.write(&showNumber[46][0],8);
break;
case 48:
Serial.write(&showNumber[47][0],8);
break;
case 49:
Serial.write(&showNumber[48][0],8);
break;
case 50:
Serial.write(&showNumber[49][0],8);
break;
case 51:
Serial.write(&showNumber[50][0],8);
break;
case 52:
Serial.write(&showNumber[51][0],8);
break;
case 53:
Serial.write(&showNumber[52][0],8);
break;
case 54:
Serial.write(&showNumber[53][0],8);
break;
case 55:
Serial.write(&showNumber[54][0],8);
break;
case 56:
Serial.write(&showNumber[55][0],8);
break;
case 57:
Serial.write(&showNumber[56][0],8);
break;
case 58:
Serial.write(&showNumber[57][0],8);
break;
case 59:
Serial.write(&showNumber[58][0],8);
break;
case 60:
Serial.write(&showNumber[59][0],8);
break;
case 61:
Serial.write(&showNumber[60][0],8);
break;
case 62:
Serial.write(&showNumber[61][0],8);
break;
case 63:
Serial.write(&showNumber[62][0],8);
break;
case 64:
Serial.write(&showNumber[63][0],8);
break;
case 65:
Serial.write(&showNumber[64][0],8);
break;
case 66:
Serial.write(&showNumber[65][0],8);
break;
case 67:
Serial.write(&showNumber[66][0],8);
break;
case 68:
Serial.write(&showNumber[67][0],8);
break;
case 69:
Serial.write(&showNumber[68][0],8);
break;
case 70:
Serial.write(&showNumber[69][0],8);
break;
case 71:
Serial.write(&showNumber[70][0],8);
break;
case 72:
Serial.write(&showNumber[71][0],8);
break;
case 73:
Serial.write(&showNumber[72][0],8);
break;
case 74:
Serial.write(&showNumber[73][0],8);
break;
case 75:
Serial.write(&showNumber[74][0],8);
break;
case 76:
Serial.write(&showNumber[75][0],8);
break;
case 77:
Serial.write(&showNumber[76][0],8);
break;
case 78:
Serial.write(&showNumber[77][0],8);
break;
case 79:
Serial.write(&showNumber[78][0],8);
break;
case 80:
Serial.write(&showNumber[79][0],8);
case 81:
break;
Serial.write(&showNumber[80][0],8);
break;
case 82:
Serial.write(&showNumber[81][0],8);
break;
case 83:
Serial.write(&showNumber[82][0],8);
break;
case 84:
Serial.write(&showNumber[83][0],8);
break;
case 85:
Serial.write(&showNumber[84][0],8);
break;
case 86:
Serial.write(&showNumber[85][0],8);
break;
case 87:
Serial.write(&showNumber[86][0],8);
break;
case 88:
Serial.write(&showNumber[87][0],8);
break;
case 89:
Serial.write(&showNumber[88][0],8);
break;
case 90:
Serial.write(&showNumber[89][0],8);
case 91:
break;
Serial.write(&showNumber[90][0],8);
break;
case 92:
Serial.write(&showNumber[91][0],8);
break;
case 93:
Serial.write(&showNumber[92][0],8);
break;
case 94:
Serial.write(&showNumber[93][0],8);
break;
case 95:
Serial.write(&showNumber[94][0],8);
break;
case 96:
Serial.write(&showNumber[95][0],8);
break;
case 97:
Serial.write(&showNumber[96][0],8);
break;
case 98:
Serial.write(&showNumber[97][0],8);
break;
case 99:
Serial.write(&showNumber[98][0],8);
break;
case 100:
Serial.write(&showNumber[99][0],8);
x=0;
break;
default:
break;
}
}
回复

使用道具 举报

发表于 2015-8-29 18:49:38 | 显示全部楼层
你要补习一些基础知识,incomingByte = Serial.read();,首先你要搞懂serial.read()这个涵数读出来是什么类型的数据,长度,这些都要明白,你定义 int incomingByte这个类型怎么能成为你想要得到的一串数组而且是和showNumber[X][8]一个类型的呢?,int incomingByte是整型数据的一个值,showNumber[X][8]我们先不管是不是整型,它是8个值啊,一个值和8个怎么能融合到一起而且要像你想的那样的结果呢?都不在一个层次怎么可能做比较?不行!!!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-29 22:11:58 来自手机 | 显示全部楼层
邓维安 发表于 2015-8-29 18:49
你要补习一些基础知识,incomingByte = Serial.read();,首先你要搞懂serial.read()这个涵数读出来是什么类 ...

A5 5A 06 83 00 00 01 00 19//屏设置是这个数。 incomingByte应该返回是这个数。怎么和showNumber[100][8]比较相同
回复 支持 反对

使用道具 举报

发表于 2015-8-29 23:03:45 | 显示全部楼层
我一看到标题就知道,又是你来求助了。
这回程序方面有明显进步了,上面邓维安朋友说的那些,是你现在要补的。
有关incomingByte这个,好多例程里都有的,去借鉴一下。
回复 支持 反对

使用道具 举报

发表于 2015-8-30 00:23:08 | 显示全部楼层
本帖最后由 suoma 于 2015-8-30 00:24 编辑

建议这样写:
case 99:
             Serial.write(&showNumber[98][0],8);
你的程序可以控制到50行以内
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-30 07:33:21 来自手机 | 显示全部楼层
liuxue4503 发表于 2015-8-29 23:03
我一看到标题就知道,又是你来求助了。
这回程序方面有明显进步了,上面邓维安朋友说的那些,是你现在要补 ...

   Serial.print(incomingByte, HEX);
这句话什么意思
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-30 14:02:24 来自手机 | 显示全部楼层
suoma 发表于 2015-8-30 00:23
建议这样写:
case 99:
             Serial.write(&showNumber[98][0],8);

没明白大侠的意思。
回复 支持 反对

使用道具 举报

发表于 2015-8-30 20:03:51 | 显示全部楼层
乐乐2365 发表于 2015-8-30 14:02
没明白大侠的意思。

我记得switch..case语句不是顶格写的,所以提点小建议,可以忽视
回复 支持 反对

使用道具 举报

发表于 2015-8-30 20:48:43 | 显示全部楼层
乐乐2365 发表于 2015-8-30 07:33
Serial.print(incomingByte, HEX);
这句话什么意思

这是Serial.print的一个很方便的输出方式,就是把你的incomingByte以16进制方式显示出来,比如你的incomingByte里面是1,用HEX这样输出,结果就是31 也就是0x31
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-9-1 18:36:14 来自手机 | 显示全部楼层
邓维安 发表于 2015-8-29 18:49
你要补习一些基础知识,incomingByte = Serial.read();,首先你要搞懂serial.read()这个涵数读出来是什么类 ...

if(HEXHEX[1]8==incomingByte)
{Biy=HEXHEX[1]}这样值能给,Biy
吗。Biy设置什么类型。谢谢
回复 支持 反对

使用道具 举报

发表于 2015-9-2 10:22:56 | 显示全部楼层
乐乐2365 发表于 2015-9-1 18:36
if(HEXHEX[1]8==incomingByte)
{Biy=HEXHEX[1]}这样值能给,Biy
吗。Biy设置什么类型。谢谢

论坛里有很多现有的串口例子,你搜索一下啊,直接copy就能用了,,,,,,,http://www.geek-workshop.com/for ... E%BF%DA%BD%D3%CA%D5
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-16 13:04 , Processed in 0.037120 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表