怎样用51单片机(限用C语言)控制数码管的闪烁,并且还要通过按键控制闪烁的位置,不用中断或者计时器 20

 我来答
杰克6735
2013-03-26 · TA获得超过219个赞
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:134万
展开全部
把P0接到数码管的数据段(段选),位选随意接个P口,具体要看你是要用几位数码管。按键也接p口,写程序就是判断按键是否按下,如果就显示一个数,那你就执行位选=0或=1.希望帮到你!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhxiufan
2013-03-25 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38387
国家科技进步奖

向TA提问 私信TA
展开全部
#include<reg51.h>
#define uchar unsigned char
sbit weima=P1^0;
uchar code led_seg_code[10]={0x3f,0x06,0x05b,0x04f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay(uchar x)
{
uchar i;
for(i=0;i<x;i++);
for(j=0;j<120;j++);
}
main()
{
uchar num;
while(1)
{
weima=0;
P0=led_seg_code[num];
delay(100);
P0=0x00;
delay(50);
num++;
num%=10;
}
}
追问
这个程序最后只显示了一个8、、、
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bxf0817
2013-03-25 · TA获得超过2162个赞
知道小有建树答主
回答量:1348
采纳率:0%
帮助的人:1075万
展开全部
用简单的延时就行了。按键可以用普通的io口来读取就可以了。有问题可以发邮件到857656772@QQ.com邮箱。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式