永发信息网

AT89S52单片机0~999计数显示C语言程,起始显示000,一直到999

答案:1  悬赏:10  手机版
解决时间 2021-01-11 17:10
AT89S52单片机0~999计数显示C语言程,起始显示000,一直到999
最佳答案


#include //通用89C52头文件

sbit Axs=P3^4;//个位
sbit Bxs=P3^5;//十位
sbit Cxs=P3^6;//百位
sbit Dxs=P3^7;//千位

char table[10]={0xd7,0x14,0xcd,0x5d,0x1e,0x5b,0xdb,0x15,0xdf,0x5f};//数码管显示编码
int k,n;

void MScomm(void);//初始化
void YS(char hs);//延时函数
void XS(int xs);//显示函数

void main(void)//主函数
{
n=0;
MScomm();//串口初始化
while(1)//主循环
{
XS(k);
}
}

void ser() interrupt 1//中断方式
{
TH0=(65536-922)/256;// 1毫秒初值
TL0=(65536-922)/256;//晶振12M
n++; if(n>100)//如果达到指定时间
{n=0;k++;}//1000为1秒
if(k>9999){k=0;}
}

void MScomm(void)//串口初始化
{
TMOD=0x01;//定时器0工作方式1
EA=1;//
ET0=1;//
TH0=(65536-922)/256;// 1毫秒
TL0=(65536-922)/256;
TR0=1; //启动定时器T1
}

void XS(int xs) //显示子函数
{
char d1,d2,d3,d4;
d4=(xs/1)%10; //取个位 %求余
d3=(xs/10)%10; //取十位
d2=(xs/100)%10; //取百位
d1=(xs/1000)%10; //取千位

P1=table[d4]; Axs=0; YS(10); Axs=1;//个位显示
P1=table[d3]; Bxs=0; YS(10); Bxs=1;//十位显示
P1=table[d2]; Cxs=0; YS(10); Cxs=1;//百位显示
P1=table[d1]; Dxs=0; YS(10); Dxs=1;//千位显示
}

void YS( char hs)//延时函数
{
char hk;

for(;hs>0;hs--)
{ for(hk=200;hk>0;hk--); }// 10
}

///////////////////////////////////////

送你啦,哈哈

只不过我用的数码管编码和你的可能不一样,根据你那实际情况修改一下即可

还有你使用的段位控制引脚追问谢谢追答恩,不必客气
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
乙未 癸亥 壬辰 丙寅的八字,取名前两个字是
请问重庆市开县跳蹬修水库最高水位是哪里?
Get方式如何传递参数?
浴帘能用洗衣机洗吗
电话线与网线是不是一样
梦见收晒场的油菜籽
e租宝出事了,我们的钱在赎回中,难到也拿不
ALPFIT221-1/2-BLK-150 这个型号哪里有卖
求搞笑轻松HE的耽美文…
世界各国中小学生都怕写作文吗?
单选题直线ax+y+3=0与(x-1)2+(y+3)2=1的位置
82×4-154÷7用简便计算
5米长的距离,适合安装多少升的燃气热水器
铃木GT活塞上-个0点是排气方向还是进气方向
外貌,动作,语言,神态,心理的描写是什么描
推荐资讯
14分之5吨的7倍是多少吨
入情太深,对你我该如何是好?
桐梓一般嫁姑娘收多少礼金?
lol是什么游戏,介绍下吧。还有撸阿鲁
金农国际集团总部是什么地方
文明6伟人招募方法 文明6伟人怎么用
西索跟伊耳谜的关系……《全职猎人》
水泥土和水泥稳定土一样吗?
书上说:对于中碳结构钢和铸铁,正火也可以做
马路中间有20米的绿化带 两边马路各15米 请问
这是什么日剧
这是什么鱼,河里抓的
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?