2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  課程設(shè)計(jì)任務(wù)書</b></p><p>  題 目: 花樣流水燈設(shè)計(jì) </p><p>  主要內(nèi)容、基本要求、主要參考資料等:</p><p><b>  主要內(nèi)容:</b></p><p>  利用單片機(jī)控制16個(gè)發(fā)

2、光二極管模擬的彩燈按照一定的規(guī)律點(diǎn)亮、熄滅、閃爍。</p><p><b>  基本要求:</b></p><p>  1.實(shí)現(xiàn)發(fā)光二極管的多樣化顯示;</p><p>  2.利用proteus軟件完成設(shè)計(jì)電路和仿真;</p><p>  3.掌握相關(guān)芯片和電子元件的使用方法;</p><p>

3、  4.通過此次設(shè)計(jì)將單片機(jī)軟硬件結(jié)合起來對程序進(jìn)行編輯、校驗(yàn),鍛煉實(shí)踐能力和理論聯(lián)系實(shí)際的能力。</p><p><b>  主要參考資料:</b></p><p>  [1]李全利,單片機(jī)原理及接口技術(shù)[M],高等教育出版社</p><p>  [2]王文杰,單片機(jī)應(yīng)用技術(shù)[M],冶金工業(yè)出版社</p><p>  

4、[3]朱清慧,PROTEUS教程——電子線路設(shè)計(jì)、制版與仿真[M],清華大學(xué)出版社</p><p>  [4]單片機(jī)實(shí)驗(yàn)指導(dǎo)書,天煌教儀</p><p>  [5]彭偉,單片機(jī)C語言程序設(shè)計(jì)實(shí)訓(xùn)100例[M],電子工業(yè)出版社</p><p>  完 成 期 限: </p><p>  指導(dǎo)教師簽名:

5、 </p><p>  課程負(fù)責(zé)人簽名: </p><p>  年 月 日</p><p><b>  課程設(shè)計(jì)說明書</b></p><p>  題目: 花樣流水燈設(shè)計(jì) </p><p>  姓 名:

6、 </p><p>  院 (系): 機(jī)電工程學(xué)院 </p><p>  專業(yè)班級:11電氣工程及其自動(dòng)化(1)班 </p><p>  學(xué) 號: </p><p>  指導(dǎo)教師: </p><p>  成 績:

7、 </p><p>  時(shí)間:2013年12月17日至 2013年12月28日</p><p><b>  目錄</b></p><p><b>  摘要1</b></p><p><b>  summary2</b></p><p>  1

8、課程設(shè)計(jì)的目的和要求3</p><p>  1.1 設(shè)計(jì)目的3</p><p>  1.2 設(shè)計(jì)要求3</p><p><b>  2 總體設(shè)計(jì)3</b></p><p>  2.1 硬件總體設(shè)計(jì)3</p><p>  2.1.1 設(shè)計(jì)思想3</p><p> 

9、 2.1.2 原件清單4</p><p>  2.1.3 模塊分析4</p><p>  2.2軟件總體設(shè)計(jì)5</p><p><b>  3 硬件設(shè)計(jì)6</b></p><p>  3.1 AT89C51單片機(jī)的硬件結(jié)構(gòu)6</p><p>  3.1.1主要特性7</p>

10、<p>  3.1.2主要引腳功能7</p><p>  3.1.3外部總線結(jié)構(gòu)9</p><p>  3.1.4振蕩器特性10</p><p>  3.1.5芯片擦除11</p><p>  3.2硬件電路設(shè)計(jì)11</p><p>  3.2.1復(fù)位電路11</p><p

11、>  3.2.2震蕩電路12</p><p>  3.2.3 LED電路顯示15</p><p><b>  4 軟件設(shè)計(jì)15</b></p><p>  4.1主程序設(shè)計(jì)15</p><p>  4.2子程序設(shè)計(jì)16</p><p>  4.3流水燈控制碼程序設(shè)計(jì)16</

12、p><p>  4.4程序流程圖18</p><p>  5使用keil,proteus軟件調(diào)試仿真說明18</p><p>  5.1 Proteus的介紹18</p><p>  5.2 Proteus的特點(diǎn)18</p><p>  5.3 Proteus的使用方法19</p><p>

13、;  5.4電路原理圖的設(shè)計(jì)方法20</p><p>  5.5仿真過程21</p><p><b>  6測試數(shù)據(jù)22</b></p><p><b>  7附錄23</b></p><p>  7.1花樣流水燈程序23</p><p>  7.2花樣流水燈總線路

14、圖24</p><p><b>  結(jié)束語25</b></p><p><b>  參考文獻(xiàn)25</b></p><p><b>  摘要</b></p><p>  隨著人們生活環(huán)境的不斷改善和美化,在許多場合可以看到彩色霓虹燈不斷變化閃爍。LED燈由于其豐富的燈光色彩

