久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4193|回復: 1
打印 上一主題 下一主題
收起左側

基于單片機的心形燈制作

[復制鏈接]
跳轉到指定樓層
樓主
1  設計方案
1.1 總體設計目標
1.1.1使心形LED燈實現一亮一滅功能
利用C語言編程,使LED燈實現一亮一滅功能,循環兩次。
1.1.2使心形LED燈實現兩亮兩滅功能
使用C語言編程,實現LED燈兩亮兩滅,循環兩次。
1.1.3是心形LED流水燈具有4亮4滅功能,全亮全滅
使用C語言,實現LED流水燈4亮4,全亮全滅等循環。
1.1.4具有復位功能
在按下開關后,實現燈從一亮到全亮復位。   
1.2總體設計組成框圖
系統框圖如下




                           1.1系統框圖

運用單片機與芯片AT89S51功能,以及C語言程序編程,是LED燈實現多種亮滅方法,運用晶振給單片機芯片提供一個時鐘信號,本次實驗采用12MHz的晶振給單片機提供時鐘信號。                  

2        相關運用及功能
2.1流水燈運用
LED燈可以裝飾婚慶布置、賓館、酒店、酒吧、聚會、商廈、家居、櫥窗、俱樂部、音樂會、歌廳、時裝表演、舞廳、舞臺、等等各個場所, 也可以當做禮物送人。人們可以將各種亮法的燈去裝飾自己需要裝飾的地方,也可以安放在廣告牌,這樣更為吸引人們的關注。
2.2 單片機運用
目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網絡通訊與數據傳輸,工業自動化過程的實時控制和數據處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統,錄像機、攝像機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫療器械了。因此,單片機的學習、開發與應用將造就一批計算機應用與智能化控制的科學家、工程師。
單片機廣泛應用于儀器儀表、家用電器、醫用設備、航空航天、專用設備的智能化管理及過程控制等領域,大致可分如下幾個范疇:  
1.在智能儀器儀表上的應用  
2.在工業控制中的應用  
3.在家用電器中的應用  
4.在計算機網絡和通信領域中的應用  
5.單片機在醫用設備領域中的應用  
6.在各種大型電器中的模塊化應用   
7.單片機在汽車設備領域中的應用
此外,單片機在工商,金融,科研、教育,國防航空航天等領域都有著十分廣泛的用途。
2.3        AT89S51芯片功能
AT89S51是一個低功耗,高性能CMOS 8位單片機,片內含4k Bytes ISP(In-system programmable)的可反復擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術制造,兼容標準MCS-51指令系統及80C51引腳結構,芯片內集成了通用8位中央處理器和ISP Flash存儲單元,AT89S51在眾多嵌入式控制應用系統中得到廣泛應用。
主要性能特點
1、4k Bytes Flash片內程序存儲器;
2、128 bytes的隨機存取數據存儲器(RAM);
3、32個外部雙向輸入/輸出(I/O)口;
4、5個中斷優先級、2層中斷嵌套中斷;
5、6個中斷源;
6、2個16位可編程計數器;
7、2個全雙工串行通信口;
8、看門狗(WDT)電路;
9、片內振蕩器和時鐘電路;
10、與MCS-51兼容;
11、全靜態工作:0Hz-33MHz;
12、三級程序存儲器保密鎖定;
13、可編程串行通道;
14、低功耗的閑置和掉電模式。
管腳說明
VCC:電源電壓輸入端。
GND:電源地。
P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的低八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。

