導航:首頁 > 操作系統 > 單片機實例模擬設計

單片機實例模擬設計

發布時間:2023-10-14 04:47:15

『壹』 單片機C語言程序設計實訓100例:基於8051+Proteus模擬的內容簡介

《單片機C語言程序設計實訓100例:基於8051+Proteus模擬》講述了:第一章用簡短篇幅介紹8051單片機的特點、應用,以及Keil C語言程序設計,在語言程序設計中重點介紹8051內部資源;第二章介紹Proteus的入門操作;第三~五章全部為單片機的C程序設計案例;第三章為基礎案例,涉及C語言基礎部分,基本IO部分,中斷與定時器,串口控制,模數與數模轉換部分等;第四章在前面的基礎上對擴展的外圍硬體應用進行編程,包括解碼器、串並轉換晶元、存儲器、中英文液晶屏、IIC等;第五章是綜合設計部分,涉及一些具體的應用型產品的設計。讀者對象:《單片機C語言程序設計實訓100例:基於8051+Proteus模擬》適用於計算機專業或電子類專業在校學生,特別是職業技術院校學生,實驗室投入不足的學校,電子工程技術人員,以及社會上希望學習單片機技術但還沒有購置單片機硬體實驗設備的人員。

『貳』 基於Proteus的51系列單片機設計與模擬的內容簡介