15、,低廉的造價(jià)以及控制簡單等特點(diǎn)而得到了廣泛的應(yīng)用,用彩燈來裝飾街道和城市建筑物已經(jīng)成為一種時(shí)尚。但目前市場上各式樣的LED燈控制器大多數(shù)用全硬件電路實(shí)現(xiàn),電路結(jié)構(gòu)復(fù)雜、功能單一,這樣一旦制作成品只能按照固定的模式閃亮,不能根據(jù)不同場合、不同時(shí)間段的需要來調(diào)節(jié)亮燈時(shí)間、模式、閃爍頻率等動(dòng)態(tài)參數(shù)。這種彩燈控制器結(jié)構(gòu)往往有芯片過多、電路復(fù)雜、功率損耗大等缺點(diǎn)。此外從功能效果上看,亮燈模式少而且樣式單調(diào),缺乏用戶可操作性,影響亮燈效果。因此有必

16、要對現(xiàn)有的彩燈控制器進(jìn)行改進(jìn)。</p><p>  流水燈是一串按一定的規(guī)律像流水一樣連續(xù)閃亮。流水燈控制是可編程控制器的一個(gè)應(yīng)用,其控制思想在工業(yè)控制技術(shù)領(lǐng)域也同樣適用。流水燈控制可用多種方法實(shí)現(xiàn),但對現(xiàn)代可編程控制器而言,利用移位寄存器實(shí)現(xiàn)最為便利。通常用左移寄存器實(shí)現(xiàn)燈的單方向移動(dòng);用雙向移位寄存器實(shí)現(xiàn)燈的雙向移動(dòng)。本案例利用價(jià)格低廉的AT89C51系列單片機(jī)控制基色LED燈泡從而實(shí)現(xiàn)豐富的變化。</

17、p><p>  關(guān)鍵詞:AT89C51,LED燈,單片機(jī),花樣流水燈</p><p><b>  Summary </b></p><p>  With the continuous improvement of people's living environment and landscaping, in many cases you c

18、an see the changing color neon lights flashing. LED lamp lighting because of its rich color, low cost and simple control features and has been widely used to decorate the streets with lights and city buildings has become

19、 a fashion. However, LED light controller on the market most of each design with full hardware circuit, the circuit structure is complex, single function, so that once the productio</p><p>  Is a series of l

20、ight water according to certain rules like water continuously flashing. Light water control is an application of the programmable controller, which controls the thinking in the field of industrial control technology is a

21、lso applicable. Light water control a variety of methods are available, but the modern programmable controller, the use of shift registers to achieve the most convenient. Usually registers in one direction left to move t

22、he lamp; achieve two-way mobile lamps with b</p><p>  Keywords: AT89C51, LED lights, microcontroller, synchronized light water </p><p>  1 課程設(shè)計(jì)的目的和要求</p><p><b>  1.1 設(shè)計(jì)目的</

23、b></p><p>  近年來隨著科技的發(fā)展,單片機(jī)的應(yīng)用正在不斷走向深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測日新月異更新,在實(shí)時(shí)檢測和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往是作為一個(gè)核心部件來使用,單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及針對具體應(yīng)用對象點(diǎn)的軟件結(jié)合,加以完善。流水燈,可以更簡單、方便的使用。通過本課程設(shè)計(jì)使學(xué)生進(jìn)一步鞏固單片機(jī)原理及應(yīng)用的基本概念、基本理論,分析問題的基本方法,增強(qiáng)系統(tǒng)地運(yùn)

24、用已學(xué)的理論知識(shí)解決實(shí)際問題的能力和查閱資料的能力。培養(yǎng)一定的自學(xué)能力和獨(dú)立分析問題、解決問題的能力,能通過獨(dú)立思考、查閱工具書、參考文獻(xiàn),尋找解決方案。</p><p><b>  1.2 設(shè)計(jì)要求</b></p><p>  設(shè)計(jì)流水燈的基本要求:設(shè)計(jì)一個(gè)流水燈,應(yīng)用AT89C51試驗(yàn)系統(tǒng),電路開啟后紅、綠兩種顏色的燈在時(shí)鐘信號作用下按一定規(guī)律轉(zhuǎn)換狀態(tài)。</

25、p><p><b>  2 總體設(shè)計(jì)</b></p><p>  2.1 硬件總體設(shè)計(jì)</p><p>  2.1.1 設(shè)計(jì)思想</p><p>  整個(gè)系統(tǒng)工作由軟件程序控制運(yùn)行,根據(jù)需要,可以上電后系統(tǒng)經(jīng)過初始化,進(jìn)入用戶設(shè)定模式狀態(tài)?;贏T89C51單片機(jī)的彩燈控制方案,實(shí)現(xiàn)對LED彩燈的控制。本方案以AT89C5

26、1單片機(jī)作為主控核心,與驅(qū)動(dòng)等模塊組成核心主控制模塊。在主控模塊上設(shè)有晶振電路和16個(gè)LED顯示二極管,根據(jù)需要編寫若干種亮燈模式,根據(jù)各種亮燈時(shí)間的不同需要,在不同時(shí)刻輸出燈亮或燈滅的控制信號。</p><p>  2.1.2 原件清單</p><p>  2.1.3 模塊分析</p><p><b> ?。?)核心部件</b></p&

27、gt;<p>  89C51單片機(jī)是整個(gè)彩燈循環(huán)系統(tǒng)的核心是控制彩燈循環(huán)閃爍等等一切功能的部件;其中內(nèi)部有ROM、有RAM、有并行I/O口等,在51單片機(jī)內(nèi)部有一個(gè)CPU用來運(yùn)算、控制,有四個(gè)并行I/O口,分別是P0、P1、P2、P3,有ROM,用來存放程序,有RAM,用來存放中間結(jié)果,此外還有定時(shí)/計(jì)數(shù)器,串行I/O口,中斷系統(tǒng),以及一個(gè)內(nèi)部的時(shí)鐘電路。</p><p><b> ?。?

