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

QQ登錄

只需一步,快速開始

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

AT89C51單片機(jī)可以有另個(gè)主程序嗎?

  [復(fù)制鏈接]
ID:336971 發(fā)表于 2018-5-29 10:40 | 顯示全部樓層 |閱讀模式
在網(wǎng)上找了兩個(gè)比較復(fù)雜的程序,更改難度很大 ,但是設(shè)計(jì)的要求要一起使用,但是使用的時(shí)間段上是可以分開的?梢栽O(shè)置某個(gè)時(shí)間段運(yùn)行主程序A,哪個(gè)時(shí)間段運(yùn)行主程序B嗎?
回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2018-5-29 12:00 | 顯示全部樓層
主程序main()只能是唯一的,除了中斷程序其他程序都是在main()內(nèi)運(yùn)行,如果兩個(gè)互不關(guān)聯(lián)的程序功能完全可以在主程序中分時(shí)調(diào)度運(yùn)行。不過這種方法對(duì)初學(xué)者同樣具有難度。
回復(fù)

使用道具 舉報(bào)

ID:340519 發(fā)表于 2018-5-29 13:23 | 顯示全部樓層
如果是條件觸發(fā)的話可以采用的中斷方式
回復(fù)

使用道具 舉報(bào)

ID:340849 發(fā)表于 2018-5-29 20:01 | 顯示全部樓層
main函數(shù)只能有一個(gè)
回復(fù)

使用道具 舉報(bào)

ID:331575 發(fā)表于 2018-5-29 22:51 | 顯示全部樓層
可以,你要是用定時(shí)器中斷可以達(dá)到你的目的,前提你需要算好A程序什么時(shí)間運(yùn)算,B程序什么時(shí)間運(yùn)算,希望可以給你點(diǎn)思路
回復(fù)

使用道具 舉報(bào)

ID:123289 發(fā)表于 2018-5-29 22:56 | 顯示全部樓層
用定時(shí)器做一個(gè)時(shí)間中斷,中斷服務(wù)程序中將標(biāo)記位變量B求反后退出。
主程序中:
當(dāng)B=1時(shí)執(zhí)行你的1號(hào)程序。
當(dāng)B=0時(shí)執(zhí)行你的2號(hào)程序。
回復(fù)

使用道具 舉報(bào)

ID:111634 發(fā)表于 2018-5-30 06:32 | 顯示全部樓層
c51中,主程序main()只能是唯一的。但可分條件運(yùn)行2個(gè)不同的主體函數(shù),此時(shí),該2個(gè)主體函數(shù)都不是主函數(shù)(名稱而已)。
回復(fù)

使用道具 舉報(bào)

ID:341070 發(fā)表于 2018-5-30 07:17 | 顯示全部樓層
運(yùn)用搶占中斷優(yōu)先級(jí)啊。
回復(fù)

使用道具 舉報(bào)

ID:341279 發(fā)表于 2018-5-30 12:08 | 顯示全部樓層
怕是不行吧?
回復(fù)

使用道具 舉報(bào)

ID:186734 發(fā)表于 2018-5-30 16:20 | 顯示全部樓層
焊兩個(gè)單片機(jī)一起用得了
回復(fù)

使用道具 舉報(bào)

ID:341584 發(fā)表于 2018-5-30 18:15 | 顯示全部樓層
主程序肯定是只能有一個(gè)
回復(fù)

使用道具 舉報(bào)

ID:341584 發(fā)表于 2018-5-30 18:16 | 顯示全部樓層
主程序是肯定只能有一個(gè)的
回復(fù)

使用道具 舉報(bào)

ID:341626 發(fā)表于 2018-5-30 19:05 | 顯示全部樓層
只有一個(gè)程序
回復(fù)

使用道具 舉報(bào)

ID:341638 發(fā)表于 2018-5-30 19:16 | 顯示全部樓層
不可以
回復(fù)

使用道具 舉報(bào)

ID:341716 發(fā)表于 2018-5-30 20:56 | 顯示全部樓層
只能有一個(gè)主函數(shù)呦
回復(fù)

使用道具 舉報(bào)

ID:223470 發(fā)表于 2018-5-30 21:12 | 顯示全部樓層
一個(gè)工程必定是從main開始執(zhí)行的,不過你可以通過設(shè)計(jì)定時(shí)器,通過設(shè)定定時(shí)次數(shù)來確定不同的執(zhí)行時(shí)間
舉例就是
中斷服務(wù)函數(shù)
{
  if(time==100)
   {
     中斷事件;
   }
   time=0;
}else
time++;
如此。
回復(fù)

