導航:首頁 > 操作系統 > at89c51單片機實訓報告

at89c51單片機實訓報告

發布時間:2022-10-20 09:25:37

❶ 基於單片機AT89C51彩燈控制的文獻綜述怎麼寫呀,要1500字以上呢

單片機課程設計: 彩燈控制器的設計
瀏覽次數:1188次懸賞分:100 | 解決時間:2009-1-10 13:56 | 提問者:lw56340184
課題: 彩燈控制器的設計
1、 內容與要求
利用MCS-51系列單片機作為彩燈控制器的主控制器晶元,用LED作為埠監視器件。
2、設計要點及基本功能
(1)8路輸出埠,每一個埠輸出給外接的顯示驅動裝置提供控制信號;
(2)輸出方式有多種:
a、閉合展開顯示(燈1、8亮,其餘熄滅;延時10ms,燈2、7亮,其餘熄滅;延時10ms,燈3、6亮,其餘熄滅;延時10ms,燈4、5亮,其餘熄滅;延時10m,燈3、6亮,其餘熄滅;延時10ms,燈2、7亮,其餘熄滅;依次循環。)
b、8個LED依次循環顯示。(8~1循環)
c、依次來回顯示(1~8,8~1來回顯示)
3、基本步驟
(1)分析題意,確定設計方案
(2)選擇單片機型號
(3)設計單元電路、選擇元器件、計算參數、並進行實驗驗證
(4)編寫程序
(5)軟、硬體調試件調試

4、設計報告要求:
(1)封面
(2)內容提要
(3)目錄
(4)正文
①概述所設計題目的意義、本人所做的工作及系統的主要功能;
②硬體電路設計及描述
③軟體設計流程及描述
④軟、硬體調試過程及方法描述
⑤源程序代碼
(5)課程設計體會
(6) 主要參考文獻、資料問題補充:

