|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
關(guān)于單片機(jī) SETB CLR 指令的問題(附程序清單) |
| 作者:feng993032 欄目:技術(shù)交流 |
單片機(jī):AT89C51。波形頻率1K。晶振12M 主程序: 初始化 AJMP $ T0中斷時(shí): …… SETB P1.0 …… RETI T1中斷時(shí): …… CLR P1.0 …… RETI 但示波器出來的圖形卻是:如圖 請問為何出來的不是方波? ******************************************* RE 一級菜鳥: 單片機(jī) P1.0腳 沒接任何東西。 RE 圈圈:示波器沒問題。用的是數(shù)字示波器,調(diào)好的。 背景:用單片機(jī)發(fā)出占空比0-40%的方波,再用RC低通濾波。得到近似得梯形波。 哪知道,單片機(jī)出來的是這么個東西。 各位,幫我找下原因。 * - 本貼最后修改時(shí)間:2006-5-30 22:59:31 修改者:feng993032
|
| 2樓: | >>參與討論 |
| 作者: feng993032 于 2006/5/30 16:51:00 發(fā)布:
程序 F2 BIT 07H ORG 0000H LJMP MAIN ORG 000BH LJMP T0ZD ;T0為方波周期,周期為1MS ORG 001BH LJMP T1ZD ;T1控制方波的高電平 ORG 0080H MAIN: MOV SP,#65H CLR P1.0 MOV TMOD,#11H ;T0,T1為16位定時(shí)器 MOV TH0,#0FCH MOV TL0,#17H ;定時(shí)1MS MOV TH1,#0FFH MOV TL1,#0FFH ;定時(shí)1MS的 2/5。 SETB EA ;中斷總允許 SETB ET0 ;T0中斷允許 SETB ET1 ;T1中斷允許 SETB TR0 ;T0開啟 SETB TR1 ;T1開啟 SETB P1.0 ;高電平 MOV R3,#0F0H ;TL1 MOV R4,#0FFH ;TH1 MOV R5,#0FFH ;波形最大時(shí)保持的時(shí)間 MOV R6,#0FFH ;波形最小時(shí)保持的時(shí)間 MOV 50H,#0FFH ;波形保持時(shí)間 MOV 51H,#6FH MOV 52H,#0FEH ;占空比最大數(shù)據(jù) AJMP $ T0ZD: PUSH ACC PUSH PSW CLR TR0 ;關(guān)閉T0 MOV TH0,#0FCH MOV TL0,#17H SETB P1.0 ;高電平 CJNE R4,#0FFH,JMP1 JMP1: JC T0_JMP_R3R4_JB_FE6F CJNE R3,#0F0H,JMP2 JMP2: JC T0_JMP_R3R4_JB_FE6F AJMP T0_JMP_R3R4_is_FFFF T0_JMP_R3R4_JB_FE6F: MOV A,R4 CJNE A,52H,T0_JMP_R3R4_not_FE6F MOV A,R3 CJNE A,51H,JMP3 JMP3: JNC T0_JMP_R3R4_not_FE6F DJNZ R6,T0_JMP_END MOV R6,#0FFH SETB F2 CJNE R3,#0FFH,T0_JMP_END1 INC R3 INC R4 AJMP T0_JMP_END T0_JMP_END1: INC R3 AJMP T0_JMP_END T0_JMP_R3R4_not_FE6F: JB F2,T0_JMP_F1_is_1 MOV A,R3;DEC R3 SUBB A,#1 MOV R3,A JNC T0_JMP_END DEC R4 AJMP T0_JMP_END T0_JMP_F1_is_1: CJNE R3,#0FFH,T0_JMP_END2 INC R3 INC R4 AJMP T0_JMP_END T0_JMP_END2: INC R3 AJMP T0_JMP_END T0_JMP_R3R4_is_FFFF: DJNZ R5,T0_JMP_END MOV R5,#0FFH |
|
| 3樓: | >>參與討論 |
| 作者: 一級菜鳥 于 2006/5/30 18:21:00 發(fā)布:
I/O腳上存在容性負(fù)載 |
|
| 4樓: | >>參與討論 |
| 作者: computer00 于 2006/5/30 18:48:00 發(fā)布:
也許是你的示波器打在了交流耦合的位置 或者是你的探頭沒校準(zhǔn)好。一般示波器有個校準(zhǔn)輸出的,把示波器探頭接到那里,調(diào)整好幅度,然后用螺絲刀調(diào)整探頭(靠近示波器那一端),使顯示的波形為方波為止。 |
|
| 5樓: | >>參與討論 |
| 作者: awey 于 2006/5/30 18:48:00 發(fā)布:
1、示波器打到直流檔 2、自校示波器(調(diào)表筆上的電容) |
|
| 6樓: | >>參與討論 |
| 作者: computer00 于 2006/5/30 18:50:00 發(fā)布:
暈……又撞車了~~~~~~~~ |
|
| 7樓: | >>參與討論 |
| 作者: 何以解憂 于 2006/5/30 18:58:00 發(fā)布:
呵呵 |
|
| 8樓: | >>參與討論 |
| 作者: feng993032 于 2006/5/30 22:58:00 發(fā)布:
各位,示波器沒問題。 RE 一級菜鳥: 單片機(jī) P1.0腳 沒接任何東西。 RE 圈圈:示波器沒問題。用的是數(shù)字示波器,調(diào)好的。 背景:用單片機(jī)發(fā)出占空比0-40%的方波,再用RC低通濾波。得到近似得梯形波。 哪知道,單片機(jī)出來的是這么個東西。 各位,幫我找下原因。 |
|
| 9樓: | >>參與討論 |
| 作者: computer00 于 2006/5/30 23:11:00 發(fā)布:
那要不就是你在P1.0腳上的引線比較長 否則過沖也不會這么明顯的(有1V了)。懷疑你的探頭沒校準(zhǔn)好的可能性較大,再接到參考源上試試。 |
|
| 10樓: | >>參與討論 |
| 作者: maychang 于 2006/5/31 4:36:00 發(fā)布:
方波不方,與程序無關(guān) 這是硬件問題。最大的可能是示波器探頭分壓的頻率特性不均勻。 如果示波器沒有問題,如圈圈所說,可能是該引腳引線比較長,分布電感造成的。 |
|
| 11樓: | >>參與討論 |
| 作者: sillboy 于 2006/5/31 9:20:00 發(fā)布:
應(yīng)該是電路的問題 |
|
| 12樓: | >>參與討論 |
| 作者: feng993032 于 2006/5/31 11:48:00 發(fā)布:
呵呵,謝謝各位了。真的是示波器的問題。 |
|
| 13樓: | >>參與討論 |
| 作者: thw 于 2006/6/1 22:39:00 發(fā)布:
示波器的問題 還沒見過探頭沒電容的示波器。。。再看看設(shè)置 |
|
| 14樓: | >>參與討論 |
| 作者: horsonlee 于 2006/6/2 17:01:00 發(fā)布:
應(yīng)該不是 個人理解: 1、 我用 安捷倫 的數(shù)字示波器,測出來也是這樣的 如果你把速率調(diào)慢,0.1K,應(yīng)該就不會 還有波形如果要不失真,要用實(shí)時(shí)檔,不要使用ROLL 檔。。 2、 和探筆也有一定關(guān)系。。。 |
|
|
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |