(畢業論文)8X8_LED點陣顯示的設計_第1頁
(畢業論文)8X8_LED點陣顯示的設計_第2頁
(畢業論文)8X8_LED點陣顯示的設計_第3頁
(畢業論文)8X8_LED點陣顯示的設計_第4頁
(畢業論文)8X8_LED點陣顯示的設計_第5頁
已閱讀5頁,還剩27頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、單片機課程設計論文設計課題:8x8 led點陣顯示的設計目 錄第1章 系統概述1. 計任務及目的2第 2章 系統硬件設計與分析2.1 電源電路32.2 復位電路32.3 主體電路42.4 硬件電路連線42.5 顯示部分4第3章 單片機的配置及簡介3.1 單片機介紹63.2 單片機系統設計83.3 單片機的發展趨勢9第4章 系統軟件設計4.1 數字的編碼104.2 字母的編碼114.3 程序流程圖134.4 完整程序14第5章 有關軟件的介紹5.1 prote電路設計及pcb圖制作 175.2 keil c51 介紹及使用 185.3 燒錄器的使用19第6章 結束語 20參考文獻 20附圖一 原

2、理圖21附圖二 pcb圖 22第1章 系統概述 led點陣顯示系統中 各模塊的顯示方式有靜態和動態顯示兩種。靜態顯示原理簡單、控制方便,但硬件接線復雜, 在實際應用中一般采用動態顯示方式,動態顯示采用掃描的方式工作,由峰值較大的窄脈沖驅 動,從上到下逐次不斷地對顯示屏的各行進行選通,同時又向各列送出表示圖形或文字信息的脈沖信號,反復循環以上操作,就可顯示各種圖形或文字信息。本文將介紹一種采用單片機at89s51進行控制的8*8led點陣。該點陣可實現動態顯示數字09及字符az的功能。1.1設計任務及目的利用8*8led點陣顯示數字09和26個英文字符的字樣。采用at89s51單片機作為整個控制

3、搭電路的核心,并編制軟件程序,實現動態輪流顯示。通過此設計來鞏固單片機硬件系統的設計及軟件系統的編程,通過設計將平時所學知識付諸實踐,提高動手能力。第2章 系統硬件設計與分析本系統從經濟性,電路結構,系統性能等多方面考慮,選用如下主要元器件:單片機at89s51、電阻10k和100歐、三極管8550、按鈕開關、共陽8*8led點陣顯示塊、穩壓塊7805。2.1 電源電路本設計實驗所需電源為直流五伏電壓源,采用的是固定式三端穩壓器7805還實現。其線路接線圖如圖1所示:圖1 電源電路2.2 復位電路單片機在啟動運行時需要復位,使cpu以及其他功能部件處于一個確定的初始狀態,并從這個狀態開始工作,

4、另外,在單片機工作過程中,如果出現死機時,也必須對單片機進行復位,使其重新開始工作。本設計中采用按鍵復位電路,復位電路如圖2所示:圖2 復位電路2.3 主體電路通過單片機at89s51的p0口和p1口去驅動點陣led芯片塊。電路如圖3所示:圖3 主體電路2.4 硬件電路連線 1. 把“單片機系統”區域中的p0.0p0.7端口分別通過八個100歐電阻連接到“點陣模塊”區域中的“l1l8”端口上;2. 把“單片機系統”區域中的p1.0p1.7端口通過三極管8550和10k電阻連接到“點陣模塊”區域中的“s1s8”端口上。2.5 顯示部分1. 8x8點陣led工作原理說明圖4為88點陣led外觀及引

5、腳圖,其等效電路如圖(2)所示,只要其對應的x、y軸順向偏壓,即可使led發亮。例如如果想使左上角led點亮,則y0=1,x0=0即可。應用時限流電阻可以放在x軸或y軸。圖4 88點陣led外觀及引腳圖其等效電路圖如下:圖5 88點陣led等效電路2. 點陣led掃描法介紹點陣led一般采用掃描式顯示,實際運用分為三種方式:(1)點掃描; (2)行掃描;(3)列掃描。若使用第一種方式,其掃描頻率必須大于1664=1024hz,周期小于1ms即可。若使用第二和第三種方式,則頻率必須大于168=128hz,周期小于7.8ms即可符合視覺暫留要求。此外一次驅動一列或一行(8顆led)時需外加驅動電路