關你屁事```
你他媽未必就什麼都懂?

❷ 1、 基於AT89C51單片機,利用定時器設計一個兩位數碼管顯示電路。 設計要求:每隔2S顯示數字加1,顯示初值

這個我模擬過了是有用的,,,是從00開始顯示到了99會從新開始從00開始加

#include<reg51.h>

#defineucharunsignedchar

#defineuintunsignedint

ucharcodedisp[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

ucharcodebit_tab[]={0xfe,0xfd};

uchardisp_buf[2];

ucharshu;

ucharcount;

voiddelay(ucharx)

{

uchari,j;

for(i=0;i<x;i++)

for(j=0;j<120;j++);

}

voidconv(ucharflag)

{

disp_buf[0]=flag/10;

disp_buf[1]=flag%10;

}

voiddisplay()

{

uchartem,wei;

P2=bit_tab[wei];

tem=disp_buf[wei];

P0=disp[tem];

wei++;

if(wei==2)

wei=0;

}

voidtime0(void)interrupt1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

if(++count==40)

{

count=0;

shu++;

if(shu==99)

shu=0;

}

}

voidtime1(void)interrupt3

{

TH1=(65536-5000)/256;

TL1=(65536-5000)%256;

display();

}

voidinit()

{

TMOD=0x11;

EA=1;

ET0=1;

ET1=1;

TR1=1;

TR0=1;

}

main()

{

init();

while(1)

{

conv(shu);

}

}

❸ 流水燈實訓報告

轉載於 http://www.scetop.com/jpkc/pld/ArticleShow.asp?ArticleID=565&BigClassName=%CA%B5%D1%B5%BD%CC%D1%A7
希望對你有幫助

實訓項目(一) 流水燈 1. 實驗目的通過此實驗讓用戶進一步了解、熟悉和掌握CPLD/FPGA開發軟體的使用方法及Ver-ilog HDL的編程方法;學習簡單時序電路的設計和硬體測試.2. 實驗內容本實驗的內容是建立可用與控制LED流水燈的簡單硬體電路,要求在SmartSOPC實驗箱上實現LED1-LED8發光二極體流水燈顯示.3. 實驗原理(1) 在引腳上周期性地輸出流水數據,如原來輸出的數據是11111100則表示點亮LED1、LED2.流水一次後,輸出數據應該為11111000,而此時則應點亮LED1~LED3三個LED發光二極體,這樣就可以實現LED流水燈.為了觀察方便,流水速率最好在2Hz左右.在QuickSOPC核心板上有一個48MHz的標准鍾源,該時鍾脈沖CLOCK與晶元的28腳相連.為了產生2Hz的時鍾脈沖,在此調用了一個分頻模塊,通過修改分頻系數來變改輸出頻率.當分頻系數為24×10時,輸出即為2Hz的頻率信號.(2) int_div分頻模塊說明: int_div模塊是一個占空比為50%的任意整數分頻器.輸入時鍾為clock,輸出時鍾為clk_out.其中F_DIV為分頻系數,分頻系數范圍為1~2N(n=F_DIV_WIDTH).若要改變分頻系數,則改變參數F_DIV和F_DIV_WIDTH到相應范圍即可.在本例中輸入時鍾頻率為48MHz,要得到2Hz的信號,分頻系數應為48×10/2=24×10.對於分頻系數為24×10的數需要一個25位寬的計數器.在以後的實驗中還會多次用到這個模塊,用戶可以分析它的基本原理.4. 實驗步驟(1) 啟動QUARTUSⅡ建立一個空白工程,然後命名為.(2) 新建VerilogHDL源程序文件ledwater.v,輸入程序代碼並保存,然後進行綜合編譯.若在編譯過程中發現錯誤,則找出並更正錯誤,直到編譯成功為止.(3) 從設計文件創建模塊,由ledwater.v生成名為ledwater.bsf的模塊符號文件.(4) 將光碟中EDA_component目錄下的int_div.bsf和int_div.v拷貝到工程目錄.(5) 新建圖形設計文件命名為led_wter.bdf在空白處雙擊滑鼠左鍵,在sym-bol對話框左上腳的的Iibraries中,分別將projet下的ledwater和int_div模塊放在圖形文件ed_wter.bdf中,加入輸入、輸出引腳,雙擊各引腳符號,進行引腳命名.將與ledwater模塊led[7..0]連接的引腳命名為led[7..0],與int_div模塊clock連接的引腳命名為clock. int_div模塊的clk_out與ledwater模塊的clk相連接.雙擊int_div的參數框,並修改參數,將F_DIV的值改為24000000, F_DIV_WIDTH的值改為25,單擊「確定」按扭保存修改的文件的參數如果led_water.bdf中部能看到參數設置框,可在空白處右擊滑鼠,選擇Show Parameter Assignments命令來顯示參數設置框。(6) 選擇目標器件並對相應的引腳進行鎖定,正在這里所選擇的器件為Altera公司Cyclone系列的EP 1C6Q240C8晶元,引腳鎖定方法如表3.1所列。將未使用的引腳設置為三態輸入(一定要設置,否則可能會損壞晶元)。 表3.1 引腳鎖定方法 信號引腳 信號引腳1C61C12EDA1C61C12EDALed[0]505050led[5]474747led[1]535353led[6]484848led[2]545454led[7]494949led[3]555555clock282828led[4]176176176 (7) 將led_water.bdf設置為頂層實體。對該工程文件進行全程編譯處理,若在編譯過程中發現錯誤,則找出並更正錯誤,直至編譯成功為止。(8) 最後將跳線短接帽跳接到smartSOPC實驗箱上JP6的LED0~LED7,使LED1~LED8 分別與FPGAD的引腳50、53~55、176和47~49相連。將AlteraByteBlasterⅡ下載電纜的兩端分別接到PC機的列印機並口和QuickSOPC核芯板上的JTAG下載口上,打開電源,執行下載命令,把程序下載到FPGA器件中,此時,即可在smartSOPC實驗箱上看到流水燈。(9 更改分頻模塊(int_div)的分頻系數,並重新編譯下載,觀察流水燈的變化。 5. 實驗參考程序 程序清單3.2ledwater.v Mole ledwater(led,clk); //模塊名ledwaterOutput[7:0]led; //定義LED輸出口Input clk; //定義時鍾輸入口Reg[8:0] led_r; //定義輸出寄存器Assign led=led_r[7:0]; //寄存器輸出always@(posedge clk) //在時鍾上升沿觸發進程beginled_r<=led_r<<1; //是,則輸出左移一位if(led_r==9`d0) //循環完畢嗎?led_r<=9`b11111111; //是,則重新賦初值endendmole 6. 日積月累(1) 思考:如何實現左流水燈或其他花樣流水呢?用戶自己動手試試。(2) REG數據類型:由兩大類數據類型,線網類型和寄存器類型。REG是最常見的寄存器類型,形式如下:REG[msb:lsb]reg1,reg2,…regN;其中,msb和lsb定義了范圍,並且均勻為常數值表達式。范圍定義是可以選的。如果沒有定義范圍,默認值為1位寄存器。 reg數據類型的默認初始值是不定值X,它可以賦正值,也可以賦負值。當一個reg類型數據是一個表達式中的操作數時,他的值被當作是無符號值,即正值(如意個4)為寄存器被賦值-1,則在表達式中進行運算時,其值被認為是+15)。 reg型只表示被定義的信號將用在always塊內,理解這一點很重要。並不是說reg 型信號一定是寄存器或觸發器的輸出。雖然reg型信號常常是寄存器或觸發器的輸出,但並不一定總是這樣,只有在時序邏輯中他對應的才是寄存器,而在組合邏輯中他則表達一個節點。(3)按照上述管工程進行編譯,會出現「warning: found pins functioning as undefined clocks and/or memory enables Info: Assuming node 」clock」 is an undefined clock」的警告,大概意思是指發現clock節點沒有定義成時鍾信號。消除這個警告的方法如下: ①選擇assignments→timing settings命令,在彈出的對話框中的clockseteings選項區中選中settingsfor indivial clock signals項。 ②對clocks進行設置,在彈出的對話框中單擊按鈕添加節點,按圖中所示進行設置。圖中requiredfmax 為系統需求的最大時鍾頻率,在這里填50HZ即可。 ③設置好之後連續單擊OK按鈕保存設置,最後再進行編譯,原先的warning就會消除。以上的操作是將「clock」加入時鍾域。如果「clock」不是一個時鍾信號,可將設置屬性改為「not a clock 」,也可以消除warning。