PDIP封裝的AT89S51管腳圖
P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。
P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。
P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口除了作為普通I/O口,還有第二功能:
P3.0 RXD(串行輸入口)
P3.1 TXD(串行輸出口)
P3.2 /INT0(外部中斷0)
P3.3 /INT1(外部中斷1)
P3.4 T0(T0定時器的外部計數輸入)
P3.5 T1(T1定時器的外部計數輸入)
P3.6 /WR(外部數據存儲器的寫選通)
P3.7 /RD(外部數據存儲器的讀選通)
P3口同時為閃爍編程和編程校驗接收一些控制信號。
I/O口作為輸入口時有兩種工作方式,即所謂的讀端口與讀引腳。讀端口時實際上并不從外部讀入數據,而是把端口鎖存器的內容讀入到內部總線,經過某種運算或變換后再寫回到端口鎖存器。只有讀端口時才真正地把外部的數據讀入到內部總線。89C51的P0、P1、P2、P3口作為輸入時都是準雙向口。除了P1口外P0、P2、P3口都還有其他的功能。
RST:復位輸入端,高電平有效。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。
ALE/PROG:地址鎖存允許/編程脈沖信號端。當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態ALE禁止,置位無效。
PSEN:外部程序存儲器的選通信號,低電平有效。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數據存儲器時,這兩次有效的/PSEN信號將不出現。
EA/VPP:外部程序存儲器訪問允許。當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。
XTAL1:片內振蕩器反相放大器和時鐘發生器的輸入端。
XTAL2:片內振蕩器反相放大器的輸出端。
3  軟件部分設計方案及仿真
3.1  multisim軟件功能簡介
Multisim是Interactive Image Technologies (Electronics Workbench)公司推出的以Windows為基礎的仿真工具,適用于板級的模擬/數字電路板的設計工作。它包含了電路原理圖的圖形輸入、電路硬件描述語言輸入方式,具有豐富的仿真分析能力。為適應不同的應用場合,Multisim推出了許多版本,用戶可以根據自己的需要加以選擇。在本書中將以教育版為演示軟件,結合教學的實際需要,簡要地介紹該軟件的概況和使用方法,并給出幾個應用實例。
Multisim是加拿大圖像交互技術公司(Interactive Image Technoligics簡稱IIT公司)推出的以Windows為基礎的仿真工具,適用于板級的模擬/數字電路板的設計工作。它包含了電路原理圖的圖形輸入、電路硬件描述語言輸入方式,具有豐富的仿真分析能力。
    工程師們可以使用Multisim交互式地搭建電路原理圖,并對電路行為進行仿真。Multisim提煉了SPICE仿真的復雜內容,這樣工程師無需懂得深入的SPICE技術就可以很快地進行捕獲、仿真和分析新的設計,這也使其更適合電子學教育。通過Multisim和虛擬儀器技術,PCB設計工程師和電子學教育工作者可以完成從理論到原理圖捕獲與仿真再到原型設計和測試這樣一個完整的綜合設計流程.