6、提高電流,否則led亮度會不足。第3章 單片機的配置及簡介3.1 單片機介紹所謂單片機,就是將cpu,ram,rom,定時/計數器和多種i/o接口電路都集成在一塊集成芯片上的微型計算機。mcs-51系列單片機是美國intel公司在1980年推出的8位單片 微型計算機 ,包含51和52兩個子系列。51子系列的典型產品有8031,8051和8751三種機型 52子系列包括8032,8052二種主要機型。 51子系列的配置如下:(1)8位cpu;(2)振蕩頻率1.212mhz;(3)128個字節的片內數據存儲器(片內ram);(4)21個專用寄存器;(5)4kb的片內程序存儲器(8031無);(6)

7、8位并行i/o口p0,p1,p2,p3;(7)一個全雙工串行i/o口;(8)2個16位定時器/計數器;(9)5個中斷源,分為2個優先級; 本系統選用atmel89s51系列單片機,由于它的模塊化設計為適應具體的應用提供了極大的靈活性,便于擴展功能,有效的提高了系統的經濟性。at89s51是一種低工耗、高性能的片內含有4kb快閃可編程/擦除只讀存儲器的八位cmos微控制器,使用高密度、非易失存儲編程器對程序存儲器重復編程。at89s51具有以下特點:(1)與mcs-51微控制器產品系列兼容。(2)片內有4kb可在線重復編程的快閃擦寫存儲器。(3)32條可編程i/o線。(4)程序存儲器具有三級加密

8、保護。(5)可編程全全雙工串行通道。(6)空閑狀態維持低功耗和掉電狀態保存存儲內容。(7)而且與87c51系列的引腳也完全兼容。89s51單片機結構如圖3-1所示: 圖3-1 89s51單片機結構框圖51系列單片機的引腳功能:主電源引腳 vss、vcc vss:接地,vcc:接+5v電源外接晶振引腳 xtal1、xtal2 xtal1:片內反向放大器輸入端,xtal2:片內反向放大器輸出端輸入/輸出引腳 p0、p1、p2、p3p0.0p0.7:p0口的8個引腳,p0口是8位漏極開路型雙向i/0端口,在接有片外存儲器或i/0擴展接口時,p0.0p0.7分時復用,作低8位地址總線與雙向8位數據總線

9、p1.0p1.7:p1口的8個引腳,p1口是一個帶內部上拉電阻的8位雙向i/o口,對于52子系列,p1.0還可用于定時器/計數器2的計數脈沖輸入端2,1.1還可作定時器/計數器2的外部控制端t2ex。p2.0p2.7:p2口的8個引腳,p2口也是一個帶內部上拉電阻的雙向i/o口,在訪問片外存儲器或擴展i/o接口時,還用于提供高8位地址。p3.0p3.7:p3口的8個引腳,p3口也是一個帶上拉電阻的i/o口,除可以作雙向的輸入輸出口外,還具有第2功能。見表3-1表3-1 p3口第二功能表引腳第二功能p3.0p3.1p3.2p3.3p3.4p3.5p3.6p3.7rxd(串行口輸入)txd(串行口

10、輸出)int0(外部中斷0輸入)int1(外部中斷1輸入)t0(定時器0的外部中斷)t1(定時器1的外部中斷)wr(片外數據存儲器寫控制信號)rd(片外數據存儲器讀控制信號)控制線(4條):ale/prog:雙功能引腳。由于p0口的8個引腳是低8位地址總線與數據總線分時復用,因此必須將p0口輸出的低8位地址進行鎖存。在訪問片外存儲器時,每機器周期該信號出現2次。其下降沿用于控制鎖存p0口輸出的低8 位地址。即使不訪問片外存儲器,該引腳上仍出現上述頻率的周期性信號,因此也可作為對外輸出的時鐘脈沖,頻率為振蕩器頻率的1/6,必須注意的是:在訪問片內外存儲器時,ale脈沖會跳空1個。對片內含有epr