❹ 急急急!!! 求AT89C51單片機實訓製作音樂盒程序編寫!以下為電路原理圖。謝謝...晶振是12M

OUT BIT P2.3 ;定義音頻輸出埠,p2.3
N EQU 9 ;歌曲總數
OUT_NUM EQU P0 ;數碼管顯視當前所放歌曲曲數
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP LAST_SONG ;外部中斷0用於接上一曲歌按鍵
ORG 000BH
AJMP F_T0 ;定時器0用於定時,作音符發生器用
ORG 0013H
q4: AJMP NEXT_SONG ;外部中斷1接下一曲歌按鍵
ORG 001BH
AJMP START_PAUSE ;定時器1用計數,這里用作中斷,接開始/暫停鍵,初值為0ffH,方式2
ORG 0030H
MAIN: MOV SP,#60H
MOV DPTR,#TABLE ;DPRT指向每首歌曲的入口地址的地址。
MOV R0,#30H ;R0中存入數據30H,這里在以30H開始的單元存放每首歌曲的入口地址,其中30H,31H存放
;歌曲的節拍入口地址,32H,33H存放歌曲音符入口地址,每首歌佔用四個存儲存單元。
MOV R5,#00H ;R5中存放表TABLE中正在執行操作的序號
MOV R6,#1 ;R6存放正在設置入口信息的歌曲數
SET_TAB: MOV A,R5 ;設置每首歌曲的入口信息,存放在以30H開始的存儲單元中。
MOVC A,@A+DPTR
MOV @R0,A
INC R5
INC R0
MOV A,R5
MOVC A,@A+DPTR
MOV @R0,A
INC R5
INC R0
MOV A,R5
MOVC A,@A+DPTR
MOV @R0,A
INC R0
INC R5
MOV A,R5
MOVC A,@A+DPTR
MOV @R0,A
INC R0
INC R5
INC R6 ;設置完一首歌曲後,歌曲數加一
CJNE R6,#N+1,SET_TAB ;是否設置完,沒有便繼續,否則進行下面的操作
;*********************************** 對中斷,計數器的相關參數進行設置
MOV TMOD, #61H ;計數器0工作方式1,計數器1工作方式2
MOV TH1,#0FFH ;給計數器1置初值0FFH,又由於是工作方式2,所以
MOV TL1,#0FFH ;計數器計數為1,相當於一外部中斷。
SETB ET1 ;允許計數器1中斷
SETB ET0 ;允許計數器具0中斷
CLR PT0 ;計數器0為低優先順序
SETB PT1 ;計數器1為高優先順序
SETB IT0 ;外部中斷0為跳沿觸發
SETB PX0 ;高優先順序
SETB IT1 ;外部中斷1為跳沿觸發
SETB PX1 ;高優先順序
SETB EX1 ;允許外部中斷1中斷
SETB EX0 ;允許外部中斷定0中斷
SETB EA ;開中斷總開關
SETB TR1 ;定時器1開始工作,作中斷用
SETB OUT ;音頻輸出埠初始化
;*********************************** ;設置結束
CLR F0 ;設置F0=0,用來作暫停/播放的標置位用
MOV 22H,#01H ;22H單元中存放正在播放的歌曲編號
MOV DPTR,#OUT_TAB ;將正在播放的歌曲編號送數碼管顯視
MOV A,22H
MOVC A,@A+DPTR
MOV OUT_NUM,A
MOV R7,#00H ;R7中存放歌曲總信息的入口地址
START0:MOV R4,#00H ;R4存放當前正在播放歌曲的第幾個節拍數
MOV R0,#30H ;30H開始的單元中存放歌曲的入口信息
MOV A,R7 ;將歌曲的節拍表的入口地址送到DPTR
ADD A,R0
MOV R0,A
MOV DPH,@R0
INC R0
MOV DPL,@R0
INC R0
MOV A,R4
INC R4
MOVC A,@A+DPTR ;取出第一節拍數,其實第一個節拍不是歌曲的第一個節拍,而是表示幾分音符
;****************************************************
MOV 26H,A ;將取出的音符數+節拍數保存在職26H單元中
NEXT: MOV R0,#30H ;開始取出歌曲的第一個數據
MOV A,R7
ADD A,R0
MOV R0,A
MOV DPH,@R0
INC R0
MOV DPL,@R0
INC R0
MOV A,R4
INC R4
MOVC A,@A+DPTR ;放在A中
;****************************
JZ END0 ;若為0,則表示為休止符,不唱,本次音符不唱,
MOV R1,A ;不為0,取出節拍數
ANL A,#0FH
MOV R2,A
MOV A,R1
SWAP A
ANL A,#0FH
JNZ SING ;音符不為0,唱
CLR TR0 ;為0,不唱,關頻率發生器
SJMP SING1
SING: DEC A ;開始唱,進行相應的數據處理
MOV R3,A
RL A
MOV DPH,@R0
INC R0
MOV DPL,@R0
INC R0
MOVC A,@A+DPTR
MOV 21H,A
MOV TH0,A
MOV A,R3
RL A
INC A
MOVC A,@A+DPTR
MOV 20H,A
MOV TL0,A
SETB TR0 ;開唱
SING1:LCALL DELAY ;每個音符唱多久
JB F0,FOR ;是否暫停,
AJMP NEXT ;沒有暫停,繼續
FOR: CLR TR0 ;暫停,不唱
JB F0,$ ;等待播放
AJMP NEXT ;開始播放
END0: CLR TR0 ;不唱
MOV A,22H ;唱完處理
CJNE A,#N,WW ;是不是全部歌曲都唱完
MOV 22H,#01H ;全部唱完,則從第一首開始再唱
MOV R7,#00H
MOV OUT_NUM,#11111001B;數碼管顯視第一首歌曲編號
AJMP WWW
WW: MOV A,R7 ;沒有全部唱完,唱下一首,歌曲的入口信息調整
ADD A,#4
MOV R7,A
INC 22H
CLR EA
PUSH DPH
PUSH DPL
MOV A,22H
MOV DPTR,#OUT_TAB
MOVC A,@A+DPTR
MOV OUT_NUM,A ;數碼管顯視相應的歌曲編號
POP DPL
POP DPH
WWW: SETB EA
AJMP START0 ;開始下一首的演唱
F_T0: MOV TH0,21H ;定時器0置初值
MOV TL0,20H
CPL OUT ;頻率產生
RETI
NEXT_SONG: PUSH ACC ;下一曲中斷程序處理,保護現場
PUSH DPH
PUSH DPL
CLR EA ;關中斷
MOV A,22H
CJNE A,#N,Q ;是最後一首嗎?
MOV R7,#00H ;是最後一首,則R7指向第一首,演唱第一首
MOV 22H,#01H
AJMP BACK
Q: INC 22H ;不是最後一首,唱下一首,R7內容加4,歌曲數加1
MOV A,R7
ADD A,#4
MOV R7,A
BACK: MOV R4,#00H ;數碼管顯視相應的歌曲編號
MOV A,22H
MOV DPTR,#OUT_TAB
MOVC A,@A+DPTR
MOV OUT_NUM,A
;********************************************
MOV B,R0 ;對下首要演唱的歌曲的幾分拍進行調整,同時對R0中的內容進行保護
MOV R4,#00H
MOV R0,#30H
MOV A,R7
ADD A,R0
MOV R0,A
MOV DPH,@R0
INC R0
MOV DPL,@R0
INC R0
MOV A,R4
INC R4
MOVC A,@A+DPTR
MOV 26H,A ;結果存入26H單元中
DEC R4
MOV R0,B ;恢復R0中的內容
;********************************************
POP DPL ;恢復現場
POP DPH
POP ACC
SETB EA
RETI ;中斷返回
LAST_SONG: PUSH ACC ;上一曲中斷程序處理開始,保護現場
PUSH DPH
PUSH DPL
CLR EA ;關中斷
MOV A,22H ;曲目數送A
CJNE A,#1,QQ ;是否是第一首
MOV 22H,#N ;是第一首歌曲
MOV B,#4 ;將R7指向最後一首歌曲
MOV A,#N-1
MUL AB
MOV R7,A
AJMP BACK2 ;處理結束
QQ: DEC 22H
MOV A,R7 ;R7減4
SUBB A,#4
MOV R7,A
BACK2: MOV R4,#00H
MOV A,22H
MOV DPTR,#OUT_TAB
MOVC A,@A+DPTR
MOV OUT_NUM,A ;數碼管顯視相應歌曲的編號
;********************************************
MOV B,R0 ;對下首要演唱的歌曲的幾分拍進行調整,同時對R0中的內容進行保護
MOV R4,#00H
MOV R0,#30H
MOV A,R7
ADD A,R0
MOV R0,A
MOV DPH,@R0
INC R0
MOV DPL,@R0
INC R0
MOV A,R4
INC R4
MOVC A,@A+DPTR
MOV 26H,A ;結果存入26H單元中
DEC R4
MOV R0,B ;R0中的內容恢復
;********************************************
POP DPL ;恢復現場
POP DPH
POP ACC
SETB EA
RETI ;中斷返回
START_PAUSE:CPL F0 ;開始/暫停中斷處理程序,將標置位取反
JB F0,RETURN ;為1返回
SETB TR0 ;為0則播放
RETURN: RETI ;中斷返回
DELAY: MOV 27H,26H ;音符演奏時間控制
D2: MOV 28H,#125
D3: MOV 29H,#248
DJNZ 29H,$
DJNZ 28H,D3
DJNZ 27H,D2
DJNZ R2,DELAY
RET
;OUT_TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,73H
;共陰數碼管顯視用
OUT_TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH
;共陽
TABLE:
DW SONG1,TABLE1,SONG2,TABLE2,SONG3,TABLE3,SONG4,TABLE4 ,SONG5,TABLE5,SONG6,TABLE6,SONG7,TABLE7,SONG8,TABLE8
TABLE1:DW 64580,64684,64777,64820
DW 64898,64968,65030,64260
DW 64400,64524,65058,63835,64021
SONG1: ;精忠報國
DB 66H,52H,36H,22H,12H,12H,22H,32H,98H,84H,82H,92H,14H,12H,22H
DB 32H,52H,22H,42H,38H,66H,52H,36H,22H,12H,22H,22H,32H,98H
DB 24H,22H,32H,54H,52H,32H,92H,12H,92H,82H,98H,66H,52H,36H,22H
DB 12H,12H,22H,32H,98H,84H,82H,92H,14H,12H,22H,32H,52H,22H,42H,38H
DB 66H,52H,36H,22H,12H,22H,22H,32H,98H,24H,22H,32H,54H,52H,32H
DB 22H,12H,92H,82H,98H,14H,24H,34H,44H,64H,0B4H,64H,32H,52H
DB 62H,0B2H,62H,52H,38H,24H,22H,32H,54H,52H,62H,52H,32H,32H,22H,38H
DB 64H,0B4H,64H,32H,52H,62H,0B2H,62H,52H,38H,22H,22H,22H,32H,52H,52H
DB 52H,62H,7FH,74H,04H,58H,6FH
DB 00

