求 51单片机 4*4矩阵键盘 控制8*8点阵 显示 的语音 程序。

就是想 矩阵键盘 按下一个键,点阵 会显示一个东西。不同的键 显示 不一样的东西。。
是C语言 程序。

第1个回答  2013-04-15
第一次认真回答,不采纳没有小鸡鸡。。。。。。。。。。
#include <reg52.H>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
//心形显示
//unsigned char code tabP0[]={0x30,0x48,0x44,0x22,0x44,0x48,0x30,0x00};
//unsigned char code tabP2[]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE};
//圆形显示
unsigned char code tabP0[]={0x00,0x3c,0x42,0x42,0x42,0x42,0x3c,0x00};
unsigned char code tabP2[]={0x7F,0xBF,0x0DF,0x0EF,0x0F7,0x0FB,0x0FD,0x0FE};
//菱形显示
//unsigned char code tabP0[]={0x00,0x08,0x14,0x22,0x41,0x22,0x14,0x08};
//unsigned char code tabP2[]={0x7F,0xBF,0x0DF,0x0EF,0x0F7,0x0FB,0x0FD,0x0FE};
//叉形显示
//unsigned char code tabP0[]={0x00,0x41,0x22,0x14,0x08,0x14,0x22,0x41};
//unsigned char code tabP2[]={0x7F,0xBF,0x0DF,0x0EF,0x0F7,0x0FB,0x0FD,0x0FE};
//中字显示
//unsigned char code tabP0[]={0x00,0x1e,0x12,0x12,0x7f,0x12,0x12,0x1e};
//unsigned char code tabP2[]={0x7F,0xBF,0x0DF,0x0EF,0x0F7,0x0FB,0x0FD,0x0FE};
/********************************************************************
* 名称 : Delay_1ms()
* 功能 : 延时子程序,延时时间为 1ms * x
* 输入 : x (延时一毫秒的个数)
* 输出 : 无
***********************************************************************/
void Delay_1ms(uchar i)//1ms延时
{
uchar x,j;
for(j=0;j<i;j++)
for(x=0;x<=148;x++);
}
/********************************************************************
* 名称 : Main()
* 功能 : 主函数
* 输入 : 无
* 输出 : 无
***********************************************************************/
void main()
{
int i;
while(1)
{
for(i=0;i<8;i++)
{
P0=0;
P2=tabP2[i];
P0=tabP0[i];
Delay_1ms(2);
}
}
}追问

语句 能 解释下嘛?没看懂。。这两个 器件 没学过。所以

追答

哪里不懂?//后的以及/**/中间的都是解释。现在程序显示的是圆形,你自己要加上按键选择的代码。。。这只是点阵显示的代码。。。

追问

原来 我没看到 按键 定义 啊。。我就是想知道,矩阵 按键 控制点阵的程序。。。矩阵的 我不会啊!!!就是不知道 怎么弄 才请教的。知道吗?能 写出C语音 程序吗?

第2个回答  2013-04-15
854091421
不要前追问

什么?

相似回答