《基於Proteus的51系列單片機設計與模擬》以目前流行的軟、硬體模擬軟體Proteus為核心,從實驗、實踐、實用的角度,通過豐富的實例詳細敘述了該軟體在51單片機課程教學和單片機應用產品開發過程中的應用。全書共9章,主要介紹51單片機系統的設計及相關軟體的使用,在Proteus中原理圖的繪制與模擬及PCB的製作、Proteus在單片機軟體程序設計中的應用,Proteus在單片機硬體系統設計中的應用。書中選擇的實例都具有很強的實用性,通過閱讀這些實例,讀者可以在不花費硬體成本的前提下,學習和開發單片機軟、硬體系統。
~第1章80C51單片機應用系統的設計及相關軟體的使用
1.180C51單片機應用系統的設計
1.2KeilC51的使用
1.2.1創建項目
1.2.2調試程序
1.3模擬器
1.4編程器
1.5ISP下載
1.6串列調試軟體
第2章Proteus7.1入門
2.1ProteusISIS的操作及電路原理圖設計
2.1.1ProteusISIS簡介
2.1.2ProteusISIS編輯環境及參數設置
2.1.3ProteusISIS原理圖設計
2.1.4ProteusISIS元件製作
2.2ProteusVSM虛擬系統模型
2.2.1激勵源
2.2.2ProteusVSM虛擬儀器的使用
2.3ProteusARES的PCB設計
2.3.1ProteusARES簡介
2.3.2ProteusARES參數設置
2.3.3ProteusARES中的PCB製作實例
第3章51系列軟體程序設計與模擬
3.1清零、置位程序的設計與模擬
3.1.1片內清零程序的設計
3.1.2片內清零程序的調試與模擬
3.1.3片外清零程序的設計
3.1.4片外清零程序的調試與模擬
3.1.5置位程序的設計
3.1.6置位程序的調試與模擬
3.2拼字程序的設計與模擬
3.2.1片內拼字程序的設計
3.2.2片內拼字程序的調試與模擬
3.5.1數據排序程序的設計
3.2.3片外拼字程序的設計
3.2.4片外拼字程序的調試與模擬
3.3拆字程序的設計與模擬
3.3.1片內拆字程序的設計
3.3.2片內拆字程序的調試與模擬
3.3.3片外拆字程序的設計
3.3.4片外拆字程序的調試與模擬
3.4數據塊傳送程序的設計與模擬
3.4.1數據塊傳送程序的設計
3.4.2數據塊傳送程序的調試與模擬
3.5數據排序程序的設計與模擬
3.5.2數據排序程序的調試與模擬
第4章51系列通用I/O控制
4.1P1口的應用(一)
4.1.1硬體設計
4.1.2程序設計
4.1.3調試與模擬
4.2P1口的應用(二)
4.2.1硬體設計
4.2.2程序設計
4.2.3調試與模擬
4.3閃爍燈
4.3.1硬體設計
4.3.2程序設計
4.3.3調試與模擬
4.4流水燈
4.4.1硬體設計
4.4.2程序設計
4.4.3調試與模擬
4.5花樣燈(一)
4.5.1硬體設計
4.5.2程序設計
4.5.3調試與模擬
4.6花樣燈(二)
4.6.1硬體設計
4.6.2程序設計
4.6.3調試與模擬
4.7模擬交通燈
4.7.1硬體設計
4.7.2程序設計
4.7.3調試與模擬
4.8定時/計數器的應用(一)
4.8.1硬體設計
4.8.2程序設計
4.8.3調試與模擬
4.9定時/計數器的應用(二)
4.9.1硬體設計
4.9.2程序設計
4.9.3調試與模擬
4.10中斷系統的應用(一)
4.10.1硬體設計
4.10.2程序設計
4.10.3調試與模擬
4.11中斷系統的應用(二)
4.11.1硬體設計
4.11.2程序設計
4.11.3調試與模擬
4.12兩個單片機串列通信
4.12.1硬體設計
4.12.2程序設計
4.12.3調試與模擬
4.13串列口擴展應用
4.13.1硬體設計
4.13.2程序設計
4.13.3調試與模擬
第5章音樂的應用
5.1單片機唱歌
5.1.1單片機產生音調的基礎知識
5.1.2音樂軟體的設計
5.1.3歌曲的設計
5.1.4調試與模擬
5.2電子琴
5.2.1電子琴的基礎知識
5.2.2電子琴軟體的設計
5.2.3調試與模擬
第6章LED數碼管與鍵盤的應用
6.1LED數碼管的應用
6.1.1LED數碼管的結構及分類
6.1.2LED數碼管的顯示方式
6.1.3串列口驅動1位LED數碼管的設計
6.1.4共陰極LED和共陽極LED的應用
6.1.50~~99計數器的設計
6.1.659s計時器的設計
6.1.7電子鍾的設計
6.1.8MAX7219串列驅動LED數碼管
6.2鍵盤的應用
6.2.1鍵盤的工作原理
6.2.2查詢式鍵盤的設計
6.2.3矩陣式鍵盤的識別(一)
6.2.4矩陣式鍵盤的識別(二)
6.2.58255A並行I/O埠擴充鍵盤
第7章數/模轉換器和模/數轉換器的應用
7.1數/模轉換器的應用
7.1.1TLC5615的基礎知識
7.1.2方波發生器
7.1.3鋸齒波發生器
7.2模/數轉換器的應用
7.2.1ADC0808的基礎知識
7.2.2數字電壓表的設計
第8章顯示器的應用
8.1LED點陣顯示器的應用
8.1.1LED點陣顯示器的基礎知識
8.1.2一個5×7點陣字元顯示
8.1.3一個8×8點陣字元串顯示
8.1.4兩個8×8點陣字元串顯示
8.1.5兩個8×8點陣滾動顯示
8.1.6一個16×16點陣漢字顯示
8.1.7兩個16×16點陣漢字顯示
8.1.8兩個16×16點陣漢字分批顯示
8.2LCD(液晶顯示器)的應用
8.2.1LCD的基礎知識
8.2.2字元式LCD的應用
8.2.3漢字式LCD的應用
8.2.4漢字式LCD移位顯示
8.2.5漢字式LCD滾動顯示
第9章工業控制
9.1SPI匯流排DS1302實時時鍾控制
9.1.1DS1302的基礎知識
9.1.2DS1302採用1位LED顯示時鍾的設計
9.1.3DS1302採用MAX7219控制8位LED顯示時鍾的設計
9.2I2C匯流排24C04開啟次數統計控制
9.2.124CXX的基礎知識
9.2.224C04開啟次數統計的設計
9.3RS-485在單片機多機通信中的應用
9.3.1RS-485介面標准簡述
9.3.2RS-485在單片機多機通信中的應用設計
9.41-WireBusDS18B20溫度測量的設計
9.4.1DS18B20的基礎知識
9.4.2DS18B20測量溫度的設計
9.5電動機轉速控制
9.5.1步進電動機轉速控制
9.5.2直流電動機轉速控制
9.6電氣模擬控制
9.6.1步進電動機的啟動、停止控制
9.6.2直流電動機的啟動、停止控制
9.6.3步進電動機的正、反轉控制
9.6.4直流電動機的正、反轉控制
9.6.5電動機的多地控制
附錄A單片機指令速查表
附錄BProteus的常用快捷鍵
參考文獻~