11、om的機型,此引腳在編程時可作為編程脈沖prog的輸入端。 psen: 片外程序存儲器讀選通信號輸出端,在cpu從片外程序存儲器取指期間,此信號每個機器周期兩次有效,以通過p0口讀入指令,在訪問片外數據存儲器時,該信號不出現。ea/vpp: 雙功能引腳,為片外程序存儲器選用端。當該引腳信號有效時,選擇片外程序存儲器,即ea/vpp=1時,訪問片內程序存儲器。 對片內含有eprom的機型,此引腳在編程期間用于施加+21v的編程電壓。rst/vpo: 雙功能引腳,在單片機工作期間,當此引腳上出現連接2個機器周期的高電平時可實現復位操作。 在vcc掉電期間,若該引腳接備用電源(+5v),可向片內ra

12、m供電,以保存片內ram中的信息。3.2 單片機系統設計按照單片機系統擴展與系統配置狀況,單片機應用系統可分為最小系統、最小功耗系統和典型應用系統等。(1)最小應用系統:能維持單片機運行的最簡單配置的系統。這種系統成本低廉、結構簡單,常常構成一些簡單的控制系統,如開關狀態的輸入/輸出控制等。對于片內有rom/eprom/flash ram的單片機,構成最小應用系統時,只要將單片機接上時鐘電路、復位電路和電源即可,如圖3-2(a)所示。xtal1 p2.72.0xtal2 89s51 rst ale p0.70.0地址鎖存epromxtal1 p0 p1xtal2 p2 p3rst 89s51

13、圖3-2 89s51單片機最小應用系統由于集成度的限制,這種最小應用系統只能用作一些小型的控制單元。其應用特點是:有可供用戶使用的大量i/o口線,p0、p1、p2、p3都可用作用戶i/o口用。由于沒有外部存儲器擴展,應接高電平。內部存儲器容量有限(只有4kb地址空間)。應用系統開發具有特殊性。由于這類應用系統應用程序量不大,外電路簡單,因而采用模擬開發手段較好。對于片內無rom/eprom/flash ram的單片機,其最小系統除了外部配置時鐘電路、復位電路和電源外,還應在片外擴展eprom、eeprom作為程序存儲器用,如圖3(b)所示,應接地。(2)最小功耗應用系統最小功耗應用系統是指為了

14、保證正常運行,系統的功率消耗最小。這是單片機應用系統中的一個引人入目的構成方式。在單片機芯片結構設計時,一般為構成最小功耗應用系統提供了必要條件,例如,各種系列的單片機都有cmos工藝類型,而且在這類單片機中都設置了低功耗運行的wait和stop方式。設計最小功耗應用系統時,必須使系統內的所有器件、外設都有最小的功耗,而且能充分運用wait和stop方式運行。最小功耗應用系統常用在一些袖珍式智能儀表、野外工作儀表以及在無源網絡、接口中的單片機工作子站。3.3 單片機的發展趨勢今后單片機的發展趨勢,將是進一步向著多功能、高性能、高速度、低功耗、低價格、存儲容量擴大和增強i/o功能及結構兼容等方面

15、發展。其發展趨勢主要有以下幾個方面:1. 多功能 在單片機中盡可能多地把應用所需的存儲器、各種功能的i/o口都集成在一塊芯片內,使單片機的功能更加強大。如把led、lcd或vfd顯示驅動器也開始集成在8位單片機中。2. 高性能 進一步改進cpu的性能,加快指令運算的速度和提高系統控制的可靠性,采用精簡指令系統計算機risc(reduced instruction set computer)結構和流水線技術,大幅度提高運行速度?,F指令速度最高者已達100mips(million instruction per seconds,即兆指令每秒),并加強了位處理功能、中斷和定時控制功能,使單片機的性能