使用道具 舉報(bào)

ID:341747 發(fā)表于 2018-5-30 21:14 | 顯示全部樓層
可以的,在主程序中設(shè)置一下時(shí)間,用switch應(yīng)該可以吧
回復(fù)

使用道具 舉報(bào)

ID:341786 發(fā)表于 2018-5-30 22:02 | 顯示全部樓層
主程序main()只能是唯一的,除了中斷程序其他程序都是在main()內(nèi)運(yùn)行,如果兩個(gè)互不關(guān)聯(lián)的程序功能完全可以在主程序中分時(shí)調(diào)度運(yùn)行。不過這種方法對(duì)初學(xué)者同樣具有難度。
回復(fù)

使用道具 舉報(bào)

ID:243798 發(fā)表于 2018-5-30 22:17 | 顯示全部樓層
可以用定時(shí)器,中斷時(shí)在兩個(gè)循環(huán)中切換。
回復(fù)

使用道具 舉報(bào)

ID:341842 發(fā)表于 2018-5-30 23:17 | 顯示全部樓層
如果A,B程序中都同時(shí)都啟用了同個(gè)中斷或定時(shí)器,那就需要調(diào)整修改,那比較麻煩,如果其中一個(gè)程序只是用了幾個(gè)函數(shù)實(shí)現(xiàn)了功能,完全可以復(fù)制到另一個(gè)程序中,進(jìn)行調(diào)用即可
回復(fù)

使用道具 舉報(bào)

ID:342037 發(fā)表于 2018-5-31 11:29 | 顯示全部樓層
定時(shí)器中斷
回復(fù)

使用道具 舉報(bào)

ID:342110 發(fā)表于 2018-5-31 13:50 | 顯示全部樓層
主程序main()只能有一個(gè),但依據(jù)你的情況,可以將你所說的主程序設(shè)置為兩個(gè)子函數(shù)或進(jìn)程,在主函數(shù)中實(shí)現(xiàn)分時(shí)調(diào)用
回復(fù)

使用道具 舉報(bào)

ID:342119 發(fā)表于 2018-5-31 13:52 | 顯示全部樓層
只有一個(gè)主循環(huán)
回復(fù)

使用道具 舉報(bào)

ID:325374 發(fā)表于 2018-5-31 14:30 | 顯示全部樓層
主程序必須是唯一的
回復(fù)

使用道具 舉報(bào)

ID:339629 發(fā)表于 2018-5-31 15:05 | 顯示全部樓層
中斷程序其他程序都是在main()內(nèi)運(yùn)行
回復(fù)

使用道具 舉報(bào)

ID:278954 發(fā)表于 2018-5-31 15:59 | 顯示全部樓層
主程序main()只能有一個(gè)呀,你可以將兩個(gè)程序包含到主程序運(yùn)行就可以的了
回復(fù)

使用道具 舉報(bào)

ID:278954 發(fā)表于 2018-5-31 16:00 | 顯示全部樓層
主程序main()只能是一個(gè)的呀,你可以將兩個(gè)程序合在主程序里運(yùn)行的
回復(fù)

使用道具 舉報(bào)

ID:342371 發(fā)表于 2018-5-31 18:19 | 顯示全部樓層
主程序main()只能是唯一
回復(fù)

使用道具 舉報(bào)

ID:390775 發(fā)表于 2018-9-4 17:34 | 顯示全部樓層
主程序  只能有一個(gè)  你可以  在一個(gè)主程序里 添加 函數(shù) (就是把另一個(gè)程序 寫成一個(gè)函數(shù) 插入到  主程序里 )
加油
回復(fù)

使用道具 舉報(bào)

ID:393670 發(fā)表于 2018-9-4 18:40 | 顯示全部樓層

main函數(shù)只能有一個(gè)
回復(fù)

使用道具 舉報(bào)

ID:393690 發(fā)表于 2018-9-4 20:04 | 顯示全部樓層
主程序應(yīng)該只有一個(gè)吧
回復(fù)

使用道具 舉報(bào)

ID:137736 發(fā)表于 2018-9-4 20:37 | 顯示全部樓層
用定時(shí)器中斷和標(biāo)志變量進(jìn)行切換
回復(fù)

使用道具 舉報(bào)

ID:375161 發(fā)表于 2018-9-4 21:58 | 顯示全部樓層
main函數(shù)基本上在哪都只能有一個(gè)。用中斷,或者可以加個(gè)條件判斷,在兩個(gè)程序之間切換。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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