音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

大俠幫忙看看這個程式有無問題

作者:keasen 欄目:單片機
上傳的圖片
  200581514595310.jpg [ 68.75 KB 567×458 ] (縮略時請點擊查看原圖)

 


電路圖如上:

功能要求如下:1.接通電源后上電復(fù)位,led不亮,蜂鳴器"嘀"一聲,
延遲0.5S后再"滴"一聲
"嘀"聲頻率4Khz,每次0.5S



2. 程序等待按鍵K1按下



3.K1按下后 蜂鳴器滴一聲,led點亮,
同時打開定時器0,等待一分鐘



4.每一分鐘就滴一聲



5. 9分鐘到了就"嘀"一聲,
延遲0.5S后再"滴"一聲然后關(guān)閉led,再等待K1按下



源程序如下:



        ORG 0000H
        AJMP START
        ORG 0008H
START:  MOV P1,#00000010B ;p1口清零,燈滅,開關(guān)置高電平
       LCALL DIDI ; 發(fā)出嘀嘀聲
       LCALL YANS1 ;延時0.5秒
       LCALL DIDI ;再次嘀嘀
;;按鍵檢測子程序;
JAC:   MOV A,P1.1;將開關(guān)量放入a
       JZ KSS    ;A等于0跳到整機kss開始工作
       AJMP JAC  ;A不等于0繼續(xù)檢測開關(guān)
;;整機工作程序;;
KSS:       LCALL DIDI ;發(fā)出滴一聲
       SETB P1.0  ;把led點亮
;;開始定時每分鐘鳴叫一聲九分鐘關(guān)機;;
EFEN: MOV TMOD,#00100001B ;T0工作方式1 T1方式2
      MOV TH0,#3CH ;
      MOV TL0,#0B0H;定時器0裝入初值15536
      SETB TR0 ;打開定時器0
JTF:  JNB  TF0,EFEN;TFO等于0跳到efen等于1繼續(xù)執(zhí)行
      CLR  TF0 ;定時器溢出標(biāo)志清零
      MOV TH0,#3CH ;
      MOV TL0,#0B0H;定時器0裝入初值15536
      MOV R0,#14H;將立即數(shù)20放入R0
      MOV R1,#9H; 將立即數(shù)9放入R1
      DJNZ R0,JTF;R0減1不等0繼續(xù)檢測
      LCALL DIDI ;一分鐘到了就發(fā)出滴一聲
      DJNZ R1,JTF;9分鐘到了嗎?不到繼續(xù)檢測
      LCALL DIDI;滴一聲
      LCALL YANS1 ;延時0.5s
      LCALL DIDI ;再次滴一聲
      CLR P1.0 ;把燈關(guān)掉
      LJMP JAC
      



;;滴一聲子程序;
DIDI: MOV TH1,#0CDH; TH1預(yù)置250次循環(huán)
MOV R2,#28H; 40次數(shù)
MOV R3,#32H ; 50次
SETB TR1 ;打開定時器1
JTF1:  JNB  TF1,JTF1; TF1等于0跳到JTF1等于1繼續(xù)執(zhí)行
       CLR  TF1 ;清除定時器1溢出標(biāo)志
       DJNZ R3,JFT1 ;定時器1溢出10次達到0.25ms就繼續(xù)否則再檢測        
       CLP P1.2 ;蜂鳴器響
       DJNZ R2,JTF1;夠40次繼續(xù),不夠再檢測
       DJNZ R3,JTF1 ;夠50次就返回,不夠繼續(xù)
       RET
;;延時0.5S子程序;
YANS1:  MOV R4,#0C8H ;將立即數(shù)200裝入R4
MOV R5,#0FAH ;將立即數(shù)250裝入R5
D1: DJNZ R4,D1 ;
DJNZ R5,D1
RET

      
      END