16、明顯地優于同類型的微處理器。單片機集成度進步提高,有的單片機的尋址能力已突破64 kb的限制,8位、16位的單片機有的尋址能力已達到1 mb和16 mb。片內rom的容量可達64 kb,ram的容量可達2 kb。3. 低電壓、低功耗 允許使用的電壓范圍越來越寬,一般在36v范圍內工作,有的已能在1.2v或0.9v電壓下工作。幾乎所有的單片機都具有省電運行方式。單片機的功耗已從ma級降到a級,甚至1a以下,在一粒鈕扣電池下就可長期工作。低功耗化的效應不僅是功耗低,而且帶來了產品的高可靠性、高抗干擾能力以及產品的便攜化。4. 低價格 單片機應用的另一顯著特點是量大面廣。促使世界各國公司在提高單片機

17、性能的同時,也十分注意降低價格。如z-8系列的z8600、80c51系列的80c31每片僅售1-1.5美元。提高性能價格比是各公司競爭的主要策略和不懈追求的目標。第4章 系統軟件設計利用數組將各數字字符的編碼存放在寄存器中,在執行顯示過程中從寄存器中將對應數字或字符編碼的數組一一輪流調出即可實現動態。4.1數字的編碼各個數字對應的編碼如下:0x0c,0x12,0x12,0x12,0x12,0x12,0x0c,0x00,/*0,0*/ /顯示數字0/0x04,0x06,0x04,0x04,0x04,0x04,0x0e,0x00,/*1,1*/ /顯示數字1/0x0c,0x12,0x10,0x08

18、,0x04,0x02,0x1e,0x00,/*2,2*/ /顯示數字2/0x0c,0x12,0x10,0x0c,0x10,0x12,0x0c,0x00,/*3,3*/ /顯示數字3/0x08,0x0c,0x0c,0x0a,0x0a,0x1e,0x08,0x00,/*4,4*/ /顯示數字4/0x1e,0x02,0x02,0x0e,0x10,0x10,0x0e,0x00,/*5,5*/ /顯示數字5/0x0c,0x12,0x02,0x0e,0x12,0x12,0x0c,0x00,/*6,6*/ /顯示數字6/0x1e,0x12,0x10,0x08,0x04,0x04,0x04,0x00,/*7,

19、7*/ /顯示數字7/0x0c,0x12,0x12,0x0c,0x12,0x12,0x0c,0x00,/*8,8*/ /顯示數字8/0x0c,0x12,0x12,0x1c,0x10,0x12,0x0c,0x00,/*9,9*/ /顯示數字9/4.2字母的編碼各個字母所對應的編碼如下:0x0c,0x12,0x12,0x12,0x1e,0x12,0x12,0x00,/*a,0*/ /顯示字母a/0x0e,0x12,0x12,0x0e,0x12,0x12,0x0e,0x00,/*b,1*/ /顯示數字b/0x0c,0x12,0x02,0x02,0x02,0x12,0x0c,0x00,/*c,2*/

20、/顯示數字c/0x0e,0x12,0x12,0x12,0x12,0x12,0x0e,0x00,/*d,3*/ /顯示數字d/0x1e,0x02,0x02,0x0e,0x02,0x02,0x1e,0x00,/*e,4*/ /顯示數字e/0x1e,0x02,0x02,0x0e,0x02,0x02,0x02,0x00,/*f,5*/ /顯示數字f/0x0c,0x12,0x02,0x1a,0x12,0x12,0x0c,0x00,/*g,6*/ /顯示數字g/0x12,0x12,0x12,0x1e,0x12,0x12,0x12,0x00,/*h,7*/ /顯示數字h/ 0x0e,0x04,0x04,0x

21、04,0x04,0x04,0x0e,0x00,/*i,8*/ /顯示數字i/0x10,0x10,0x10,0x10,0x12,0x12,0x0c,0x00,/*j,9*/ /顯示數字j/0x12,0x12,0x0a,0x06,0x0a,0x12,0x12,0x00,/*k,10*/ /顯示數字k/0x02,0x02,0x02,0x02,0x02,0x02,0x1e,0x00,/*l,11*/ /顯示數字l/0x12,0x1e,0x1e,0x12,0x12,0x12,0x12,0x00,/*m,12*/ /顯示數字m/0x12,0x16,0x16,0x1a,0x1a,0x12,0x12,0x00