28、)復(fù)位系統(tǒng)</b></p><p>  電路中C1、R2……組成復(fù)位電路,它的作用是將單片機(jī)內(nèi)部特殊功能寄存器和端口寄存器恢復(fù)到初始狀態(tài),從內(nèi)部FLASH存儲(chǔ)器的初始狀態(tài)開始執(zhí)行</p><p><b> ?。?)震蕩系統(tǒng)</b></p><p>  單片機(jī)本身如同一個(gè)復(fù)雜的同步時(shí)序電路,為了保證同步工作,電路應(yīng)在唯一的時(shí)鐘信號控制

29、下,嚴(yán)格地按規(guī)定時(shí)序工作。而時(shí)鐘電路就用于產(chǎn)生單片機(jī)工作所需要的時(shí)鐘信號。</p><p><b> ?。?)閃爍系統(tǒng)</b></p><p>  利用單片機(jī)的P口控制:LED的發(fā)光閃爍,再利用編程實(shí)現(xiàn)流水燈的電路,用軟件來實(shí)現(xiàn)對LED的控制,每個(gè)LED接一個(gè)限流電阻,來控制流入LED發(fā)光管的電流。</p><p>  圖2-1 硬件系統(tǒng)方框圖

30、</p><p><b>  2.2軟件總體設(shè)計(jì)</b></p><p>  用查表的方法控制點(diǎn)亮流水燈,即移位的思想</p><p>  0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff;//左邊單個(gè)點(diǎn)亮</p><p>  0x7f,0x3f,0x1f,0x0f,0x07,0x

31、03,0x01,0x00;//右邊逐個(gè)點(diǎn)亮</p><p>  0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff;//左邊逐個(gè)熄滅</p><p>  0x7f,0x8f,0xdf,0xef,0xf7,0xf8,0xfd,0xfe,0xff;//右邊單個(gè)點(diǎn)亮</p><p>  0xfe,0xfc,0xf8,0xf0,0xe0,0xc0

32、,0x80,0x00;//左邊逐個(gè)點(diǎn)亮</p><p>  0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff;//右邊逐個(gè)熄滅</p><p>  0xfc,0xf9,0xf3,0xef,0xcf,0x9f,0x3f,0xff;//左邊逐兩個(gè)點(diǎn)亮</p><p>  0x3f,0x9f,0xcf,0xe7,0xf3,0xf9,0xfc,

33、0xff;//右邊逐兩個(gè)點(diǎn)亮</p><p>  0xf8,0xf1,0xe3,0x07,0x8f,0x1f,0xff;//左邊逐三個(gè)亮</p><p>  0x1f,0x8f,0x07,0xe3,0xf1,0xf8,0xff;//右邊逐三個(gè)亮</p><p><b>  3 硬件設(shè)計(jì)</b></p><p>  3.1

34、 AT89C51單片機(jī)的硬件結(jié)構(gòu)</p><p>  由圖3-1可以看出,單片機(jī)內(nèi)部主要包含下列幾個(gè)部件:</p><p>  ?       一個(gè)8位CPU; </p><p>  ?       一個(gè)時(shí)鐘電路; </p><

35、p>  ?       4Kbyte程序存儲(chǔ)器; </p><p>  ?       128byte數(shù)據(jù)存儲(chǔ)器; </p><p>  ?       兩個(gè)16位定時(shí)/計(jì)數(shù)器; </p>&

36、lt;p>  ?       64Kbyte擴(kuò)展總線控制電路; </p><p>  ?       四個(gè)8-bit并行I/O端口; </p><p>  ?       一個(gè)可編程串行接口; </p

37、><p>  ?       五個(gè)中斷源,其中包括兩個(gè)優(yōu)先級嵌套中斷。</p><p>  圖3-1 AT89C51硬件結(jié)構(gòu)框圖</p><p><b>  3.1.1主要特性</b></p><p>  AT89C51是一種低功耗/低電壓、高性能的八位CMOS單片

38、機(jī),片內(nèi)有一個(gè)4KB的FLASH可編程可擦除只讀存儲(chǔ)器(FPEROM—Flash Programmable and Erasable Read Only Memory),它采用了CMOS工藝和ATMEL公司的高密度非易失性存儲(chǔ)器技術(shù),而且其輸出引腳和指令系統(tǒng)都與MSC—51兼容。片內(nèi)置通用8位中央處理器(CPU)和FLASH存儲(chǔ)單元,片內(nèi)的存儲(chǔ)器允許在系統(tǒng)內(nèi)改編程序或用常規(guī)的非易失性存儲(chǔ)器編程。因此,AT89C51是一種功能強(qiáng)、靈活性高

39、且價(jià)格合理的單片機(jī),可方便的應(yīng)用于各種控制領(lǐng)域。</p><p>  3.1.2主要引腳功能</p><p>  1.電源引腳Vcc和Vss </p><p>  Vcc:電源端,接+5V。 </p><p><b>  Vss:接地端。 </b></p><p>  通常在Vcc和Vss引腳之間

