• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于單片機的循環(huán)廣告燈的設(shè)計與制作

      2013-04-29 03:50:31黃映梅
      職業(yè)·中旬 2013年9期
      關(guān)鍵詞:單片機

      黃映梅

      摘 要:單片機具有體積小、功能強、應用面廣等特點,可以說智能控制和自動控制就是靠單片機。本文重點介紹如何用AT89S51型單片機模塊的功能自制的循環(huán)左(右)移動的一款簡易循環(huán)廣告燈。

      關(guān)鍵詞:AT89S51 單片機 LED 循環(huán)燈

      一、研究內(nèi)容及目標

      循環(huán)彩燈的實驗設(shè)計是利用單片機的原理實現(xiàn)彩燈循環(huán)點亮,利用取表的方法,使端口P1.0做單一燈的變化,即左移2次、右移2次、閃爍2次(延時的時間0.2秒),端口P1.1至P1.7的LED燈循環(huán)規(guī)律同端口P1.0。

      二、單片機的配置及元件功能

      1.單片機AT89S51的功能說明

      (1)4kB字節(jié)可編程閃爍存儲器;

      (2)壽命為1000次寫/擦循環(huán);

      (3)數(shù)據(jù)保留時間為10年;

      (4)全靜態(tài)工作,0Hz~24MHz;

      (5)三級程序存儲器鎖定;

      (6)128×8位內(nèi)部RAM,32可編程I/O線;

      (7)兩個16位定時器/計數(shù)器;

      (8)5個中斷源,可編程串行通道;

      (9)低功耗的閑置和掉電模式;

      (10)片內(nèi)振蕩器和時鐘電路(與MCS-51兼容)。

      2.單片機AT89S51的引腳主功能說明(圖1)

      圖1

      (1)VCC—供電電壓,GND—接地。

      (2)P0口—P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第8位。在FLASH編程時,P0口作為原碼輸入口,當FLASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。

      (3)P1口—P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第8位地址接收。

      (4)P2口—P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。以此作為輸入時,P2口的管腳被外部拉低,將輸出電流,這是由于內(nèi)部上拉的緣故。當P2口用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。

      (5)P3口—P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89S51的一些特殊功能口:P3.0 RXD(串行輸入口);P3.1 TXD(串行輸出口);P3.2/INTO(外部中斷0);P3.3/INT1(外部中斷1);P3.4 TO(計時器0外部輸入);P3.5 T1(計時器1外部輸入);P3.6/WR(外部數(shù)據(jù)存儲器寫選通);P3.7/RD(外部數(shù)據(jù)存儲器讀選通)。P3口同時為閃爍編程和編程校驗接收一些控制信號。

      (6)RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。

      (7)ALE/PROG—當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是,每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出,可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE,才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。

      (8)/PSEN—外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。

      (9)/EA/VPP—當/EA保持低電平時,則在此期間是外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間是內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。

      (10)XTAL1—反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。

      (11)XTAL2—來自反向振蕩器的輸出。

      3.循環(huán)燈主要接線說明

      (1)單片機32個I/O口全部引出,在開發(fā)板頂部以排針的形式引出,并帶幾組VCC和GND。

      (2)單片機32個I/O口先經(jīng)過雙排針跳線,然后再接入電路,這個獨特的設(shè)計打破了傳統(tǒng)固定電路的局限性,只要用幾根杜邦線就可任意改變原有電路的連接,或是組成某個功能的最小系統(tǒng)。

      (3)鎖存器控制的8位8段數(shù)碼管顯示,可做計數(shù)器、遙控碼顯示、頻率計、電子鐘等。

      (4)8×8位LED顯示,每位LED顯示都可以是一個LED 8×8位矩陣,并接有一位使能控制,使操作不干擾(可做閃燈、流水燈、各式花樣燈)。

      (5)模數(shù)轉(zhuǎn)換芯片ADC0804及AD擴展接口,可配合板載光敏熱敏電阻擴展接口以及精密電位器,把光照強度、熱量、電壓等模擬量轉(zhuǎn)換為數(shù)字量并顯示出來,這塊芯片是我們用得最多的單片機外圍數(shù)據(jù)處理芯片之一。

      (6)模數(shù)轉(zhuǎn)換芯片DAC0832及DA擴展接口,把數(shù)字量轉(zhuǎn)換為模擬量。

      (7)無線模塊接口,配合圖片中的4鍵發(fā)射器,可做單片機解碼無線遙控器信號的實驗,通過編寫代碼能解碼所有的315MHz的信號。

      (8)74HC164串轉(zhuǎn)并芯片,把串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù),擴展了單片機的I/O口。

      (9)NE555可調(diào)頻率方波發(fā)生器,可配合數(shù)碼管和單片機外部中斷以及外部計數(shù)器做中斷檢測,進行計數(shù)器計數(shù)、測脈寬、頻率計等實驗。

      (10)ULN2003步進電機控制及輸出接口,當然也可用PWM來驅(qū)動直流電動機。

      (11)光電耦合芯片MOC3023以及可控硅BTA06驅(qū)動AC220V輸出接口,這是本開發(fā)板所獨有的配置,它可與本開發(fā)板的溫度傳感器DS18B20配合使用,做成一個獨立的溫度控制驅(qū)動系統(tǒng),如溫度試驗箱,而不需要添加任何外圍元件了(加熱絲除外),還可做可控硅調(diào)壓、調(diào)功、調(diào)光、電動機調(diào)速等,應用非常廣泛。

      (12)PS/2鍵盤鼠標接口。

      (13)4×4矩陣鍵盤和4個獨立按鍵,熟悉矩陣鍵盤編碼、解碼掃描原理,可作為人機輸入接口編寫按鍵輸入程序,獨立按鍵可做普通獨立按鍵檢測試驗。

      (14)一體化紅外線接收頭SM0038與板載紅外發(fā)射電路,可以像在家遙控電視機一樣控制開發(fā)板,還可以用開發(fā)板來控制空調(diào)、電視機等,甚至可配合無線模塊或者因特網(wǎng)進行遠程穿墻遙控空調(diào)、電視。

      (15)繼電器驅(qū)動以及外接擴展接口,通過繼電器可以控制其他電器設(shè)備,小電流控制大電流。

      (16)IIC總線AT24C08外部EEPROM存儲芯片,使用IIC總線,高達8kB的存儲容量掉電不丟失數(shù)據(jù)。

      (17)備用電源,使用SPI總線,用DS1302可以做一個萬年歷電子時鐘,比定時器做得精確很多。

      (18)MAX232芯片RS232通訊接口,可以作為與計算機通訊的接口,同時也可作為STC單片機下載程序的接口及仿真調(diào)試的接口。

      (19)字符液晶1602LCD接口,采用接插件方式方便插拔,可顯示兩行,每行16個,共計32任意ASCII碼字符,它的功能應用比數(shù)碼管豐富很多,顯示的信息量也更大。

      (20)圖形點陣液晶12864接口,采用接插件方式方便插拔,可顯示任意漢字和圖形,是目前單片機圖文顯示最常用的顯示器件。我們實驗板支持帶字庫的12864液晶,開發(fā)程序更方便,同時12864接口還可作為TFT彩屏液晶的

      接口。

      (21)鍍金晶振插座,為了使晶振與開發(fā)板穩(wěn)定可靠地連接,特別采用了鍍金晶體插座。

      (22)本實驗板采用40PIN鎖緊座,用于安放單片機芯片,非常方便單片機芯片的取放。

      (23)USB電腦電源引入以及外接5V直流電源接口,無需再外接電源適配器,當電流較大或者不方便時,也可用外接5V的直流電源接口供電。

      三、循環(huán)燈的電路原理圖(圖2)

      圖2

      四、系統(tǒng)板上硬件連線

      把單片機系統(tǒng)區(qū)域中的P1.0-P1.7,用8芯排線連接到八路發(fā)光二極管指示模塊區(qū)域中的L1-L8端口上,要求P1.0對應著L1,P1.1對應著L2……P1.7對應著L8。

      五、程序設(shè)計內(nèi)容

      在用表格進行程序設(shè)計的時候,要用以下的指令來完成。

      利用MOV DPTR,#DATA16的指令來使數(shù)據(jù)指針寄存器指到表的開頭。

      利用MOVC A,@A+DPTR的指令,根據(jù)累加器的值再加上DPTR的值,就可以使程序計數(shù)器PC指到表格內(nèi)所要取出的數(shù)據(jù)。

      因此,只要把控制碼建成一個表,而利用MOVC A,@A+DPTR做取碼的操作,就可方便地處理一些復雜的控制動作,取表過程如圖3所示。

      圖3

      在原理圖中的每位LED顯示都可以是一個LED矩陣,例如8×8位矩陣,每個矩陣內(nèi)或矩陣間還可以采用不同顏色的發(fā)光二極管組合,通過使能控制可做成閃燈、流水燈、各式花樣燈。

      參考文獻:

      [1]王誠.Altera FPGA/CPLD設(shè)計[M].北京:人民郵電出版社,2005.

      [2]高仁璟.數(shù)字電子技術(shù)基礎(chǔ)與設(shè)計[M].大連:大連理工大學出版社,2004.

      [3]李洪偉.基于Quartus II FPGA/CPLD設(shè)計[M].北京:電子工業(yè)出版社,2006.

      [4]謝云.現(xiàn)代電子技術(shù)實踐課程指導[M].北京:機械工業(yè)出版社,2003.

      [5]閻石.數(shù)字電子技術(shù)基礎(chǔ)(第五版)[M].北京:高等教育出版社,2006.

      [6]王輝.MAX+plus II和Quartus II應用與開發(fā)技巧[M].北京:機械工業(yè)出版社,2007.

      [7]趙負圖.數(shù)字邏輯集成電路手冊[M].北京:化學工業(yè)出版社,2005.

      猜你喜歡
      單片機
      基于單片機的SPWM控制逆變器的設(shè)計與實現(xiàn)
      電子制作(2019年13期)2020-01-14 03:15:28
      基于單片機的層次漸變暖燈的研究
      電子制作(2019年15期)2019-08-27 01:12:10
      基于單片機的便捷式LCF測量儀
      電子制作(2019年9期)2019-05-30 09:42:02
      小議PLC與單片機之間的串行通信及應用
      電子制作(2018年12期)2018-08-01 00:48:04
      基于單片機的平衡控制系統(tǒng)設(shè)計
      電子制作(2017年19期)2017-02-02 07:08:27
      Microchip推出兩個全新PIC單片機系列
      昌乐县| 古丈县| 汨罗市| 贵阳市| 台湾省| 兴海县| 封开县| 梁山县| 阜平县| 察雅县| 海原县| 都昌县| 新干县| 旬阳县| 房产| 黑龙江省| 惠州市| 玉屏| 竹山县| 原平市| 台中县| 那曲县| 江永县| 上虞市| 班玛县| 大埔区| 日土县| 安西县| 正蓝旗| 肇州县| 莎车县| 宁远县| 斗六市| 岳西县| 沁阳市| 庐江县| 潍坊市| 榆树市| 伽师县| 浮梁县| 望奎县|