22、,/*n,13*/ /顯示數字n/0x1e,0x12,0x12,0x12,0x12,0x12,0x1e,0x00,/*o,14*/ /顯示數字o/0x0e,0x12,0x12,0x0e,0x02,0x02,0x02,0x00,/*p,15*/ /顯示數字p/0x0c,0x12,0x12,0x12,0x16,0x1a,0x1c,0x00,/*q,16*/ /顯示數字q/0x0e,0x12,0x12,0x0e,0x06,0x0a,0x12,0x00,/*r,17*/ /顯示數字r/0x0c,0x12,0x02,0x0c,0x10,0x12,0x0c,0x00,/*s,18*/ /顯示數字s/0x1

23、e,0x04,0x04,0x04,0x04,0x04,0x04,0x00,/*t,19*/ /顯示數字t/0x12,0x12,0x12,0x12,0x12,0x12,0x0c,0x00,/*u,20*/ /顯示數字u/0x12,0x12,0x12,0x12,0x0c,0x0c,0x0c,0x00,/*v,21*/ /顯示數字v/0x12,0x12,0x12,0x12,0x1e,0x1e,0x12,0x00,/*w,22*/ /顯示數字w/0x12,0x12,0x0c,0x0c,0x0c,0x12,0x12,0x00,/*x,23*/ /顯示數字x/0x11,0x11,0x0a,0x04,0x0

24、4,0x04,0x04,0x00,/*y,24*/ /顯示數字y/0x1e,0x10,0x08,0x0c,0x04,0x02,0x1e,0x00,/*z,25*/ /顯示數字z/tho ,tlo裝入初值開始4.3 程序流程圖調用數組賦給p0cnta+cntb+tr0置1 啟動t0tmod初始化tf0=1嗎?有復位鍵按下?tf0=0nyycnta=8?nyncntb=57?y4.4 完整程序#include at89s51.hunsigned char code tab=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;unsigned char code digi

25、ttab8=0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,/* ,0*/0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,/* ,0*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,/*_,0*/0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,/*_,0*/0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,/*_,0*/0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,/*_,0*/0x00,0x00,0x

26、00,0xff,0xff,0xff,0xff,0xff,/*_,0*/0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,/*_,0*/0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,/*_,0*/0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,/*_,0*/0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,/*|,0*/0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,/*|,0*/0x04,0x04,0x04,0x04,0x04,0x04,

27、0x04,0x04,/*|,0*/0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,/*|,0*/0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,/*|,0*/0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,/*|,0*/0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,/*|,0*/0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,/*|,0*/0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,/* ,0*/0

28、x08,0x3e,0x7f,0x24,0x1a,0x49,0x78,0x00,/*老,0*/ 0x72,0x24,0xfe,0xae,0xee,0x24,0x22,0x21,/*師,0*/0x0a,0xea,0x9f,0xfa,0x4a,0x44,0x6a,0x51,/*好,0*/0x0c,0x12,0x12,0x12,0x12,0x12,0x0c,0x00,/*0,0*/0x04,0x06,0x04,0x04,0x04,0x04,0x0e,0x00,/*1,1*/0x0c,0x12,0x10,0x08,0x04,0x02,0x1e,0x00,/*2,2*/0x0c,0x12,0x10,0x0

29、c,0x10,0x12,0x0c,0x00,/*3,3*/0x08,0x0c,0x0c,0x0a,0x0a,0x1e,0x08,0x00,/*4,4*/0x1e,0x02,0x02,0x0e,0x10,0x10,0x0e,0x00,/*5,5*/0x0c,0x12,0x02,0x0e,0x12,0x12,0x0c,0x00,/*6,6*/0x1e,0x12,0x10,0x08,0x04,0x04,0x04,0x00,/*7,7*/0x0c,0x12,0x12,0x0c,0x12,0x12,0x0c,0x00,/*8,8*/0x0c,0x12,0x12,0x1c,0x10,0x12,0x0c,0

30、x00,/*9,9*/0x0c,0x12,0x12,0x12,0x1e,0x12,0x12,0x00,/*a,0*/0x0e,0x12,0x12,0x0e,0x12,0x12,0x0e,0x00,/*b,1*/0x0c,0x12,0x02,0x02,0x02,0x12,0x0c,0x00,/*c,2*/0x0e,0x12,0x12,0x12,0x12,0x12,0x0e,0x00,/*d,3*/0x1e,0x02,0x02,0x0e,0x02,0x02,0x1e,0x00,/*e,4*/0x1e,0x02,0x02,0x0e,0x02,0x02,0x02,0x00,/*f,5*/0x0c,0x