TABLE2:DW 64580,64684,64777,64820
DW 64898,64968,65030,64260
DW 64400,64524,65058,63835,64021
SONG2: DB 02H,82H ;月亮代表我的心
DB 16H,32H,54H,02H,52H
DB 0A6H,32H,54H,02H,52H
DB 64H,74H,0B6H,64H
DB 52H,5CH,32H,22H
DB 16H,12H,14H,32H,22H
DB 16H,12H,14H,22H,32H
DB 26H,12H,94H,22H,32H
DB 2CH
DB 32H,52H
DB 36H,22H,14H,54H
DB 0ACH,92H,0A2H
DB 96H,0A2H,96H,82H
DB 3CH,54H
DB 36H,22H,14H,54H
DB 0ACH,92H,0A2H
DB 16H,12H,14H,22H,32H
DB 2CH,02H,82H
DB 16H,32H,56H,12H
DB 0A6H,32H,56H,52H
DB 66H,72H,0B6H,62H
DB 62H,52H,58H,32H,22H
DB 16H,12H,14H,32H,22H
DB 16H,12H,14H,22H,32H
DB 26H,92H,0A4H,12H,22H
DB 1CH
DB 00
TABLE3: DW 64580,64684,64777,64820
DW 64898,64968,65030,64260
DW 64400,64524,65058,63835,64021
SONG3: DB 0d4H,84H,94H,82H,92H ;看我七十二變
DB 12H,22H,82H,92H,02H,92H,82H,0d2H
DB 82H,92H,14H,84H,02H,0d1H,0d1H
DB 0c2H,0d2H,84H,0d2H,0d2H,82H,82H
DB 84H,82H,82H,94H,82H,0d2H
DB 82H,82H,82H,92H,02H,82H,82H,0d2H
DB 0c4H,84H,0d4H,92H,0d2H
DB 82H,0d2H,82H,92H,98H
DB 04H,94H,88H
DB 04H,94H,88H
DB 04H,94H,88H
DB 04H,94H,88H,04H
DB 32H,32H,22H,12H,02H,92H,12H,92H
DB 32H,32H,22H,12H,02H,92H,12H,92H
DB 32H,32H,22H,12H,02H,92H,12H,22H
DB 54H,44H,34H,12H,22H
DB 34H,22H,12H,02H,92H,12H,92H
DB 32H,32H,22H,12H,02H,92H,12H,92H
DB 32H,32H,22H,12H,02H,92H,12H,22H
DB 54H,44H,32H,22H,12H,92H
DB 00
TABLE4:DW 64580,64684,64777,64820
DW 64898,64968,65030,64260
DW 64400,64524,65058,63835,64021
SONG4:DB 82H,92H,12H,14H,12H,14H,92H,82H,12H,14H,22H,14H,92H,12H,22H,24H ;大海
DB 22H,24H,12H,92H,22H,24H,32H,24H,32H,52H,62H,54H,52H,64H,52H,32H
DB 22H,32H,22H,12H,94H,82H,92H,12H,14H,12H,14H,94H,1cH
DB 82H,92H,12H,14H,12H,14H,92H,82H,12H,14H,22H,14H,92H,12H,22H,24H
DB 22H,24H,12H,92H,22H,24H,32H,24H,32H,52H,62H,54H,52H,64H,52H,32H
DB 22H,32H,22H,12H,94H,82H,92H,12H,14H,12H,14H,22H,12H,1cH,32H,52H
DB 62H,64H,62H,64H,0b2H,62H,52H,54H,62H,54H,32H,22H
DB 12H,14H,12H,14H,24H,3cH,32H,22H,12H,14H,12H,14H,0b2H,62H,52H,54H,62H,54H,32H,52H
DB 66H,0b2H,0b4H,62H,52H,5cH,32H,52H,62H,64H,62H,64H,0b2H,62H,52H,54H
DB 62H,54H,32H,22H,12H,14H,12H,14H,54H,3cH,32H,22H,12H,14H,12H,14H,22H,32H
DB 52H,54H,32H,54H,32H,52H,6fH,04H,02H,92H,32H,24H,12H,1fH
DB 00

