STC89C52RC数码管显示两位秒表,求大佬看看哪里错了,感谢

菜鸟阿驰 2018-09-24 11:23:33
#include<reg52.h> //数码管两位秒表 #define uchar unsigned char #define uint unsigned int sbit duan=P0; sbit wei=P1; uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66 // 显示0到9 ,0x6d,0x7d,0x07,0x7f,0x6f}; uchar num=0; void delayms(uint); void main() { uchar a=0; uchar ge,shi; TMOD=0x01; TH0=(65536-50000)/256; //50ms中断 TL0=(65536-50000)%256; EA=1; TR0=1; ET0=1; while(1) { if(num==20) {a++; num=0; ge=a%10; shi=a/10; // 显示 wei=0x02; duan=table[shi]; wei=0x01; duan=table[ge]; if(a==60) a=0; }} } void time() interrupt 1 //中断 {TH0=(65536-50000)/256; TL0=(65536-50000)%256; num++; }
...全文
551 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_28258207 2018-12-17
  • 打赏
  • 举报
回复
#define duan P0 sbit是位定义
syz 2018-12-11
  • 打赏
  • 举报
回复
sbit是定义bit的。
p1^0和^1分别控制数码管共极吗?
两个数字的要快扫,因为一次只能扫一个数字。
别的也没啥注意的了
fly 100% 2018-12-11
  • 打赏
  • 举报
回复
显示时间要延时
weixin_43771920 2018-12-10
  • 打赏
  • 举报
回复
sbit定义的是位,P0口有8位。这里是错误的,可以用define。希望对你有帮助!
瑟瑟发抖的XW 2018-12-10
  • 打赏
  • 举报
回复
觉得你说的不是很清楚呢,是不是定义IO口你用的sbit的问题, 改成define试试
weixin_44001105 2018-12-06
  • 打赏
  • 举报
回复
LZ问问题的时候能把问题说清楚一点吗?
什么问题都不说一串代码,谁知道你现象是什么,需要解决的问题是什么呢?
  • 打赏
  • 举报
回复

#include<reg52.h>         //数码管两位秒表
#define uchar unsigned char
#define uint unsigned int
sbit duan=P0;
sbit wei=P1;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 显示0到9
uchar num=0;
void main()
{
	uchar a=0;
	uchar ge,shi;

	TMOD=0x01;
	TH0=(65536-50000)/256;      //50ms中断  
	TL0=(65536-50000)%256;
	EA=1;
	TR0=1;
	ET0=1;
	while(1)
	{
		ge=a%10;
		shi=a/10;          // 显示
		wei=0x02;
		duan=table[shi];
		wei=0x01;
		duan=table[ge];

		if(num==20)
		{
			num=0;
			if(a++>=60) a=0;
		}
	}
}
void time() interrupt 1      //中断
{
	TH0=(65536-50000)/256;
	TL0=(65536-50000)%256;
	num++;
} 
  • 打赏
  • 举报
回复
同时应将数码管显示移出来在计秒之外
  • 打赏
  • 举报
回复
数码管显示应加延时至少10毫秒
yishumei 2018-09-25
  • 打赏
  • 举报
回复
除了1楼指出的错误,代码看不出其他语法错误。楼主请把报错截图发出来看一下。
Votangroom 2018-09-25
  • 打赏
  • 举报
回复
LZ问问题的时候能把问题说清楚一点吗?
什么问题都不说一串代码,谁知道你现象是什么,需要解决的问题是什么呢?
AJwlwq 2018-09-24
  • 打赏
  • 举报
回复
sbit为什么要赋值整个端口,改为单个io口试试

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