3.2  Altium Designer軟件功能簡介
Altium Designer 提供了唯一一款統一的應用方案,其綜合電子產品一體化開發所需的所有必須技術和功能。Altium Designer 在單一設計環境中集成板級和FPGA系統設計、基于FPGA和分立處理器的嵌入式以及PCB版圖設計、編輯和制造。并集成了現代設計數據管理功能,使得Altium Designer成為電子產品開發的完整解決方案-一個既滿足當前,也滿足未來開發需求的解決方案。
最新發布的 Altium Designer10 為您帶來了一個全新的管理元器件的方法。其中包括新的用途系統、修改管理、新的生命周期和審批制度、實時供應鏈管理等更多的新功能!
Release 10 將繼續保持不斷插入新的功能和技術的過程,使得您可以更方便輕松地創建您的下一代電子產品設計。 Altium 的統一的設計架構以將硬件,軟件和可編程硬件等等集成到一個單一的應用程序中而聞名。它可讓您在一個項目內,甚或是整個團隊里自由地探索和開發新的設計創意和設計思想,團隊中的每個人都擁有對于整個設計過程的統一的設計視圖。
Altium Designer 10 提供了一個強大的高集成度的板級設計發布過程,它可以驗證并將您的設計和制造數據進行打包,這些操作只需一鍵完成,從而避免了人為交互中可能出現的錯誤。發布管理系統簡化規范了發布您的設計項目的流程,或者更具體地說,是那些項目中定義的配置, 直觀,簡潔而且穩定。更重要的是,該系統可以被直接鏈接到您的后臺版本控制系統。 新增的強大的預發布版驗證手段的組合 - 用以確保所有包含在發布中的設計文件都是當前的,與存儲在您的版本控制系統中的相應的文件“主人”保持同步的文件,并且通過了所有特定的規則檢查ERC, DRC, 等等, 從而,您可以在更高層面上控制發布管理,并可保證卓越的發布質量。
3.3  keil軟件功能簡介
單片機開發中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變為CPU可以執行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。機器匯編是通過匯編軟件將源程序變為機器碼,用于MCS-51單片機的匯編軟件有早期的A51,隨著單片機開發技術的不斷發展,從普遍使用匯編語言到逐漸使用高級語言開發,單片機的開發軟件也在不斷發展,Keil軟件是目前最流行開發MCS-51系列單片機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境(uVision)將這些部份組合在一起。運行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統。掌握這一軟件的使用對于使用51系列單片機的愛好者來說是十分必要的,如果你使用C語言編程,那么Keil幾乎就是你的不二之選(目前在國內你只能買到該軟件、而你買的仿真機也很可能只支持該軟件),即使不使用C語言而僅用匯編語言編程,其方便易用的集成環境、強大的軟件仿真調試工具也會令你事半功倍。
  Keil C51開發系統基本知識Keil C51開發系統基本知識
  Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。用過匯編語言后再使用C來開發,體會更加深刻。
  Keil C51軟件提供豐富的庫函數和功能強大的集成開發調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發大型軟件時更能體現高級語言的優勢。下面詳細介紹Keil C51開發系統各部分功能和使用。