TABLE5:DW 64021,64103,64260,64400 ,64524,64580,64684,64777,64820,64898,64968,65030,64934
SONG5:DB 86H,92H,12H,22H,32H,52H,68H,63H,52H,34H,62H,0B2H,0B2H,62H,51H,61H,51H,31H,54H ;彩雲追月
DB 62H,0B2H,0B2H,62H,52H,32H,52H,52H,51H,61H,51H,31H,34H,52H,62H,74H,32H,52H,52H,32H,
DB 21H,31H,21H,11H,24H
DB 32H,52H,52H,32H,22H,12H,24H,32H,52H,52H,32H,62H,52H,61H,51H,
DB 31H,21H,21H,31H,21H,11H,1CH
DB 21H,31H,22H,23H,31H,21H,18H,02H,0B2H,0BCH,0B4H,72H,61H,51H,72H,61H,
DB 71H,61H,51H,61H,71H,61H,6FH
DB 86H,94H,12H,22H,32H,52H,64H,62H,51H,31H,52H,21H,31H,21H,33H,62H,0B2H,0B2H,62H,
DB 51H,61H,51H,31H,54H
DB 62H,0B2H,72H,61H,51H,51H,61H,51H,31H,54H,61H,0B2H,72H,61H,51H,51H,61H,51H,31H,32H,
DB 21H,11H,32H,51H,61H,54H
DB 02H,32H,24H,32H,52H,52H,32H,22H,31H,21H,11H,24H,32H,52H,62H,0B2H,72H,61H,51H,61H,
DB 51H,31H,32H,52H,52H,32H,62H
DB 51H,31H,31H,21H,11H,91H,23H,31H,21H,1CH,12H,24H,32H,62H,51H,31H,34H,0B4H,72H,
DB 61H,51H,63H,71H,64H
DB 0B2H,54H,72H,62H,71H,61H,54H,61H,51H,31H,21H,34H,73H,61H,54H,22H,32H,52H,22H,36H,
DB 52H,62H,61H,31H,32H,21H,11H,21H,11H,91H,81H
DB 94H,52H,62H,52H,42H,32H,22H,32H,52H,0B4H,74H,64H,52H,61H,51H,41H,5CH,02H,52H,0B4H,74H,
DB 63H,51H,61H,51H,31H,21H
DB 00
;*******************************************綠島小夜曲
TABLE6:DW 64021,6103,64260,64400,64524,64580,64624,64777,64820,64898,64958,65030,65058,65110,65157
SONG6: DB 06H
DB 0A2H,0B2H,0D2H,0B2H,0A4H,0B2H,0D2H
DB 0B2H,0A2H,82H,72H,88H
DB 72H,82H,0A2H,82H,72H,62H,42H,62H
DB 38H,38H
DB 0A4H,02H,0B2H,0A4H,84H
DB 72H,82H,72H,62H,72H,84H,72H
DB 64H,62H,12H,34H,02H,42H
DB 38H,38H
DB 44H,02H,32H,44H,64H
DB 72H,82H,72H,62H,72H,84H,0A2H
DB 72H,74H,82H,0A4H,02H,062H
DB 0A8H,0A8H
DB 0B2H,0B4H,0A2H,84H,82H,72H
DB 62H,72H,82H,0A2H,88H
DB 72H,74H,62H,42H,32H,32H,62H
DB 78H,78H
DB 82H,84H,72H,82H,0A2H,84H
DB 72H,82H,72H,62H,48H
DB 32H,0A2H,82H,0F2H,0A2H,0B2H,82H,72H
DB 68H,68H
DB 0B2H,0B2H,0B2H,0A2H,82H,84H,02H
DB 72H,74H,62H,42H,32H,42H,62H
DB 78H,78H
DB 0A2H,0B2H,0A2H,72H,82H,84H,82H
DB 72H,74H,62H,44H,64H
DB 0A8H,0A4H,02H,0A2H
DB 0A2H,0B1H,0A1H,82H,0A2H,0B4H,0B2H,0C2H
DB 0A2H,0B2H,0A2H,82H,78H
DB 84H,72H,62H,44H,02H,62H
DB 72H,81H,71H,62H,72H,84H,02H,0A2H
DB 0B4H,02H,82H,74H,82H,72H
DB 68H,68H
DB 00
TABLE7:
DW 64260,64400,64521,64580
DW 64684,64777,64820,64898
DW 64968,65030,65058,65110
DW 65157,65178,65217
SONG7: ;樂曲名稱《梁祝》
DB 02H,82H,62H,52H,48H,02H,52H,32H,22H,18H
DB 83H,91H,72H,62H,51H,61H,71H,61H,83H,61H
DB 81H,51H,61H,71H,61H,51H,46H,82H,32H,52H
DB 22H,42H,16H,21H,41H,18H,0E4H,13H,21H,43H
DB 51H,21H,41H,12H,83H,81H,61H,81H,58H,53H
DB 61H,31H,22H,13H,21H,42H,52H,0E2H,42H,21H
DB 11H,91H,41H,18H,63H,81H,32H,52H,21H,41H,
DB 16H,0E4H,11H,21H,31H,51H,26H,11H,21H,43H
DB 51H,82H,62H,52H,61H,51H,42H,21H,11H,0E4H
DB 44H,21H,41H,21H,11H,0E1H,11H,21H,41H,18H
DB 61H,81H,51H,61H,51H,41H,32H,21H,41H,18H
DB 08H,0H,04H ;曲子最後靜音5拍長的時間
DB 00H ;樂曲結束
TABLE8: ;決定音調的定時初值.
DW 64260,64400,64524,64580
DW 64684,64777,64820,64898
DW 64968,65030,65058,65110
DW 65157,65178,65217
SONG8: ;決定音調和節拍的表格,不同的歌曲只是此表不同
DB 82H,01H,81H,94H,84H,0B4H,0A4H,04H,82H,01H,81H,94H,84H,0C4H,0B4H,04H
DB 82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94H,0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04H
DB 82H,01H,81H,94H,84H,0B4H,0A4H,04H,82H,01H,81H,94H,84H,0C4H,0B4H,04H
DB 82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94H,0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04H,00
DB 02H,82H,62H,52H,48H,02H,52H,32H,22H,18H
DB 83H,91H,72H,62H,51H,61H,71H,61H,83H,61H
DB 81H,51H,61H,71H,61H,51H,46H,82H,32H,52H
DB 22H,42H,16H,21H,41H,18H,0E4H,13H,21H,43H
DB 51H,21H,41H,12H,83H,81H,61H,81H,58H,53H
DB 61H,31H,22H,13H,21H,42H,52H,0E2H,42H,21H
DB 11H,91H,41H,18H,63H,81H,32H,52H,21H,41H,
DB 16H,0E4H,11H,21H,31H,51H,26H,11H,21H,43H
DB 51H,82H,62H,52H,61H,51H,42H,21H,11H,0E4H
DB 44H,21H,41H,21H,11H,0E1H,11H,21H,41H,18H
DB 61H,81H,51H,61H,51H,41H,32H,21H,41H,18H
DB 08H,0H,04H ;曲子最後靜音5拍長的時間
DB 00H ;樂曲結束
END

