问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

急急急!!!越快越好!!求数码管显示的循环计数器设计的C语言程序!

发布网友 发布时间:2023-12-16 22:59

我来回答

3个回答

热心网友 时间:2024-12-12 02:15

#include "reg52.h"
#define uchar unsigned char
uchar display_code[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};
uchar display_data[8]={0,0,0,0,0,0,0,0};

uchar time[]={9999,0,0};//设初始值

void delay(void)//显示程序
{
uchar i;
for(i=250;i>0;i--);
}

void display()
{
uchar i,k;
k=0x80;
for(i=0;i<8;i++)
{
P2=0;
P0=display_code[display_data[i]];
P2=k;
k=k>>1;
delay();
}
P2=0;
}

void calc()//减1
{
time[0]--;
if(time[0]==-1)
time[0]=9999;
}

void convert()
{
display_data[0]=time[0]/1000;//千位
display_data[1]=time[0]%1000/100;//百位
display_data[2]=time[0]%1000%100/10;//十位
display_data[3]=time[0]%1000%100%10;//个位
}

void main(void)
{
uchar i;
while(1)
{
for(i=0;i<250;i++)
{
display();
}
calc();
convert();
}
}追问能再详细点吗,就是在每一句程序的后面写清这句是什么意思,我是菜鸟啊,刚刚接触到C语言!!

热心网友 时间:2024-12-12 02:16

/////////////////////////////////////////////////////////////////////////////////////////////////
//程序功能:0到9999加一显示
//MCU:STC89C52
//硬件连接:P0接数据口,P1.0接段码锁存信号,P1.1接位码锁存信号。位码口和段码口分别有一片573做驱动!
//晶振大小:12MHZ
///////////////////////////////////////////////////////////////////////////////////////////////
#include<reg52.h>
#defineuintunsignedint
#defineucharunsignedchar
sbitwei=P1^0;//位码锁存控制端
sbitan=P1^1;//段码锁存控制端
uintcont,qian,,shi,ge,bt;//bt为一秒内循环次数标志位
ucharcodetab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67};//共ying的代码
voidinit()
{
cont=9987;//数码管开机显示值,可更改
//qian=3;//最左一位的数码管显示值,用于调试!
//=2;
//shi=1;
//ge=0;
}
/////////////////////////延时函数/////////////////////////////////////////////////////////
voiddelay(ucharz)
{
ucharx,y;
for(x=0;x<=z;x++)
for(y=0;y<=110;y++);
}
////////////////////////消影函数/////////////////////////////////////////////////////
voidxiaoying()
{
P2=0x00;
an=1;
an=0;

}
///////////////显示函数//////////////////////////////////////////////////////////////
voiddisplay()
{
P2=0x7f; //显示个位
wei=1;
wei=0;
P2=tab[ge];
an=1;
an=0;
delay(2);
xiaoying(); //调用消影函数

P2=0xbf; //显示十位
wei=1;
wei=0;
P2=tab[shi];
an=1;
an=0;
delay(2);
xiaoying(); //调用消影函数

P2=0xdf; //显示百位
wei=1;
wei=0;
P2=tab[];
an=1;
an=0;
delay(2);
xiaoying(); //调用消影函数

P2=0xef; //显示千位
wei=1;
wei=0;
P2=tab[qian];
an=1;
an=0;
delay(2);
xiaoying();//调用消影函数

}
/////////////////////////数据处理函数/////////////////////////////////////////////
voidchuli()
{
qian=cont/1000;
=cont/100%10;
shi=cont/10%10;
ge=cont%10;
}
/////////////////////主函数///////////////////////////////////////////////////////////
voidmain()
{
init();

while(1)
{
while(bt!=250)//延时执行250次时,大约为1秒
{
chuli();//数据分离处理
display();//显示
bt++;
}
bt=0;//清零
cont++;//数码管显示值加1
if(cont==10000)//如果数码管显示的值为10000时,清零
cont=0;
}
}追问程序功能怎么是0到9999加一显示,我要的是从9999减1啊,减到0是再回到9999继续循环!还有能不能解释一下调用消影函数,没接触过这个函数!

热心网友 时间:2024-12-12 02:16

有两位朋友已经发了,
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
沙尘暴属于自然灾害吗 星配什么字好听男孩 女孩带星字叫什么名字好听又洋气 带星字优美人名 星字如何取名 带星字的名活泼的 非常潮流的星字名 成华区社保局地址 有什么平价又好用的防晒霜值得安利? 有哪些性价比比较高的物理防晒霜可以安利? 如何用一个手机号注册两个? PCT的参考范围 PCT的临床意义11 哈尔滨璧海职业技能培训学校有限公司怎么样? 王者荣耀扁鹊化身博士怎么免费获取 王者荣耀化身博士 王者荣耀扁鹊化身博士已经有,在兑换给皮肤碎片吗2 谁有像这一张差不多的头像高清的 谢谢啦, 有的话我可以提高悬... 后花园的果果石榴什么意思 欧美小孩头像36 哈尔滨有哪些技校学什么专业好就业? 用一个手机号码注册了两个能解绑吗 羊毛衫能否用冷水手洗?难道就只能用干洗吗?10 羊毛衫一定要干洗吗2 红颜生日送什么东西好1 怎么下载音乐?拜托各位大神 羊毛衫一定要干洗吗2 怎样解除一个手机号码绑定两个 怎么让对方看不到你的? 面对胆汁质业主物业管理人员应该怎么做 闪烁是什么意思?4 怎么学习音乐拜托各位大神 同创平台的登入地址是多少?26 他有弘哥哥的鼻子,高高的,直直的哪个电视剧的台词 自我介绍作文400字3196 王者荣耀扁鹊化身博士怎么得_王者荣耀化身博士活动时间2 能有效提高情商的书籍101 PCT的临床意义8 哪个网站投稿有稿酬且信誉好?拜托各位大神 同创平台注册从哪进?2 介绍几首宝丽金唱片公司的经典歌曲 ???拜托各位大神 怎么下载音乐?拜托各位大神 一个手机号注册了两个,怎样解绑第二个? 不想让别人看见自己的怎么办? 《妈妈我长大了》 作文500字343 我还记得我们相遇在一年前是什么歌,什么歌曲的歌词2 ...8字数码管从0~999秒)设置一个开始按钮和一个复位按钮,谢了!_百度... c语言求助,我的程序错在哪了 CPU,DDR与北桥频率的关系13 30-40虾的尺寸是多少?1 《师说》中的通假字 古今异义 词类活用 特殊句式等。求教!153