31、12,0x02,0x1a,0x12,0x12,0x0c,0x00,/*g,6*/0x12,0x12,0x12,0x1e,0x12,0x12,0x12,0x00,/*h,7*/0x0e,0x04,0x04,0x04,0x04,0x04,0x0e,0x00,/*i,8*/0x10,0x10,0x10,0x10,0x12,0x12,0x0c,0x00,/*j,9*/0x12,0x12,0x0a,0x06,0x0a,0x12,0x12,0x00,/*k,10*/0x02,0x02,0x02,0x02,0x02,0x02,0x1e,0x00,/*l,11*/0x12,0x1e,0x1e,0x12,0x1

32、2,0x12,0x12,0x00,/*m,12*/0x12,0x16,0x16,0x1a,0x1a,0x12,0x12,0x00,/*n,13*/0x1e,0x12,0x12,0x12,0x12,0x12,0x1e,0x00,/*o,14*/0x0e,0x12,0x12,0x0e,0x02,0x02,0x02,0x00,/*p,15*/0x0c,0x12,0x12,0x12,0x16,0x1a,0x1c,0x00,/*q,16*/0x0e,0x12,0x12,0x0e,0x06,0x0a,0x12,0x00,/*r,17*/0x0c,0x12,0x02,0x0c,0x10,0x12,0x0c,

33、0x00,/*s,18*/0x1e,0x04,0x04,0x04,0x04,0x04,0x04,0x00,/*t,19*/0x12,0x12,0x12,0x12,0x12,0x12,0x0c,0x00,/*u,20*/0x12,0x12,0x12,0x12,0x0c,0x0c,0x0c,0x00,/*v,21*/0x12,0x12,0x12,0x12,0x1e,0x1e,0x12,0x00,/*w,22*/0x12,0x12,0x0c,0x0c,0x0c,0x12,0x12,0x00,/*x,23*/0x11,0x11,0x0a,0x04,0x04,0x04,0x04,0x00,/*y,24*

34、/0x1e,0x10,0x08,0x0c,0x04,0x02,0x1e,0x00,/*z,25*/;unsigned int timecount;unsigned char cnta;unsigned char cntb;void main(void) tmod=0x01; th0=(65536-3000)/256; tl0=(65536-3000)%256; tr0=1; et0=1; ea=1; while(1) ; void t0(void) interrupt 1 using 0 th0=(65536-2000)/256; tl0=(65536-2000)%256; p1=0xff;

35、/消除顯示重影問題 p0=digittabcntbcnta; p1=(0x01cnta); cnta+; if(cnta=8) cnta=0; timecount+; if(timecount=500) timecount=0; cntb+; if(cntb=57) cntb=0; 第5章 有關軟件的介紹5.1 protel電路設計及pcb圖制作protel99se是桌面環境下第一個以設計管理和協作技術為核心的全方位印刷電路板設計系統,它集強大的設計能力,復雜工藝的可生產性和設計過程管理于一體,可完整實現電子產品從概念設計到生成物理生產數據的全過程,以及中間的所有分析,仿真和驗證。整個過程包括

36、以下幾個步驟:(1)構想電路模型(2)設計電路原理圖(3)校對后輸出原理圖(4)產生網絡表(5)設計印刷電路板(6)檢查后輸出pcb板圖 圖5-1 protel設計流程圖1. 原理圖設計先進入protel99se主界面。執行file/new命令,進入一個新的項目設計,新建一個設計管理數據庫文件。在document 下新建一個原理圖文件然后進入編輯窗口,進行原理圖的設計與編輯。本設計繪制好的原理圖見附錄所示。在調用元器件時,如果需要用到一些現存庫中沒有的元件,要對原理圖設計軟件包中的庫做些補充,添加一些新的元件。以使原理圖上的所有元件都能在庫中找到。繪制完原理圖需要對各個元件進行封裝,一般器件封

