求51单片机数码管程序

8个数码管第一个显示0,第二个显示1,。。。。。。。,第8个显示7。8个数码管是同时显示的,并且一直显示下去大侠们,谢谢先,用C语言啊单片机是天津锐志51实验开发板(芯片... 8个数码管第一个显示0,第二个显示1,。。。。。。。,第8个显示7。8个数码管是同时显示的,并且一直显示下去
大侠们
,谢谢先 ,用C语言啊
单片机是天津锐志51实验开发板(芯片是AT89S52),回复2楼大侠:谢谢,但是程序不适用于本单片机,单片机一直响
回复3楼大侠:谢谢了,不过数码管靠右显示”8.8.”
展开
 我来答
一滴水是也
2010-10-11 · 超过15用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:40.5万
展开全部
我的板子上只有六个,我把程序稍微改了一下,应该可以。
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit dula=P2^6;
sbit wela=P2^7;
uchar i,temp;
uchar code table[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
uchar code tablenum[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
void delay()//延时程序
{
uint k,j;
for (k=1;k>5;k--)
for(j=80;j>0;j--);
}
void main()
{
while(1)
{
for(i=8;i>0;i--)
{

P0=table[i];
dula=1;
dula=0;
P0=tablenum[i-1];
wela=1;
wela=0;
delay();
P0=0xff;
wela=1;
wela=0;
}
}
}
yulunna
2010-10-13 · TA获得超过408个赞
知道小有建树答主
回答量:176
采纳率:50%
帮助的人:110万
展开全部

程序代码运行过了,仿真结果也在下面

#include<reg51.h>

#define uint unsigned int

#define uchar unsigned char

uint i=0;

uchar code duan[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78} ;

uchar code pian[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

void main()

{

 for(i=0;i<8;i++)

 {

   P3=pian[i];

   P2=duan[i];

 }

板子头文件改成reg52就行了(不改也行的)。其实S51系列的单片和C51的没什么区别,唯一的区别就是S51系列的支持在线编程。还有加载程序是,你板子老响。那是因为你用的是人家的板子,电路是人家给你设计好的。所以那响的是电路默认连接在我上述程序的某个引脚上的蜂鸣器。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yqt117
2010-10-11 · 超过10用户采纳过TA的回答
知道答主
回答量:44
采纳率:100%
帮助的人:17.6万
展开全部
楼下的都不错,不过在位选上用循环右移,那样的话程序可以更简单!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
卯映菱3O
2010-10-12 · 超过15用户采纳过TA的回答
知道答主
回答量:69
采纳率:0%
帮助的人:39.9万
展开全部
C语言和汇编语言的我都有,可以给我联系
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
47okey
2010-10-10 · TA获得超过1.2万个赞
知道大有可为答主
回答量:5900
采纳率:75%
帮助的人:2329万
展开全部

是这样的吗?

汇编的可以吗?

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式