帮忙看单片机时钟程序 那里有问题 因该怎么改 10

#include<reg52.h>//包含头文件,一般情况不需要改动,//头文件包含特殊功能寄存器的定义#defineucharunsignedcharucharduan... #include<reg52.h> //包含头文件,一般情况不需要改动,
//头文件包含特殊功能寄存器的定义
#define uchar unsigned char

uchar duanma[10]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f}; //共阴管

//uchar duanma [10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,}; 共阳管

uchar weima [6]={0x01,0x02,0x04,0x08,0x10,0x20};

uchar jishu1,jishu2,shi,fen,miao;

uchar xianshi [6]={0,0,0,0,0,0,};

void chushihua (void)
{
TMOD=0x01;
THO=(65536-5000)/256;
TL0=(65536-5000)%256;
AE=1;ET0=1;TR0=1;
}

/*------------------------------------------------
主函数
------------------------------------------------*/
void main (void)
{
shi=23; fen=58; mia =46;

chushihua();

while (1) //主循环
}

void shuzizhong (void)

{
THO=(65536-5000)/256;
TL0=(65536-5000)%256;

xianshi[0] = duanma[shi/10];
xianshi[1] = duanma[shi%10];
xianshi[2] = duanma[fen/10];
xianshi[3] = duanma[fen%10];
xianshi[4] = duanma[miao/10];
xianshi[5] = duanma[miao%10];

//6位数码管动态扫描

jishu1++;
if (jishu1==6) jishu1=0;
P2=weima [jishu1];
P1=xianshi [jishu1];

//时.分.秒,的逻辑关系
jishu2++;
if(jishu2==200)
{
jishu2=0;
miao++;
if(miao==60)
{
miao=0;
fen++;
if(fen==60)
{
fen=0;
if(shi==24)
shi=0;

}
}
}

}
展开
 我来答
oakwood
2017-09-21 · TA获得超过877个赞
知道小有建树答主
回答量:942
采纳率:77%
帮助的人:227万
展开全部
你这程序错得有点离谱:
1、主程序main()中在调用初始化函数chushihua()后,处于死循环,未再有其他操作(应当在while(1)语句中调用显示函数);
2、while(1)语句缺少结束符“;”;
3、zhuzizhong()函数中miao未赋初值(有可能你在main()中错将miao写成mia了);
4、zhuzizhong()函数中jishu1未赋初值,造成P1、P2赋值内容不确定;
5、zhuzizhong()函数中jishu2未赋初值,会造成显示内容不确定;
6、如果TH0和TL0为寄存器变量,你的TH0错写成THO了。
追问
你好 感谢你的回答   你说的问题我都改了不过还有个错误  ;left side of asn-op not an lvalue    请教 这是什么意思啊
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式