单片机制作摇摇棒的程序问题,看不懂,那位大侠能帮我解析一下~谢谢。 20

#include<AT89X52.h>#defineucharunsignedchar#defineuintunsignedint//宏定义#defineKEYP3_0/... #include <AT89X52.h>
#define uchar unsigned char
#define uint unsigned int //宏定义
#define KEY P3_0 //定义画面切换按键
uchar KY; //KY作用在后面说明
uchar disp; //显示汉字指针
uchar pic=0,num=0; //pic为按键次数;num为中断次数

/*------------------笑脸图-------------------*/
uchar code smile[]= {
0x00,0x00,0x03,0x80,0x0c,0x60,0x10,0x18,0x20,
0xc4,0x4c,0x24,0x4c,0x12,0x4c,0x12,0x40,0x12,
0x40,0x12,0x4c,0x12,0x4c,0x12,0x4c,0x24,0x20,
0xc4,0x10,0x18,0x0c,0x60,0x03,0x80,0x00,0x00,
};
void intersvr0(void) interrupt 0 using 1
{
KY=~KY; //每个摇动来回水银开关会在摆幅两端分别产生下降沿中断,只提取其中一次(从左向右摇才显示)
if(KY==0)
{
num++; //计算中断次数
switch(pic) //选择画面
{
case 0:{display1();}break;
case 1:{display2();}break;
case 2:{display3();}break;
case 3:{display4();}break;
case 4:{display5();}break;
case 5:{display6();}break;

default:{display1();}
}
}
}
/*****显示子程序4(笑脸)*****/
void display1(void)
{
uchar i;
DelayUs(4000);
for(i=0;i<64;i++)
{
P1=~smile[i*2];
P0=~smile[i*2+1];
DelayUs(120);
}
}
P1=~smile[i*2];
P0=~smile[i*2+1];
这两句是怎么扫描LED的??
还有for(i=0;i<64;i++)
为什么是64次?
展开
 我来答
雨也无所谓
2013-09-16
知道答主
回答量:16
采纳率:0%
帮助的人:12.2万
展开全部
P1调用字库里整数部分代码,P0调用奇数部分代码;P1和P2构成了一个字的列的显示...每显示一个列则变化一次,变化16次就可以扫描出一个字,变换64次就可以扫描出4个字!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
艾佳工业设计
2024-11-15 广告
艾佳设计(A+)(13535160069)成立于2018年,是一家专注于为客户提升产品力的创新设计公司,秉承以用户思维驱动创新为核心设计方法论,用创意为企业与用户之间搭建一座沟通桥梁,打造用户超预期的精品化产品是我们追求设计的态度,致力于为... 点击进入详情页
本回答由艾佳工业设计提供
muscle_pla
2011-12-03 · TA获得超过113个赞
知道答主
回答量:147
采纳率:0%
帮助的人:83.1万
展开全部
这也来问,你直接让别人替你活着算了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2016-04-20
展开全部
好好学习,我也是刚刚学的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式