❺ 單片機AT89c51的特點

AT89C51 提供以下標准功能:4k位元組Flash閃速存儲器,256位元組片內數據存儲器(00H -7FH為片內RAM,80H-FFH為特殊功能寄存器SFR),32 個I/O 口線,兩個16位定時/計數器,一個5向量兩級中斷結構,一個全雙工串列通信口,片內振盪器及時鍾電路。

AT89C51可降至0Hz的靜態邏輯操作,並支持兩種軟體可選的節電工作模式。空閑方式停止CPU的工作,但允許RAM,定時/計數器,串列通信口及中斷系統繼續工作。掉電方式保存RAM中的內容,但振盪器停止工作並禁止其它所有部件工作直到下一個硬體復位。

(5)at89c51單片機實訓報告擴展閱讀:

該器件採用ATMEL高密度非易失存儲器製造技術製造,與工業標準的MCS-51指令集和輸出管腳相兼容。由於將多功能8位CPU和閃速存儲器組合在單個晶元中,ATMEL的AT89C51是一種高效微控制器,AT89C051是它的一種精簡版本。AT89C51單片機為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。

現在AT89S51/52已經取代了AT89C51/52。

❻ 單片機AT89C51的優點有什麼做某些電路為什麼要選用它呢

指令簡單,易學易懂,外圍電路簡單,硬體設計方便,io口操作簡單,無方向寄存器,資源豐富,一般設計足夠用了,價格便宜、容易購買,資料豐富容易查到,程序燒寫簡單,好多的優點

