搏天 2022-01-23 13:42 采纳率: 100%
浏览 22
已结题

这个代码哪里有问题。

#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit key1=P3^4;sbit key2=P3^5;sbit key3=P3^6;sbit key4=P3^7;sbit dula=P2^6;sbit wela=P2^7;uchar code table[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71};void delayms(uint);uchar numt0,num;void display(uchar numdis){ uchar shi,ge; shi=numdis/10; ge=numdis%10; dula=1; P0=table[shi]; dula=0; P0=0xff; wela=1; P0=0xfe; wela=0; delayms(5); dula=1; P0=table[ge]; dula=0; P0=0xff; wela=1; P0=0xfd; wela=0; delayms(5);}void delayms(uint xms){ uint i,j; for(i=xms;i>0;i--) for(j=110;j>0;j--);}void init(){ TMOD=0X01; TH0=(65536-45872)/256; TL0=(65536-45872)%256; EA=1; ET0=1;}void keycan(){ if(key1==0) { delayms(10); if(key1==0) { num++; if(num==60) num=0; while(!key1); } } if(key2==0) { delayms(10); if(key2==0) { if(num==0) num=60; num--; while(!key2); } } if(key3==0) { delayms(10); if(key3==0) { num=0; while(!key3); } } if(key4==0) { delayms(10); if(key4==0) { while(!key4); TR0=~TR0; } }}void main(){ init(); while(1) { keycan(); display(num); }}void T0_time() interrupt 1{ TH0=(65536-45872)/256; TL0=(65536-45872)%256; numt0++; if(numt0==20) { numt0=0; num++; if(num==60) num=0; }}

  • 写回答

2条回答 默认 最新

  • 老皮芽子 2022-01-23 14:00
    关注

    把代码贴在代码区里,这么看太乱了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月31日
  • 已采纳回答 1月23日
  • 创建了问题 1月23日