一、 實(shí)驗(yàn)?zāi)康氖褂?51單片機(jī)的八位數(shù)碼管順序顯示自己的學(xué)號(hào)。掌握 C 語言、匯編語言兩種編程單片機(jī)控制程序的方法。掌握使用 Keil 4 或 Keil 5 軟件編寫、編譯、調(diào)試程序的方法。掌握使用 Proteus 軟件繪制電路原理圖、硬件仿真和程序調(diào)試。二、實(shí)驗(yàn)設(shè)備筆記本電腦51 單片機(jī)(普中科技)八位數(shù)碼管(單片機(jī)上已集成)應(yīng)用程序:Proteus 8.0、Keil uVision5、stc-isp-v6.88E三、實(shí)驗(yàn)原理(1)數(shù)碼管數(shù)碼管按段數(shù)可分為七段數(shù)碼管和 8 段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元,也就是多一個(gè)小數(shù)點(diǎn)(DP),這個(gè)小數(shù)點(diǎn)可以更精確的表示數(shù)碼管想要顯示的內(nèi)容。按能顯示多少個(gè)(8),可分為 1 位、2位、3位、4位、5 位、6位、7 位等數(shù)碼管。按發(fā)光二極管單元連接方式可分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管,共陽數(shù)碼管在應(yīng)用時(shí)將公共極 COM 接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮,當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管,共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極 COM 接到地線 GND上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時(shí),相應(yīng)字段就點(diǎn)亮,當(dāng)某一字段的陽極為低電平時(shí),相應(yīng)字段就不亮。(2)51單片機(jī)單片機(jī)(Microcontrollers)是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器 CPU、隨機(jī)存儲(chǔ)器 RAM、只讀存儲(chǔ)器ROM、多種 I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器等功能集成到一塊硅片上構(gòu)成的一個(gè)小而完善的微型計(jì)算機(jī)系統(tǒng),在工業(yè)控制領(lǐng)域廣泛應(yīng)用。MSC-51 單片機(jī)指以 8051為核心的單片機(jī),由美國的 Intel 公司在 1980 年推出,80C51 是 MCS-51系列中的一個(gè)典型品種;其它廠商以 8051為基核開發(fā)出的CMOS 工藝單片機(jī)產(chǎn)品統(tǒng)稱為 80C51 系列。本實(shí)驗(yàn)中我使用普中科技的 51 單片機(jī)來點(diǎn)亮八位數(shù)碼管并使其顯示我的學(xué)號(hào)(20198043)。四、 實(shí)驗(yàn) 過程(1)熟悉數(shù)碼管使用 Proteus 軟件構(gòu)建電路圖,學(xué)會(huì)如何點(diǎn)亮數(shù)碼管,熟悉如何使數(shù)碼管顯示不同的數(shù)字(0-9)。我們可以按照上面的原理圖讓對(duì)應(yīng)的段導(dǎo)通,以顯示數(shù)字。對(duì)于共陽數(shù)碼管,若顯示數(shù)字 0,可以讓標(biāo)號(hào)為 A,B,C,D,E,F(xiàn) 的段導(dǎo)通,標(biāo)號(hào)為 G,H 的段不導(dǎo)通,然后將陽極通入高電壓,即顯示數(shù)字 0。代碼舉例如下:最后效果如下,成功點(diǎn)亮一個(gè)數(shù)碼管。經(jīng)過更多嘗試和學(xué)習(xí),學(xué)會(huì)使多位數(shù)碼管顯示多位數(shù)字。結(jié)果舉例如下:(2)多位數(shù)碼管顯示學(xué)號(hào)為了顯示我們學(xué)號(hào),就不能只使用一位數(shù)碼管,需要使用八位數(shù)碼管,相較于單位數(shù)碼管,多位數(shù)碼管更加復(fù)雜,驅(qū)動(dòng)函數(shù)有很大區(qū)別。多位數(shù)碼管使用同一組段選,不同的位選,因此就不能夠一對(duì)一地固定顯示,這就需要?jiǎng)討B(tài)掃描。動(dòng)態(tài)掃描:利用人眼視覺暫留,多位數(shù)碼管每次只顯示一位數(shù)字,但是切換頻率大于 200HZ(50 × 4),這樣就能讓人產(chǎn)生同時(shí)顯示多個(gè)數(shù)字的錯(cuò)覺。具體操作是輪流向數(shù)碼管送字形碼和相應(yīng)的位選。一個(gè)完整的驅(qū)動(dòng)程序不只以上這些,一個(gè)完整的數(shù)碼管驅(qū)動(dòng)有 6部分:1. 碼表(ROM):存儲(chǔ)段碼(一般放在 ROM中,節(jié)省 RAM空間),例如數(shù)字 0的段碼就是 0xC0,碼表則包含 0-9的段碼2. 顯存(RAM):保存要顯示的數(shù)字,取連續(xù)地址(便于查表)3. 段選賦值:通過查表(碼表)操作,將顯存映射到段碼4. 位選切換:切換顯示的位置5. 延時(shí):顯示的數(shù)字短暫保持,提升亮度6. 消影:消除切換時(shí)不同位置互相影響而產(chǎn)生的殘影
上傳時(shí)間: 2022-06-08
上傳用戶:canderile
第一章 概述 1.1 AVR 單片機(jī)GCC 開發(fā)概述 1.2 一個(gè)簡單的例子 1.3 用MAKEFILE 管理項(xiàng)目 1.4 開發(fā)環(huán)境的配置 1.5 實(shí)驗(yàn)板CA-M8 第二章 存儲(chǔ)器操作編程 2.1 AVR 單片機(jī)存儲(chǔ)器組織結(jié)構(gòu) 2.2 I/O 寄存器操作 2.3 SRAM 內(nèi)變量的使用 2.4 在程序中訪問FLASH 程序存儲(chǔ)器 2.5 EEPROM 數(shù)據(jù)存儲(chǔ)器操作 2.6 avr-gcc 段結(jié)構(gòu)與再定位 2.7 外部RAM 存儲(chǔ)器操作 2.8 堆應(yīng)用 第三章 GCC C 編譯器的使用 3.1 編譯基礎(chǔ) 3.2 生成靜態(tài)連接庫 第四章 AVR 功能模塊應(yīng)用實(shí)驗(yàn) 4.1 中斷服務(wù)程序 4.2 定時(shí)器/計(jì)數(shù)器應(yīng)用 4.3 看門狗應(yīng)用 4.4 UART 應(yīng)用 4.5 PWM 功能編程 4.6 模擬比較器 4.7 A/D 轉(zhuǎn)換模塊編程 4.8 數(shù)碼管顯示程序設(shè)計(jì) 4.9 鍵盤程序設(shè)計(jì) 4.10 蜂鳴器控制 第五章 使用C 語言標(biāo)準(zhǔn)I/O 流調(diào)試程序 5.1 avr-libc 標(biāo)準(zhǔn)I/O 流描述 5.2 利用標(biāo)準(zhǔn)I/0 流調(diào)試程序 5.3 最小化的格式化的打印函數(shù) 第六章 CA-M8 上實(shí)現(xiàn)AT89S52 編程器的實(shí)現(xiàn) 6.1 編程原理 6.2 LuckyProg2004 概述 6.3 AT989S52 isp 功能簡介 6.4 下位機(jī)程序設(shè)計(jì) 第七章 硬件TWI 端口編程 7.1 TWI 模塊概述 7.2 主控模式操作實(shí)時(shí)時(shí)鐘DS1307 7.3 兩個(gè)Mega8 間的TWI 通信 第八章 BootLoader 功能應(yīng)用 8.1 BootLoader 功能介紹 8.2 avr-libc 對(duì)BootLoader 的支持 8.3 BootLoader 應(yīng)用實(shí)例 8.4 基于LuckyProg2004 的BootLoader 程序 第九章 匯編語言支持 9.1 C 代碼中內(nèi)聯(lián)匯編程序 9.2 獨(dú)立的匯編語言支持 9.3 C 與匯編混合編程 第十章 C++語言支持
標(biāo)簽: AVR GCC 單片機(jī) 程序設(shè)計(jì)
上傳時(shí)間: 2013-08-01
上傳用戶:飛翔的胸毛
PCB 布線原則連線精簡原則連線要精簡,盡可能短,盡量少拐彎,力求線條簡單明了,特別是在高頻回路中,當(dāng)然為了達(dá)到阻抗匹配而需要進(jìn)行特殊延長的線就例外了,例如蛇行走線等。安全載流原則銅線的寬度應(yīng)以自己所能承載的電流為基礎(chǔ)進(jìn)行設(shè)計(jì),銅線的載流能力取決于以下因素:線寬、線厚(銅鉑厚度)、允許溫升等,下表給出了銅導(dǎo)線的寬度和導(dǎo)線面積以及導(dǎo)電電流的關(guān)系(軍品標(biāo)準(zhǔn)),可以根據(jù)這個(gè)基本的關(guān)系對(duì)導(dǎo)線寬度進(jìn)行適當(dāng)?shù)目紤]。印制導(dǎo)線最大允許工作電流(導(dǎo)線厚50um,允許溫升10℃)導(dǎo)線寬度(Mil) 導(dǎo)線電流(A) 其中:K 為修正系數(shù),一般覆銅線在內(nèi)層時(shí)取0.024,在外層時(shí)取0.048;T 為最大溫升,單位為℃;A 為覆銅線的截面積,單位為mil(不是mm,注意);I 為允許的最大電流,單位是A。電磁抗干擾原則電磁抗干擾原則涉及的知識(shí)點(diǎn)比較多,例如銅膜線的拐彎處應(yīng)為圓角或斜角(因?yàn)楦哳l時(shí)直角或者尖角的拐彎會(huì)影響電氣性能)雙面板兩面的導(dǎo)線應(yīng)互相垂直、斜交或者彎曲走線,盡量避免平行走線,減小寄生耦合等。一、 通常一個(gè)電子系統(tǒng)中有各種不同的地線,如數(shù)字地、邏輯地、系統(tǒng)地、機(jī)殼地等,地線的設(shè)計(jì)原則如下:1、 正確的單點(diǎn)和多點(diǎn)接地在低頻電路中,信號(hào)的工作頻率小于1MHZ,它的布線和器件間的電感影響較小,而接地電路形成的環(huán)流對(duì)干擾影響較大,因而應(yīng)采用一點(diǎn)接地。當(dāng)信號(hào)工作頻率大于10MHZ 時(shí),如果采用一點(diǎn)接地,其地線的長度不應(yīng)超過波長的1/20,否則應(yīng)采用多點(diǎn)接地法。2、 數(shù)字地與模擬地分開若線路板上既有邏輯電路又有線性電路,應(yīng)盡量使它們分開。一般數(shù)字電路的抗干擾能力比較強(qiáng),例如TTL 電路的噪聲容限為0.4~0.6V,CMOS 電路的噪聲容限為電源電壓的0.3~0.45 倍,而模擬電路只要有很小的噪聲就足以使其工作不正常,所以這兩類電路應(yīng)該分開布局布線。3、 接地線應(yīng)盡量加粗若接地線用很細(xì)的線條,則接地電位會(huì)隨電流的變化而變化,使抗噪性能降低。因此應(yīng)將地線加粗,使它能通過三倍于印制板上的允許電流。如有可能,接地線應(yīng)在2~3mm 以上。4、 接地線構(gòu)成閉環(huán)路只由數(shù)字電路組成的印制板,其接地電路布成環(huán)路大多能提高抗噪聲能力。因?yàn)榄h(huán)形地線可以減小接地電阻,從而減小接地電位差。二、 配置退藕電容PCB 設(shè)計(jì)的常規(guī)做法之一是在印刷板的各個(gè)關(guān)鍵部位配置適當(dāng)?shù)耐伺弘娙荩伺弘娙莸囊话闩渲迷瓌t是:?電電源的輸入端跨½10~100uf的的電解電容器,如果印制電路板的位置允許,采Ó100uf以以上的電解電容器抗干擾效果會(huì)更好¡���?原原則上每個(gè)集成電路芯片都應(yīng)布置一¸0.01uf~`0.1uf的的瓷片電容,如遇印制板空隙不夠,可Ã4~8個(gè)個(gè)芯片布置一¸1~10uf的的鉭電容(最好不用電解電容,電解電容是兩層薄膜卷起來的,這種卷起來的結(jié)構(gòu)在高頻時(shí)表現(xiàn)為電感,最好使用鉭電容或聚碳酸醞電容)。���?對(duì)對(duì)于抗噪能力弱、關(guān)斷時(shí)電源變化大的器件,ÈRA、¡ROM存存儲(chǔ)器件,應(yīng)在芯片的電源線和地線之間直接接入退藕電容¡���?電電容引線不能太長,尤其是高頻旁路電容不能有引線¡三¡過過孔設(shè)¼在高ËPCB設(shè)設(shè)計(jì)中,看似簡單的過孔也往往會(huì)給電路的設(shè)計(jì)帶來很大的負(fù)面效應(yīng),為了減小過孔的寄生效應(yīng)帶來的不利影響,在設(shè)計(jì)中可以盡量做到£���?從從成本和信號(hào)質(zhì)量兩方面來考慮,選擇合理尺寸的過孔大小。例如¶6- 10層層的內(nèi)存模¿PCB設(shè)設(shè)計(jì)來說,選Ó10/20mi((鉆¿焊焊盤)的過孔較好,對(duì)于一些高密度的小尺寸的板子,也可以嘗試使Ó8/18Mil的的過孔。在目前技術(shù)條件下,很難使用更小尺寸的過孔了(當(dāng)孔的深度超過鉆孔直徑µ6倍倍時(shí),就無法保證孔壁能均勻鍍銅);對(duì)于電源或地線的過孔則可以考慮使用較大尺寸,以減小阻抗¡���?使使用較薄µPCB板板有利于減小過孔的兩種寄生參數(shù)¡���? PCB板板上的信號(hào)走線盡量不換層,即盡量不要使用不必要的過孔¡���?電電源和地的管腳要就近打過孔,過孔和管腳之間的引線越短越好¡���?在在信號(hào)換層的過孔附近放置一些接地的過孔,以便為信號(hào)提供最近的回路。甚至可以ÔPCB板板上大量放置一些多余的接地過孔¡四¡降降低噪聲與電磁干擾的一些經(jīng)Ñ?能能用低速芯片就不用高速的,高速芯片用在關(guān)鍵地方¡?可可用串一個(gè)電阻的方法,降低控制電路上下沿跳變速率¡?盡盡量為繼電器等提供某種形式的阻尼,ÈRC設(shè)設(shè)置電流阻尼¡?使使用滿足系統(tǒng)要求的最低頻率時(shí)鐘¡?時(shí)時(shí)鐘應(yīng)盡量靠近到用該時(shí)鐘的器件,石英晶體振蕩器的外殼要接地¡?用用地線將時(shí)鐘區(qū)圈起來,時(shí)鐘線盡量短¡?石石英晶體下面以及對(duì)噪聲敏感的器件下面不要走線¡?時(shí)時(shí)鐘、總線、片選信號(hào)要遠(yuǎn)ÀI/O線線和接插件¡?時(shí)時(shí)鐘線垂直ÓI/O線線比平行ÓI/O線線干擾小¡? I/O驅(qū)驅(qū)動(dòng)電路盡量靠½PCB板板邊,讓其盡快離¿PC。。對(duì)進(jìn)ÈPCB的的信號(hào)要加濾波,從高噪聲區(qū)來的信號(hào)也要加濾波,同時(shí)用串終端電阻的辦法,減小信號(hào)反射¡? MCU無無用端要接高,或接地,或定義成輸出端,集成電路上該接電源、地的端都要接,不要懸空¡?閑閑置不用的門電路輸入端不要懸空,閑置不用的運(yùn)放正輸入端接地,負(fù)輸入端接輸出端¡?印印制板盡量使Ó45折折線而不Ó90折折線布線,以減小高頻信號(hào)對(duì)外的發(fā)射與耦合¡?印印制板按頻率和電流開關(guān)特性分區(qū),噪聲元件與非噪聲元件呀距離再遠(yuǎn)一些¡?單單面板和雙面板用單點(diǎn)接電源和單點(diǎn)接地、電源線、地線盡量粗¡?模模擬電壓輸入線、參考電壓端要盡量遠(yuǎn)離數(shù)字電路信號(hào)線,特別是時(shí)鐘¡?對(duì)¶A/D類類器件,數(shù)字部分與模擬部分不要交叉¡?元元件引腳盡量短,去藕電容引腳盡量短¡?關(guān)關(guān)鍵的線要盡量粗,并在兩邊加上保護(hù)地,高速線要短要直¡?對(duì)對(duì)噪聲敏感的線不要與大電流,高速開關(guān)線并行¡?弱弱信號(hào)電路,低頻電路周圍不要形成電流環(huán)路¡?任任何信號(hào)都不要形成環(huán)路,如不可避免,讓環(huán)路區(qū)盡量小¡?每每個(gè)集成電路有一個(gè)去藕電容。每個(gè)電解電容邊上都要加一個(gè)小的高頻旁路電容¡?用用大容量的鉭電容或聚酷電容而不用電解電容做電路充放電儲(chǔ)能電容,使用管狀電容時(shí),外殼要接地¡?對(duì)對(duì)干擾十分敏感的信號(hào)線要設(shè)置包地,可以有效地抑制串?dāng)_¡?信信號(hào)在印刷板上傳輸,其延遲時(shí)間不應(yīng)大于所有器件的標(biāo)稱延遲時(shí)間¡環(huán)境效應(yīng)原Ô要注意所應(yīng)用的環(huán)境,例如在一個(gè)振動(dòng)或者其他容易使板子變形的環(huán)境中采用過細(xì)的銅膜導(dǎo)線很容易起皮拉斷等¡安全工作原Ô要保證安全工作,例如要保證兩線最小間距要承受所加電壓峰值,高壓線應(yīng)圓滑,不得有尖銳的倒角,否則容易造成板路擊穿等。組裝方便、規(guī)范原則走線設(shè)計(jì)要考慮組裝是否方便,例如印制板上有大面積地線和電源線區(qū)時(shí)(面積超¹500平平方毫米),應(yīng)局部開窗口以方便腐蝕等。此外還要考慮組裝規(guī)范設(shè)計(jì),例如元件的焊接點(diǎn)用焊盤來表示,這些焊盤(包括過孔)均會(huì)自動(dòng)不上阻焊油,但是如用填充塊當(dāng)表貼焊盤或用線段當(dāng)金手指插頭,而又不做特別處理,(在阻焊層畫出無阻焊油的區(qū)域),阻焊油將掩蓋這些焊盤和金手指,容易造成誤解性錯(cuò)誤£SMD器器件的引腳與大面積覆銅連接時(shí),要進(jìn)行熱隔離處理,一般是做一¸Track到到銅箔,以防止受熱不均造成的應(yīng)力集Ö而導(dǎo)致虛焊£PCB上上如果有¦12或或方Ð12mm以以上的過孔時(shí),必須做一個(gè)孔蓋,以防止焊錫流出等。經(jīng)濟(jì)原則遵循該原則要求設(shè)計(jì)者要對(duì)加工,組裝的工藝有足夠的認(rèn)識(shí)和了解,例È5mil的的線做腐蝕要±8mil難難,所以價(jià)格要高,過孔越小越貴等熱效應(yīng)原則在印制板設(shè)計(jì)時(shí)可考慮用以下幾種方法:均勻分布熱負(fù)載、給零件裝散熱器,局部或全局強(qiáng)迫風(fēng)冷。從有利于散熱的角度出發(fā),印制板最好是直立安裝,板與板的距離一般不應(yīng)小Ó2c,,而且器件在印制板上的排列方式應(yīng)遵循一定的規(guī)則£同一印制板上的器件應(yīng)盡可能按其發(fā)熱量大小及散熱程度分區(qū)排列,發(fā)熱量小或耐熱性差的器件(如小信號(hào)晶體管、小規(guī)模集³電路、電解電容等)放在冷卻氣流的最上(入口處),發(fā)熱量大或耐熱性好的器件(如功率晶體管、大規(guī)模集成電路等)放在冷卻Æ流最下。在水平方向上,大功率器件盡量靠近印刷板的邊沿布置,以便縮短傳熱路徑;在垂直方向上,大功率器件盡量靠近印刷板上方布置£以便減少這些器件在工作時(shí)對(duì)其他器件溫度的影響。對(duì)溫度比較敏感的器件最好安置在溫度最低的區(qū)域(如設(shè)備的µ部),千萬不要將它放在發(fā)熱器件的正上方,多個(gè)器件最好是在水平面上交錯(cuò)布局¡設(shè)備內(nèi)印制板的散熱主要依靠空氣流動(dòng),所以在設(shè)計(jì)時(shí)要研究空氣流動(dòng)的路徑,合理配置器件或印制電路板。采用合理的器件排列方式,可以有效地降低印制電路的溫升。此外通過降額使用,做等溫處理等方法也是熱設(shè)計(jì)中經(jīng)常使用的手段¡
上傳時(shí)間: 2013-11-24
上傳用戶:氣溫達(dá)上千萬的
本書從應(yīng)用的角度,詳細(xì)地介紹了MCS-51單片機(jī)的硬件結(jié)構(gòu)、指令系統(tǒng)、各種硬件接口設(shè)計(jì)、各種常用的數(shù)據(jù)運(yùn)算和處理程序及接口驅(qū)動(dòng)程序的設(shè)計(jì)以及MCS-51單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì),并對(duì)MCS-51單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)中的抗干擾技術(shù)以及各種新器件也作了詳細(xì)的介紹。本書突出了選取內(nèi)容的實(shí)用性、典型性。書中的應(yīng)用實(shí)例,大多來自科研工作及教學(xué)實(shí)踐,且經(jīng)過檢驗(yàn),內(nèi)容豐富、翔實(shí)。 本書可作為工科院校的本科生、研究生、專科生學(xué)習(xí)MCS-51單片機(jī)課程的教材,也可供從事自動(dòng)控制、智能儀器儀表、測試、機(jī)電一體化以及各類從事MCS-51單片機(jī)應(yīng)用的工程技術(shù)人員參考。 第一章 單片微型計(jì)等機(jī)概述 1.1 單片機(jī)的歷史及發(fā)展概況 1.2 單片機(jī)的發(fā)展趨勢 1.3 單片機(jī)的應(yīng)用 1.3.1 單片機(jī)的特點(diǎn) 1.3.2 單片機(jī)的應(yīng)用范圍 1.4 8位單片機(jī)的主要生產(chǎn)廠家和機(jī)型 1.5 MCS-51系列單片機(jī) 第二章 MCS-51單片機(jī)的硬件結(jié)構(gòu) 2.1 MCS-51單片機(jī)的硬件結(jié)構(gòu) 2.2 MCS-51的引腳 2.2.1 電源及時(shí)鐘引腳 2.2.2 控制引腳 2.2.3 I/O口引腳 2.3 MCS-51單片機(jī)的中央處理器(CPU) 2.3.1 運(yùn)算部件 2.3.2 控制部件 2.4 MCS-51存儲(chǔ)器的結(jié)構(gòu) 2.4.1 程序存儲(chǔ)器 2.4.2 內(nèi)部數(shù)據(jù)存儲(chǔ)器 2.4.3 特殊功能寄存器(SFR) 2.4.4 位地址空間 2.4.5 外部數(shù)據(jù)存儲(chǔ)器 2.5 I/O端口 2.5.1 I/O口的內(nèi)部結(jié)構(gòu) 2.5.2 I/O口的讀操作 2.5.3 I/O口的寫操作及負(fù)載能力 2.6 復(fù)位電路 2.6.1 復(fù)位時(shí)各寄存器的狀態(tài) 2.6.2 復(fù)位電路 2.7 時(shí)鐘電路 2.7.1 內(nèi)部時(shí)鐘方式 2.7.2 外部時(shí)鐘方式 2.7.3 時(shí)鐘信號(hào)的輸出 第三章 MCS-51的指令系統(tǒng) 3.1 MCS-51指令系統(tǒng)的尋址方式 3.1.1 寄存器尋址 3.1.2 直接尋址 3.1.3 寄存器間接尋址 3.1.4 立即尋址 3.1.5 基址寄存器加變址寄存器間址尋址 3.2 MCS-51指令系統(tǒng)及一般說明 3.2.1 數(shù)據(jù)傳送類指令 3.2.2 算術(shù)操作類指令 3.2.3 邏輯運(yùn)算指令 3.2.4 控制轉(zhuǎn)移類指令 3.2.5 位操作類指令 第四章 MCS-51的定時(shí)器/計(jì)數(shù)器 4.1 定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu) 4.1.1 工作方式控制寄存器TMOD 4.1.2 定時(shí)器/計(jì)數(shù)器控制寄存器TCON 4.2 定時(shí)器/計(jì)數(shù)器的四種工作方式 4.2.1 方式0 4.2.2 方式1 4.2.3 方式2 4.2.4 方式3 4.3 定時(shí)器/計(jì)數(shù)器對(duì)輸入信號(hào)的要求 4.4 定時(shí)器/計(jì)數(shù)器編程和應(yīng)用 4.4.1 方式o應(yīng)用(1ms定時(shí)) 4.4.2 方式1應(yīng)用 4.4.3 方式2計(jì)數(shù)方式 4.4.4 方式3的應(yīng)用 4.4.5 定時(shí)器溢出同步問題 4.4.6 運(yùn)行中讀定時(shí)器/計(jì)數(shù)器 4.4.7 門控制位GATE的功能和使用方法(以T1為例) 第五章 MCS-51的串行口 5.1 串行口的結(jié)構(gòu) 5.1.1 串行口控制寄存器SCON 5.1.2 特殊功能寄存器PCON 5.2 串行口的工作方式 5.2.1 方式0 5.2.2 方式1 5.2.3 方式2 5.2.4 方式3 5.3 多機(jī)通訊 5.4 波特率的制定方法 5.4.1 波特率的定義 5.4.2 定時(shí)器T1產(chǎn)生波特率的計(jì)算 5.5 串行口的編程和應(yīng)用 5.5.1 串行口方式1應(yīng)用編程(雙機(jī)通訊) 5.5.2 串行口方式2應(yīng)用編程 5.5.3 串行口方式3應(yīng)用編程(雙機(jī)通訊) 第六章 MCS-51的中斷系統(tǒng) 6.1 中斷請(qǐng)求源 6.2 中斷控制 6.2.1 中斷屏蔽 6.2.2 中斷優(yōu)先級(jí)優(yōu) 6.3 中斷的響應(yīng)過程 6.4 外部中斷的響應(yīng)時(shí)間 6.5 外部中斷的方式選擇 6.5.1 電平觸發(fā)方式 6.5.2 邊沿觸發(fā)方式 6.6 多外部中斷源系統(tǒng)設(shè)計(jì) 6.6.1 定時(shí)器作為外部中斷源的使用方法 6.6.2 中斷和查詢結(jié)合的方法 6.6.3 用優(yōu)先權(quán)編碼器擴(kuò)展外部中斷源 第七章 MCS-51單片機(jī)擴(kuò)展存儲(chǔ)器的設(shè)計(jì) 7.1 概述 7.1.1 只讀存儲(chǔ)器 7.1.2 可讀寫存儲(chǔ)器 7.1.3 不揮發(fā)性讀寫存儲(chǔ)器 7.1.4 特殊存儲(chǔ)器 7.2 存儲(chǔ)器擴(kuò)展的基本方法 7.2.1 MCS-51單片機(jī)對(duì)存儲(chǔ)器的控制 7.2.2 外擴(kuò)存儲(chǔ)器時(shí)應(yīng)注意的問題 7.3 程序存儲(chǔ)器EPROM的擴(kuò)展 7.3.1 程序存儲(chǔ)器的操作時(shí)序 7.3.2 常用的EPROM芯片 7.3.3 外部地址鎖存器和地址譯碼器 7.3.4 典型EPROM擴(kuò)展電路 7.4 靜態(tài)數(shù)據(jù)存儲(chǔ)的器擴(kuò)展 7.4.1 外擴(kuò)數(shù)據(jù)存儲(chǔ)器的操作時(shí)序 7.4.2 常用的SRAM芯片 7.4.3 64K字節(jié)以內(nèi)SRAM的擴(kuò)展 7.4.4 超過64K字節(jié)SRAM擴(kuò)展 7.5 不揮發(fā)性讀寫存儲(chǔ)器擴(kuò)展 7.5.1 EPROM擴(kuò)展 7.5.2 SRAM掉電保護(hù)電路 7.6 特殊存儲(chǔ)器擴(kuò)展 7.6.1 雙口RAMIDT7132的擴(kuò)展 7.6.2 快擦寫存儲(chǔ)器的擴(kuò)展 7.6.3 先進(jìn)先出雙端口RAM的擴(kuò)展 第八章 MCS-51擴(kuò)展I/O接口的設(shè)計(jì) 8.1 擴(kuò)展概述 8.2 MCS-51單片機(jī)與可編程并行I/O芯片8255A的接口 8.2.1 8255A芯片介紹 8.2.2 8031單片機(jī)同8255A的接口 8.2.3 接口應(yīng)用舉例 8.3 MCS-51與可編程RAM/IO芯片8155H的接口 8.3.1 8155H芯片介紹 8.3.2 8031單片機(jī)與8155H的接口及應(yīng)用 8.4 用MCS-51的串行口擴(kuò)展并行口 8.4.1 擴(kuò)展并行輸入口 8.4.2 擴(kuò)展并行輸出口 8.5 用74LSTTL電路擴(kuò)展并行I/O口 8.5.1 用74LS377擴(kuò)展一個(gè)8位并行輸出口 8.5.2 用74LS373擴(kuò)展一個(gè)8位并行輸入口 8.5.3 MCS-51單片機(jī)與總線驅(qū)動(dòng)器的接口 8.6 MCS-51與8253的接口 8.6.1 邏輯結(jié)構(gòu)與操作編址 8.6.2 8253工作方式和控制字定義 8.6.3 8253的工作方式與操作時(shí)序 8.6.4 8253的接口和編程實(shí)例 第九章 MCS-51與鍵盤、打印機(jī)的接口 9.1 LED顯示器接口原理 9.1.1 LED顯示器結(jié)構(gòu) 9.1.2 顯示器工作原理 9.2 鍵盤接口原理 9.2.1 鍵盤工作原理 9.2.2 單片機(jī)對(duì)非編碼鍵盤的控制方式 9.3 鍵盤/顯示器接口實(shí)例 9.3.1 利用8155H芯片實(shí)現(xiàn)鍵盤/顯示器接口 9.3.2 利用8031的串行口實(shí)現(xiàn)鍵盤/顯示器接口 9.3.3 利用專用鍵盤/顯示器接口芯片8279實(shí)現(xiàn)鍵盤/顯示器接口 9.4 MCS-51與液晶顯示器(LCD)的接口 9.4.1 LCD的基本結(jié)構(gòu)及工作原理 9.4.2 點(diǎn)陣式液晶顯示控制器HD61830介紹 9.5 MCS-51與微型打印機(jī)的接口 9.5.1 MCS-51與TPμp-40A/16A微型打印機(jī)的接口 9.5.2 MCS-51與GP16微型打印機(jī)的接口 9.5.3 MCS-51與PP40繪圖打印機(jī)的接口 9.6 MCS-51單片機(jī)與BCD碼撥盤的接口設(shè)計(jì) 9.6.1 BCD碼撥盤 9.6.2 BCD碼撥盤與單片機(jī)的接口 9.6.3 撥盤輸出程序 9.7 MCS-51單片機(jī)與CRT的接口 9.7.1 SCIBCRT接口板的主要特點(diǎn)及技術(shù)參數(shù) 9.7.2 SCIB接口板的工作原理 9.7.3 SCIB與MCS-51單片機(jī)的接口 9.7.4 SCIB的CRT顯示軟件設(shè)計(jì)方法 第十章 MCS-51與D/A、A/D的接口 10.1 有關(guān)DAC及ADC的性能指標(biāo)和選擇要點(diǎn) 10.1.1 性能指標(biāo) 10.1.2 選擇ABC和DAC的要點(diǎn) 10.2 MCS-51與DAC的接口 10.2.1 MCS-51與DAC0832的接口 10.2.2 MCS-51同DAC1020及DAC1220的接口 10.2.3 MCS-51同串行輸入的DAC芯片AD7543的接口 10.3 MCS-51與ADC的接口 10.3.1 MCS-51與5G14433(雙積分型)的接口 10.3.2 MCS-51與ICL7135(雙積分型)的接口 10.3.3 MCS-51與ICL7109(雙積分型)的接口 10.3.4 MCS-51與ADC0809(逐次逼近型)的接口 10.3.5 8031AD574(逐次逼近型)的接口 10.4 V/F轉(zhuǎn)換器接口技術(shù) 10.4.1 V/F轉(zhuǎn)換器實(shí)現(xiàn)A/D轉(zhuǎn)換的方法 10.4.2 常用V/F轉(zhuǎn)換器LMX31簡介 10.4.3 V/F轉(zhuǎn)換器與MCS-51單片機(jī)接口 10.4.4 LM331應(yīng)用舉例 第十一章 標(biāo)準(zhǔn)串行接口及應(yīng)用 11.1 概述 11.2 串行通訊的接口標(biāo)準(zhǔn) 11.2.1 RS-232C接口 11.2.2 RS-422A接口 11.2.3 RS-485接口 11.2.4 各種串行接口性能比較 11.3 雙機(jī)串行通訊技術(shù) 11.3.1 單片機(jī)雙機(jī)通訊技術(shù) 11.3.2 PC機(jī)與8031單片機(jī)雙機(jī)通訊技術(shù) 11.4 多機(jī)串行通訊技術(shù) 11.4.1 單片機(jī)多機(jī)通訊技術(shù) 11.4.2 IBM-PC機(jī)與單片機(jī)多機(jī)通訊技術(shù) 11.5 串行通訊中的波特率設(shè)置技術(shù) 11.5.1 IBM-PC/XT系統(tǒng)中波特率的產(chǎn)生 11.5.2 MCS-51單片機(jī)串行通訊波特率的確定 11.5.3 波特率相對(duì)誤差范圍的確定方法 11.5.4 SMOD位對(duì)波特率的影響 第十二章 MCS-51的功率接口 12.1 常用功率器件 12.1.1 晶閘管 12.1.2 固態(tài)繼電器 12.1.3 功率晶體管 12.1.4 功率場效應(yīng)晶體管 12.2 開關(guān)型功率接口 12.2.1 光電耦合器驅(qū)動(dòng)接口 12.2.2 繼電器型驅(qū)動(dòng)接口 12.2.3 晶閘管及脈沖變壓器驅(qū)動(dòng)接口 第十三章 MCS-51單片機(jī)與日歷的接口設(shè)計(jì) 13.1 概述 13.2 MCS-51單片機(jī)與實(shí)時(shí)日歷時(shí)鐘芯片MSM5832的接口設(shè)計(jì) 13.2.1 MSM5832性能及引腳說明 13.2.2 MSM5832時(shí)序分析 13.2.3 8031單片機(jī)與MSM5832的接口設(shè)計(jì) 13.3 MCS-51單片機(jī)與實(shí)時(shí)日歷時(shí)鐘芯片MC146818的接口設(shè)計(jì) 13.3.1 MC146818性能及引腳說明 13.3.2 MC146818芯片地址分配及各單元的編程 13.3.3 MC146818的中斷 13.3.4 8031單片機(jī)與MC146818的接口電路設(shè)計(jì) 13.3.5 8031單片機(jī)與MC146818的接口軟件設(shè)計(jì) 第十四章 MCS-51程序設(shè)計(jì)及實(shí)用子程序 14.1 查表程序設(shè)計(jì) 14.2 散轉(zhuǎn)程序設(shè)計(jì) 14.2.1 使用轉(zhuǎn)移指令表的散轉(zhuǎn)程序 14.2.2 使用地地址偏移量表的散轉(zhuǎn)程序 14.2.3 使用轉(zhuǎn)向地址表的散轉(zhuǎn)程序 14.2.4 利用RET指令實(shí)現(xiàn)的散轉(zhuǎn)程序 14.3 循環(huán)程序設(shè)計(jì) 14.3.1 單循環(huán) 14.3.2 多重循環(huán) 14.4 定點(diǎn)數(shù)運(yùn)算程序設(shè)計(jì) 14.4.1 定點(diǎn)數(shù)的表示方法 14.4.2 定點(diǎn)數(shù)加減運(yùn)算 14.4.3 定點(diǎn)數(shù)乘法運(yùn)算 14.4.4 定點(diǎn)數(shù)除法 14.5 浮點(diǎn)數(shù)運(yùn)算程序設(shè)計(jì) 14.5.1 浮點(diǎn)數(shù)的表示 14.5.2 浮點(diǎn)數(shù)的加減法運(yùn)算 14.5.3 浮點(diǎn)數(shù)乘除法運(yùn)算 14.5.4 定點(diǎn)數(shù)與浮點(diǎn)數(shù)的轉(zhuǎn)換 14.6 碼制轉(zhuǎn)換 ……
標(biāo)簽: MCS 51 單片機(jī) 應(yīng)用設(shè)計(jì)
上傳時(shí)間: 2013-11-06
上傳用戶:xuanjie
含原理圖+電路圖+程序的波形發(fā)生器:在工作中,我們常常會(huì)用到波形發(fā)生器,它是使用頻度很高的電子儀器。現(xiàn)在的波形發(fā)生器都采用單片機(jī)來構(gòu)成。單片機(jī)波形發(fā)生器是以單片機(jī)核心,配相應(yīng)的外圍電路和功能軟件,能實(shí)現(xiàn)各種波形發(fā)生的應(yīng)用系統(tǒng),它由硬件部分和軟件部分組成,硬件是系統(tǒng)的基礎(chǔ),軟件則是在硬件的基礎(chǔ)上,對(duì)其合理的調(diào)配和使用,從而完成波形發(fā)生的任務(wù)。 波形發(fā)生器的技術(shù)指標(biāo):(1) 波形類型:方型、正弦波、三角波、鋸齒波;(2) 幅值電壓:1V、2V、3V、4V、5V;(3) 頻率值:10HZ、20HZ、50HZ、100HZ、200HZ、500HZ、1KHZ;(4) 輸出極性:雙極性操作設(shè)計(jì)1、 機(jī)器通電后,系統(tǒng)進(jìn)行初始化,LED在面板上顯示6個(gè)0,表示系統(tǒng)處于初始狀態(tài),等待用戶輸入設(shè)置命令,此時(shí),無任何波形信號(hào)輸出。2、 用戶按下“F”、“V”、“W”,可以分別進(jìn)入頻率,幅值波形設(shè)置,使系統(tǒng)進(jìn)入設(shè)置狀態(tài),相應(yīng)的數(shù)碼管顯示“一”,此時(shí),按其它鍵,無效;3、 在進(jìn)入某一設(shè)置狀態(tài)后,輸入0~9等數(shù)字鍵,(數(shù)字鍵僅在設(shè)置狀態(tài)時(shí),有效)為欲輸出的波形設(shè)置相應(yīng)參數(shù),LED將參數(shù)顯示在面板上;4、 如果在設(shè)置中,要改變已設(shè)定的參數(shù),可按下“CL”鍵,清除所有已設(shè)定參數(shù),系統(tǒng)恢復(fù)初始狀態(tài),LED顯示6個(gè)0,等待重新輸入命令;5、 當(dāng)必要的參數(shù)設(shè)定完畢后,所有參數(shù)顯示于LED上,用戶按下“EN”鍵,系統(tǒng)會(huì)將各波形參數(shù)傳遞到波形產(chǎn)生模塊中,以便控制波形發(fā)生,實(shí)現(xiàn)不同頻率,不同電壓幅值,不同類型波形的輸出;6、 用戶按下“EN”鍵后,波形發(fā)生器開始輸出滿足參數(shù)的波形信號(hào),面板上相應(yīng)類型的運(yùn)行指示燈閃爍,表示波形正在輸出,LED顯示波形類型編號(hào),頻率值、電壓幅值等波形參數(shù);7、 波形發(fā)生器在輸出信號(hào)時(shí),按下任意一個(gè)鍵,就停止波形信號(hào)輸出,等待重新設(shè)置參數(shù),設(shè)置過程如上所述,如果不改變參數(shù),可按下“EN”鍵,繼續(xù)輸出原波形信號(hào);8、 要停止波形發(fā)生器的使用,可按下復(fù)位按鈕,將系統(tǒng)復(fù)位,然后關(guān)閉電源。硬件組成部分通過綜合比較,決定選用獲得廣泛應(yīng)用,性能價(jià)格高的常用芯片來構(gòu)成硬件電路。單片機(jī)采用MCS-51系列的89C51(一塊),74LS244和74LS373(各一塊),反相驅(qū)動(dòng)器 ULN2803A(一塊),運(yùn)算放大器 LM324(一塊) 波形發(fā)生器的硬件電路由單片機(jī)、鍵盤顯示器接口電路、波形轉(zhuǎn)換(D/ A)電路和電源線路等四部分構(gòu)成。1.單片機(jī)電路功能:形成掃描碼,鍵值識(shí)別,鍵功能處理,完成參數(shù)設(shè)置;形成顯示段碼,向LED顯示接口電路輸出;產(chǎn)生定時(shí)中斷;形成波形的數(shù)字編碼,并輸出到D/A接口電路;如電路原理圖所示: 89C51的P0口和P2口作為擴(kuò)展I/O口,與8255、0832、74LS373相連接,可尋址片外的寄存器。單片機(jī)尋址外設(shè),采用存儲(chǔ)器映像方式,外部接口芯片與內(nèi)部存儲(chǔ)器統(tǒng)一編址,89C51提供16根地址線P0(分時(shí)復(fù)用)和P2,P2口提供高8位地址線,P0口提供低8位地址線。P0口同時(shí)還要負(fù)責(zé)與8255,0832的數(shù)據(jù)傳遞。P2.7是8255的片選信號(hào),P2.6是0832(1)的片選,P2.5是0832(2)的片選,低電平有效,P0.0、P0.1經(jīng)過74LS373鎖存后,送到8255的A1、A2作,片內(nèi)A口,B口,C口,控制口等寄存器的字選。89C51的P1口的低4位連接4只發(fā)光三極管,作為波形類型指示燈,表示正在輸出的波形是什么類型。單片機(jī)89C51內(nèi)部有兩個(gè)定時(shí)器/計(jì)數(shù)器,在波形發(fā)生器中使用T0作為中斷源。不同的頻率值對(duì)應(yīng)不同的定時(shí)初值,定時(shí)器的溢出信號(hào)作為中斷請(qǐng)求。控制定時(shí)器中斷的特殊功能寄存器設(shè)置如下:定時(shí)控制寄存器TCON=(00010000)工作方式選擇寄存器(TMOD)=(00000000)中斷允許控制寄存器(IE)=(10000010)2、鍵盤顯示器接口電路功能:驅(qū)動(dòng)6位數(shù)碼管動(dòng)態(tài)顯示; 提供響應(yīng)界面; 掃面鍵盤; 提供輸入按鍵。由并口芯片8255,鎖存器74LS273,74LS244,反向驅(qū)動(dòng)器ULN2803A,6位共陰極數(shù)碼管(LED)和4×4行列式鍵盤組成。8255的C口作為鍵盤的I/O接口,C口的低4位輸出到掃描碼,高4位作為輸入行狀態(tài),按鍵的分布如圖所示。8255的A口作為LED段碼輸出口,與74LS244相連接,B口作為LED的位選信號(hào)輸出口,與ULN2803A相連接。8255內(nèi)部的4個(gè)寄存器地址分配如下:控制口:7FFFH , A口:7FFFCH , B口:7FFDH , C口:7FFEH 3、D/A電路功能:將波形樣值的數(shù)字編碼轉(zhuǎn)換成模擬值;完成單極性向雙極性的波形輸出;構(gòu)成由兩片0832和一塊LM324運(yùn)放組成。0832(1)是參考電壓提供者,單片機(jī)向0832(1)內(nèi)的鎖存器送數(shù)字編碼,不同的編碼會(huì)產(chǎn)生不同的輸出值,在本發(fā)生器中,可輸出1V、2V、3V、4V、5V等五個(gè)模擬值,這些值作為0832(2)的參考電壓,使0832(2)輸出波形信號(hào)時(shí),其幅度是可調(diào)的。0832(2)用于產(chǎn)生各種波形信號(hào),單片機(jī)在波形產(chǎn)生程序的控制下,生成波形樣值編碼,并送到0832(2)中的鎖存器,經(jīng)過D/A轉(zhuǎn)換,得到波形的模擬樣值點(diǎn),假如N個(gè)點(diǎn)就構(gòu)成波形的一個(gè)周期,那么0832(2)輸出N個(gè)樣值點(diǎn)后,樣值點(diǎn)形成運(yùn)動(dòng)軌跡,就是波形信號(hào)的一個(gè)周期。重復(fù)輸出N個(gè)點(diǎn)后,由此成第二個(gè)周期,第三個(gè)周期……。這樣0832(2)就能連續(xù)的輸出周期變化的波形信號(hào)。運(yùn)放A1是直流放大器,運(yùn)放A2是單極性電壓放大器,運(yùn)放A3是雙極性驅(qū)動(dòng)放大器,使波形信號(hào)能帶得起負(fù)載。地址分配:0832(1):DFFFH ,0832(2):BFFFH4、電源電路:功能:為波形發(fā)生器提供直流能量;構(gòu)成由變壓器、整流硅堆,穩(wěn)壓塊7805組成。220V的交流電,經(jīng)過開關(guān),保險(xiǎn)管(1.5A/250V),到變壓器降壓,由220V降為10V,通過硅堆將交流電變成直流電,對(duì)于諧波,用4700μF的電解電容給予濾除。為保證直流電壓穩(wěn)定,使用7805進(jìn)行穩(wěn)壓。最后,+5V電源配送到各用電負(fù)載。
標(biāo)簽: 波形發(fā)生器 原理圖 電路圖 源程序
上傳時(shí)間: 2013-11-08
上傳用戶:685
用單片機(jī)AT89C51改造普通雙桶洗衣機(jī):AT89C2051作為AT89C51的簡化版雖然去掉了P0、P2等端口,使I/O口減少了,但是卻增加了一個(gè)電壓比較器,因此其功能在某些方面反而有所增強(qiáng),如能用來處理模擬量、進(jìn)行簡單的模數(shù)轉(zhuǎn)換等。本文利用這一功能設(shè)計(jì)了一個(gè)數(shù)字電容表,可測量容量小于2微法的電容器的容量,采用3位半數(shù)字顯示,最大顯示值為1999,讀數(shù)單位統(tǒng)一采用毫微法(nf),量程分四檔,讀數(shù)分別乘以相應(yīng)的倍率。電路工作原理 本數(shù)字電容表以電容器的充電規(guī)律作為測量依據(jù),測試原理見圖1。電源電路圖。 壓E+經(jīng)電阻R給被測電容CX充電,CX兩端原電壓隨充電時(shí)間的增加而上升。當(dāng)充電時(shí)間t等于RC時(shí)間常數(shù)τ時(shí),CX兩端電壓約為電源電壓的63.2%,即0.632E+。數(shù)字電容表就是以該電壓作為測試基準(zhǔn)電壓,測量電容器充電達(dá)到該電壓的時(shí)間,便能知道電容器的容量。例如,設(shè)電阻R的阻值為1千歐,CX兩端電壓上升到0.632E+所需的時(shí)間為1毫秒,那么由公式τ=RC可知CX的容量為1微法。 測量電路如圖2所示。A為AT89C2051內(nèi)部構(gòu)造的電壓比較器,AT89C2051 圖2 的P1.0和P1.1口除了作I/O口外,還有一個(gè)功能是作為電壓比較器的輸入端,P1.0為同相輸入端,P1.1為反相輸入端,電壓比較器的比較結(jié)果存入P3.6口對(duì)應(yīng)的寄存器,P3.6口在AT89C2051外部無引腳。電壓比較器的基準(zhǔn)電壓設(shè)定為0.632E+,在CX兩端電壓從0升到0.632E+的過程中,P3.6口輸出為0,當(dāng)電池電壓CX兩端電壓一旦超過0.632E+時(shí),P3.6口輸出變?yōu)?。以P3.6口的輸出電平為依據(jù),用AT89C2051內(nèi)部的定時(shí)器T0對(duì)充電時(shí)間進(jìn)行計(jì)數(shù),再將計(jì)數(shù)結(jié)果顯示出來即得出測量結(jié)果。整機(jī)電路見圖3。電路由單片機(jī)電路、電容充電測量電路和數(shù)碼顯示電路等 圖3 部分組成。AT89C2051內(nèi)部的電壓比較器和電阻R2-R7等組成測量電路,其中R2-R5為量程電阻,由波段開關(guān)S1選擇使用,電壓比較器的基準(zhǔn)電壓由5V電源電壓經(jīng)R6、RP1、R7分壓后得到,調(diào)節(jié)RP1可調(diào)整基準(zhǔn)電壓。當(dāng)P1.2口在程序的控制下輸出高電平時(shí),電容CX即開始充電。量程電阻R2-R5每檔以10倍遞減,故每檔顯示讀數(shù)以10倍遞增。由于單片機(jī)內(nèi)部P1.2口的上拉電阻經(jīng)實(shí)測約為200K,其輸出電平不能作為充電電壓用,故用R5兼作其上拉電阻,由于其它三個(gè)充電電阻和R5是串聯(lián)關(guān)系,因此R2、R3、R4應(yīng)由標(biāo)準(zhǔn)值減去1K,分別為999K、99K、9K。由于999K和1M相對(duì)誤差較小,所以R2還是取1M。數(shù)碼管DS1-DS4、電阻R8-R14等組成數(shù)碼顯示電路。本機(jī)采用動(dòng)態(tài)掃描顯示的方式,用軟件對(duì)字形碼譯碼。P3.0-P3.5、P3.7口作數(shù)碼顯示七段筆劃字形碼的輸出,P1.3-P1.6口作四個(gè)數(shù)碼管的動(dòng)態(tài)掃描位驅(qū)動(dòng)碼輸出。這里采用了共陰數(shù)碼管,由于AT89C2051的P1.3-P1.6口有25mA的下拉電流能力,所以不用三極管就能驅(qū)動(dòng)數(shù)碼管。R8-R14為P3.0-P3.5、P3.7口的上拉電阻,用以驅(qū)動(dòng)數(shù)碼管的各字段,當(dāng)P3的某一端口輸出低電平時(shí)其對(duì)應(yīng)的字段筆劃不點(diǎn)亮,而當(dāng)其輸出高電平時(shí),則對(duì)應(yīng)的上拉電阻即能點(diǎn)亮相應(yīng)的字段筆劃。
上傳時(shí)間: 2013-12-31
上傳用戶:ming529
用單片機(jī)制作多功能莫爾斯碼電路:用單片機(jī)制作多功能莫爾斯碼電路莫爾斯電碼通信有著悠久的歷史,盡管它已被現(xiàn)代通信方式所取代,但在業(yè)余無線電通信和特殊的專業(yè)場合仍具有重要的地位,這是因?yàn)榈确姶a通信的抗干擾能力是其它任何一種通信方式都無法相比的。在短波波段用幾瓦的功率即可進(jìn)行國際間的通信,收發(fā)射設(shè)備簡單易制成本低廉,所以深受業(yè)余無線電愛好者的喜愛,是業(yè)余無線電高手必備的技能。要想熟練掌握莫爾斯電碼的收發(fā)技術(shù)除了持之以恒的毅力外,還需要相關(guān)的設(shè)備。設(shè)計(jì)本電路的目的就是給愛好者提供一個(gè)實(shí)用和訓(xùn)練的工具。 一、功能簡介 本電路可以配合自動(dòng)鍵體和手動(dòng)鍵體,產(chǎn)生莫爾斯碼控制信號(hào),設(shè)有16種速度,從初學(xué)者到操作高手都能適用。監(jiān)聽音調(diào)也有16種,均可以通過功能鍵進(jìn)行選擇。可以按程序中設(shè)定好的呼號(hào)自動(dòng)呼叫,設(shè)有聽抄練習(xí)功能,聽抄練習(xí)有短碼和混合碼兩種模式,分別對(duì)10個(gè)數(shù)字和常用的38個(gè)混合碼模擬隨機(jī)取樣,產(chǎn)生分組報(bào)碼,供愛好者提高抄收水平之用,速度低4檔的聽抄練習(xí)是專為初學(xué)者所設(shè),內(nèi)容是時(shí)間間隔較長的單字符。設(shè)有PTT開關(guān)鍵,可以決定是否控制發(fā)射機(jī)工作,不需要反復(fù)通斷控制線。無論當(dāng)前處于呼叫狀態(tài)還是聽抄狀態(tài)只要電鍵接點(diǎn)接通則自動(dòng)轉(zhuǎn)到人工發(fā)報(bào)程序。4分鐘內(nèi)不使用電路將自動(dòng)關(guān)閉電源,只有按復(fù)位鍵才能重新開始工作。先按住聽抄練習(xí)鍵復(fù)位則進(jìn)入短碼練習(xí)狀態(tài),其它功能不變。從開機(jī)到自動(dòng)關(guān)機(jī)執(zhí)行每個(gè)功能都有不同的莫爾斯碼提示音。本電路具有較強(qiáng)的抗高低頻干擾的能力和使用方便的大電流開關(guān)接口,以適應(yīng)不同的發(fā)射設(shè)備。 二、硬件電路原理硬件電路如圖1所示。設(shè)計(jì)電路的目的在于方便實(shí)用,以免在緊張的操作中失誤,所以除了聽抄練習(xí)鍵外其它鍵沒有定義復(fù)用功能。各鍵的作用在圖中已經(jīng)標(biāo)出。PTT控制在每次復(fù)位時(shí)處于關(guān)閉狀態(tài),每按動(dòng)一次PTT功能鍵則改變一次狀態(tài),這樣可以使用軟件開關(guān)控制發(fā)射。 PTT處于控制狀態(tài)時(shí)發(fā)光二極管隨控制信號(hào)閃亮。考慮到自制設(shè)備及淘汰軍用設(shè)備與高檔設(shè)備控制電流的不同,PTT開關(guān)管采用了2SC2073,可以承受500mA的電流,同時(shí)還增加了無極性PTT開關(guān)電路,無論外部被控制的端口直流極性如何加到VT3的極性始終不變,供有興趣的愛好者實(shí)驗(yàn)。應(yīng)該注意,如果被控制的負(fù)載是感性,則電感兩端必須并聯(lián)續(xù)流二極管,除自制設(shè)備外成品機(jī)在這方面一般沒有什么問題。手動(dòng)鍵只有一個(gè)接點(diǎn),接通后產(chǎn)生連續(xù)的音頻和發(fā)射控制信號(hào)。在本電路中手動(dòng)鍵的輸入端是P1.5 ,程序不斷檢測P1.5電平,當(dāng)按鍵按下時(shí)P1.5電平為0,程序轉(zhuǎn)入手動(dòng)鍵子程序。 自動(dòng)鍵的接點(diǎn)分別接到P1.3和P1.4 ,同樣當(dāng)程序檢測到有接點(diǎn)閉合時(shí)便自動(dòng)產(chǎn)生“點(diǎn)”或“劃”。音頻信號(hào)從P輸出,經(jīng)VT1放大后推動(dòng)揚(yáng)聲器發(fā)音。單片機(jī)的I/O口在輸入狀態(tài)下阻抗較高,容易受到高低頻信號(hào)干擾,所以在每個(gè)輸入端口和三極管的be端并聯(lián)電阻和高頻旁路電容,確保在較長的電鍵連線和大功率發(fā)射時(shí)電路工作穩(wěn)定。圖2是印刷電路版圖,尺寸為110mmX85mm,揚(yáng)聲器用粘合劑直接粘接在電路版有銅箔的面。 三、軟件設(shè)計(jì)方法 “點(diǎn)”時(shí)間長度是莫爾斯電碼中的基本時(shí)間單位。按規(guī)定“劃”的時(shí)間長度不小于三個(gè)“點(diǎn)”,同字符中“點(diǎn)”與“劃”的間隔不小于一個(gè)“點(diǎn)”,字符之間不小于一個(gè)“劃”,詞與詞之間不應(yīng)小于五個(gè)“點(diǎn)”。在本程序中用條件轉(zhuǎn)移指令來產(chǎn)生“點(diǎn)”時(shí)間長度。通過速度功能鍵功可以設(shè)置16種延時(shí)參數(shù)。用T0中斷產(chǎn)生監(jiān)聽音頻信號(hào),并將中斷設(shè)為優(yōu)先級(jí),保證在聽覺上純正悅耳。T1用于自動(dòng)關(guān)機(jī)計(jì)時(shí),如果不使用任何功能四分鐘后將向PCON 位寫1,單片機(jī)進(jìn)入休眠狀態(tài),此時(shí)耗電量僅有幾個(gè)微安。自動(dòng)鍵的“點(diǎn)”或“劃”以及手動(dòng)鍵的連續(xù)發(fā)音都是子程序的反復(fù)調(diào)用。P1.2對(duì)地短接時(shí)自動(dòng)呼叫可設(shè)定為另一內(nèi)容。為了便于熟悉匯編語言的讀者對(duì)發(fā)音內(nèi)容進(jìn)行修改,這里介紹發(fā)音字符的編碼方法。莫爾斯碼的信息與計(jì)算機(jī)中二進(jìn)制恰好相同,我們可以用0表示“點(diǎn)”,用1表示“劃”。提示音、自動(dòng)呼叫、聽抄內(nèi)容等字符是預(yù)先按一定編碼方式存儲(chǔ)在程序中的常數(shù)。每個(gè)字符的莫爾斯碼一般是由1至6位“點(diǎn)”、“劃”組成,也就是發(fā)音次數(shù)最多6次。程序中每個(gè)字符占用1個(gè)字節(jié),字符時(shí)間間隔不占用字節(jié),但更長的延時(shí)或發(fā)音結(jié)束信息占用一個(gè)字節(jié)。我們用字節(jié)的低三位表示字節(jié)的性質(zhì),對(duì)于5次及5次以下發(fā)音的字符我們用存儲(chǔ)器的高5位存儲(chǔ)發(fā)音信息,發(fā)音順序由高位至低位,用低3位存儲(chǔ)發(fā)音次數(shù),發(fā)音時(shí)將數(shù)據(jù)送入累加器A,先得到發(fā)音次數(shù),然后使A左環(huán)移,對(duì)E0進(jìn)行位尋址,判斷是發(fā)“點(diǎn)”還是“劃”,環(huán)移次數(shù)由發(fā)音次數(shù)決定。對(duì)于6次發(fā)音的字符不能完全按照上述編碼規(guī)則,否則會(huì)出現(xiàn)信息重疊,如果是6次發(fā)音且最后一次是“劃”我們把發(fā)音次數(shù)定義為111B,因?yàn)檫@時(shí)第6次位尋址得到的是1。如果第6次發(fā)音是“點(diǎn)”,那么這個(gè)字符的低三位定義為000B。字符間隔時(shí)間由程序自動(dòng)產(chǎn)生,更長的時(shí)間隔或結(jié)束標(biāo)志由字節(jié)低三位110B來定義,高半字節(jié)表示字符間隔的倍數(shù),例如26H表示再加兩倍時(shí)間間隔。如果字節(jié)為06H則表示讀字符程序結(jié)束,返回主程序。更詳細(xì)的內(nèi)容不再贅述,讀者可閱讀源程序。四、使用注意事項(xiàng)手動(dòng)鍵的操作難度相對(duì)大一些,時(shí)間節(jié)拍全由人掌握,其特點(diǎn)是發(fā)出的電碼帶有“人情味”。自動(dòng)鍵的“點(diǎn)”、“劃”靠電路產(chǎn)生,發(fā)音標(biāo)準(zhǔn),容易操作,而且可以達(dá)到相當(dāng)快的速度,長時(shí)間工作也不易疲勞。在干擾較大、信號(hào)微弱的條件下自動(dòng)鍵碼的辨別程度好于手動(dòng)鍵碼。初學(xué)者初次使用手動(dòng)鍵練習(xí)發(fā)報(bào)要有老師指導(dǎo),且不可我行我素,一旦養(yǎng)成不正確的手法則很難糾正。在電臺(tái)上時(shí)常聽到一些讓對(duì)方難以抄收的電碼,這可能會(huì)使對(duì)方反感而拒絕回答。使用自動(dòng)鍵也應(yīng)在一定的聽抄基礎(chǔ)上再去練習(xí)。在暫時(shí)找不老師的情況下可多練習(xí)聽力,這對(duì)于今后能夠發(fā)出標(biāo)準(zhǔn)正確的電碼非常有益。
上傳時(shí)間: 2013-10-31
上傳用戶:sdq_123
AVR單片機(jī)GCC程序設(shè)計(jì):第一章 概述1.1 AVR 單片機(jī)GCC 開發(fā)概述1.2 一個(gè)簡單的例子1.3 用MAKEFILE 管理項(xiàng)目1.4 開發(fā)環(huán)境的配置1.5 實(shí)驗(yàn)板CA-M8第二章 存儲(chǔ)器操作編程2.1 AVR 單片機(jī)存儲(chǔ)器組織結(jié)構(gòu)2.2 I/O 寄存器操作2.3 SRAM 內(nèi)變量的使用2.4 在程序中訪問FLASH 程序存儲(chǔ)器2.5 EEPROM 數(shù)據(jù)存儲(chǔ)器操作2.6 avr-gcc 段結(jié)構(gòu)與再定位2.7 外部RAM 存儲(chǔ)器操作2.8 堆應(yīng)用第三章 GCC C 編譯器的使用3.1 編譯基礎(chǔ)3.2 生成靜態(tài)連接庫第四章 AVR 功能模塊應(yīng)用實(shí)驗(yàn)4.1 中斷服務(wù)程序4.2 定時(shí)器/計(jì)數(shù)器應(yīng)用4.3 看門狗應(yīng)用4.4 UART 應(yīng)用4.5 PWM 功能編程4.6 模擬比較器4.7 A/D 轉(zhuǎn)換模塊編程4.8 數(shù)碼管顯示程序設(shè)計(jì)4.9 鍵盤程序設(shè)計(jì)4.10 蜂鳴器控制第五章 使用C 語言標(biāo)準(zhǔn)I/O 流調(diào)試程序5.1 avr-libc 標(biāo)準(zhǔn)I/O 流描述5.2 利用標(biāo)準(zhǔn)I/0 流調(diào)試程序5.3 最小化的格式化的打印函數(shù)第六章 CA-M8 上實(shí)現(xiàn)AT89S52 編程器的實(shí)現(xiàn)6.1 編程原理6.2 LuckyProg2004 概述6.3 AT989S52 isp 功能簡介6.4 下位機(jī)程序設(shè)計(jì)第七章 硬件TWI 端口編程7.1 TWI 模塊概述7.2 主控模式操作實(shí)時(shí)時(shí)鐘DS13077.3 兩個(gè)Mega8 間的TWI 通信第八章 BootLoader 功能應(yīng)用8.1 BootLoader 功能介紹8.2 avr-libc 對(duì)BootLoader 的支持8.3 BootLoader 應(yīng)用實(shí)例8.4 基于LuckyProg2004 的BootLoader 程序第九章 匯編語言支持9.1 C 代碼中內(nèi)聯(lián)匯編程序9.2 獨(dú)立的匯編語言支持9.3 C 與匯編混合編程第十章 C++語言支持附錄 1 avr-gcc 選項(xiàng)附錄 2 Intel HEX 文件格式描述
上傳時(shí)間: 2014-04-03
上傳用戶:ligi201200
AVR高速嵌入式單片機(jī)原理與應(yīng)用(修訂版)詳細(xì)介紹ATMEL公司開發(fā)的AVR高速嵌入式單片機(jī)的結(jié)構(gòu);講述AVR單片機(jī)的開發(fā)工具和集成開發(fā)環(huán)境(IDE),包括Studio調(diào)試工具、AVR單片機(jī)匯編器和單片機(jī)串行下載編程;學(xué)習(xí)指令系統(tǒng)時(shí),每條指令均有實(shí)例,邊學(xué)習(xí)邊調(diào)試,使學(xué)習(xí)者看得見指令流向及操作結(jié)果,真正理解每條指令的功能及使用注意事項(xiàng);介紹AVR系列多種單片機(jī)功能特點(diǎn)、實(shí)用程序設(shè)計(jì)及應(yīng)用實(shí)例;作為提高篇,講述簡單易學(xué)、適用AVR單片機(jī)的高級(jí)語言BASCOMAVR及ICC AVR C編譯器。 AVR高速嵌入式單片機(jī)原理與應(yīng)用(修訂版) 目錄 第一章ATMEL單片機(jī)簡介1.1ATMEL公司產(chǎn)品的特點(diǎn)11.2AT90系列單片機(jī)簡介21.3AT91M系列單片機(jī)簡介2第二章AVR單片機(jī)系統(tǒng)結(jié)構(gòu)2.1AVR單片機(jī)總體結(jié)構(gòu)42.2AVR單片機(jī)中央處理器CPU62.2.1結(jié)構(gòu)概述72.2.2通用寄存器堆92.2.3X、Y、Z寄存器92.2.4ALU運(yùn)算邏輯單元92.3AVR單片機(jī)存儲(chǔ)器組織102.3.1可下載的Flash程序存儲(chǔ)器102.3.2內(nèi)部和外部的SRAM數(shù)據(jù)存儲(chǔ)器102.3.3EEPROM數(shù)據(jù)存儲(chǔ)器112.3.4存儲(chǔ)器訪問和指令執(zhí)行時(shí)序112.3.5I/O存儲(chǔ)器132.4AVR單片機(jī)系統(tǒng)復(fù)位162.4.1復(fù)位源172.4.2加電復(fù)位182.4.3外部復(fù)位192.4.4看門狗復(fù)位192.5AVR單片機(jī)中斷系統(tǒng)202.5.1中斷處理202.5.2外部中斷232.5.3中斷應(yīng)答時(shí)間232.5.4MCU控制寄存器 MCUCR232.6AVR單片機(jī)的省電方式242.6.1休眠狀態(tài)242.6.2空閑模式242.6.3掉電模式252.7AVR單片機(jī)定時(shí)器/計(jì)數(shù)器252.7.1定時(shí)器/計(jì)數(shù)器預(yù)定比例器252.7.28位定時(shí)器/計(jì)數(shù)器0252.7.316位定時(shí)器/計(jì)數(shù)器1272.7.4看門狗定時(shí)器332.8AVR單片機(jī)EEPROM讀/寫訪問342.9AVR單片機(jī)串行接口352.9.1同步串行接口 SPI352.9.2通用串行接口 UART402.10AVR單片機(jī)模擬比較器452.10.1模擬比較器452.10.2模擬比較器控制和狀態(tài)寄存器ACSR462.11AVR單片機(jī)I/O端口472.11.1端口A472.11.2端口 B482.11.3端口 C542.11.4端口 D552.12AVR單片機(jī)存儲(chǔ)器編程612.12.1編程存儲(chǔ)器鎖定位612.12.2熔斷位612.12.3芯片代碼612.12.4編程 Flash和 EEPROM612.12.5并行編程622.12.6串行下載662.12.7可編程特性67第三章AVR單片機(jī)開發(fā)工具3.1AVR實(shí)時(shí)在線仿真器ICE200693.2JTAG ICE仿真器693.3AVR嵌入式單片機(jī)開發(fā)下載實(shí)驗(yàn)器SL?AVR703.4AVR集成開發(fā)環(huán)境(IDE)753.4.1AVR Assembler編譯器753.4.2AVR Studio773.4.3AVR Prog783.5SL?AVR系列組態(tài)開發(fā)實(shí)驗(yàn)系統(tǒng)793.6SL?AVR*.ASM源文件說明81第四章AVR單片機(jī)指令系統(tǒng)4.1指令格式844.1.1匯編指令844.1.2匯編器偽指令844.1.3表達(dá)式874.2尋址方式894.3數(shù)據(jù)操作和指令類型924.3.1數(shù)據(jù)操作924.3.2指令類型924.3.3指令集名詞924.4算術(shù)和邏輯指令934.4.1加法指令934.4.2減法指令974.4.3乘法指令1014.4.4取反碼指令1014.4.5取補(bǔ)指令1024.4.6比較指令1034.4.7邏輯與指令1054.4.8邏輯或指令1074.4.9邏輯異或指令1104.5轉(zhuǎn)移指令1114.5.1無條件轉(zhuǎn)移指令1114.5.2條件轉(zhuǎn)移指令1144.6數(shù)據(jù)傳送指令1354.6.1直接數(shù)據(jù)傳送指令1354.6.2間接數(shù)據(jù)傳送指令1374.6.3從程序存儲(chǔ)器直接取數(shù)據(jù)指令1444.6.4I/O口數(shù)據(jù)傳送指令1454.6.5堆棧操作指令1464.7位指令和位測試指令1474.7.1帶進(jìn)位邏輯操作指令1474.7.2位變量傳送指令1514.7.3位變量修改指令1524.7.4其它指令1614.8新增指令(新器件)1624.8.1EICALL-- 延長間接調(diào)用子程序1624.8.2EIJMP--擴(kuò)展間接跳轉(zhuǎn)1634.8.3ELPM--擴(kuò)展裝載程序存儲(chǔ)器1644.8.4ESPM--擴(kuò)展存儲(chǔ)程序存儲(chǔ)器1644.8.5FMUL--小數(shù)乘法1664.8.6FMULS--有符號(hào)數(shù)乘法1664.8.7FMULSU--有符號(hào)小數(shù)和無符號(hào)小數(shù)乘法1674.8.8MOVW--拷貝寄存器字1684.8.9MULS--有符號(hào)數(shù)乘法1694.8.10MULSU--有符號(hào)數(shù)與無符號(hào)數(shù)乘法1694.8.11SPM--存儲(chǔ)程序存儲(chǔ)器170 第五章AVR單片機(jī)AT90系列5.1AT90S12001725.1.1特點(diǎn)1725.1.2描述1735.1.3引腳配置1745.1.4結(jié)構(gòu)縱覽1755.2AT90S23131835.2.1特點(diǎn)1835.2.2描述1845.2.3引腳配置1855.3ATmega8/8L1855.3.1特點(diǎn)1865.3.2描述1875.3.3引腳配置1895.3.4開發(fā)實(shí)驗(yàn)工具1905.4AT90S2333/44331915.4.1特點(diǎn)1915.4.2描述1925.4.3引腳配置1945.5AT90S4414/85151955.5.1特點(diǎn)1955.5.2AT90S4414和AT90S8515的比較1965.5.3引腳配置1965.6AT90S4434/85351975.6.1特點(diǎn)1975.6.2描述1985.6.3AT90S4434和AT90S8535的比較1985.6.4引腳配置2005.6.5AVR RISC結(jié)構(gòu)2015.6.6定時(shí)器/計(jì)數(shù)器2125.6.7看門狗定時(shí)器 2175.6.8EEPROM讀/寫2175.6.9串行外設(shè)接口SPI2175.6.10通用串行接口UART2175.6.11模擬比較器 2175.6.12模數(shù)轉(zhuǎn)換器2185.6.13I/O端口2235.7ATmega83/1632285.7.1特點(diǎn)2285.7.2描述2295.7.3ATmega83與ATmega163的比較2315.7.4引腳配置2315.8ATtiny10/11/122325.8.1特點(diǎn)2325.8.2描述2335.8.3引腳配置2355.9ATtiny15/L2375.9.1特點(diǎn)2375.9.2描述2375.9.3引腳配置2395 .10ATmega128/128L2395.10.1特點(diǎn)2405.10.2描述2415.10.3引腳配置2435.10.4開發(fā)實(shí)驗(yàn)工具2455.11ATmega1612465.11.1特點(diǎn)2465.11.2描述2475.11.3引腳配置2475.12AVR單片機(jī)替代MCS51單片機(jī)249第六章實(shí)用程序設(shè)計(jì)6.1程序設(shè)計(jì)方法2506.1.1程序設(shè)計(jì)步驟2506.1.2程序設(shè)計(jì)技術(shù)2506.2應(yīng)用程序舉例2516.2.1內(nèi)部寄存器和位定義文件2516.2.2訪問內(nèi)部 EEPROM2546.2.3數(shù)據(jù)塊傳送2546.2.4乘法和除法運(yùn)算應(yīng)用一2556.2.5乘法和除法運(yùn)算應(yīng)用二2556.2.616位運(yùn)算2556.2.7BCD運(yùn)算2556.2.8冒泡分類算法2556.2.9設(shè)置和使用模擬比較器2556.2.10半雙工中斷方式UART應(yīng)用一2556.2.11半雙工中斷方式UART應(yīng)用二2566.2.128位精度A/D轉(zhuǎn)換器2566.2.13裝載程序存儲(chǔ)器2566.2.14安裝和使用相同模擬比較器2566.2.15CRC程序存儲(chǔ)的檢查2566.2.164×4鍵區(qū)休眠觸發(fā)方式2576.2.17多工法驅(qū)動(dòng)LED和4×4鍵區(qū)掃描2576.2.18I2C總線2576.2.19I2C工作2586.2.20SPI軟件2586.2.21驗(yàn)證SLAVR實(shí)驗(yàn)器及AT90S1200的口功能12596.2.22驗(yàn)證SLAVR實(shí)驗(yàn)器及AT90S1200的口功能22596.2.23驗(yàn)證SLAVR實(shí)驗(yàn)器及具有DIP40封裝的口功能第七章AVR單片機(jī)的應(yīng)用7.1通用延時(shí)子程序2607.2簡單I/O口輸出實(shí)驗(yàn)2667.2.1SLAVR721.ASM 2667.2.2SLAVR722.ASM2677.2.3SLAVR723.ASM2687.2.4SLAVR724.ASM2707.2.5SLAVR725.ASM2717.2.6SLAVR726.ASM2727.2.7SLAVR727.ASM2737.3綜合程序2747.3.1LED/LCD/鍵盤掃描綜合程序2747.3.2LED鍵盤掃描綜合程序2757.3.3在LED上實(shí)現(xiàn)字符8的循環(huán)移位顯示程序2757.3.4電腦放音機(jī)2777.3.5鍵盤掃描程序2857.3.6十進(jìn)制計(jì)數(shù)顯示2867.3.7廉價(jià)的A/D轉(zhuǎn)換器2897.3.8高精度廉價(jià)的A/D轉(zhuǎn)換器2947.3.9星星燈2977.3.10按鈕猜數(shù)程序2987.3.11漢字的輸入3047.4復(fù)雜實(shí)用程序3067.4.110位A/D轉(zhuǎn)換3067.4.2步進(jìn)電機(jī)控制程序3097.4.3測脈沖寬度3127.4.4LCD顯示8字循環(huán)3187.4.5LED電腦時(shí)鐘3247.4.6測頻率3307.4.7測轉(zhuǎn)速3327.4.8AT90S8535的A/D轉(zhuǎn)換334第八章BASCOMAVR的應(yīng)用8.1基于高級(jí)語言BASCOMAVR的單片機(jī)開發(fā)平臺(tái)3408.2BASCOMAVR軟件平臺(tái)的安裝與使用3418.3AVR I/O口的應(yīng)用3458.3.1LED發(fā)光二極管的控制3458.3.2簡易手控廣告燈3468.3.3簡易電腦音樂放音機(jī)3478.4LCD顯示器3498.4.1標(biāo)準(zhǔn)LCD顯示器的應(yīng)用3498.4.2簡單游戲機(jī)--按鈕猜數(shù)3518.5串口通信UART3528.5.1AVR系統(tǒng)與PC的簡易通信3538.5.2PC控制的簡易廣告燈3548.6單總線接口和溫度計(jì)3568.7I2C總線接口和簡易IC卡讀寫器359第九章ICC AVR C編譯器的使用9.1ICC AVR的概述3659.1.1介紹ImageCraft的ICC AVR3659.1.2ICC AVR中的文件類型及其擴(kuò)展名3659.1.3附注和擴(kuò)充3669.2ImageCraft的ICC AVR編譯器安裝3679.2.1安裝SETUP.EXE程序3679.2.2對(duì)安裝完成的軟件進(jìn)行注冊(cè)3679.3ICC AVR導(dǎo)游3689.3.1起步3689.3.2C程序的剖析3699.4ICC AVR的IDE環(huán)境3709.4.1編譯一個(gè)單獨(dú)的文件3709.4.2創(chuàng)建一個(gè)新的工程3709.4.3工程管理3719.4.4編輯窗口3719.4.5應(yīng)用構(gòu)筑向?qū)?719.4.6狀態(tài)窗口3719.4.7終端仿真3719.5C庫函數(shù)與啟動(dòng)文件3729.5.1啟動(dòng)文件3729.5.2常用庫函數(shù)3729.5.3字符類型庫3739.5.4浮點(diǎn)運(yùn)算庫3749.5.5標(biāo)準(zhǔn)輸入/輸出庫3759.5.6標(biāo)準(zhǔn)庫和內(nèi)存分配函數(shù)3769.5.7字符串函數(shù)3779.5.8變量參數(shù)函數(shù)3799.5.9堆棧檢查函數(shù)3799.6AVR硬件訪問的編程3809.6.1訪問AVR的底層硬件3809.6.2位操作3809.6.3程序存儲(chǔ)器和常量數(shù)據(jù)3819.6.4字符串3829.6.5堆棧3839.6.6在線匯編3839.6.7I/O寄存器3849.6.8絕對(duì)內(nèi)存地址3849.6.9C任務(wù)3859.6.10中斷操作3869.6.11訪問UART3879.6.12訪問EEPROM3879.6.13訪問SPI3889.6.14相對(duì)轉(zhuǎn)移/調(diào)用的地址范圍3889.6.15C的運(yùn)行結(jié)構(gòu)3889.6.16匯編界面和調(diào)用規(guī)則3899.6.17函數(shù)返回非整型值3909.6.18程序和數(shù)據(jù)區(qū)的使用3909.6.19編程區(qū)域3919.6.20調(diào)試3919.7應(yīng)用舉例*3929.7.1讀/寫口3929.7.2延時(shí)函數(shù)3929.7.3讀/寫EEPROM3929.7.4AVR的PB口變速移位3939.7.5音符聲程序3939.7.68字循環(huán)移位顯示程序3949.7.7鋸齒波程序3959.7.8正三角波程序3969.7.9梯形波程序396附錄1AT89系列單片機(jī)簡介398附錄2AT94K系列現(xiàn)場可編程系統(tǒng)標(biāo)準(zhǔn)集成電路401附錄3指令集綜合404附錄4AVR單片機(jī)選型表408參 考 文 獻(xiàn)412
上傳時(shí)間: 2013-11-08
上傳用戶:xcy122677
C51單片機(jī)是我們生活中最常用的系列,MCS-51系列單片機(jī)有4個(gè)并行口(P0,P1,P2,P3口),但對(duì)一個(gè)稍微復(fù)雜的應(yīng)用系統(tǒng)來說,真正可供用戶使用的并行口,只有P1口可用,況且常常因擴(kuò)展I2C和SPI的器件需占用某些P1口,迫使用戶不得不擴(kuò)展并行口以滿足實(shí)際的需要。習(xí)慣上,常用的并行口接口芯片有8255、8155,這兩種芯片功能比較齊全,可以使用在相對(duì)比較復(fù)雜的系統(tǒng)中,但如是對(duì)一般的系統(tǒng)而言,這些功能往往閑置不用。那么就可以選用一些本來閑置不用的口線作為選通信號(hào)來進(jìn)行并行口的擴(kuò)展,這樣就能充分利用單片機(jī)有限的I/O資源,在本設(shè)計(jì)中是將P1口擴(kuò)展成一個(gè)或幾個(gè)8位并行口,在每一個(gè)八位口上接入8個(gè)發(fā)光二極管做為輸出,二極管是做開關(guān)量來使用的,在這里設(shè)計(jì)了跑馬燈和流水燈程序,做到對(duì)開關(guān)量的開斷控制;配合開關(guān)量的控制筆者設(shè)計(jì)了一個(gè)共陽LED數(shù)碼管,用來顯示當(dāng)前發(fā)光二極管發(fā)亮的序號(hào),做到更加直觀的雙重控制效果,然后再將P0口通過D/A轉(zhuǎn)換器和一放大器輸出一個(gè)模擬信號(hào),其結(jié)果可以通過示波器看出。這樣整個(gè)系統(tǒng)即有了數(shù)字信號(hào)輸出和模擬信號(hào)輸出,也有數(shù)碼管顯示功能,實(shí)用性能大提高了。2、 基于89C51的系統(tǒng)硬件設(shè)計(jì)2.1 并行口的擴(kuò)展的電路設(shè)計(jì) 眾所周知,C51系列的單片機(jī)都有四個(gè)I/O口(P0、P1、P2、P3),那么AT89C51也不例外,但我們通常僅僅使用P1口作為并行口,而令其余口(P2、P3)處于閑置狀態(tài),所以這次設(shè)計(jì),我們就是使用閑置不用的P3口做為選能信號(hào)線來將P1口進(jìn)行并行口擴(kuò)展。 (1) 種方式的并行口擴(kuò)展優(yōu)點(diǎn) 連線簡單; 不占用存儲(chǔ)器空間; (2) 編程也方便靈活。但也有很大的缺點(diǎn) 并行口擴(kuò)展能力有限,(如使用74LS573(74LS373)且不進(jìn)行驅(qū)動(dòng)處理,則最多可擴(kuò)展4個(gè)同樣類型的并行輸出端口,當(dāng)然還需要與之對(duì)應(yīng)的四個(gè)選通信號(hào)。) 如擴(kuò)展較多,選通信號(hào)占用并行口位數(shù)太多,例如欲擴(kuò)展8個(gè)并行輸出端口,則需要8個(gè)選能信號(hào),此時(shí),僅選能信號(hào)就占用了一個(gè)8位并行口,這對(duì)在I/O端口線有限的單片機(jī)系統(tǒng)中,如此浪費(fèi)資源的現(xiàn)象是不能容忍的。在本次的設(shè)計(jì)中,采用芯片74HC573(帶三態(tài)輸出的八進(jìn)制透明D型鎖存器)對(duì)P1口進(jìn)行了一個(gè)8位并行口的擴(kuò)展,選通信號(hào)選用P3口的P3.3引腳。原理圖如圖1所示:
標(biāo)簽: C51 單片機(jī) 并行口 擴(kuò)展設(shè)計(jì)
上傳時(shí)間: 2013-11-18
上傳用戶:dbs012280
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1