『叄』 單片機怎麼模擬

單片機體積小,重量輕,具有很強的靈活性而且價格便宜,具有邏輯判斷,定時計數等多種功能,廣泛應用於儀器儀表,家用電器,醫用設備的智能化管理和過程式控制制等領域。以單片機為核心的嵌入式系統已經成為目前電子設計最活躍的領域之一。

在嵌入式系統的中,開發板成本高,特別是對於大量的初學者而言,還可能由於設計的錯誤導致開發板損壞。利用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 軟體的編寫

本例題採用可調電阻調節電壓值作為模擬信號的輸入

『肆』 在Proteus虛擬模擬環境下,單片機系統的設計與虛擬模擬包括哪些步驟

大致步驟如下:
1、繪制單片機模擬電路原理圖
2、編寫單片機程序代碼
3、將編譯完成的目標文件載入到單片機
4、模擬運行,並根據運行結果修改電路或代碼,直至達成預設功能要求。

『伍』 如何使用Proteus做單片機模擬

1,找到需要的元件,晶元。

2,根據原理圖,畫出模擬圖。

3,寫程序,並編譯出HEX代碼文件。

4,把HEX代碼文件載入到單片機中。

5,運行模擬,就看到結果了。

如下圖,就是一個模擬的實例。

更詳細的操作步驟,可上網下載有關的教程看一下。

『陸』 求用proteus模擬51單片機控制LCD1602的實例