40、接0.1μ高頻濾波電容。 </p><p>  2.時(shí)鐘電路引腳XTAL1和XTAL2 </p><p>  XTAL1:接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,若使用外部TTL時(shí)鐘時(shí),該引腳必須接地。 </p><p>  XTAL2:接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出,若使用外部TTL時(shí)鐘時(shí),該引腳為外部時(shí)鐘的輸

41、入端。 </p><p>  3.地址鎖存允許ALE </p><p>  在系統(tǒng)擴(kuò)展時(shí),ALE用于控制地址鎖存器鎖存P0口輸出的低8位地址,從而實(shí)現(xiàn)數(shù)據(jù)與低位地址的復(fù)用。當(dāng)單片機(jī)上電正常工作后,ALE端就周期性地以時(shí)鐘頻率的1/6的固定頻率向外輸出正脈沖信號,ALE的負(fù)載能力為8個(gè)LSTTL器件。 </p><p>  4.外部程序存儲(chǔ)器讀選通信號 </p&

42、gt;<p>  是讀外部程序存儲(chǔ)器的選通信號,低電平有效。CPU從外部存儲(chǔ)器取指令時(shí),它在每個(gè)機(jī)器周期中兩次有效。 </p><p>  5.程序存儲(chǔ)器地址允許輸入端 /VPP </p><p>  當(dāng) 為高電平時(shí),CPU執(zhí)行片內(nèi)程序存儲(chǔ)器指令,但當(dāng)PC中的值超過0FFFH時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行片外程序存儲(chǔ)器指令。當(dāng) 為低電平時(shí),CPU只執(zhí)行片外程序存儲(chǔ)器指令。對于8031,由

43、于其無片內(nèi)ROM,故 必須接低電平。 </p><p>  6.復(fù)位信號RST </p><p>  該信號高電平有效,在輸入端保持兩個(gè)機(jī)器周期的高電平后,就可以完成復(fù)位操作。此外,該引腳還有掉電保護(hù)功能,若在該端接+5V備用電源,在使用中若Vcc掉電,可保護(hù)片內(nèi)RAM中信息不丟失。 </p><p>  7.輸入/輸出口引腳P0、P1、P2和P3 </p&g

44、t;<p>  P0口(P0.0~P0.7):該端口為漏極開路的8位準(zhǔn)雙向口,負(fù)載能力位8高LSTTL負(fù)載,它為8位地址線和8位數(shù)據(jù)線的復(fù)用端口。 </p><p>  P1口(P1.0~P1.7):它是一個(gè)內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口,P1口的驅(qū)動(dòng)能力為4個(gè)LSTTL負(fù)載。 </p><p>  P2口(P2.0~P2.7):它為一個(gè)內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口

45、,P2口的驅(qū)動(dòng)能力也為4個(gè)LSTTL負(fù)載。在訪問外部程序存儲(chǔ)器時(shí),它作存儲(chǔ)器的高8位地址線。 </p><p>  P3口(P3.0~P3.7):P3口同樣是內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口,P3口除了作為一般的I/O口使用之外,其還具有特殊功能。</p><p>  3.1.3外部總線結(jié)構(gòu)</p><p>  所謂總線,就是連接單片機(jī)與各外部器件的一組公共的信號

46、線。當(dāng)系統(tǒng)要求擴(kuò)展時(shí),單片機(jī)要與一定數(shù)量的外部器件和外圍設(shè)備連接。如果各部件及每一種外圍設(shè)備都分別用各自的一組線路與CPU直接連接,那么連線將會(huì)錯(cuò)綜復(fù)雜,甚至難以實(shí)現(xiàn)。為了簡化硬件電路的設(shè)計(jì)和系統(tǒng)結(jié)構(gòu),常用一組線路,并配以適當(dāng)?shù)慕涌陔娐穪砼c各個(gè)外部器件和外圍設(shè)備連接,這組共用的連接線路就是總線。采用總線結(jié)構(gòu)便于擴(kuò)展外部器件和外圍設(shè)備,而統(tǒng)一的總線標(biāo)準(zhǔn)則使不同設(shè)備間的互連更容易實(shí)現(xiàn)。</p><p>  利用片外引

47、腳可以構(gòu)造MCS-51系列單片機(jī)的三總線結(jié)構(gòu)。單片機(jī)的引腳除了電源端VCC、接地端VSS、復(fù)位端RST、晶振接入端XTAL1和XTAL2、通用I/O口的P1.0~P1.7以外,其余的引腳都是為實(shí)現(xiàn)系統(tǒng)擴(kuò)展而設(shè)置的。用這些引腳構(gòu)造的單片機(jī)系統(tǒng)的三總線結(jié)構(gòu)如圖3-2所示。</p><p>  圖3-2 MCS-51系列單片機(jī)片外三總線結(jié)構(gòu)</p><p> ?。?)地址總線(Address B

48、us,AB):MCS-51系列單片機(jī)總共有16根地址線A15~ A0,片外存儲(chǔ)器可尋址范圍達(dá)64KB(216=65536字節(jié)),由P2口直接提供高8位地址A15~ A8,P0口經(jīng)地址鎖存器提供低8位地址A7~ A0。</p><p> ?。?)數(shù)據(jù)總線(Data Bus,DB):MCS-51系列單片機(jī)總共有8根數(shù)據(jù)線D7~D0,全由P0口提供。由于P0口是分時(shí)復(fù)用總線,分時(shí)輸送低8位地址(通過地址鎖存器鎖存)和高