❼ AT89C55單片機詳細介紹

沒有AT89C551,應該是AT89C51。
AT89C51簡介:
單片機的可擦除只讀存儲器可以反復擦除1000次。該器件採用ATMEL高密度非易失存儲器製造技術製造,與工業標準的MCS-51指令集和輸出管腳相兼容。由於將多功能8位CPU和閃速存儲器組合在單個晶元中,ATMEL的AT89C51是一種高效微控制器,AT89C051是它的一種精簡版本。AT89C51單片機為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。外形及引腳排列如圖所示。

主要特性

·與MCS-51 兼容

·4K位元組可編程FLASH存儲器
·壽命:1000寫/擦循環
·數據保留時間:10年
·全靜態工作:0Hz-24MHz
·三級程序存儲器鎖定
·128×8位內部RAM
·32可編程I/O線
·兩個16位定時器/計數器
·5個中斷源
·可編程串列通道
·低功耗的閑置和掉電模式
·片內振盪器和時鍾電路

❽ 單片機 外部中斷實驗 使用AT89C51

可能你說的LED等應該在P0口上,因為按鍵在P1口上,所以編程按這個來。
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
sbit key1=P1^0;
sbit key2=P1^1;
sbit key3=P1^2;
sbit key4=P1^3;
uchar time=20,cnt=0;
void t0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
cnt++;
if(cnt>=time)
{
cnt=0;
P0=_crol_(P0,1);
}
}
main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
ET0=1;
EA=1;
P0=0xfe;
while(1)
{
if(key1==0)
{
while(key1==0);
time=20;
}
if(key2==0)
{
while(key2==0);
time=40;
}

if(key3==0)
{
while(key3==0);
time=60;
}

if(key4==0)
{
while(key4==0);
time=80;
}

}
}

閱讀全文

與at89c51單片機實訓報告相關的資料

熱點內容
搜索pdf內容 瀏覽:497
程序員裝機必備的軟體 瀏覽:9
php微信第三方登錄demo 瀏覽:536
上海php工具開發源碼交付 瀏覽:790
哪裡有求購黃頁的源碼 瀏覽:194
商城礦機源碼礦場系統 瀏覽:196
單片機的led燈熄滅程序 瀏覽:224
洛陽python培訓 瀏覽:702
小鍵盤命令 瀏覽:194
單片機c語言返回主程序 瀏覽:816
dockerpythonweb 瀏覽:970
程序員演算法有多強 瀏覽:717
pythonworkbook模塊 瀏覽:245
什麼app能查醫生 瀏覽:175
輕量級的編程語言 瀏覽:338
程序員那麼可愛生孩子 瀏覽:432
後綴him3加密文件是什麼軟體 瀏覽:986
堅果隱藏app為什麼要140版本才能用 瀏覽:315
淘寶dns伺服器地址 瀏覽:259
領英轉型app哪個好用 瀏覽:943