常驻嘉宾
- 积分
- 4239
- 威望
- 1991
- 贡献
- 1328
- 兑换币
- 1288
- 注册时间
- 2013-1-12
- 在线时间
- 460 小时
|
void LED_PrintImage(uchar *puc, uchar RowNum, uchar ColumnNum)
{
uchar Data;
uchar i,j,k,m,n;
uchar RowTmp;
m = RowNum >> 3; //计算图片行数以8位为一组完整的组数
n = RowNum % 8; //计算分完组后剩下的行数
for(i = 0; i < m; i++) //完整组行扫描
{
LED_zuobiao(12,(uchar)i);
RowTmp = i << 3; //计算当前所在行的下标
for(j = 0; j < ColumnNum; j++) //列扫描
{
Data = 0;
for(k = 0; k < 8; k++) //在i组中对这8行扫描
{
Data = Data >> 1;
if((puc + (RowTmp + k) * ColumnNum)[j] == LED_IMAGE_WHITE)
{
Data = Data | 0x80;
}
}
LED_WrDat(Data);
}
}
LED_zuobiao(12,(uchar)i); //设置剩下的行显示的起始坐标
RowTmp = i << 3; //计算当前所在行的下标
for(j = 0; j < ColumnNum; j++) //列扫描
{
Data = 0;
for(k = 0; k < n; k++) //对剩下的行扫描
{
Data = Data >> 1;
if((puc + (RowTmp + k) * ColumnNum)[j] == LED_IMAGE_WHITE)
{
Data = Data | 0x80;
}
}
Data = Data >> (8 - n);
LED_WrDat(Data);
}
return;
}
然后调用的时候:
for(i = 0 ;.......)//自己写完整吧
{
file:///D:\Users\Tianmang\AppData\Roaming\Tencent\Users\1515949177\QQ\WinTemp\RichOle\CX}MH2N)P9O@SCMJM)@S`]L.pngLED_PrintImage((uchar *)Image,60,100);
}
这不是我写的,随便找了一个贴的,自己再看看。
|
|