//實例81:用LCD顯示字元'A'
#include<reg51.h> //包含單片機寄存器的頭文件
#include<intrins.h> //包含_nop_()函數定義的頭文件
sbit RS=P2^0; //寄存器選擇位,將RS位定義為P2.0引腳
sbit RW=P2^1; //讀寫選擇位,將RW位定義為P2.1引腳
sbit E=P2^2; //使能信號位,將E位定義為P2.2引腳
sbit BF=P0^7; //忙碌標志位,,將BF位定義為P0.7引腳
/*****************************************************
函數功能:延時1ms
(3j+2)*i=(3×33+2)×10=1010(微秒),可以認為是1毫秒
***************************************************/
void delay1ms()
{
unsigned char i,j;
for(i=0;i<10;i++)
for(j=0;j<33;j++);
}
/*****************************************************
函數功能:延時若干毫秒
入口參數:n
***************************************************/
void delay(unsigned char n)
{
unsigned char i;
for(i=0;i<n;i++)
delay1ms();
}
/*****************************************************
函數功能:判斷液晶模塊的忙碌狀態
返回值:result。result=1,忙碌;result=0,不忙
***************************************************/
unsigned char BusyTest(void)
{
bit result;
RS=0; //根據規定,RS為低電平,RW為高電平時,可以讀狀態
RW=1;
E=1; //E=1,才允許讀寫
_nop_(); //空操作
_nop_();
_nop_();
_nop_(); //空操作四個機器周期,給硬體反應時間
result=BF; //將忙碌標志電平賦給result
E=0;
return result;
}
/*****************************************************
函數功能:將模式設置指令或顯示地址寫入液晶模塊
入口參數:dictate
***************************************************/
void WriteInstruction (unsigned char dictate)
{
while(BusyTest()==1); //如果忙就等待
RS=0; //根據規定,RS和R/W同時為低電平時,可以寫入指令
RW=0;
E=0; //E置低電平(根據表8-6,寫指令時,E為高脈沖,
// 就是讓E從0到1發生正跳變,所以應先置"0"
_nop_();
_nop_(); //空操作兩個機器周期,給硬體反應時間
P0=dictate; //將數據送入P0口,即寫入指令或地址
_nop_();
_nop_();
_nop_();
_nop_(); //空操作四個機器周期,給硬體反應時間
E=1; //E置高電平
_nop_();
_nop_();
_nop_();
_nop_(); //空操作四個機器周期,給硬體反應時間
E=0; //當E由高電平跳變成低電平時,液晶模塊開始執行命令
}
/*****************************************************
函數功能:指定字元顯示的實際地址
入口參數:x
***************************************************/
void WriteAddress(unsigned char x)
{
WriteInstruction(x|0x80); //顯示位置的確定方法規定為"80H+地址碼x"
}
/*****************************************************
函數功能:將數據(字元的標准ASCII碼)寫入液晶模塊
入口參數:y(為字元常量)
***************************************************/
void WriteData(unsigned char y)
{
while(BusyTest()==1);
RS=1; //RS為高電平,RW為低電平時,可以寫入數據
RW=0;
E=0; //E置低電平(根據表8-6,寫指令時,E為高脈沖,
// 就是讓E從0到1發生正跳變,所以應先置"0"
P0=y; //將數據送入P0口,即將數據寫入液晶模塊
_nop_();
_nop_();
_nop_();
_nop_(); //空操作四個機器周期,給硬體反應時間
E=1; //E置高電平
_nop_();
_nop_();
_nop_();
_nop_(); //空操作四個機器周期,給硬體反應時間
E=0; //當E由高電平跳變成低電平時,液晶模塊開始執行命令
}
/*****************************************************
函數功能:對LCD的顯示模式進行初始化設置
***************************************************/
void LcdInitiate(void)
{
delay(15); //延時15ms,首次寫指令時應給LCD一段較長的反應時間
WriteInstruction(0x38); //顯示模式設置:16×2顯示,5×7點陣,8位數據介面
delay(5); //延時5ms
WriteInstruction(0x38);
delay(5);
WriteInstruction(0x38);
delay(5);
WriteInstruction(0x0f); //顯示模式設置:顯示開,有游標,游標閃爍
delay(5);
WriteInstruction(0x06); //顯示模式設置:游標右移,字元不移
delay(5);
WriteInstruction(0x01); //清屏幕指令,將以前的顯示內容清除
delay(5);
}
void main(void) //主函數
{
LcdInitiate(); //調用LCD初始化函數
WriteAddress(0x07); //將顯示地址指定為第1行第8列
WriteData('A'); //將字元常量'A'寫入液晶模塊
//字元的字形點陣讀出和顯示由液晶模塊自動完成
}

『柒』 單片機設計音樂播放器程序和模擬圖(用匯編語言)急求~謝謝!!!

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

閱讀全文

與單片機實例模擬設計相關的資料

熱點內容
蛋殼公寓app如何查水電表 瀏覽:713
ad20庫中的51單片機怎麼找 瀏覽:616
阿里雲伺服器有點卡嗎 瀏覽:204
蘋果7如何讓app後台運行 瀏覽:166
耐克app預售產品哪裡看 瀏覽:207
補全演算法一年級 瀏覽:125
evd數據調校軟體加密 瀏覽:440
app聽課與微信如何設置分屏 瀏覽:909
加密的excel怎麼撤銷 瀏覽:39
java動態數組初始化 瀏覽:974
編譯後程序塊過大不適合 瀏覽:673
李煜pdf 瀏覽:843
python寫游戲邏輯 瀏覽:489
pdf轉換成word免費版在線轉換 瀏覽:464
荒廢了三年還能做程序員嗎 瀏覽:658
阿里雲內網vpn伺服器 瀏覽:103
l命令第一個點對第二個點對不上 瀏覽:829
oracle導出表命令 瀏覽:910
怎麼寫域名加密 瀏覽:1004
手機文件壓縮出錯 瀏覽:523