匯編時候提示如下錯誤不知什么原因引起:
Build target 'Target 1'
assembling ZAOLIAN.A51...
ZAOLIAN.A51(5): error A45: UNDEFINED SYMBOL
ZAOLIAN.A51(10): error A45: UNDEFINED SYMBOL
ZAOLIAN.A51(15): error A45: UNDEFINED SYMBOL
ZAOLIAN.A51(17): error A45: UNDEFINED SYMBOL
ZAOLIAN.A51(18): error A45: UNDEFINED SYMBOL
ZAOLIAN.A51(19): error A45: UNDEFINED SYMBOL
ZAOLIAN.A51(20): error A45: UNDEFINED SYMBOL
ZAOLIAN.A51(21): error A45: UNDEFINED SYMBOL
ZAOLIAN.A51(22): error A45: UNDEFINED SYMBOL
ZAOLIAN.A51(23): error A45: UNDEFINED SYMBOL
ZAOLIAN.A51(24): error A45: UNDEFINED SYMBOL
ZAOLIAN.A51(33): error A45: UNDEFINED SYMBOL
ZAOLIAN.A51(38): error A45: UNDEFINED SYMBOL
ZAOLIAN.A51(41): error A45: UNDEFINED SYMBOL
ZAOLIAN.A51(42): error A45: UNDEFINED SYMBOL
ZAOLIAN.A51(43): error A45: UNDEFINED SYMBOL
ZAOLIAN.A51(44): error A45: UNDEFINED SYMBOL
ZAOLIAN.A51(45): error A9: SYNTAX ERROR
ZAOLIAN.A51(45): error A9: SYNTAX ERROR
Target not created
謝謝大家,希望各位高人不吝指教
2樓: >>參與討論
慕容帝
我簡單的看了一下程序。其他的我也是外行。找到3處錯誤。第一個:JAC:   MOV A,P1.1;將開關(guān)量放入a JAC:   MOV指令不能這樣用的哦~!你可以寫成mov c,p1.1下面的改成判斷c 值的。第二個:DJNZ R3,JFT1 ;定時器1溢出10次達到0.25ms就繼續(xù)否則再檢測 ,你自己找一下JFT1在哪里哦~!第三個:CLP P1.2 ;蜂鳴器響,呵呵。指令輸入錯了哦。CPL哦。你改了試試吧。    還有不知道你用的什么編譯器,我用偉福6000還不錯哦!~~
3樓: >>參與討論
keasen
謝謝版主的指點我修改一下試試^_^
4樓: >>參與討論
xlm333
首先硬件有錯;
然后再說軟件.
5樓: >>參與討論
keasen


按照版主大俠的致電修改之后還是有如下的錯誤:
Build target 'Target 1'
assembling ZAOLIAN.A51...
ZAOLIAN.A51(5): error A45: UNDEFINED SYMBOL
ZAOLIAN.A51(10): error A45: UNDEFINED SYMBOL
ZAOLIAN.A51(15): error A45: UNDEFINED SYMBOL
ZAOLIAN.A51(17): error A45: UNDEFINED SYMBOL
ZAOLIAN.A51(18): error A45: UNDEFINED SYMBOL
ZAOLIAN.A51(19): error A45: UNDEFINED SYMBOL
ZAOLIAN.A51(19): error A9: SYNTAX ERROR
ZAOLIAN.A51(19): error A9: SYNTAX ERROR
ZAOLIAN.A51(19): error A3: ILLEGAL CHARACTER
ZAOLIAN.A51(19): error A3: ILLEGAL CHARACTER
Target not created

我翻譯過來后是:

建造目標(biāo)‘zaolian1’
集合ZAOLIAN.A51 ...
ZAOLIAN.A51 ( 5 ): 差錯A45: 未定義的符號
ZAOLIAN.A51 ( 10 ): 差錯A45: 未定義的符號
ZAOLIAN.A51 ( 15 ): 差錯A45: 未定義的符號
ZAOLIAN.A51 ( 17 ): 差錯A45: 未定義的符號
ZAOLIAN.A51 ( 18 ): 差錯A45: 未定義的符號
ZAOLIAN.A51 ( 19 ): 差錯A45: 未定義的符號
ZAOLIAN.A51 ( 19 ): 差錯A9: 句法差錯
ZAOLIAN.A51 ( 19 ): 差錯A9: 句法差錯
ZAOLIAN.A51 ( 19 ): 差錯A3: 不合法的性格
ZAOLIAN.A51 ( 19 ): 差錯A3: 不合法的性格
目標(biāo)不建立