49、8位數(shù)據(jù)信息。 </p><p> ?。?)控制總線(Control Bus,CB):控制總線由P3口的第二功能(P3.6)、(P3.7)和3根獨(dú)立的控制線、ALE、組成。</p><p>  3.1.4振蕩器特性</p><p>  XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源

50、驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號要通過一個(gè)二分頻觸發(fā)器,因此對外部時(shí)鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度</p><p><b>  3.1.5芯片擦除</b></p><p>  AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串

51、口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。</p><p><b>  3.2硬件電路設(shè)計(jì)</b></p><p><b>  3.2.1復(fù)位電路</b></p><p>  如圖3-2所示,當(dāng)要對晶片重置時(shí),只要按此開關(guān)就能完成LED和開關(guān)的重置。復(fù)

52、位是單片機(jī)的初始化操作,其主要功能是把PC初始化為0000H,使單片機(jī)從0000H單元開始執(zhí)行程序。單片機(jī)的RST管腳為主機(jī)提供了一個(gè)外部復(fù)位信號輸入口。復(fù)位信號是高電平有效,高電平有效的持續(xù)時(shí)間為2個(gè)機(jī)器周期以上。單片機(jī)的復(fù)位方式可由手動(dòng)復(fù)位方式完成。</p><p>  RST引腳是復(fù)位信號輸入端,復(fù)位信號為高電平有效,其有效時(shí)間應(yīng)持續(xù)24個(gè)振蕩周期以上才能完成復(fù)位操作,若使用6MHz晶振,則需持續(xù)4μS以上

53、才能完成復(fù)位操作。圖2.10中,在通電瞬間,由于RC的充電過程,在RST端出現(xiàn)一定寬度的正脈沖,只要該正脈沖保持10ms以上,就能使單片機(jī)自動(dòng)復(fù)位</p><p>  圖3-3 復(fù)位信號輸入端</p><p>  CPU在第二個(gè)機(jī)器周期內(nèi)執(zhí)行內(nèi)部復(fù)位操作,以后每個(gè)機(jī)器周期重復(fù)一次,直至RST端電平變低。在單片機(jī)復(fù)位期間,AlE和 信號都不產(chǎn)生。復(fù)位操作將對部分專用寄存器產(chǎn)生影響,復(fù)位后,這

54、些內(nèi)部寄存器狀態(tài)如表3-1。</p><p>  表3-1部分專用寄存器復(fù)位狀態(tài)</p><p>  上電瞬間由于電容C上無儲(chǔ)能,其端電壓近似為零,RST獲得高電平,隨著電容器C的充電,RST引腳上的高電平將逐漸下降,當(dāng)RST引腳上的電壓小于某一數(shù)值后,單片機(jī)就脫離復(fù)位狀態(tài),進(jìn)入正常工作模式。只要高電平能保持復(fù)位所需要的時(shí)間(約兩個(gè)機(jī)器周期),單片機(jī)就能實(shí)現(xiàn)復(fù)位。</p>&

55、lt;p><b>  3.2.2震蕩電路</b></p><p>  為彩燈循環(huán)系統(tǒng)提供穩(wěn)定頻率波在由多片單片機(jī)組成的系統(tǒng)中,為了各單片機(jī)之間時(shí)鐘信號的同步,引入唯一的外部脈沖信號作為各單片機(jī)的振蕩脈沖。這時(shí)外部的脈沖信號是經(jīng)單片機(jī)89C51的XTAL2引腳注入的;在MCS-51單片機(jī)片內(nèi)有一個(gè)高增益的反相放大器,反相放大器的輸入端為XTAL1,輸出端為XTAL2,在芯片的外部通過這兩

56、個(gè)引腳跨接晶體振蕩器和微調(diào)電容C1、C2形成反饋電路,可構(gòu)成穩(wěn)定的自激振蕩器,振蕩頻率范圍通常是1.2~12MHz。晶體振蕩頻率高,則系統(tǒng)的時(shí)鐘頻率也高,單片機(jī)的運(yùn)行速度也就快。</p><p>  由該放大器構(gòu)成的振蕩電路和時(shí)鐘電路一起構(gòu)成了單片機(jī)的時(shí)鐘方式。如圖3-3所示 </p><p><b>  圖3-4 震蕩電路</b></p><p&

57、gt;  晶體振蕩器的振蕩信號從XTAL2端送入內(nèi)部時(shí)鐘電路,它將該振蕩信號二分頻,產(chǎn)生一個(gè)兩相時(shí)鐘信號P1和P2供單片機(jī)使用。時(shí)鐘信號的周期稱為狀態(tài)時(shí)間S,它是振蕩周期的2倍,P1信號在每個(gè)狀態(tài)的前半周期有效,在每個(gè)狀態(tài)的后半周期P2信號有效。CPU就是以兩相時(shí)鐘P1和P2為基本節(jié)拍協(xié)調(diào)單片機(jī)各部分有效工作的。 MCS-51單片機(jī)時(shí)鐘電路示意圖如圖4所示。</p><p>  圖3-5 MCS-51單片機(jī)時(shí)鐘

