久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

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

QQ登錄

只需一步,快速開始

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

單片機(jī)定時(shí)器求助

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:437615 發(fā)表于 2019-9-30 19:20 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
50黑幣
用hx711和STC8a8k單片機(jī),做一個(gè)稱重,我并不是要做電子秤,就自己寫了一個(gè)程序,寫完了以后調(diào)試了一整天,但就是用不了,請(qǐng)求各位大神幫我看看,這個(gè)程序哪里問(wèn)題,這些亂碼在keil上好像是可以重新顯示出字,


#include<stc8.h>
#define u8 unsigned char
#define u16 unsigned int
         

sbit scl=P1^0;         
sbit sda=P1^1;


sbit DUAN5=P0^5;      
sbit DUAN4=P0^4;
sbit DUAN3=P0^3;
sbit DUAN2=P0^2;
sbit DUAN1=P0^1;
sbit DUAN0=P0^0;

void Init_Timer0();   
unsigned long HX711_Read(void);
void xianshi(u16 ,u16 );
void delay(u16);   
void Delay10us();

u16 flag = 0;
unsigned int ds ;
u16 di[6];


void main(void)
{
        
        delay(300);
        Init_Timer0();
        
        while(1)
        {
                if(flag==500)
                {
                        ds = (unsigned int)((float)HX711_Read()/445);
                        flag=0;
                }        
        /**¡¡2e·ÖóÃóúêyÂë1üÏÔê¾**/
               
                di[5]=ds/100000;
                di[4]=ds/10000%10;
                di[3]=ds/1000%10;
                di[2]=ds/100%10;
                di[1]=ds/10%10;
                di[0]=ds%10;

               
                xianshi(di[5] ,5 );
                delay(2);
                xianshi(di[4] ,4 );
                delay(2);
                xianshi(di[3] ,3 );
                delay(2);
                xianshi(di[2] ,2 );
                delay(2);
                xianshi(di[1] ,1 );
                delay(2);
                xianshi(di[0] ,0 );
                delay(2);

               

               
        }               

}

void Init_Timer0()
{
        AUXR |= 0x80;               
        TMOD &= 0xF0;               
        TMOD |= 0x01;               
        TL0 = 0xcd;                //1ms        
        TH0 = 0xd4;
        TF0 = 0;
        ET0 = 1;                           
        EA = 1;        
        TR0 = 1;
}

void Timer0() interrupt 1
{

        TL0 = 0xcd;               
        TH0 = 0xd4;
        flag++;

}

unsigned long HX711_Read(void)   
{
        unsigned long count;
        unsigned char i;
          sda=1;
        Delay10us();
          scl=0;
          count=0;
        EA = 1;
          while(sda);
        EA = 0;
          for(i=0;i<24;i++)
        {
                  scl=1;
                  count=count<<1;
                scl=0;
                  if(sda)
                        count++;
        }
         scl=1;
    count=count^0x800000;//μú25¸öÂö3åϽμÑØà′ê±£¬×a»»êy¾Y
        Delay10us();
        scl=0;  
        return(count);
}

void Delay10us()               
{
        unsigned char i;

        
        i = 25;
        while (--i);
}

void delay(u16 a)
{
        u16 i, j;

        
        for(i=0;i<a;i++)
                {
                        for(j=1000;j>0;j--);
                }
}

void xianshi(u16 dat,u16 duan)
{
               
                DUAN0=1;
                DUAN5=1;
                DUAN4=1;
                DUAN3=1;
                DUAN2=1;
                DUAN1=1;
               
         switch (duan)
                {
                        case 0:
                                        DUAN0=0;
                                        P2=dat;
                                        break;
                        case 1:
                                        DUAN1=0;
                                        P2=dat;
                                        break;
                        case 2:
                                        DUAN2=0;
                                        P2=dat;
                                        break;
                        case 3:
                                        DUAN3=0;
                                        P2=dat;
                                        break;
                        case 4:
                                        DUAN4=0;
                                        P2=dat;
                                        break;
                        case 5:
                                        DUAN5=0;
                                        P2=dat;
                                        break;
                }

}

最佳答案

查看完整內(nèi)容