不知又是什么原因引起? 那位大哥有錯誤代碼 比如A9代表什么,A3代表什么,A45代表什么的.....?困惑啊
希望版主再次指教,謝謝!


6樓: >>參與討論
慕容帝
下面的是我在你原程序基礎(chǔ)上修改的~!我在偉福6000下編譯通過了的程序~!
        ORG 0000H
        AJMP START
        ORG 0003H      ;ORG 0008H 這里是外部中斷入口1 最好寫成0003H
START:  MOV P1,#00000010B ;p1口清零,燈滅,開關(guān)置高電平
       LCALL DIDI ; 發(fā)出嘀嘀聲
       LCALL YANS1 ;延時0.5秒
       LCALL DIDI ;再次嘀嘀
;;按鍵檢測子程序;
JAC:   MOV c,p1.1      ;將開關(guān)量放入a
       JNC KSS    ;A等于0跳到整機kss開始工作
       AJMP JAC  ;A不等于0繼續(xù)檢測開關(guān)
;;整機工作程序;;
KSS:   LCALL DIDI ;發(fā)出滴一聲
       SETB P1.0  ;把led點亮
;;開始定時每分鐘鳴叫一聲九分鐘關(guān)機;;
EFEN: MOV TMOD,#00100001B ;T0工作方式1 T1方式2
      MOV TH0,#3CH ;
      MOV TL0,#0B0H;定時器0裝入初值15536
      SETB TR0 ;打開定時器0

JTF:  JNB  TF0,EFEN;TFO等于0跳到efen等于1繼續(xù)執(zhí)行
      CLR  TF0 ;定時器溢出標(biāo)志清零
      MOV TH0,#3CH ;
      MOV TL0,#0B0H;定時器0裝入初值15536
      MOV R0,#14H;將立即數(shù)20放入R0
      MOV R1,#9H; 將立即數(shù)9放入R1
      DJNZ R0,JTF;R0減1不等0繼續(xù)檢測
      LCALL DIDI ;一分鐘到了就發(fā)出滴一聲
      DJNZ R1,JTF;9分鐘到了嗎?不到繼續(xù)檢測
      LCALL DIDI;滴一聲
      LCALL YANS1 ;延時0.5s
      LCALL DIDI ;再次滴一聲
      CLR P1.0 ;把燈關(guān)掉
      LJMP JAC

;;滴一聲子程序;
DIDI: MOV TH1,#0CDH; TH1預(yù)置250次循環(huán)
      MOV R2,#28H; 40次數(shù)
      MOV R3,#32H ; 50次
      SETB TR1 ;打開定時器1

JTF1:  JNB  TF1,JTF1; TF1等于0跳到JTF1等于1繼續(xù)執(zhí)行
       CLR  TF1 ;清除定時器1溢出標(biāo)志
       DJNZ R3,Jtf1 ;定時器1溢出10次達到0.25ms就繼續(xù)否則再檢測
       CPL P1.2    ;CLP P1.2 ;蜂鳴器響  沒有CLP這個指令吧
       DJNZ R2,JTF1;夠40次繼續(xù),不夠再檢測
       DJNZ R3,JTF1 ;夠50次就返回,不夠繼續(xù)
       RET
;;延時0.5S子程序;
YANS1:  MOV R4,#0C8H ;將立即數(shù)200裝入R4
        MOV R5,#0FAH ;將立即數(shù)250裝入R5

D1: DJNZ R4,D1 ;
    DJNZ R5,D1
    RET


      END
7樓: >>參與討論
慕容帝
1:JAC:   MOV c,p1.1      ;將開關(guān)量放入a
       JNC KSS    ;A等于0跳到整機kss開始工作
2: DJNZ R3,Jtf1 ;定時器1溢出10次達到0.25ms就繼續(xù)否則再檢測
3:CPL P1.2    ;CLP P1.2 ;蜂鳴器響  沒有CLP這個指令吧
就這3處。具體程序執(zhí)行沒有查看~!!
8樓: >>參與討論
xlm333
ORG 0000H
        AJMP START
        ORG 0100H