37、裝庫內都有相應的封裝,沒有適當的封裝時應當自己進行封裝圖設計,并將該封裝圖設計調入封裝庫中,以便自己對元器件封裝時可以用到。然后對所設計的電路圖進行erc檢查,不通過檢查的話根據提示進行修改,例如沒有接好線,封裝不當,引腳定義設定不正確等。如果通過erc檢查,則可以執行design/create netlist命令生成網絡表。2. pcb圖制作對原理圖生成網絡表后,就可以在pcb編輯環境下進行pcb圖的設計與編輯了,在pcb環境下導入網絡表,這時在pcb設計界面內將出現所有器件的封裝圖,將所有的元件拖入布線區進行手動布局,布局之后設定好連線寬度,單面或雙面板設定(本設計僅需要單面板即可完成設計

38、)等設定布線規則后再keepout layer將所有器件框在內,然后在bottom layer進行連線。一般使用auto route命令進行進行自動布線了,自動布線之后再進行手工的修改。3. 印制板的制作用轉印紙打印出pcb圖,將pcb圖熨燙到電路板上,熨燙時要注意受熱均勻完整,然后用三氯化鐵溶液腐蝕電路板,為加快速度可以加少量熱水和適當的進行晃動;用天那水把油墨洗干凈,最后焊接元件。焊接前涂上酒精松香溶液,以便到時候焊接板子更容易和防止銅線被腐蝕。制作好電路板以后要仔細檢查電路,看看有沒有虛焊、漏焊、短路、斷路等等常見問題,為以后的總體調試打好基礎。5.2 keil c51 介紹及使用本設計

39、中源程序程序的編寫與調試是在keil c51集成環境uvision中進行的。keil c51是美國keil software公司出品的51系列兼容單片機c語言軟件開發系統,與匯編相比,c語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。keil c51軟件提供豐富的庫函數和功能強大的集成開發調試工具,全windows界面,界面友好,操作簡單。另外重要的一點是只要看一下編譯后生成的匯編代碼,就能體會到keil c51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發大型軟件時更能體現高級語言的優勢。(1)建立一個新的工程::單擊“ptoject”菜單,在

40、彈出的下拉菜單中選擇“new project”選項。然后選擇你要保存的路徑,輸入工程的名字然后點擊保存。這時會彈出一個對話框,要求你選擇單片機的型號,根據你所用的單片機來選擇,keil c51幾乎支持所有的51內核的單片機,在本設計中選擇的是at89s51。(2)編寫程序:單擊“file”菜單,在下拉菜單中選擇“new”,這時編輯窗口會出現一個text1窗口,光標在該窗口中閃爍,首先保存該空白文檔,單擊菜單上的“file”, 在彈出的下拉菜單中選擇“save as”選項,在出現的對話框中鍵入欲使用的文件名并同時鍵入正確的后綴名(本設計中為.asm),然后保存。回到編輯界面后,單擊“target

41、 1”前面的“+”,然后在“source group 1”上單擊右鍵,在彈出菜單中選擇“add files to group source group 1”,選中設計所需要的源程序文件,然后單擊“add”,這時注意到“source group 1”文件夾中多了若干個子項,子項的多少跟所增加的源程序的多少相同。這時就可以鍵入應用程序了。keil c51 會自動識別關鍵字,并以不同的顏色提醒用戶加以注意,這樣會使用戶少犯錯誤,有利于提高編程效率。(3) 編譯并生成hex文件:程序編寫完成以后,單擊“ptoject”菜單,在下拉菜單中選擇“built target”選項,或者使用快捷鍵f7。編譯成功

42、后右擊“target 1”在彈出菜單中選擇“options for target target 1”,在彈出的對話框中選擇“output”選項中的“creat hex file”選項使程序編譯后產生hex代碼,供下載器軟件使用。5.3 燒錄器的使用本設計中程序是用easy 51pro編程器燒寫的。easy 51pro編程器是一款操作簡單、容易自制、容易擴充、非常穩定、靈活的isp編程器。它支持hex文件,有重載的文件對話框,讓你不必到處去找文件而且有熱鍵支持,讓我們調試程序時效率更高。接好編程器的硬件電路后,在最上方選擇你要編程的器件后點擊“檢測器件”,如果檢測到了器件,左邊的狀態欄就會顯示“

