




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
用單片機控制8位LED燈的流水點亮及其PROTEUS仿真摘要:LED燈的流水控制可以由多種方式實現,這里選用80c51系列單片機作為CPU,采用函數型指針的方式編程,用Proteus進行電路圖繪制和仿真,用keil進行編譯和虛擬寫入,得到了理想的仿真效果。Abstract:LEDlightsfromavarietyofwatercontrolcanbeachieved,80c51chosenhereasaseriesofsingle-chipCPU,theuseoffunctionalprogrammingguideway,usingProteusfordrawingcircuitdiagramsandsimulation,carriedoutusingkeilcompilerandvirtualwrite,beanidealsimulationoftheeffect.1引言1.1AT89C51簡介AT89C51是一種帶4K字節閃爍可編程可擦除只讀存儲器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。AT89C2051是一種帶2K字節閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C單片機為很多嵌入式控制系統提供了一種靈活性高且價廉的方案1.2Proteus簡介Proteus(海神)的ISIS是一款Labcenter出品的電路分析實物仿真系統,可仿真各種電路和IC,并支持單片機,元件庫齊全,使用方便,是不可多得的專業的單片機軟件仿真系統。該軟件的特點:①全部滿足我們提出的單片機軟件仿真系統的標準,并在同類產品中具有明顯的優勢。②具有模擬電路仿真、數字電路仿真、單片機及其外圍電路組成的系統的仿真、RS一232動態仿真、1C調試器、SPI調試器、鍵盤和LCD系統仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發生器等。③目前支持的單片機類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。④支持大量的存儲器和外圍芯片??傊撥浖且豢罴瘑纹瑱C和SPICE分析于一身的仿真軟件,功能極其強大,可仿真51、AVR、PIC。Proteus
與其它單片機仿真軟件不同的是,它不僅能仿真單片機CPU
的工作情況,也能仿真單片機外圍電路或沒有單片機參與的其它電路的工作情況。因此在仿真和程序調試時,關心的不再是某些語句執行時單片機寄存器和存儲器內容的改變,而是從工程的角度直接看程序運行和電路工作的過程和結果。對于這樣的仿真實驗,從某種意義上講,是彌補了實驗和工程應用間脫節的矛盾和現象。2仿真實驗過程2.1硬件設計由于在PROTEUS中單片機的的晶振等基本電路都默認設置為已經添加好,所以在繪制電路圖時不必畫出,線路連接如圖1.1圖1.12.2軟件設計在c語言中,指針變量除了能只想數據對象外,也可以指向函數。一個函數在編譯時分配了一個入口地址,這個入口地址就稱為函數的指針??梢杂靡粋€指針變量指向函數的入口地址,然后通過該指針變量調用此函數。定義指向函數的指針變量的一般形式如下:類型說明符(*指針變量名)(形參列表)函數的調用可以通過函數名調用,也可以通過函數指針來調用。要通過函數指針調用函數,只要把函數的名字賦給該指針就可以了。一個函數被執行時,在內存中占據一定的存儲單元,該存儲單元的起始地址是用函數名表示的,稱為函數的入口地址。因此可以用指針指向這個函數的入口地址,并通過該指針變量來調用這個函數,這種指針變量稱為函數型指針變量。函數型指針變量定義的一般形式為:數據類型標識符(*指針變量名)();其中,數據類型標識符說明該指針變量所指向函數返回值的數據類型。例如:int(*p1)();float(*p2)();以上定義了兩個函數型指針變量p1和p2,p1所指向的函數返回整數型數據,p2所指向的函數返回實數型數據。在程序中,一旦將函數的入口地址賦予指定的函數型指針變量,該指針變量就指向了一個具體的函數。還可以對一個函數型指針變量多次賦值,使該指針變量先后指向不同的函數。函數的入口地址賦給函數型指針變量后,函數的調用可以通過該指針的引用來實現。用函數型指針控制P1口燈花樣#include<reg51.h>//包含51單片機寄存器定義的頭文件unsignedcharcodeTab[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};//流水燈控制碼,該數組被定義為全局變量/**************************************************************函數功能:延時約150ms**************************************************************/voiddelay(void){unsignedcharm,n;for(m=0;m<200;m++)for(n=0;n<250;n++) ;}/**************************************************************函數功能:流水燈左移**************************************************************/voidled_flow(void){unsignedchari;for(i=0;i<8;i++)//8位控制碼{P0=Tab[i];delay();}}/**************************************************************函數功能:主函數**************************************************************/voidmain(void){void(*p)(void);//定義函數型指針,所指函數無參數,無返回值 p=led_flow;//將函數的入口地址賦給函數型指針pwhile(1)(*p)();//通過函數的指針p調用函數led_flow()}2.3程序寫入和連接過程在編譯時,由于系統質只辨識HEX類型文件,在51單片機的編輯屬性里寫入編譯好的HEX文件路徑輸入,設置好波特率,點擊仿真按鈕,即可看到仿真結果。圖1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國照明行業出海國別機會洞察報告
- 安全試題分類及答案圖片
- 游戲化教學在科學探究課程中的創新應用報告
- 2025年數字貨幣監管政策對金融監管機制的影響研究報告
- 周末安全提醒課件
- 周總理主題班會課件
- 走進民族英雄教育
- 助力冬奧班會課件
- 湖南省衡陽市耒陽市2025年八下英語期末學業水平測試模擬試題含答案
- 中國元素英文課件
- GB/T 37234-2018文件鑒定通用規范
- 健康減肥調脂降糖
- LaTeX科技排版課件
- 2023年河北交通投資集團有限公司招聘筆試題庫及答案解析
- 反向傳播算法課件
- 企業質量安全主體責任
- 南模自招試卷-2012年自主招生
- 數據倉庫開發規范
- 固定資產報廢申請單
- 小學美術人美五年級上冊偶戲皮影研究課教案
- 工程結算審核定案表(模板)
評論
0/150
提交評論