不是定時(shí)器出了問(wèn)題,而是中斷出來(lái)問(wèn)題。樓主在HX711_Read(void)程序中只短暫打開總中斷,T0中斷怎么能正常工作? EA = 1; while(sda); EA = 0; 樓主用的什么顯示器?看程序像是用的數(shù)碼管。難道這個(gè)數(shù)碼管自帶譯碼器?常見的數(shù)碼管是不能直接顯示0~9的數(shù)字,而是要譯成“8”字段碼顯示。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:213173 發(fā)表于 2019-9-30 19:20 | 只看該作者
不是定時(shí)器出了問(wèn)題,而是中斷出來(lái)問(wèn)題。樓主在HX711_Read(void)程序中只短暫打開總中斷,T0中斷怎么能正常工作?
        EA = 1;
        while(sda);
        EA = 0;

樓主用的什么顯示器?看程序像是用的數(shù)碼管。難道這個(gè)數(shù)碼管自帶譯碼器?常見的數(shù)碼管是不能直接顯示0~9的數(shù)字,而是要譯成“8”字段碼顯示。
回復(fù)

使用道具 舉報(bào)

板凳
ID:123289 發(fā)表于 2019-10-1 16:32 | 只看該作者
不知道你想求助什么?說(shuō)是定時(shí)器,是定時(shí)器的什么呢?建議先看書中關(guān)于定時(shí)器的章節(jié)。
回復(fù)

使用道具 舉報(bào)

地板
ID:437615 發(fā)表于 2019-10-2 08:31 來(lái)自手機(jī) | 只看該作者
yzwzfyz 發(fā)表于 2019-10-1 16:32
不知道你想求助什么?說(shuō)是定時(shí)器,是定時(shí)器的什么呢?建議先看書中關(guān)于定時(shí)器的章節(jié)。

我這個(gè)是用cd4511驅(qū)動(dòng)的數(shù)碼管。如果在主函數(shù)里面直接計(jì)算重量的話。數(shù)碼管會(huì)閃爍的非常厲害,顯示不出字來(lái)。如果用定時(shí)器中斷來(lái)控制重量計(jì)算的時(shí)間,開機(jī)后數(shù)碼管上只顯示一次數(shù)字,然后這個(gè)數(shù)字就固定住,不會(huì)再變了。改變重量也不變。
回復(fù)

使用道具 舉報(bào)

5#
ID:437615 發(fā)表于 2019-10-2 09:33 來(lái)自手機(jī) | 只看該作者
wulin 發(fā)表于 2019-10-2 07:17
不是定時(shí)器出了問(wèn)題,而是中斷出來(lái)問(wèn)題。樓主在HX711_Read(void)程序中只短暫打開總中斷,T0中斷怎么能正常 ...

謝謝指教,我回去查一下看看。我是用cd4511驅(qū)動(dòng)的數(shù)碼管,我在主函數(shù)里面計(jì)算重量的時(shí)候呢,數(shù)碼管閃爍的非常厲害。就最后一位會(huì)亮。如果我用中斷計(jì)時(shí)來(lái)計(jì)算重量。數(shù)碼管可以全亮,但是數(shù)值沒有變化了。傳感器上面放不放東西都一樣。
回復(fù)

使用道具 舉報(bào)

6#
ID:437615 發(fā)表于 2019-10-4 17:32 | 只看該作者
wulin 發(fā)表于 2019-9-30 19:20
不是定時(shí)器出了問(wèn)題,而是中斷出來(lái)問(wèn)題。樓主在HX711_Read(void)程序中只短暫打開總中斷,T0中斷怎么能正常 ...

謝謝大神,果然,按照您說(shuō)的問(wèn)題解決,
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 婷婷丁香在线视频 | 中文精品视频 | 国产91在线 | 亚洲 | 成人性视频在线播放 | 国产a级毛毛片 | 成人av免费| 久久久成人精品 | 亚洲午夜av久久乱码 | 91精品久久久 | 亚洲看片 | 亚洲最新在线 | 日韩在线免费 | 日韩在线不卡 | 欧美夜夜 | 亚洲精品电影在线观看 | 国产在线观看一区 | 女人一区 | 久久夜视频 | 天堂一区二区三区四区 | 国产精品免费一区二区三区四区 | 成人精品福利 | 久久黄色精品视频 | 日韩视频国产 | 日韩精品一区二区三区在线 | 中文字幕中文字幕 | a在线观看| 日韩欧美在线免费观看视频 | 亚洲巨乳自拍在线视频 | 久久黄网| 成人二区| www国产亚洲精品久久网站 | 亚洲国产成人av好男人在线观看 | 欧美国产激情二区三区 | 精品国产乱码久久久久久闺蜜 | 国产1区在线 | 国产美女精品视频 | 欧美一级欧美一级在线播放 | 国产视频福利在线观看 | 99免费| 99久久免费精品国产男女高不卡 | 欧美精品片 |