找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3317|回復(fù): 18
收起左側(cè)

請教大神80C51程序轉(zhuǎn)換15f104單片機(jī)程序問題

[復(fù)制鏈接]
回帖獎勵 100 黑幣 回復(fù)本帖可獲得 100 黑幣獎勵! 每人限 1 次
ID:635011 發(fā)表于 2019-11-15 20:07 | 顯示全部樓層 |閱讀模式
想用15f104這個單片機(jī)芯片設(shè)計一款智能馬桶電路板如圖所示D1是電機(jī),D2是風(fēng)扇.開關(guān)分別3個。HW紅外開關(guān)感應(yīng)人來人走,JC接觸開關(guān)在馬桶上  感應(yīng)人接觸,JC接觸開關(guān)與電機(jī)一體,電機(jī)啟動、接觸開關(guān)接觸,開關(guān)全部高有效。  
1.風(fēng)扇在人在時都轉(zhuǎn),需排除人來回走動啟動,程序里設(shè)置的3秒防抖動
2.入廁完人走風(fēng)扇停,電機(jī)啟動沖水
3.人坐下上大號,15s后需沖水一次
4.平時沒人入廁時風(fēng)扇30分鐘啟動一次 ,持續(xù)1分鐘
5.小號人來風(fēng)扇啟動,一直持續(xù),人走風(fēng)扇停,沖水
6.大號人來風(fēng)扇啟動,一直持續(xù),坐下15s沖水1次,人走沖水一次,風(fēng)扇停

現(xiàn)51程序已經(jīng)寫好并實驗仿真,沒問題了,15f104程序怎么都實驗現(xiàn)象都不正確,哪位哥哥姐姐幫忙看看修改一下

51hei圖片20191115195941.png
51hei圖片20191115195941.png

仿真.rar

27.51 KB, 下載次數(shù): 15

回復(fù)

使用道具 舉報

ID:635011 發(fā)表于 2019-11-15 20:10 | 顯示全部樓層
本帖最后由 律動沙丘 于 2019-11-15 20:16 編輯

里邊main是寫的104的程序,main_51是8051的程序,STC里有頭文件
回復(fù)

使用道具 舉報

ID:213173 發(fā)表于 2019-11-16 07:57 | 顯示全部樓層
15f104上電復(fù)位后端口默認(rèn)高電平,圖中你的開關(guān)全都是輸入高電平有什么意義?
回復(fù)

使用道具 舉報

ID:123289 發(fā)表于 2019-11-16 08:13 | 顯示全部樓層
同意樓上觀點!改了頭文件后,再走仔細(xì)調(diào)試一下,祝你成功。
回復(fù)

使用道具 舉報

ID:330198 發(fā)表于 2019-11-16 09:33 | 顯示全部樓層
既然高電平有效你有沒有加下拉電阻,引腳初始化要為低電平。
回復(fù)

使用道具 舉報

ID:635011 發(fā)表于 2019-11-16 09:34 來自觸屏版 | 顯示全部樓層
wulin 發(fā)表于 2019-11-16 07:57
15f104上電復(fù)位后端口默認(rèn)高電平,圖中你的開關(guān)全都是輸入高電平有什么意義?

哥哥,這個程序,弄了好幾天了,要是不嫌麻煩,你能幫我改一下嗎?萬分感謝
回復(fù)

使用道具 舉報

ID:635011 發(fā)表于 2019-11-16 14:58 來自觸屏版 | 顯示全部樓層
yzwzfyz 發(fā)表于 2019-11-16 08:13
同意樓上觀點!改了頭文件后,再走仔細(xì)調(diào)試一下,祝你成功。

又改了改,還是沒弄成,捉急的很
回復(fù)

使用道具 舉報

ID:170318 發(fā)表于 2019-11-16 15:18 | 顯示全部樓層
下來看一下,看看哪里不對勁
回復(fù)

使用道具 舉報

ID:635011 發(fā)表于 2019-11-16 21:39 來自觸屏版 | 顯示全部樓層
yzwzfyz 發(fā)表于 2019-11-16 08:13
同意樓上觀點!改了頭文件后,再走仔細(xì)調(diào)試一下,祝你成功。

你看中斷定時器開關(guān)那一塊寫的對不,15f104這個芯片我沒寫過,還請指導(dǎo)
回復(fù)

使用道具 舉報

