導航:首頁 > 操作系統 > 單片機ds4故障

單片機ds4故障

發布時間:2022-08-21 21:20:28

單片機4個IO口接4個18B20,始終只有P2.0有讀數,P2.1,P2.2,P2.3顯示00.00

單片機4個IO口接4個18B20,分別應該定義四個IO口與四個18B20連接如
sbit DS1=P2^0; //ds18b20與單片機連介面1
sbit DS2=P2^1; //ds18b20與單片機連介面2
sbit DS3=P2^2; //ds18b20與單片機連介面3
sbit DS4=P2^3; //ds18b20與單片機連介面4
而不是 #define DS P2 就可以的,
當然也可以 4個18B20 連接在一個單片機IO匯流排上以18B20的序列號讀取數據。

❷ 單片機課程設計 紅綠燈的 求解(東西和南北反方向紅燈亮30秒,綠燈也亮30秒,黃燈亮3秒。還要有數碼管倒計

程序源代碼

ORG 0000H ;主程序的入口地址
LJMP MAIN ;跳轉到主程序的開始處
ORG 0003H ;外部中斷0的中斷程序入口地址
ORG 000BH ;定時器0的中斷程序入口地址
LJMP T0_INT ;跳轉到中斷服務程序處
ORG 0013H ;外部中斷1的中斷程序入口地址
MAIN : MOV SP,#50H
MOV IE,#8EH ;CPU開中斷,允許T0中斷,T1中斷和外部中斷1中斷
MOV TMOD,#51H ;設置T1為計數方式,T0為定時方式,且都工作於模式1
MOV TH1,#00H ;T1計數器清零
MOV TL1,#00H
SETB TR1 ;啟動T1計時器
SETB EX1 ;允許INT1中斷
SETB IT1 ;選擇邊沿觸發方式
MOV DPTR ,#0003H
MOV A, #80H ;給8255賦初值,8255工作於方式0
MOVX @DPTR, A
AGAIN: JB P3.1,N0 ;判斷是否要設定東西方向紅綠燈時間的初值,若P3.1為1 則跳轉
MOV A,P1
JB P1.7,RED ;判斷P1.7是否為1,若為1則設定紅燈時間,否則設定綠燈時間
MOV R0,#00H ;R0清零
MOV R0,A ;存入東西方向綠燈初始時間
MOV R3,A
LCALL DISP1
LCALL DELAY
AJMP AGAIN
RED: MOV A,P1
ANL A,#7FH ;P1.7置0
MOV R7,#00H ;R7清零
MOV R7,A ;存入東西方向紅燈初始時間
MOV R3,A
LCALL DISP1
LCALL DELAY
AJMP AGAIN
;-------------------------------------------
N0: SETB TR0 ;啟動T0計時器
MOV 76H,R7 ;紅燈時間存入76H
N00: MOV A,76H ;東西方向禁止,南北方向通行
MOV R3,A
MOV DPTR,#0000H ;置8255A口,東西方向紅燈亮,南北方向綠燈亮
MOV A,#0DDH
MOVX @DPTR, A
N01: JB P2.0,B0
N02: SETB P3.0
CJNE R3,#00H,N01 ;比較R3中的值是否為0,不為0轉到當前指令處執行
;------黃燈閃爍5秒程序------
N1: SETB P3.0
MOV R3,#05H
MOV DPTR,#0000H ;置8255A口,東西,南北方向黃燈亮
MOV A,#0D4H
MOVX @DPTR,A
N11: MOV R4,#00H
N12: CJNE R4,#7DH,$ ;黃燈持續亮0.5秒
N13: MOV DPTR,#0000H ; 置8255A口,南北方向黃燈滅
MOV A,#0DDH
MOVX @DPTR,A
N14: MOV R4,#00H
CJNE R4,#7DH,$ ;黃燈持續滅0.5秒
CJNE R3,#00H,N1 ;閃爍時間達5秒則退出
;------------------------------------------------------------
N2: MOV R7,#00H
MOV A,R0 ;東西通行,南北禁止
MOV R3,A
MOV DPTR,#0000H ; 置8255A口,東西方向綠燈亮,南北方向紅燈亮
MOV A,#0EBH
MOVX @DPTR,A
N21: JB P2.0,T03

N22: CJNE R3,#00H,N21
;------黃燈閃爍5秒程序------
N3: MOV R3,#05H
MOV DPTR,#0000H ;置8255A口,東西,南北方向黃燈亮
MOV A,#0E2H
MOVX @DPTR,A
N31: MOV R4,#00H
CJNE R4,#7DH,$ ;黃燈持續亮0.5秒
N32: MOV DPTR,#0000H ; 置8255A口,南北方向黃燈滅
MOV A,#0EBH
MOVX @DPTR,A
N33: MOV R4,#00H
CJNE R4,#7DH,$ ;黃燈持續滅0.5秒
CJNE R3,#00H,N3 ;閃爍時間達5秒則退出
SJMP N00
;------闖紅燈報警程序------
B0: MOV R2,#03H ;報警持續時間3秒
B01: MOV A,R3
JZ N1 ;若倒計時完畢,不再報警
CLR P3.0 ;報警
CJNE R2,#00H,B01 ;判斷3秒是否結束
SJMP N02
;------1秒延時子程序-------
N7: RETI
T0_INT:MOV TL0,#9AH ;給定時器T0送定時10ms的初值
MOV TH0,#0F1H
INC R4
INC R5
CJNE R5,#0FAH,T01 ;判斷延時是否夠一秒,不夠則調用顯示子程序
MOV R5,#00H ;R5清零
DEC R3 ;倒計時初值減一
DEC R2 ;報警初值減一
T01: ACALL DISP ;調用顯示子程序
RETI ;中斷返回
;------顯示子程序------
DISP: JNB P2.4,T02
DISP1: MOV B,#0AH
MOV A,R3 ;R3中值二轉十顯示轉換
DIV AB
MOV 79H,A
MOV 7AH,B
DIS: MOV A,79H ;顯示十位
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV DPTR,#0002H
MOVX @DPTR,A
MOV DPTR,#0001H
MOV A,#0F7H
MOVX @DPTR,A
LCALL DELAY
DS2: MOV A,7AH ;顯示個位
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV DPTR,#0002H
MOVX @DPTR,A
MOV DPTR,#0001H
MOV A,#0FBH
MOVX @DPTR,A
RET
;------東西方向車流量檢測程序------
T03: MOV A,R3
SUBB A,#00H ;若綠燈倒計時完畢,不再檢測車流量
JZ N3
JB P2.0,T03
INC R7
CJNE R7,#64H,E1
MOV R7,#00H ;中斷到100次則清零
E1: SJMP N22
;------東西方向車流量顯示程序------
T02: MOV B,#0AH
MOV A,R7 ;R7中值二轉十顯示轉換
DIV AB
MOV 79H,A
MOV 7AH,B
DIS3: MOV A,79H ;顯示十位
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV DPTR,#0002H
MOVX @DPTR,A
MOV DPTR,#0001H
MOV A,#0F7H
MOVX @DPTR,A
LCALL DELAY
DS4: MOV A,7AH ;顯示個位
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV DPTR,#0002H
MOVX @DPTR,A
MOV DPTR,#0001H
MOV A,#0FBH
MOVX @DPTR,A
LJMP N7
;------延時4MS子程序----------
DELAY: MOV R1,#0AH
LOOP: MOV R6,#64H
NOP
LOOP1: DJNZ R6,LOOP1
DJNZ R1,LOOP
RET
;------字元表------
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END

先給你個源程序,加點分,我把我的畢業設計發給你,WORD 文檔,QQ263400235

❸ 技嘉GA-MA790X-DS4主板偶發性一長兩短響 菜鳥求助

.「嘀...,嘀嘀」一長兩短的連續鳴叫,這是顯卡報警,一般是顯卡松動,顯卡損壞,或者主板的顯卡供電部分有故障。如果樓主試了拔插顯卡,是不是有試過用橡皮擦一下金手指呢,還有內存插槽也要插一下,用小刀在插槽裡面來回刮幾下,多刮幾次,直到看到裡面的金屬彈片反光很好了為止。或者看一下是不是你的顯卡金手指太薄了,插上去的時候看下是不是很松,如果是這樣的話機沒辦法了,換顯卡吧,還有看下供電的插頭是不是氧化了,擦一下,包括顯卡上的和電源接出來的那根線,一定要確保供電正常,還有就是你的顯示器插頭和顯卡是不是沒插好,顯卡一定要上螺釘固定。還有就是你的電源供電是不是足夠的,換一個額定功率大點的電源試下,排除這些問題的話就可能是你的主板或者顯卡壞了,把顯卡換到別的電腦上試一下,或者換一個顯卡看是不是還是這樣,看是主板還是顯卡壞。,確定了是哪個壞了就拿去買機子的地方換吧。

❹ 用單片機STC89C52怎麼使下面電路圖中的數碼管顯示

#include <reg52.h>
unsigned char const dofly[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char code seg[]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
////////////////////////////////////////////////////////
void delay(unsigned int cnt)
{
while(--cnt);
}
///////////////////////////////////////////////////////
main()
{
unsigned char i,j;
P0 = dofly[1] //輸出1的段碼
P2 = 0xfe; //令DS1發光
while(1); //停機
}

上述程序,是在DS1上,顯示1。
試試看。

如果可以顯示,就可以繼續編寫其它的。

閱讀全文

與單片機ds4故障相關的資料

熱點內容
天地23小說txt下載 瀏覽:711
母後是反派 瀏覽:630
松下貼片機編程教程 瀏覽:844
現代軍隊群穿抗日小說 瀏覽:691
小說mp3下載網 瀏覽:488
王昊程序員 瀏覽:432
阿里雲伺服器進銷存程序 瀏覽:25
關機cmd命令 瀏覽:580
加密梁屬於什麼梁 瀏覽:31
類似神馬網站的有哪些 瀏覽:390
常州優質加密軟體服務放心可靠 瀏覽:48
美國電影激情床戲 瀏覽:512
女大學生的美發沙龍6女主 瀏覽:831
韓國樓上偷窺樓下的電影名稱 瀏覽:469
倆男倆女去度假還有一個老闆娘的韓國電影 瀏覽:527
彼時曾相伴電影完整版免費 瀏覽:793
android打開相冊許可權 瀏覽:241
程序員國慶節有工資嗎 瀏覽:855
軟體編譯和硬體綜合區別 瀏覽:679
地鐵逃生為什麼安卓進不了 瀏覽:976