58、振蕩電路示意圖</p><p>  振蕩電路產(chǎn)生的振蕩脈沖并不直接使用,而是經(jīng)分頻后再為系統(tǒng)所用。振蕩脈沖在片內(nèi)通過一個(gè)時(shí)鐘發(fā)生電路二分頻后才作為系統(tǒng)的時(shí)鐘信號。片內(nèi)時(shí)鐘發(fā)生電路實(shí)質(zhì)上是一個(gè)二分頻的觸發(fā)器,其輸入來自振蕩器,輸出為二相時(shí)鐘信號,即狀態(tài)時(shí)鐘信號,其頻率為fosc/2;狀態(tài)時(shí)鐘三分頻后為ALE信號,其頻率為fosc/6;狀態(tài)時(shí)鐘六分頻后為機(jī)器周期,其頻率為fosc/12。</p><

59、;p>  在圖3-4中,使用晶體振蕩器時(shí),C1、C2取值30±10pF;使用陶瓷振蕩器時(shí),C1、C2取值40±10pF。C1、C2的取值雖然沒有嚴(yán)格的要求,但電容的大小影響振蕩電路的穩(wěn)定性和快速性,通常取值20~30pF。在設(shè)計(jì)印制電路板時(shí),晶振和電容等應(yīng)盡可能靠近芯片,以減少分布電容,保證振蕩器振蕩的穩(wěn)定性。</p><p>  也可以由外部時(shí)鐘電路向片內(nèi)輸入脈沖信號作為單片機(jī)的振蕩脈

60、沖。這時(shí)外部脈沖信號是經(jīng)XTAL1引腳引入的,而XTAL2引腳懸空或接地。對外部信號的占空比沒有要求,但高低電平持續(xù)的時(shí)間不應(yīng)小于20ns。這種方式常用于多塊芯片同時(shí)工作,便于同步。其外部脈沖接入方式如圖3-6所示。</p><p>  圖3-6 MCS-51單片機(jī)外部時(shí)鐘輸入接線圖</p><p>  所謂時(shí)序,是指在指令執(zhí)行過程中,CPU的控制器所發(fā)出的一系列特定的控制信號在時(shí)間上的先

61、后關(guān)系。CPU發(fā)出的控制信號有兩類:一類是用于單片機(jī)內(nèi)部的,用戶不能直接接觸此類信號,不必對它作過多了解;另一類是通過控制總線送到片外的,人們通常以時(shí)序圖的形式來表示相關(guān)信號的波形及出現(xiàn)的先后次序。為了說明信號的時(shí)間關(guān)系,需要定義時(shí)序單位。89C51的時(shí)序單位共有四個(gè),從小到大依次是拍節(jié)、狀態(tài)、機(jī)器周期和指令周期。如圖3-4所示。</p><p>  3.2.3 LED電路顯示</p><p&

62、gt;  如圖所示,P0口控制LED燈D1~D8的顯示,P2口控制LED燈D10~D17的顯示。限流電阻為470歐姆,經(jīng)過的電流大概為10mA。</p><p><b>  4 軟件設(shè)計(jì)</b></p><p><b>  4.1主程序設(shè)計(jì)</b></p><p>  void main() </p><

63、;p><b>  { </b></p><p>  uchar i; //定義一個(gè)無符號字符型局部變量 i </p><p><b>  while(1) </b></p><p>  { //從數(shù)組中讀取數(shù)據(jù)送至 P0 和 P2 口顯示 </p><p>  for(i=0;i<1

64、36;i++) //加入 for循環(huán),共136個(gè)流水燈控制碼,大括號中的程序循環(huán)執(zhí)行136次</p><p><b>  { </b></p><p>  P0=Pattern_P0[i]; //數(shù)組控制流水燈亮暗</p><p>  P2=Pattern_P2[i]; </p><p>  DelayMS

65、(100); //延時(shí)以便能觀察到燈亮移動(dòng),自己可以調(diào)整時(shí)間,由晶振和實(shí)參決定</p><p><b>  } </b></p><p><b>  } </b></p><p><b>  4.2子程序設(shè)計(jì)</b></p><p><b>  //延時(shí) </

66、b></p><p>  void DelayMS(uint x) </p><p><b>  { </b></p><p><b>  uchar i; </b></p><p>  while(x--) </p><p><b>  { </b&g

67、t;</p><p>  for(i=0;i<120;i++); </p><p><b>  } }</b></p><p>  4.3流水燈控制碼程序設(shè)計(jì)</p><p>  設(shè)計(jì)兩個(gè)數(shù)組分別存儲(chǔ)紅燈和綠燈的流水燈控制碼,讓后用查表的方式點(diǎn)亮流水燈,主要代碼如下:</p><p>  u

68、char code Pattern_P0[]= </p><p><b>  { </b></p><p>  0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3

69、,0x81,0x00,0x81,0xc3,0xe7,0xff,0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f,0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f,0xf0,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf

70、,0xbf,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xfe,0xfc,0xf8,0xf0,</p><p><b>  }; </b></p><p>  u