43、檢測到器件”并顯示該器件的rom與編程電壓的大小特性。檢測到器件以后單擊“操作”中的“自動打開文件”選項,在彈出的對話框中打開要燒錄的程序的hex文件,然后單擊“自動完成”選項,燒寫完畢后如果顯示“0個單元不對”就說明程序燒寫成功了。當然在燒錄過程中會碰到一些問題,比如檢測器件時,時有時無,這是下載線不穩定的表現,如果不能檢測到器件,但是卻可以正常讀寫,并且效驗無誤,這個就是單片機的問題了,可能單片機已經壞了,如果寫器件時總是寫到某個地址就停頓,然后報告失??;或者可以順利寫完,但效驗時顯示有單元不正確,最可能的原因是電源不穩定,電纜太長,線路沒焊好,器件質量問題等,也可能與電腦性能有關,特別是

44、開啟了很多程序的時候。當遇到問題的時候就要根據這些來判斷問題的根源并想辦法解決,這樣程序燒寫就沒有問題了。第6章 結束語本文詳細介紹了基于單片機控制的8*8led點陣顯示字形的設計,其基本思路比較簡單,文中分別介紹了其系統硬件的設計和軟件程序的設計。通過自身的努力,本次設計算是圓滿成功,但是限于時間和條件方面的限制,還存在一些不足之處,有待進一步完善。本次設計經近一周,在老師同學的指導下,我查閱了許多相關資料,綜合運用了大學中所學相關知識,基本上完成了點陣顯示字形的設計。在此之間,也遇到了許多難題,通過自學、請教老師、請教同學、耐心思考、上網查詢等方式,終于解決了一個又一個難題,完成了設計。此

45、過程中,我受益頗豐。參考文獻 :1劉瑞新主編、單片機原理及應用教程,北京:機械工業出版社,2006.72.徐士良編著、c語言程序設計教程,北京:人民郵電出版社,2003年8月第二版3.陳明義主編、電子技術課程設計實用教程s 2002年05第1版.4高鵬主編、protel實用教程s 1999年第1版.5陸坤等、 電子設計技術. s 成都:電子科技大學出版社,19976. 彭介華主編 蔡明生等編,電子技術課程設計指導,索書號:tn/53 出版日期:1997年10月第1版.7及力主編、protel 99 se原理圖與pcb設計教程,北京:電子工業出版社,2004.1附錄一:原理圖附錄二:pcb圖in

46、clude#include#define uint unsigned int#define uchar unsigned charuchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;unsigned char code tabp0=0x00,0x00,0x7c,0x82,0x82,0x82,0x7c,0x00, 0x00,0x00,0x00,0x00,0x84,0xfe,0x80,0x00, 0x00,0x00,0xe4,0xa2,0xa2,0xa2,0

47、x9c,0x00, 0x00,0x00,0x44,0x92,0x92,0x92,0x6c,0x00, 0x00,0x00,0x30,0x28,0x24,0xfe,0x20,0x00, 0x00,0x00,0x5e,0x92,0x92,0x92,0x62,0x00, 0x00,0x00,0x7c,0x92,0x92,0x92,0x64,0x00, 0x00,0x00,0x02,0x02,0x02,0xf2,0x0e,0x00, 0x00,0x00,0x6c,0x92,0x92,0x92,0x6c,0x00, 0x00,0x00,0x4c,0x92,0x92,0x92,0x6c,0x00;unsi

48、gned char code tabp2=0xfe,0xfd,0x0fb,0xf7,0xef,0x0df,0xbf,0x7f;unsigned char code tabp0s=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;unsigned char code tabp2s=0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd7,0x97,0x51,0x17,0xef,0x01,0xef,0xef,0xff,0xff,0xff,0xef,0xff,0x07,0xf7,0xf7,0xf7,0xfb,0xfd,0xff,0xff,0xff, 0xef,0xef,0x01,0xef,0xd7,0xbb,0x7d,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff;unsigned char code tabp0z=0x00,0x00

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論