C51工具包的整體結構,如圖(1)所示,其中uVision與Ishell分別是C51 for Windows和for Dos的集成開發環境(IDE),可以完成編輯、編譯、連接、調試、仿真等整個開發流程。開發人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51創建生成庫文件,也可以與庫文件一起經L51連接定位生成絕對目標文件(.ABS)。ABS文件由OH51轉換成標準的Hex文件,以供調試器dScope51或tScope51使用進行源代碼級調試,也可由仿真器使用直接對目標板進行調試,也可以直接寫入程序存貯器如EPROM中。
3.4   設計步驟及方法
首先,確定好原理圖后,在multisim軟件上畫好,并仿真;仿真成功后再在Altium Designer軟件上面畫好PCB圖;然后在keil軟件軟件上面,用C語言進行編程,把程序錄入芯片AT89S51上面,再做板。
4  電路板的制作及調試
4.1 PCB的印制和電路板的制作
運行Altium Designer軟件,首先新建工程,新建一個原理圖文件,在Altium Designer中再選擇相應的元件,進行布局、連線,修改它所對應的封裝,再導入原理圖中,檢查原理圖無誤后,生成網絡表。新建一個PCB文件,導入前一步中生成的網絡表,排查其中的錯誤直到能夠成功導入。對于導入的元件進行布局,盡量使電路板看起來緊湊一些,同時減少線與線之間的交叉,減少不必要的跳線,使用手動布線之后再對照原理圖檢查多遍是否正確,然后去打印店打印PCB。
科協有印版的機器,在印制電路板前首先用砂紙將銅板打磨光滑方便印制和腐蝕,在印版時將電路板和打印的PCB紙緊密相貼,雙手送入機器當中,反印兩次之后就基本成功了,之后檢查是否存在有斷線,用油性筆將有斷線的地方即使連接起來。之后將濃鹽酸、雙氧水和水按照一定的比例配置成腐蝕液,將印制好的電路板放入其中,用手晃動盛有腐蝕液的容器可以加快反應速度。在反應完后取出電路板,用清水清洗之后就可以開始打孔了,打孔的時候要對準,不然在之后插元件尤其是多管腳的芯片時會很困難,也不要磨針,不然很容易就會斷。在打完孔之后,用砂紙打磨一遍,再涂上松香防止腐蝕,就可以開始對電路板進行元件的焊接了,焊接時應注意要焊穩,防止虛焊的產生。
如果腐蝕液以及反應完,可以向科協的同學說明,并在同學指導下把腐蝕液配置好,不要自己配置腐蝕液,并且注意安全。
4.2 電路板的調試過程及所遇問題的解決方案
電路所設計的功能能否實現,電路板制作的好壞也起了很大的作用。
在接通電源前,我先對電路中的主要線路進行了測量,包括電源線,排線,芯片之間的連線,然后就接上5V電源,開始對電路中的功能進行檢測。
接通5V電源后,首先觀察所以等是否都亮,如果不亮,一一看電路板是否虛焊了。還有燈如果亮,但是不按自己編的程序亮,還要看程序是否已經成功錄入芯片,或者程序錯誤,還有,程序對了,電路也沒有虛焊,燈并沒有按照程序亮法亮,這樣檢查焊錫是否多了,焊錫多了也容易出現問題,因為焊接時,焊錫會空隙焊接,實際上并沒有焊接好電路。
在這次的調試過程中,從最開始的制作PCB到后來的電路板進行實物檢測,我都遇到了很多的問題,以下是我對這些問題的解決過程以及從中獲得的心得體會
4.2.1元件的封裝
由于Altium Designer軟件配備的元件庫已經很舊了,因此在電路板的制作之前最好先買好元器件用游標卡尺對各個管腳的寬度進行測量,確定各個管腳的功能和封裝是否能夠對應,不然在焊好元件之后發現封裝錯誤只好重做,這也需要平時多動手,多熟悉各種元件的管腳功能,畢竟元器件店賣的芯片型號很多,實現的功能也可能和課本上的不一樣。也可以去上網百度,下載最新的元件庫,記得要多上網,接觸最新的信息。
4.2.2斷線和虛焊
由于科協做板的人很多,因此大家都是放在一起腐蝕,難免會有許多的剮蹭,因此腐蝕好的電路板出現斷線也就在所難免,因此在做完電路板,焊接好元件之后就要對線路進行全面的檢查,用萬用表對著原理圖來測量,不能光憑肉眼判斷。在這次的課設中,在焊好元件后我已經對線路進行了檢查,然后在后來的調試過程中發現原來檢查好的線路上又出現了斷線,應該是在調試的過程中剮蹭造成的,因此在電路不能實現功能時要及時進行線路的檢查。
在焊接的技術不是很熟練的時候,虛焊很容易出現,而且與斷線相比,它不容易被發現,特別是對于多管腳的芯片,由于前面打孔的時候沒打好,芯片插進去的時候就會很困難,很容易出現一些管腳沒有完全穿過去的情況,這個時候就最容易出現虛焊,在這次課設的過程中,就是有一個芯片的管腳沒有插好導致電路沒有實現功能。
還有,管腳特別多的時候,不能把管腳焊接在一起,這樣會造成電路短路,元器件會容易燒壞,所以,在接電源之前要注意檢查虛焊和焊接是否會造成短路。
還有注意芯片的保護,由于芯片管腳很多,而且芯片管腳比較小,所以在芯片的安放和拿出過程中必須要小心,不能把芯片管腳弄壞,建議使用工具把管腳取出。
4.2.3萬用表的使用
使用萬用表,可以檢查電路是否虛焊了,這樣有助于保證電路板成功實它的功能。
4.3 C語言程序運用
在本次課程設計中,c語言程序的編程對電路板最終功能實現占大部分的作用,以下是部分c語言程序代碼:
#include<reg51.h>
#define uint unsigned int
void delay1ms(unsigned int i)
{

unsigned char j;
while(i--)
{
for(j=0;j<125;j++)          //1ms基準延時程序
{
  ;
}

}

}
void main()

