礦大單片機實驗
⑴ 51單片機的實驗一般都有哪些
12864液晶顯示器,AD(電壓表),LED漸亮漸滅(PWM),遙控解碼,溫度感測器采樣,單片機播放音樂。。。。。。
⑵ 單片機實驗
1、
MOV R0,#20H
MOVX A,@R0
MOV 20H,A
2、
MOV DPTR,#2000H
MOVX A,@DPTR
MOV 20H,A
3、
MOV DPTR,#2000H
CLR A
MOVC A,@A+DPTR
MOV 20H,A
4、
MOV DPTR,#2000H
CLR A
MOVC A,@A+DPTR
MOV B,A
MUL AB
MOV R7,A
MOV R6,B;(溢出部分送R6)
5、高八位?低八位?什麼意思?
地址高八位DPH,地址第八位DPL
MOV DPH,#20H
MOV DPL,#00H
⑶ 單片機實驗難嗎
有簡單的也有難得 例如流水燈什麼的就比較簡單 涉及到一些匯流排和串口的通訊 和模擬信號處理上就有些復雜了
⑷ 急求:單片機實驗
:
ORG 0030H
MOV 30H, #34H
MOV 31H, #56H
MOV 32H, #23H
MOV 33H, #90H
MOV 34H, #32H
MOV 35H, #68H
MOV 36H, #09H
MOV 37H, #75H
CALL SORT
SJMP $
;-----------------------------------------------------
SORT: ;最簡短、高效的排序程序.
MOV B, #7 ;第一輪排序時,比較7次.
S1: MOV R0, #30H ;數據區的起始地址.
MOV R7, B
CLR PSW.5 ;清除"交換"標志位.
S2: MOV A, @R0 ;取前一個數.
INC R0
CLR C
SUBB A, @R0 ;減後一個數,前<後時,Cy=1
S3: JC S4 ;有借位時,不用交換,轉移.
MOV A, @R0 ;取後一個數,准備交換.
DEC R0
XCH A, @R0 ;交換到前一個.
INC R0
XCH A, @R0 ;交換到後一個.
SETB PSW.5 ;設定"交換"標志位.
S4: DJNZ R7, S2 ;繼續本輪比較.
JNB PSW.5, ENDS ;如本輪沒有進行過交換,可提前結束.
DJNZ B, S1 ;下一輪,比較次數少一次.
ENDS:
RET
;-----------------------------------------------------
END
⑸ 8051單片機實驗。求助。
1,安裝KEIL C軟體
2,如果想軟體模擬的話,裝個DXP
3,如果是硬體上實踐的話,除了買單片機以及實驗需要的元器件,還要在電腦上下載個下載軟體用於把程序下載到單片機上。
4,這個實驗不需要看什麼書,直接去優酷看看相關流水燈視頻講解就可以了
⑹ 簡單的單片機實驗題目!編了下,不知道對不對!麻煩指點!
本題目涉及到兩個片外地址。
傳統的單片機,只有一個片外數據指針DPTR,地址的處理就比較麻煩。
稍新一些的單片機,如AT89S52,就有兩個DPTR。
樓主的題目,像是學校裡面的作業,一般是不使用兩個DPTR的。
本題目,數據量很小,可以先全部倒到片內,再傳送到片外的目的地。
這樣便於大批數據的修改,但是,為了解決現在的小問題,程序未免嫌長。
還是在樓主的程序上,稍加修改。
程序如下:
;
MOV DPTR, #1000H ;第一塊地址
MOV R7, #10H ;第二塊地址
MOV R6, #10H ;此處修改了,原為00H
MOV R2, #8
LOOP:
MOVX A, @DPTR ;取第一地址內容
MOV B, A ;暫時存放
PUSH DPH
PUSH DPL
MOV DPH, R7
MOV DPL, R6 ;DPTR = 1010H
MOVX A,@DPTR ;取第二地址內容
XCH A, B
MOVX @DPTR, A ;交換存放
INC DPTR
MOV R7, DPH ;保存第二地址
MOV R6, DPL
POP DPL ;恢復第一地址
POP DPH
XCH A, B
MOVX @DPTR, A ;將首地址1010H的內容放到1000H
INC DPTR
DJNZ R2,LOOP
;完
⑺ 單片機實驗設計
;-------------------------------------
;下列程序,經過編譯、模擬,符合要求:
;-------------------------------------
ORG 0000H
SJMP START
ORG 000BH
SJMP T0_INT
;-------------------------------------
START:
MOV TMOD, #01H
MOV TH0, #9EH
MOV TL0, #58H ;50ms@6MHz
SETB TR0
SETB ET0
SETB EA
MOV R2, #10
LOOP:
CLR PSW.5
CLR P1.1 ;輸出0,這是一個周期的開始.
JNB PSW.5, $ ;等待500ms
CLR PSW.5
JNB PSW.5, $ ;再等待500ms
CLR PSW.5
MOV C, P3.3 ;如果P3.3為低,
CPL C
MOV P1.1, C ;就輸出高,這就是50%占空比.
JNB PSW.5, $ ;繼續等待500ms
CLR PSW.5
SETB P1.1 ;如果到這里才輸出高,就是25%占空比.
JNB PSW.5, $ ;輸出高500ms
SJMP LOOP
;-------------------------------------
T0_INT: ;50ms執行一次.
MOV TH0, #9EH ;重新賦初始值.
MOV TL0, #58H ;50ms@6MHz
DJNZ R2, T0_END ;不到10次,轉到退出.
; ;下列指令都是每隔500ms執行一次.
MOV R2, #10 ;重新設置.
SETB PSW.5 ;每隔500ms,設置一次1
T0_END:
RETI
;-------------------------------------
END
;-------------------------------------
編譯後的機器語言,僅僅用了74位元組
⑻ 單片機實驗內容及結果分析
熟悉單片機的原理、結構;學好數電、模電,為設計電路打好基礎;熟練使用C語言,多學習他人的程序;對操作系統原理有一定的了解,Protel有一定的基礎;培養實際動手調試電路的能力。一般可以通過專業的書籍和課程進行持之以恆的學習,注意理論與實踐並重,遇到問題耐心檢查並適當投資購買實驗器材。
⑼ 單片機原理與實驗
定時器的時鍾頻率為12MHz/12=1MHz,則定時器計數器計1個數為1us,所以2ms為2000,因為計數器是向上計數模式,所以65536-2000=63536=0xF830
void Timer0_Init(void)
{
TMOD|=0x01; //16位定時器模式
ET0=1; //定時器0中斷允許
TH0=0xF8; //定時2ms 2000-2ms
TL0=0x30;
TR0=1; //開始計時
}
void Timer0_Interrupt(void) interrupt 0
{
TH0=0xF8; //重裝載
TL0=0x30;
if(P1^0 == 1) P1^0 = 0;
else P1^0 = 1;
}