找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

求幫忙看看單片機(jī)計(jì)數(shù)程序哪里出錯(cuò)了?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:493301 發(fā)表于 2019-3-18 16:21 來(lái)自觸屏版 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include<reg52.h>
                                                  //#define S1 3        ;                //S1 開(kāi)關(guān)返回的數(shù)值
                                                  //#define Request 1;                //請(qǐng)求開(kāi)關(guān)返回的值
sfr P5=0xc8;                                                 //#define Over 2;                         //結(jié)束開(kāi)關(guān)返回的值
#define table  P1
sbit gewei=P2^6;                //數(shù)碼管個(gè)位
sbit shiwei=P0^0;              //P5^5;                數(shù)碼管十位
sbit LED1=P2^7;
sbit LED2=P2^5;                        
sbit Bell=P0^1;              //P5^4;               
sbit OutCrtl=P3^7;                //繼電器開(kāi)關(guān)
sbit PowerCrtl=P3^2;
sbit S1_K=P2^4;
sbit Request_K = P3^3;
sbit Over_K=P3^4;
unsigned int min=30;                                         //秒
unsigned int gw           ;
unsigned  int sw  ;
unsigned char Code[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};                        
int Key_Press();                 //按鍵掃描
void Delay_Ms(unsigned int );    //延時(shí)1MS
void LED_BELL()
{
        int i=0;
        for(i;i<5;i++)
        {        LED1=0;
                LED2=0;
                Bell=1;
                Delay_Ms(10);
                LED1=1;
                LED2=1;
                Bell=0;         
        }
}
void Display()
{
                gw=min%10;
                sw=min/10;
                gewei=0;
           P1=Code[gw];
                Delay_Ms(2);
                shiwei=0;
          P1=Code[sw];
                if(min==0)
                {
                        EA=1;
                }
                        
}
int Key_Press()
{
        if(S1_K==0)
        {
                Delay_Ms(2);
                if(S1_K==0)
                return 3;
        }
        if(Request_K==0)
        {
                Delay_Ms(2);
                if(Request_K==0)
                return 1;
        }
        if(Over_K==0)
        {
                Delay_Ms(2);
                if(Over_K==0)
                return  2;
        }
}
//組要計(jì)數(shù)的個(gè)數(shù)N=t/T(機(jī)器周期)
//機(jī)器周期=12*(時(shí)鐘周期)1/晶振頻率
void Delay_1Ms(unsigned int n)
{
        unsigned int i,j;
        for(j=n;j>0;j--)
        for(i=112;i>0;i--);
}
// 晶振按12MHZ計(jì)算
void T1_Init()
{
        TMOD=0x10;
        TL1= (65536-50000)%256;                                         //50000*10^-6=0.5s
        TH1= (65536-50000)/256;                                         //1MHZ=10^6HZ  ; 1/f=1us
        ET1= 1;
        TR1= 1;
        EA= 1;
}
int main()
{
        int K_Date;
         T1_Init();
        K_Date=Key_Press();
        if(K_Date=1)
                 {
                         Display();
                         LED_BELL();
                         if(K_Date==3)
                         {
                                  OutCrtl=1;
                         }
                         if(Over_K==2)
                         {
                                 gewei=0;
                                shiwei=0;
                                LED1=1;
                                LED2=1;
                                Bell=0;
                                OutCrtl=0;
                         }        
                }
}
void TimerCounter_1(void) interrupt 3
{
         TL1= (65536-50000)%256;                                         //50000*10^-6=0.05s
        TH1= (65536-50000)/256;                                         //1MHZ=10^6HZ  ; 1/f=1us
        num++;
        if(num==20)
num=0
        min--;
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:493301 發(fā)表于 2019-3-18 16:21 來(lái)自觸屏版 | 只看該作者
又沒(méi)人幫我看看拿出錯(cuò)了   按request 二位數(shù)碼管開(kāi)關(guān) 30計(jì)數(shù)到00  led燈亮 蜂鳴器響  如果30秒之內(nèi)按s1   繼電器開(kāi)  如果按over 所有關(guān)閉
回復(fù)

使用道具 舉報(bào)

板凳
ID:493301 發(fā)表于 2019-3-18 16:38 來(lái)自觸屏版 | 只看該作者
很急沒(méi)有黑幣   如果大佬們能 解決  有其他方面報(bào)酬
回復(fù)

使用道具 舉報(bào)

地板
ID:213173 發(fā)表于 2019-3-19 11:18 | 只看該作者
jze15835274090 發(fā)表于 2019-3-18 16:38
很急沒(méi)有黑幣   如果大佬們能 解決  有其他方面報(bào)酬

你這個(gè)程序亂哄哄的沒(méi)有章法,所需功能沒(méi)有詳細(xì)說(shuō)清楚,也沒(méi)有硬件原理圖。軟件是在硬件基礎(chǔ)上編寫的,別人怎么幫你?
回復(fù)

使用道具 舉報(bào)

5#
ID:213173 發(fā)表于 2019-3-19 21:30 | 只看該作者
jze15835274090 發(fā)表于 2019-3-18 16:38
很急沒(méi)有黑幣   如果大佬們能 解決  有其他方面報(bào)酬

根據(jù)你的程序和介紹《按request 二位數(shù)碼管開(kāi)關(guān) 30計(jì)數(shù)到00  led燈亮 蜂鳴器響  如果30秒之內(nèi)按s1   繼電器開(kāi)  如果按over 所有關(guān)閉》寫了程序和仿真,供你參考。 30秒倒計(jì)時(shí)控制程序+仿真.zip (118.55 KB, 下載次數(shù): 3)




回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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