START:  MOV P1,#00000010B ;p1口清零,燈滅,開關(guān)置高電平
       LCALL DIDI ; 發(fā)出嘀嘀聲
       LCALL YANS1 ;延時0.5秒
       LCALL DIDI ;再次嘀嘀
;;按鍵檢測子程序;
JAC:   ANL P1,#00000010B
       MOV A,P1;將開關(guān)量放入a
       JZ KSS    ;A等于0跳到整機kss開始工作
       AJMP JAC  ;A不等于0繼續(xù)檢測開關(guān)
;;整機工作程序;;
KSS:       LCALL DIDI ;發(fā)出滴一聲
       SETB P1.0  ;把led點亮
;;開始定時每分鐘鳴叫一聲九分鐘關(guān)機;;
EFEN: MOV TMOD,#00100001B ;T0工作方式1 T1方式2
      MOV TH0,#3CH ;
      MOV TL0,#0B0H;定時器0裝入初值15536
      SETB TR0 ;打開定時器0
      MOV R0,#14H;將立即數(shù)20放入R0
      MOV R1,#9H; 將立即數(shù)9放入R1
      
JTF:  JNB  TF0,JTF;TFO等于0跳到$
      CLR  TF0 ;定時器溢出標(biāo)志清零
      MOV TH0,#3CH ;
      MOV TL0,#0B0H;定時器0裝入初值15536
      DJNZ R0,JTF;R0減1不等0繼續(xù)檢測
      LCALL DIDI ;一分鐘到了就發(fā)出滴一聲
      DJNZ R1,JTF;9分鐘到了嗎?不到繼續(xù)檢測
      LCALL DIDI;滴一聲
      LCALL YANS1 ;延時0.5s
      LCALL DIDI ;再次滴一聲
      CLR P1.0 ;把燈關(guān)掉
      LJMP JAC
      



;;滴一聲子程序;
DIDI: MOV TH1,#0CDH; TH1預(yù)置250次循環(huán)
MOV R2,#28H; 40次數(shù)
MOV R3,#32H ; 50次
SETB TR1 ;打開定時器1
JTF1:  JNB  TF1,JTF1; TF1等于0跳到JTF1等于1繼續(xù)執(zhí)行
       CLR  TF1 ;清除定時器1溢出標(biāo)志
       DJNZ R3,JFT1 ;定時器1溢出10次達到0.25ms就繼續(xù)否則再檢測        
       CLP P1.2 ;蜂鳴器響
       DJNZ R2,JTF1;夠40次繼續(xù),不夠再檢測
       DJNZ R3,JTF1 ;夠50次就返回,不夠繼續(xù)
       RET
;;延時0.5S子程序;
YANS1:  MOV R4,#0C8H ;將立即數(shù)200裝入R4
MOV R5,#0FAH ;將立即數(shù)250裝入R5
D1: DJNZ R4,D1 ;
DJNZ R5,D1
RET

      
      END
注:子程序未看.
9樓: >>參與討論
慕容帝
3:CPL P1.2    ;CLP P1.2 ;蜂鳴器響  沒有CLP這個指令吧
這個可能是CLR 呵呵
10樓: >>參與討論
keasen
按照各位大哥滴指示大部分問題沒有了,不過確產(chǎn)生了如下致命錯誤:不知又要如何解決了:
"ZAOLIAN.obj"
TO "0001"
RAMSIZE(256)
*** FATAL ERROR L218: NOT AN OBJECT FILE
    FILE: STARTUP.obj
Target not created
11樓: >>參與討論
慕容帝
我英文不好。但是上面的問題好象不是程序問題了。是你在使用編譯器出現(xiàn)的問題吧??
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
求助
HI-TECH C for HOLTEK
【已解決】[求助]使用KeilC軟件仿真調(diào)試時遇到的問題
大家看看我做的支持全系列ColdFire處理器的3.3V BDM電...
請教LCD顯示問題
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號