ID:635011 發(fā)表于 2019-11-16 21:40 來自觸屏版 | 顯示全部樓層
哪位大神幫忙看下中斷和定時器有沒有問題,現(xiàn)在迷茫的很
回復(fù)

使用道具 舉報

ID:123289 發(fā)表于 2019-11-16 22:06 | 顯示全部樓層
單片機(jī)的型號有無數(shù)種,如果只有做過的才會,哪不算會。
加強原理學(xué)習(xí)。至少51系列全會做。
回復(fù)

使用道具 舉報

ID:245004 發(fā)表于 2019-11-16 22:49 | 顯示全部樓層
首先三樓網(wǎng)友說的對,三個開關(guān)接VCC不對,要接地。
你得一個一個解決問題,再復(fù)雜的問題只要分解解決,最后都是小問題。
那就先解決開關(guān)的問題,我?guī)湍愀牧艘幌,首先定義電平
#define YES 0
#define NO 1

三個開關(guān)低電平有效,你得把原理圖的接VCC改成接地;
然后我用正則替換幫你把程序中的“1/0”改成了“YES/NO",上傳給你。
你的內(nèi)容真的沒時間細(xì)看,你先試試開關(guān)的修改。
原main.c :
Closestool.zip (1.96 KB, 下載次數(shù): 8)

回復(fù)

使用道具 舉報

ID:245004 發(fā)表于 2019-11-16 22:54 | 顯示全部樓層
不好意思,我的軟件格式化的類型可能你不習(xí)慣,我按原來的類型格式化重新傳上來: main_Closestool.zip (2.04 KB, 下載次數(shù): 6)

回復(fù)

使用道具 舉報

ID:213173 發(fā)表于 2019-11-17 09:07 | 顯示全部樓層
律動沙丘 發(fā)表于 2019-11-16 21:40
哪位大神幫忙看下中斷和定時器有沒有問題,現(xiàn)在迷茫的很

既然用51仿真功能正常,基本上可以無障礙用于15f104,3個控制開關(guān)要改低電平有效,否則有可能燒壞端口。定時器及中斷設(shè)置:

/***********************
功能描述:定時器0初始化
入口參數(shù):無
返回值:無
************************/
void Timer0Init()                //5毫秒@11.0592MHz
{
        AUXR |= 0x80;                //定時器時鐘1T模式
        TMOD &= 0xF0;                //設(shè)置定時器模式
        TL0 = 0x00;                        //設(shè)置定時初值
        TH0 = 0x28;                        //設(shè)置定時初值
        TF0 = 0;                        //清除TF0標(biāo)志
        TR0 = 1;                        //定時器0開始計時
        EA  = 1;                        //使能總中斷
        ET0 = 1;                        //使能T0中斷
}
/**************************************
    定時器0中斷服務(wù)程序
***************************************/
void timer0_int() interrupt 1
{
         cnt++;        //5ms進(jìn)入1次中斷
回復(fù)

使用道具 舉報

ID:635011 發(fā)表于 2019-11-17 10:12 來自觸屏版 | 顯示全部樓層
bh2030693 發(fā)表于 2019-11-16 22:54
不好意思,我的軟件格式化的類型可能你不習(xí)慣,我按原來的類型格式化重新傳上來:

謝謝,哥哥
回復(fù)

使用道具 舉報

ID:635011 發(fā)表于 2019-11-17 11:13 來自觸屏版 | 顯示全部樓層
wulin 發(fā)表于 2019-11-17 09:07
既然用51仿真功能正常,基本上可以無障礙用于15f104,3個控制開關(guān)要改低電平有效,否則有可能燒壞端口。 ...

謝謝,我試試
回復(fù)

使用道具 舉報

ID:93224 發(fā)表于 2019-11-17 15:46 | 顯示全部樓層
二者的時鐘不一樣
回復(fù)

使用道具 舉報

ID:635011 發(fā)表于 2019-11-17 21:11 來自觸屏版 | 顯示全部樓層
lele5211314 發(fā)表于 2019-11-17 15:46
二者的時鐘不一樣

那應(yīng)該是怎樣的呢?可不可以幫忙改一下,謝謝哥哥啦~~
回復(fù)

使用道具 舉報

ID:525068 發(fā)表于 2019-11-22 00:32 | 顯示全部樓層
15f104單片機(jī)似乎用了之后不放電的話第二次程序不能執(zhí)行,不知道你實際電路怎么做的
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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