找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1029|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

大佬幫忙看看這個程序哪里錯了 求幫助

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:781369 發(fā)表于 2020-6-17 11:31 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
  • #include<reg51.h>
  • #include "string.h"
  • #include  "stdio.h"
  • #include  "math.h"
  • #include  <INTRINS.H>
  • #define uchar  unsigned char
  • #define uint unsigned int
  • uchar a ,b ,time;            //聲明變量
  • sbit wei1=P0^0;           //關(guān)鍵字
  •   sbit wei2=P0^1;
  •   sbit key0= P0^2;
  •   sbit key1= P0^3;
  •     sbit key2= P0^4;
  •   bit dao=0;                                   //定義位變量dao(倒計時)=0
  • uchar code table[]={0x40,0x4f,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x18};     //段碼表
  • void Delay5ms()                                            //@12MHz
  • {
  •         unsigned char i, j;
  •         i =9;
  •         j = 255;
  •         do                           //循環(huán)指令
  •         {
  •                 while (--j);
  •         }
  • while (--i);                 //循環(huán)
  • Delay5ms();            //延時
  • }
  • main()
  • {
  • TMOD=0X01;                //工作方式1
  • TH0=(65535-50000)/256;      //賦予初值
  • TL0=(65535-50000)%256;
  • EA=1;                      //允許中斷
  • ET0=1;                     //允許外部中斷1
  • while(1)
  • {
  •   if(key0==0)               //啟動
  • {
  •    Delay5ms();           //延時消抖
  •    if(key0==0)
  • {
  • while(!key0);              //暫停/繼續(xù)
  •   TR0=~TR0;             //TR0取反
  • }
  • }
  • YUI(key2==0)
  • {
  •    if(key2==0)          //復(fù)位
  • {
  • while(!key2);
  •   time=0;
  • TR0=0;           //停止T0計數(shù)
  • }
  • }
  •   wei1=0;
  •    P2=table[a];    //P2接口接到table[a]
  •    wei2=0;
  •    P3=table;
  •   if(key1==0)
  • {
  •    Delay5ms();
  •    if(key1==0)
  • {
  • while(!key1);
  • dao=~dao ;         //取反,反向計時
  • Delay5ms();
  • }
  • }
  •         a=time/10;    //手動賦初值
  •   b=time%10;
  • }
  • }
  •    void TIME0()interrupt 1            //定時器0中斷
  • {
  • uchar i;
  • TH0=(65535-50000)/256;             //初值高8位
  • TL0=(65535-50000)%256;             //初值低8位
  • i++;
  • if(i>20)
  • {if(dao==0)                 //若倒計時為0
  •   time++;                   //計時正向(加)
  • else
  • if(time==0)                 //若時間為0
  • {                           //正向倒向均為0
  • time=0;
  • TR0=0;
  • dao=0;
  • }
  • else
  • time--;             //計時反向(減)
  •    if(time>=59)
  • {
  • time=59;        //計數(shù)到59
  • dao=1;
  • TR0=0;
  • }
  •         a=time/10;       //賦予初值
  •   b=time%10;
  •   i=0;
  • }
  • }

頂頂頂頂.png (170.35 KB, 下載次數(shù): 60)

頂頂頂頂.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表