71、char code Pattern_P2[]= </p><p><b>  {</b></p><p>  0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0xff,0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,

72、0x81,0x00,0x81,0xc3,0xe7,0xff,0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f,0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

73、0xff,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,</p><p><b>  }; </b></p><p>  在仿

74、真中可以看到led燈有規(guī)律的一個(gè)一個(gè)的點(diǎn)亮如此循環(huán)。</p><p><b>  4.4程序流程圖</b></p><p><b>  圖4-1程序流程圖</b></p><p>  5使用keil,proteus軟件調(diào)試仿真說明</p><p>  5.1 Proteus的介紹</p>

75、<p>  Proteus軟件由ISIS和ARES兩部分構(gòu)成,其中ISIS是一款便捷的電子系統(tǒng)原理設(shè)計(jì)和仿真平臺(tái)軟件,ARES是一款高級的PCB布線編輯軟件。Proteus是目前最好的模擬單片機(jī)外圍器件的工具,與其他單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī)CPU的工作情況,也能仿真單片機(jī)外圍電路或沒有單片機(jī)參與的其他電路的工作情況。因此在仿真和調(diào)試程序時(shí),關(guān)心的不再是某些語句執(zhí)行時(shí)單片機(jī)寄存器和存儲(chǔ)器內(nèi)容的改變,而是從工

76、程的角度直接看程序運(yùn)行和電路工作的過程和結(jié)果。對于這樣的仿真實(shí)驗(yàn),從某種意義上講,解決了實(shí)驗(yàn)和工程應(yīng)用間脫節(jié)的矛盾。</p><p>  5.2 Proteus的特點(diǎn)</p><p>  實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真的結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)仿真、RS232動(dòng)態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真等功能;有各種虛擬儀器,如

77、示波器、邏輯分析儀、信號發(fā)生器等。具有強(qiáng)大的原理圖繪制功能。提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2等軟件。</p><p>  5.3 Proteus的使用方法</p><p>  點(diǎn)狀的柵格區(qū)域?yàn)榫庉?/p>

78、窗口,左上方為預(yù)覽窗口,左下方為元器件列表區(qū),即對象選擇器 </p><p>  編輯窗口用于放置元器件,進(jìn)行連線,繪制原理圖。預(yù)覽窗口可以顯示全部原理圖。在預(yù)覽窗口中,有兩個(gè)框,藍(lán)框表示當(dāng)前頁的邊界,綠框表示當(dāng)前編輯窗口顯示的區(qū)域。當(dāng)從對象選擇器中選中一個(gè)新的對象時(shí),預(yù)覽窗口可以預(yù)覽選中的對象。在預(yù)覽窗口上單擊,Proteus ISIS將會(huì)以單擊位置為中心刷新編輯窗口。其他情況下,預(yù)覽窗口顯示將要放置的對象。&

79、lt;/p><p>  5.4電路原理圖的設(shè)計(jì)方法</p><p>  原理圖的具體設(shè)計(jì)步驟如下: </p><p>  (1) 新建設(shè)計(jì)文檔。在進(jìn)入原理圖設(shè)計(jì)之前,首先要構(gòu)思好原理圖,即必須知道所設(shè)計(jì)的項(xiàng)目需要哪些電路來完成,用何種模板;然后在Proteus ISIS編輯環(huán)境中畫出電路原理圖 。</p><p>  (2) 設(shè)置工作環(huán)境。根據(jù)實(shí)

80、際電路的復(fù)雜程度來設(shè)置圖紙的大小等。在電路圖設(shè)計(jì)的整個(gè)過程中,圖紙的大小可以不斷地調(diào)整。設(shè)置合適的圖紙大小是完成原理圖設(shè)計(jì)的第一步。</p><p>  (3) 放置元器件。首先從添加元器件對話框中選取需要添加的元器件,將其布置到圖紙的合適位置,并對元器件的名稱、標(biāo)注進(jìn)行設(shè)定;再根據(jù)元器件之間的走線等聯(lián)系對元器件在工作平面上的位置進(jìn)行調(diào)整和修改,使得原理圖美觀、易懂。

81、 </p><p> ?。?)對原理圖進(jìn)行布線。根據(jù)實(shí)際電路的需要,利用Proteus ISIS編輯環(huán)境所提供的各種工具、命令進(jìn)行布線,將工作平面上的元器件用導(dǎo)線連接起來,構(gòu)成一幅完整的電路原理圖</p><p>  (5) 建立網(wǎng)絡(luò)表。在完成上述步驟之后,即可看到一張完整的電路

82、圖,但要完成印制版電路的設(shè)計(jì),還需要生成一個(gè)網(wǎng)絡(luò)表文件。網(wǎng)絡(luò)表是印制版電路與電路原理圖之間的紐帶 </p><p>  (6) 原理圖的電氣規(guī)則檢查。當(dāng)完成原理圖布線后,利用Proteus ISIS編輯環(huán)境所提供的電氣規(guī)則檢查命令對設(shè)計(jì)進(jìn)行檢查,并根據(jù)系統(tǒng)提示的錯(cuò)誤檢查報(bào)告修改原理圖 </p><p>  (7) 調(diào)整。如果原理圖已通過電氣規(guī)則檢查,那么原理圖的設(shè)計(jì)就完成了,但是對于一般電