{ uint k;


  while(1)
  {
          for(k=0;k<2;k++)
          {
         P1=0XFF;                //16個led一個一個亮起
         P0=0xfe;
delay1ms(200);
  P0=0xfd;
delay1ms(200);
  P0=0xfb;
delay1ms(200);
    P0=0xf7;
delay1ms(200);
    P0=0xef;
delay1ms(200);
  P0=0xdf;
delay1ms(200);
  P0=0xbf;
delay1ms(200);
    P0=0x7f;
delay1ms(200);
                 P0=0XFF;
                 P1=0xfe;
delay1ms(200);
  P1=0xfd;
delay1ms(200);
  P1=0xfb;
delay1ms(200);
    P1=0xf7;
delay1ms(100);
    P1=0xef;
delay1ms(200);
  P1=0xdf;
delay1ms(200);
  P1=0xbf;
delay1ms(200);
    P1=0x7f;
delay1ms(200);
                                }
     由此可見,c語言編程是那么重要。


5 結論
本次課程設計,是第一次課程設計。感觸很深,本來很多軟件都還沒有學,像Altium Designer軟件和keil軟件,多虧同學的幫助,還有網上的很多視頻教程。在同學幫助下,還有老師指導和自己努力下,自己慢慢學會了很多東西。學會怎么樣繪制原理圖,繪制PCB板,還有怎樣更好去焊接板。
實驗中,由于是第一次由自己設計做的板,剛開始的時候,由于自己的理論不足,經驗不足,導致好多錯誤。不過,通過老師的指導,同學的幫助,還有自己去圖書館翻閱資料,在網上看很多軟件教學視頻,使自己學會了很多理論知識。在做電路板的過程中,自己去腐蝕,大孔,焊接還有校檢電路。在此過程中,知道注意設置PCB焊盤的大小,電路的銅線大小,還有打孔的大小。這些都會對后面焊接電路的成功與否有比較大的左右,還有也知道自己應該多動手,多多練習做電路板。
在本次課程設計過程中,我深刻了解到自己的各方面知識是多么匱乏,還有自己的動手能力是那么的弱。這告訴我多去學習相關資料,多去上網看一下關于專業所用的相關軟件教程,有什么不懂的地方,應該多去向老師請教,多去和同學交流。當然,最主要的還是多鍛煉自己的動手能。

完整的Word格式文檔51黑下載地址:
心形流水燈.rar (250.1 KB, 下載次數: 9)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:380488 發表于 2019-12-4 11:39 | 只看該作者
謝謝樓主
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99热国产在线播放 | 久久综合99| 亚洲性免费| 久久这里只有精品首页 | 在线播放中文字幕 | 国产精品99久久久久久www | 啪一啪| 九九热这里| 我要看免费一级毛片 | 国产精品99久久久久久久vr | 久久久久黄色 | 99re视频在线 | 午夜精品影院 | 国产日韩欧美一区二区 | 激情五月激情综合网 | 美女久久视频 | 91精品国产91久久久 | 亚洲一区欧美一区 | 日本不卡一区二区三区 | 亚洲精品一区二区三区 | 一级黄色网页 | 久久黄网| 神马影院一区二区三区 | 一区二区在线不卡 | 久久国产精品一区二区三区 | 一级片免费视频 | 性高湖久久久久久久久aaaaa | 亚洲aⅴ| 日韩欧美国产一区二区三区 | 国产ts人妖另类 | www.色.com | 一级亚洲| 精品无码三级在线观看视频 | 精品三级在线观看 | 成在线人视频免费视频 | 中文字幕在线观看www | 国产色婷婷精品综合在线播放 | 一区二区三区亚洲 | 国产精品欧美一区二区 | 国产高清在线 | 成人免费视频网站在线观看 |