⑴ 如何使用Proteus做單片機模擬
1,找到需要的元件,晶元。
2,根據原理圖,畫出模擬圖。
3,寫程序,並編譯出HEX代碼文件。
4,把HEX代碼文件載入到單片機中。
5,運行模擬,就看到結果了。
如下圖,就是一個模擬的實例。
更詳細的操作步驟,可上網下載有關的教程看一下。
⑵ 求高手幫忙做下單片機作業,模擬圖已經上,求程序
cwadd1 equ 08000h
dwadd1 equ 08001h
ORG 0
jmp main
mov dptr,#0f002h
mov a,#56h
movx @dptr,a
mov a#0
movx a,@dptr
jmp main
;初始化
init:mov com,#0e2h
lcall pr3
mov com,#0a4h
lcall pr3
mov com,#0a9h
lcall pr3
mov com,#0a0h
lcall pr3
mov com,#0c0h
lcall pr0
lcall pr3
mov com,#0afh
lcall pr0
lcall pr3
ret
;指令代碼子程序
pr1:push dpl
push dpl
mov dptr,#cradd1
pr11:movx a,@dptr
jb acc.7,pr11
mov dptr,#dwadd1
mov a,dat
movx @dptr,a
pop dph
pop dpl
ret
pr3:push dpl
push dph
mov dptr,#cradd2
pr31 movx a,@dptr
jb acc.7,pr31
mov dptr,#cwadd2
mov a,com
movx @dptr,a
pop dph
pop dpl
ret
pr4:push dpl
push dph
mov dptr,#cradd2
pr41:movx a,@dptr
jb acc.7,pr41
mov dptr,#dwadd2
mov a,dat
movx @dptr,a
pop dph
pop dpl
ret
pr0:push dpl
push dph
mov dptr,#cradd1
pr01:mov a,@dptr
jb acc.7,pr01
mov dptr,#cwadd1
mov a,com
movx @dptr,a
pop dph
pop dpl
ret
pr5:push dpl
push dph
mov dptr,#cradd2
pr51:movx a,@dptr
jb acc.7,pr51
mov dptr,#dwadd2
mov a,dat
movx @dptr,a
pop dph
pop dpl
ret
⑶ 求單片機大神指教,用89c52單片機在jz-k3開發板上進行定時鬧鍾設計(數碼管只有四個)
這個開發板太爛了,才4個數碼管還好意思拿出來賣?!
淘寶上的開發板都帶很多常式,買板子不送常式,s13才會去買。
別人的開發板別說是鬧鍾的常式了,萬年歷的常式都有。
⑷ 單片機知道模擬圖能知道實物怎麼連接嗎
模擬圖和實物連接圖差不多,前提是晶元型號相同
⑸ 單片機設計音樂播放器程序和模擬圖(用匯編語言)急求~謝謝!!!
NUMEQU30H
UPEQUP3.6
DNEQUP3.7
ORG0000H
AJMPSTART;Fosc=12MHz
ORG000BH;T0中斷入口地址
AJMPINT_T0
ORG001BH;T1中斷入口地址
AJMPINT_T1
START:
MOVSP,#60H
MOVTMOD,#11H
MOVIE,#8AH
MOVIP,#08H ;T1中斷優先於T0中斷
MOV TH1,#3CH
MOV TL1,#0BH ;以上為系統初始化,T=60ms
W1: MOV P2,#01110001B;等待提示"F" ,01110001
LCALL GETKEY
CJNEA,#0FFH,W1
MOVA,B
CJNEA,#0AH,W2
LCALLKEY_A;輸入鍵是'A',轉KEY_A
SJMP W1
W2: CJNE A,#0BH,W3
LCALLKEY_B;輸入鍵是'B',轉KEY_B
W3: CJNE A,#0CH,W4
LCALLKEY_C;輸入鍵是'C',轉KEY_C
W4: CJNE A,#0DH,W5
LCALLKEY_D
SJMP W1;輸入鍵是'D',轉KEY_D
W5: CJNEA,#0EH,W6 ;下一首
INCNUM
MOVA,NUM
CJNEA,#4,W51
W51:
JCW52
MOVNUM,#0
W52:
MOVA,NUM
SJMPD0
W6: CJNEA,#0FH,W7 ;上一首
MOVA,NUM
JNZW61
MOVNUM,#4
W61:
DECNUM
MOVA,NUM
SJMPD0
W7:
SJMP W1
KEY_A:;從1~4按順序播放
LCALL MUSIC1;樂曲《我和你》
LCALL MUSIC2;樂曲《萬水千山總是情》
LCALL MUSIC3;樂曲《送別》
LCALL MUSIC4;樂曲《北京歡迎您》
RET
KEY_B:;從1~4循環播放
T11: LCALL KEY_A
SJMP T11
RET
KEY_C:;循環播放某一樂曲
T3: LCALL GETWORD
CJNE A,#0FFH,T3
MOV A,B
D0:
JNZD1
SJMP E0
D1: DECA
JNZD2
SJMP E1
D2: DECA
JNZE3
SJMP E2
E0: LCALL MUSIC1;樂曲《我和你》
SJMP E0
E1: LCALL MUSIC2;樂曲《萬水千山總是情》
SJMP E1
E2: LCALL MUSIC3;樂曲《送別》
SJMP E2
E3: LCALL MUSIC4;樂曲《北京歡迎您》
SJMP E3
RET
KEY_D:;從某一樂曲開始播放,播放完後停止
T2: LCALL GETWORD
CJNE A,#0FFH,T2
MOV A,B
CJNE A,#00H,B1
SJMP C0
B1: CJNE A,#01H,B2
SJMP C1
B2: CJNE A,#02H,C3
SJMP C2
C0: LCALL MUSIC1;樂曲《我和你》
C1: LCALL MUSIC2;樂曲《萬水千山總是情》
C2: LCALL MUSIC3;樂曲《送別》
C3: LCALL MUSIC4;樂曲《北京歡迎您》
RET
MUSIC1:;第一首《我和你》
MOVP2,#00000110B ;顯示1,00000110
MOVR5,#11111001B
MOV52H,#HIGHTABLE10
MOV53H,#LOWTABLE10
MOVNUM,#0
LCALLmusic
RET
MUSIC2: ;第二首《萬水千山總是情》
MOV P2,#01011011B ;顯示2,01011011
MOV R5,#10100100B
MOV52H,#HIGHTABLE20
MOV53H,#LOWTABLE20
MOVNUM,#1
LCALL music
RET
MUSIC3: ;第三首《送別》
MOV P2,#01001111B ;顯示3,01001111
MOV R5,#10110000B
MOV52H,#HIGHTABLE30
MOV53H,#LOWTABLE30
MOVNUM,#2
LCALL music
RET
MUSIC4: ;第四首《北京歡迎您》
MOV P2,#01100110B ;顯示4,01100110
MOV R5,#10011001B
MOV52H,#HIGHTABLE40
MOV53H,#LOWTABLE40
MOVNUM,#3
LCALL music
RET
music: MOVR3,#00H ;音樂解碼器
NEXT20:
MOVA,P3
ORLA,#0C0H
MOVP3,A
MOVA,P3
CPLA
ANLA,#0C0H
JZNEXT21
POPACC
POPACC
LJMPW1
RET
NEXT21:
MOVA,R3
MOV DPH,52H
MOV DPL,53H
MOVC A,@A+DPTR
MOV R2,A
JZ STOP
ANL A,#0FH
MOV R1,A
MOV A,R2
SWAP A
ANL A,#0FH
JNZ SING
CLR TR0
JMP W11
;----------------------------------------------------------
SING:
DEC A
MOV22H,A
RL A
MOVDPTR,#TABLE00
MOVC A,@A+DPTR
MOV TH0,A
MOV 21H,A
MOV A,22H
RL A
INC A
MOVC A,@A+DPTR
MOV TL0,A
MOV 20H,A
SETB TR0
SETB TR1
W11:
LCALL DELAY3
INC R3
LJMP NEXT20
;-----------------------------------------------------------
STOP:
CLR TR0
CLR TR1
RET
;***************************************************
;定時器0中斷子程序
;***************************************************
INT_T0:
CLR TR0
MOV TL0,20H
MOV TH0,21H
CPL P3.0
SETB TR0
RETI
;***************************************************
;定時器1中斷子程序
;***************************************************
INT_T1:
CLRTR1
CLRTR0
LCALL KEY_E
MOVTH1,#3CH
MOVTL1,#0BH
DJNZ 60H,OUT
MOV 60H,#20
OUT:
SETB TR1
RETI
KEY_E:
JB P3.1,L2 ;中斷鍵盤檢測
LCALL DELAY2 ;消除抖動
JB P3.1,L2 ;如果是高電平就跳到L2
JNBP3.1,$ ;如果仍然是低電平就執行中斷程序
MOV P2,#0111100B ;讓LED顯示E,01111001
L3: JB P3.1,$ ;檢測低電平,直到低電平時才跳出該指令
LCALL DELAY2
JB P3.1,L3
JNBP3.1,$ ;如果再來一個高電平才跳出中斷
MOV P2,R5
L2: SETBTR0
RET
GETKEY: ;讀ABCD鍵盤子程序
SA: JB P1.0,SB ;讀A,是高電平表示沒有按鍵,跳轉到SB
LCALL DELAY2
JB P1.0,SA
JNB P1.0,$
MOV P2,#01110111B ;顯示A,01110111
MOV R5,#10001000B
MOV A,#0FFH
MOV B,#0AH
RET
SB: JB P1.1,C11 ;讀B,是高電平表示沒有按鍵按下,跳轉到C11
LCALL DELAY2
JB P1.1,SB
JNB P1.1,$
MOV P2,#01111100B ;顯示B,01111100
MOV R5,#10000011B
MOV A,#0FFH
MOV B,#0BH
RET
C11:JB P1.2,ED1 ;讀C
LCALL DELAY2
JB P1.2,C11
JNBP1.2,$
MOV P2,#00111001B ;顯示C,00111001
MOV R5,#11000110B
MOV A,#0FFH
MOV B,#0CH
RET
ED1:
JB P1.3,L0 ;讀D
LCALL DELAY2
JB P1.3,ED1
JNBP1.3,$
MOV P2,#01011110B ;顯示D,01011110
MOV R5,#10100001B
MOV A,#0FFH
MOV B,#0DH
L0: JBUP,L01
LCALLDELAY2
JBUP,L01
JNBUP,$
MOVA,#0FFH
MOVB,#0EH
RET
L01:
JBDN,L02
LCALLDELAY2
JBDN,L02
JNBDN,$
MOVA,#0FFH
MOVB,#0FH
L02:
RET
GETWORD:;讀音樂序號子程序
S1: JB P1.4,S2 ;讀1鍵
LCALL DELAY2
JB P1.4,S1
JNB P1.4,$
MOV P2,#00000110B ;顯示1
MOV R5,#11111001B
MOV A,#0FFH
MOV B,#00H
RET
S2: JB P1.5,S3 ;讀2鍵
LCALL DELAY2
JB P1.5,S2
JNB P1.5,$
MOV P2,#01011011B ;顯示2
MOV R5,#10100100B
MOV A,#0FFH
MOV B,#01H
RET
S3: JB P1.6,S4 ;讀3鍵
LCALL DELAY2
JB P1.6,S3
JNB P1.6,$
MOV P2,#01001111B ;顯示3
MOV R5,#10110000B
MOV A,#0FFH
MOV B,#02H
RET
S4: JB P1.7,L1 ;讀4鍵
LCALL DELAY2
JB P1.7,S1
JNB P1.7,$
MOV P2,#01100110B ;顯示4
MOV R5,#10011001B
MOV A,#0FFH
MOV B,#03H
L1: RET
DELAY:;延時子程序
PUSH0;保存現場
PUSH1
MOV0,#0H
DELAY1:MOV1,#0H
DJNZ1,$
DJNZ0,DELAY1
POP1;恢復現場
POP0
RET
DELAY2: MOV 41H,#100 ;延時子程序2
F1: MOV 42H,#250
DJNZ 42H,$
DJNZ 41H,F1
RET
DELAY3: ;延時子程序3
MOV R7,#2
W22: MOV R4,#125
W33: MOV R0,248
DJNZ R0,$
DJNZ R4,W33
DJNZ R7,W22
DJNZ R1,DELAY3
RET
TABLE00: ;頻率表
DW64260,64400,64524,64580;簡碼值低音5,低音6,低音7,1
DW64684,64777,64820,64898;簡碼值2,3,4,5
DW64968,65030,65058,65110;簡碼值6,7,高音1,高音
DW65157,65178,65217;簡碼值高音3,高音4,高音5
;--------------------------------------------------------------------
;第一首《我和你》
;--------------------------------------------------------------------
TABLE10:DB64H,82H,42H,48H
DB54H,64H,18H
DB44H,54H,64H,84H
DB5CH
DB64H,84H,44H,04H,42H
DB54H,64H,28H
DB54H,14H,54H,64H
DB4CH
DB98H,88H
DB98H,48H
DB64H,24H,64H,84H
DB5CH
DB64H,82H,42H,48H
DB54H,64H,28H
DB54H,14H,54H,34H
DB4CH
DB00H
;--------------------------------------------------------------------
;第二首《萬水千山總是情》
;--------------------------------------------------------------------
TABLE20: DB64H,74H,84H,04H,82H,94H,84H,6CH
DB54H,44H,04H,62H,54H,44H,2CH
DB24H,18H,44H,54H,64H,84H,94H,64H,5CH
DB64H,74H,84H,04H,82H,94H,84H,6CH
DB54H,44H,04H,62H,54H,44H,2CH
DB24H,18H,44H,64H,54H,04H,42H,24H,44H,4CH
DB64H,84H,9CH,0A4H,94H,74H,84H,04H,92H,8CH,64H,88H
DB64H,84H,9CH,0A4H,0A4H,94H,84H,64H,5CH
DB64H,74H,84H,04H,82H,94H,84H,6CH
DB54H,44H,04H,62H,54H,44H,2CH
DB24H,18H,44H,64H,54H,42H,24,44H,4CH
DB00H
;--------------------------------------------------------------------
;第三首《送別》
;--------------------------------------------------------------------
TABLE30:DB84H,62H,82H,0B8H
DB94H,0B2H,92H,88H
DB84H,42H,52H,64H,52H,44H
DB5CH
DB84H,62H,82H,0B4H,04H,82H
DB94H,0B4H,88H
DB84H,52H,62H,74H,04H,32H
DB4CH
DB94H,0B4H,0B8H
DB0A4H,92H,0A2H,0B8H
DB92H,0A2H,0B2H,92H,92H,82H,62H,42H
DB5CH
DB84H,62H,82H,0B4H,04H,0A2H
DB94H,0B4H,88H
DB84H,52H,62H,74H,04H,32H
DB4CH
DB00H
;--------------------------------------------------------------------
;第四首《北京歡迎您》
;--------------------------------------------------------------------
TABLE40:DB62H,82H,62H,52H,12H
DB62H,52H,12H,64H
DB62H,52H,22H,42H
DB62H,54H
DB52H,42H,22H,42H
DB52H,62H,82H,52H
DB62H,92H,82H,12H
DB52H,44H
DB52H,42H,22H,42H
DB52H,62H,82H,52H
DB62H,92H,82H,82H
DB68H
DB52H,62H,52H,42H
DB82H,92H,64H
DB22H,62H,64H
DB54H,64H
DB64H,84H
DB0B2H,82H,94H
DB02H,92H,82H,62H
DB62H,82H,88H
DB00H
END
⑹ 單片機波形發生器模擬圖怎麼調節
使用方法按下向上鍵切換波形。按下回車鍵進入頻率設置,輸入數字再按回車後保存,如果不想保存按下ESC鍵退出設置。起始時可能需要調整示波器才能正常顯示波形。頻率可調方波發生器設計,有圖,有代碼,protues模擬,易於實現。
利用數模轉換器PCF8591實現簡易波形發生器(可以輸出正弦波、方波、三角波和鋸齒波。可以通過按鍵選擇波形和頻率。事先用MATLAB生成波形數據,點數越多,波形越逼真)。
PCF8951是一個單電源低功耗的8位CMOS數據採集器件,具有4路模擬輸入,1路模擬輸出,一個串列I2C匯流排介面用來與單片機通信。三個引腳A0,A1,A2,用於編程硬體地址,允許最多8個器件連接到I2C而不需要額外的電路。器件的地址,控制以及數據都是通過I2C匯流排來傳輸。其中引腳1,2,3,4是4路模擬輸入,引腳5,6,7是I2C匯流排的硬體地址,引腳8為數字地,9腳和10腳是I2C匯流排的SDA和SCL。12腳是時鍾選擇引腳,高電平表示外部時鍾輸入,低電平表示使用內部時鍾。14腳是基準源,15腳是DAC的模擬輸出,16腳是供電電源VCC。
⑺ 單片機怎麼模擬
單片機體積小,重量輕,具有很強的靈活性而且價格便宜,具有邏輯判斷,定時計數等多種功能,廣泛應用於儀器儀表,家用電器,醫用設備的智能化管理和過程式控制制等領域。以單片機為核心的嵌入式系統已經成為目前電子設計最活躍的領域之一。
在嵌入式系統的中,開發板成本高,特別是對於大量的初學者而言,還可能由於設計的錯誤導致開發板損壞。利用Proteus我們可以很好地解決這個問題,由此我們可以快速地建立一個模擬系統。
2.Proteus介紹
Proteus是英國Labcenter Electro-nics公司開發的一款電路模擬軟體,軟體由兩部分組成:一部分是智能原理圖輸入系統ISIS(Intelligent Schematic Input System)和虛擬系統模型VSM(Virtual Model System);另一部分是高級布線及編輯軟體ARES(Adv-Ancd Routing and Editing Software)也就是PCB.
2.1 Proteus VSM的模擬
Proteus可以模擬模擬電路及數字電路,也可以模擬模擬數字混合電路。
Proteus可提供30多種元件庫,超過8000種模擬、數字元器件。可以按照設計的要求選擇不同生產廠家的元器件。此外,對於元器件庫中沒有的元件,設計者也可以通過軟體自己創建。
除擁有豐富的元器件外,Proteus還提供了各種虛擬儀器,如常用的電流表,電壓表,示波器,計數/定時/頻率計,SPI調試器等虛擬終端。支持圖形化的分析功能等。
Proteus特別適合對嵌入式系統進行軟硬體協同設計與模擬,其最大的特點是可以模擬8051,PIA,AVR,ARM等多種系列的處理器。Protues包含強大的調試工具,具有對寄存器和存儲器、斷點和單步模式IAR C-SPY,Keil、MPLAB等開發工具的源程序進行調試的功能;能夠觀察代碼在模擬硬體上的實時運行效果;對顯示,按鈕,鍵盤等外設的交互可視化進行模擬。
2.2 Proteus PCB
Proteus 的PCB設計除了有自動布線模擬功能外,還集成了PCB設計,支持多達16個布線層,可以任意角度放置元件和焊接連線;集成了高智能的布線演算法,可以方便地進行PCB設計。
3. 基於Protesus的簡單數據採集系統。
3.1 軟體的編寫
本例題採用可調電阻調節電壓值作為模擬信號的輸入
⑻ 單片機模擬圖和原理圖不一樣
你好!
模擬圖和原理圖,會出現不一樣的情況,在最終出PCB版的時候,也會做適當的修改
因為都是網上的教材,要求不是很嚴格
但是如果是一個定型的產品,肯定會有一個標準的原理圖的