83、路設(shè)計(jì)而言,尤其是較大的項(xiàng)目,通常需要對電路進(jìn)行多次修改才能通過電氣規(guī)則檢查 </p><p>  (8) 存盤和輸出報(bào)表。Proteus ISIS提供了多種報(bào)表輸出格式,同時(shí)可以對設(shè)計(jì)好的原理圖和報(bào)表進(jìn)行存盤和輸出打印 </p><p><b>  5.5仿真過程</b></p><p>  Proteus仿真時(shí),單片機(jī)需要加載程序,加載程序

84、為.HEX文件。本設(shè)計(jì)利用Keil μVision3, 在新建Keil項(xiàng)目時(shí)選擇AT89C51單片機(jī)作為CPU,將C語言源程序?qū)耄凇癘ptions For Target”對話窗口中,選中“Output”選項(xiàng)中的“Create HEX File”,編譯鏈接后就可以生成.HEX文件。在Proteus ISIS中,選中AT89C52并單擊鼠標(biāo)左鍵,對AT89C52進(jìn)行設(shè)置,設(shè)置單片機(jī)時(shí)鐘頻率為12MHz,按照正確的文件路徑加載.HEX文件

85、。對單片機(jī)設(shè)置完畢后就可以開始仿真了。</p><p><b>  6測試數(shù)據(jù)</b></p><p>  通過程序可以實(shí)現(xiàn)花樣流水燈的不同形式變換,如圖是流水燈的依次點(diǎn)亮</p><p>  圖6-1 花樣流水燈依次點(diǎn)亮</p><p>  圖6-2keil軟件模擬程序</p><p><

86、b>  7附錄</b></p><p>  7.1花樣流水燈程序</p><p>  #include <reg52.h></p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p> 

87、 uchar code Pattern_P0[]=</p><p><b>  {</b></p><p>  0xfc,0xf9,0xf3,0xe7,0xcf,0x9f</p><p><b>  };</b></p><p>  uchar code Pattern_P2[]=</p>

88、;<p><b>  {</b></p><p>  0xf5,0xf6,0xfe,0x54,0x56,0x76,0xd7,0x49,0xa9,0xe4,0xc6</p><p><b>  };</b></p><p>  void DelayMS(uint x)</p><p>&

89、lt;b>  {</b></p><p><b>  uchar t;</b></p><p>  while(x--)</p><p><b>  {</b></p><p>  for(t=120;t>0;t--);</p><p><b&g

90、t;  }</b></p><p><b>  }</b></p><p>  void main()</p><p><b>  {</b></p><p><b>  uchar i;</b></p><p><b>  whi

91、le(1)</b></p><p><b>  {</b></p><p>  for(i=136;i>0;i--)</p><p><b>  {</b></p><p>  P0=Pattern_P0[i];</p><p>  P2=Pattern_P

92、2[i];</p><p>  DelayMS(150);</p><p><b>  } </b></p><p><b>  }</b></p><p><b>  }</b></p><p>  7.2花樣流水燈總線路圖</p&g

93、t;<p><b>  結(jié)束語</b></p><p>  通過這次課程設(shè)計(jì)我學(xué)到了很多東西,我更加體會(huì)到理論知識(shí)與動(dòng)手能力相結(jié)合的重要性,而且設(shè)計(jì)過程中使我懂得在設(shè)計(jì)程序之前,務(wù)必要對所用單片機(jī)的內(nèi)部結(jié)構(gòu)有一個(gè)系統(tǒng)的了解,知道該單片機(jī)內(nèi)有哪些資源:懂得設(shè)計(jì)的關(guān)鍵是要有一個(gè)清晰的思路和一個(gè)完整的軟件流程圖。在設(shè)計(jì)程序時(shí),不能妄想一次就將整個(gè)程序設(shè)計(jì)好,“反復(fù)修改,不斷改進(jìn)”是程

94、序設(shè)計(jì)的必經(jīng)之路。要養(yǎng)成注釋程序的好習(xí)慣,一個(gè)程序的完美與否不僅僅是實(shí)現(xiàn)功能,而應(yīng)該讓人一看就能明白你思路,這樣也為資料的保存和交流提供了方便。整個(gè)設(shè)計(jì)的過程中,還是碰到了一些問題 。比如,對于鍵盤的延時(shí)防抖問題不能較好的解決;對于編程的順序及各模塊程序調(diào)用掌握得還不夠好;對于一些相關(guān)的應(yīng)用軟件沒能熟練掌握。通過這幾天的反復(fù)思考,以及參考網(wǎng)上的程序,最終還是完成了設(shè)計(jì)。設(shè)計(jì)中我最大的收獲就是自己的動(dòng)手能力和獨(dú)立解決問題的能力得到了很大的

95、提高,在動(dòng)手的過程中,不僅能增強(qiáng)實(shí)踐能力,而且在理論上可以有更深的認(rèn)識(shí)</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]李全利,單片機(jī)原理及接口技術(shù)[M],高等教育出版社</p><p>  [2]王文杰,單片機(jī)應(yīng)用技術(shù)[M],冶金工業(yè)出版社</p><p>  [3]朱清慧,PROTEUS教程—

溫馨提示

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

評論

0/150

提交評論