亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

硬件開(kāi)發(fā)(fā)

  • PIC單片機設(shè)計電子密碼鎖

    介紹用PIC16F84單片機制作的電子密碼鎖。PIC16F84單片機共18個引腳,13個可用I/O接口。芯片內(nèi)有1K×14的FLASHROM程序存儲器,36×8的靜態(tài)RAM的通用寄存器,64×8的EEPROM的數(shù)據(jù)存儲器,8級深度的硬堆棧。 用PIC單片機設(shè)計的電子密碼鎖微芯公司生產(chǎn)的PIC8位COMS單片機,采用類RISC指令集和哈弗總線結(jié)構(gòu),以及先進的流水線時序,與傳統(tǒng)51單片機相比其在速度和性能方面更具優(yōu)越性和先進性。PIC單片機的另一個優(yōu)點是片上硬件資源豐富,集成常見的EPROM、DAC、PWM以及看門狗電路。這使得硬件電路的設(shè)計更加簡單,節(jié)約設(shè)計成本,提高整機性能。因此PIC單片機已成為產(chǎn)品開發(fā),尤其是產(chǎn)品設(shè)計和研制階段的首選控制器。本文介紹用PIC16F84單片機制作的電子密碼鎖。PIC16F84單片機共18個引腳,13個可用I/O接口。芯片內(nèi)有1K×14的FLASHROM程序存儲器,36×8的靜態(tài)RAM的通用寄存器,64×8的EEPROM的數(shù)據(jù)存儲器,8級深度的硬堆棧。硬件設(shè)計  電路原理見圖1。Xx8位數(shù)據(jù)線接4x4鍵盤矩陣電路,面板布局見表1,A、B、C、D為備用功能鍵。RA0、RA7輸出4組編碼二進制數(shù)據(jù),經(jīng)74LS139譯碼后輸出逐行掃描信號,送RB4-RB7列信號輸入端。余下半個139譯碼器動揚聲器。RB2接中功率三極管基極,驅(qū)動繼電器動作。有效密碼長度為4位,根據(jù)實際情況,可通過修改源程序增加密碼位數(shù)。產(chǎn)品初始密碼為3345,這是一隨機數(shù),無特殊意義,目的是為防止被套解。用戶可按*號鍵修改密碼,按#號鍵結(jié)束。輸入密碼并按#號確認之后,腳輸出RB2腳輸出高電平,繼電器閉合,執(zhí)行一次開鎖動作。  若用戶輸入的密碼正確,揚聲器發(fā)出一聲稍長的“滴”提示聲,若輸入的密碼與上次修改的不符,則發(fā)出短促的“滴”聲。連續(xù)3次輸入密碼錯誤之后,程序鎖死,揚聲器報警。直到CPU被復(fù)位或從新上電。軟件設(shè)計  軟件流程圖見圖3。CPU上電或復(fù)位之后將最近一次修改并保存到EEPROM的密碼讀出,最為參照密匙。然后等待用戶輸入開鎖密碼。若5分鐘以內(nèi)沒有接受到用戶的任何輸入,CPU自動轉(zhuǎn)入掉電模式,用戶輸入任意值可喚醒CPU。每次修改密碼之后,CPU將新的密碼存入內(nèi)部4個連續(xù)的EEPROM單元,掉電后該數(shù)據(jù)任有效。每執(zhí)行一次開鎖指令,CPU將當前輸入密碼與該值比較,看是否真確,并給出相應(yīng)的提示和控制。布     局  所有元件均使用SMD表貼封裝,縮小體積,便于產(chǎn)品安裝,60X60雙面PCB板,頂層是一體化輸入鍵盤,底層是元件層。成型后的產(chǎn)品體積小巧,能很方便的嵌入防盜鐵門、保險箱柜。

    標簽: PIC 單片機設(shè)計 電子密碼鎖

    上傳時間: 2013-10-31

    上傳用戶:uuuuuuu

  • 多功能高集成外圍器件

     多功能高集成外圍器件6. 1  多功能高集成外圍器件82371PCI的英文名稱:Peripheral Component Interconnect (外圍部件互聯(lián)PCI總線);82371是PCI總線組件。ISA是:Industry Standard Architecture(工業(yè)標準體系結(jié)構(gòu))IDE是 (Integrated Device Electronics)集成電路設(shè)備簡稱PIIX4PIIX4器件(芯片)的特點1、是一種支持Pentium和PentiumII微處理器的部件。2、82371對ISA橋來說,是一種多功能PCI總線。3、對可移動性和桌面深綠色環(huán)境均提供支持。4、電源管理邏輯。5、被集成化的IDE控制器。6、增強了性能的DMA控制器。 (7)基于兩個82C59的中斷控制器。(8)基于82C54芯片的定時器。(9)USB(Universal Serial Bus)通用串行總線。(10)SMBus系統(tǒng)管理總線。(11)實時時鐘(12)順應(yīng)Microsoft Win95所需的功能其芯片的邏輯框圖如圖6-1所示。    PIIX4芯片邏輯框圖6.1.1   概述PIIX4芯片是一個多功能的PCI器件,圖6-2 是82371在系統(tǒng)中扮演的角色。(續(xù)上圖)1. PCI與EIO之間的橋(PIIX4芯片)橋是不對程的,是各類不同標準總線與PCI總線連接,82371AB橋也可理解為一種總線轉(zhuǎn)換譯碼器和控制器,橋內(nèi)包含復(fù)雜的協(xié)議總線信號和緩沖器。(1).在PCI系統(tǒng)內(nèi),當PIIX4操作時,它總是作為系統(tǒng)內(nèi)各種模塊的主控設(shè)備,如USB和DMA控制器、IDE總線和分布式DMA的主控設(shè)備等,而且總是以ISA主控設(shè)備的名義出現(xiàn)。(2).  在向ISA總線或IDE總線進行傳送操作的傳送周期期間作為從屬設(shè)備使用,并對內(nèi)部寄存器譯碼。PIIX4芯片(橋)的配置(1).可以把PIIX4芯片配置成整個ISA總線,或ISA總線的子集,也可擴展成EIO總線。在使用EIO總線時,可以把未使用的信號配置成通用的輸入和輸出。(2).PIIX4可直接驅(qū)動5個ISA插槽;(3).能提供字節(jié)-交換邏輯、I/O的恢復(fù)支持、等待狀態(tài)的生成以及SYSCLK的生成。(4).提供X-BUS鍵盤控制器芯片、BIOS芯片、實時時鐘芯片、二級微程序器等的選擇。2.  IDE接口(總線主控設(shè)備的權(quán)利和同步DMA方式)IDE接口為4個IDE的設(shè)備提供支持,比如IDE接口的硬盤和CD-ROM等。注意:目前硬盤接口有5類:IDE、SCSI、Fibre Channel、IEEE1394和USB等。IDE口幾乎在PC機最多,因為便宜。SCSI多用于服務(wù)器和集群機。IDE的PIO IDE速率:14MB/s;而總線主控設(shè)備IDE的速率:33MB/s在PIIX4芯片的IDE系統(tǒng)內(nèi),配有兩個各次獨立的IDE信號通道。3. 具有兼容性的模塊—DMA、定時器/計數(shù)器、中斷控制器等(1)在PIIX4內(nèi)的兩各82C37 DMA控制器經(jīng)邏輯的組合,產(chǎn)生7個獨立的可編程通道。通道[0:3]是通過與8個二進位的硬件連線實現(xiàn)的。通過以字節(jié)為單位的計數(shù)進行傳送。而通道[5:7]是通過16個二進位的連線實現(xiàn)的,以字為單位的計數(shù)進行傳送。(2)DMA控制器還能通過PCI總線,處理舊的DMA的兩個不同的方法提供支持。(3)計數(shù)/定時器模塊在功能上與82C54等價。(4)中斷控制器與ISA兼容,其功能是兩個82C59的功能之和。

    標簽: 多功能 外圍器件 集成

    上傳時間: 2013-11-19

    上傳用戶:3到15

  • 用單片機制作多功能莫爾斯碼電路

    用單片機制作多功能莫爾斯碼電路:用單片機制作多功能莫爾斯碼電路莫爾斯電碼通信有著悠久的歷史,盡管它已被現(xiàn)代通信方式所取代,但在業(yè)余無線電通信和特殊的專業(yè)場合仍具有重要的地位,這是因為等幅電碼通信的抗干擾能力是其它任何一種通信方式都無法相比的。在短波波段用幾瓦的功率即可進行國際間的通信,收發(fā)射設(shè)備簡單易制成本低廉,所以深受業(yè)余無線電愛好者的喜愛,是業(yè)余無線電高手必備的技能。要想熟練掌握莫爾斯電碼的收發(fā)技術(shù)除了持之以恒的毅力外,還需要相關(guān)的設(shè)備。設(shè)計本電路的目的就是給愛好者提供一個實用和訓(xùn)練的工具。  一、功能簡介    本電路可以配合自動鍵體和手動鍵體,產(chǎn)生莫爾斯碼控制信號,設(shè)有16種速度,從初學(xué)者到操作高手都能適用。監(jiān)聽音調(diào)也有16種,均可以通過功能鍵進行選擇。可以按程序中設(shè)定好的呼號自動呼叫,設(shè)有聽抄練習(xí)功能,聽抄練習(xí)有短碼和混合碼兩種模式,分別對10個數(shù)字和常用的38個混合碼模擬隨機取樣,產(chǎn)生分組報碼,供愛好者提高抄收水平之用,速度低4檔的聽抄練習(xí)是專為初學(xué)者所設(shè),內(nèi)容是時間間隔較長的單字符。設(shè)有PTT開關(guān)鍵,可以決定是否控制發(fā)射機工作,不需要反復(fù)通斷控制線。無論當前處于呼叫狀態(tài)還是聽抄狀態(tài)只要電鍵接點接通則自動轉(zhuǎn)到人工發(fā)報程序。4分鐘內(nèi)不使用電路將自動關(guān)閉電源,只有按復(fù)位鍵才能重新開始工作。先按住聽抄練習(xí)鍵復(fù)位則進入短碼練習(xí)狀態(tài),其它功能不變。從開機到自動關(guān)機執(zhí)行每個功能都有不同的莫爾斯碼提示音。本電路具有較強的抗高低頻干擾的能力和使用方便的大電流開關(guān)接口,以適應(yīng)不同的發(fā)射設(shè)備。    二、硬件電路原理硬件電路如圖1所示。設(shè)計電路的目的在于方便實用,以免在緊張的操作中失誤,所以除了聽抄練習(xí)鍵外其它鍵沒有定義復(fù)用功能。各鍵的作用在圖中已經(jīng)標出。PTT控制在每次復(fù)位時處于關(guān)閉狀態(tài),每按動一次PTT功能鍵則改變一次狀態(tài),這樣可以使用軟件開關(guān)控制發(fā)射。 PTT處于控制狀態(tài)時發(fā)光二極管隨控制信號閃亮。考慮到自制設(shè)備及淘汰軍用設(shè)備與高檔設(shè)備控制電流的不同,PTT開關(guān)管采用了2SC2073,可以承受500mA的電流,同時還增加了無極性PTT開關(guān)電路,無論外部被控制的端口直流極性如何加到VT3的極性始終不變,供有興趣的愛好者實驗。應(yīng)該注意,如果被控制的負載是感性,則電感兩端必須并聯(lián)續(xù)流二極管,除自制設(shè)備外成品機在這方面一般沒有什么問題。手動鍵只有一個接點,接通后產(chǎn)生連續(xù)的音頻和發(fā)射控制信號。在本電路中手動鍵的輸入端是P1.5 ,程序不斷檢測P1.5電平,當按鍵按下時P1.5電平為0,程序轉(zhuǎn)入手動鍵子程序。 自動鍵的接點分別接到P1.3和P1.4 ,同樣當程序檢測到有接點閉合時便自動產(chǎn)生“點”或“劃”。音頻信號從P輸出,經(jīng)VT1放大后推動揚聲器發(fā)音。單片機的I/O口在輸入狀態(tài)下阻抗較高,容易受到高低頻信號干擾,所以在每個輸入端口和三極管的be端并聯(lián)電阻和高頻旁路電容,確保在較長的電鍵連線和大功率發(fā)射時電路工作穩(wěn)定。圖2是印刷電路版圖,尺寸為110mmX85mm,揚聲器用粘合劑直接粘接在電路版有銅箔的面。    三、軟件設(shè)計方法  “點”時間長度是莫爾斯電碼中的基本時間單位。按規(guī)定“劃”的時間長度不小于三個“點”,同字符中“點”與“劃”的間隔不小于一個“點”,字符之間不小于一個“劃”,詞與詞之間不應(yīng)小于五個“點”。在本程序中用條件轉(zhuǎn)移指令來產(chǎn)生“點”時間長度。通過速度功能鍵功可以設(shè)置16種延時參數(shù)。用T0中斷產(chǎn)生監(jiān)聽音頻信號,并將中斷設(shè)為優(yōu)先級,保證在聽覺上純正悅耳。T1用于自動關(guān)機計時,如果不使用任何功能四分鐘后將向PCON 位寫1,單片機進入休眠狀態(tài),此時耗電量僅有幾個微安。自動鍵的“點”或“劃”以及手動鍵的連續(xù)發(fā)音都是子程序的反復(fù)調(diào)用。P1.2對地短接時自動呼叫可設(shè)定為另一內(nèi)容。為了便于熟悉匯編語言的讀者對發(fā)音內(nèi)容進行修改,這里介紹發(fā)音字符的編碼方法。莫爾斯碼的信息與計算機中二進制恰好相同,我們可以用0表示“點”,用1表示“劃”。提示音、自動呼叫、聽抄內(nèi)容等字符是預(yù)先按一定編碼方式存儲在程序中的常數(shù)。每個字符的莫爾斯碼一般是由1至6位“點”、“劃”組成,也就是發(fā)音次數(shù)最多6次。程序中每個字符占用1個字節(jié),字符時間間隔不占用字節(jié),但更長的延時或發(fā)音結(jié)束信息占用一個字節(jié)。我們用字節(jié)的低三位表示字節(jié)的性質(zhì),對于5次及5次以下發(fā)音的字符我們用存儲器的高5位存儲發(fā)音信息,發(fā)音順序由高位至低位,用低3位存儲發(fā)音次數(shù),發(fā)音時將數(shù)據(jù)送入累加器A,先得到發(fā)音次數(shù),然后使A左環(huán)移,對E0進行位尋址,判斷是發(fā)“點”還是“劃”,環(huán)移次數(shù)由發(fā)音次數(shù)決定。對于6次發(fā)音的字符不能完全按照上述編碼規(guī)則,否則會出現(xiàn)信息重疊,如果是6次發(fā)音且最后一次是“劃”我們把發(fā)音次數(shù)定義為111B,因為這時第6次位尋址得到的是1。如果第6次發(fā)音是“點”,那么這個字符的低三位定義為000B。字符間隔時間由程序自動產(chǎn)生,更長的時間隔或結(jié)束標志由字節(jié)低三位110B來定義,高半字節(jié)表示字符間隔的倍數(shù),例如26H表示再加兩倍時間間隔。如果字節(jié)為06H則表示讀字符程序結(jié)束,返回主程序。更詳細的內(nèi)容不再贅述,讀者可閱讀源程序。四、使用注意事項手動鍵的操作難度相對大一些,時間節(jié)拍全由人掌握,其特點是發(fā)出的電碼帶有“人情味”。自動鍵的“點”、“劃”靠電路產(chǎn)生,發(fā)音標準,容易操作,而且可以達到相當快的速度,長時間工作也不易疲勞。在干擾較大、信號微弱的條件下自動鍵碼的辨別程度好于手動鍵碼。初學(xué)者初次使用手動鍵練習(xí)發(fā)報要有老師指導(dǎo),且不可我行我素,一旦養(yǎng)成不正確的手法則很難糾正。在電臺上時常聽到一些讓對方難以抄收的電碼,這可能會使對方反感而拒絕回答。使用自動鍵也應(yīng)在一定的聽抄基礎(chǔ)上再去練習(xí)。在暫時找不老師的情況下可多練習(xí)聽力,這對于今后能夠發(fā)出標準正確的電碼非常有益。

    標簽: 用單片機 多功能 莫爾斯 電路

    上傳時間: 2013-10-31

    上傳用戶:sdq_123

  • 單片機音樂中音調(diào)和節(jié)拍的確定方法

    單片機音樂中音調(diào)和節(jié)拍的確定方法:調(diào)號-音樂上指用以確定樂曲主音高度的符號。很明顯一個八度就有12個半音。A、B、C、D、E、F、G。經(jīng)過聲學(xué)家的研究,全世界都用這些字母來表示固定的音高。比如,A這個音,標準的音高為每秒鐘振動440周。 升C調(diào):1=#C,也就是降D調(diào):1=BD;277(頻率)升D調(diào):1=#D,也就是降E調(diào):1=BE;311升F調(diào):1=#F,也就是降G調(diào):1=BG;369升G調(diào):1=#G,也就是降A(chǔ)調(diào):1=BA;415升A調(diào):1=#A,也就是降B調(diào):1=BB。466,C 262   #C277   D 294   #D(bE)311  E 330   F 349   #F369   G 392  #G415A 440.    #A466    B 494 所謂1=A,就是說,這首歌曲的“導(dǎo)”要唱得同A一樣高,人們也把這首歌曲叫做A調(diào)歌曲,或叫“唱A調(diào)”。1=C,就是說,這首歌曲的“導(dǎo)”要唱得同C一樣高,或者說“這歌曲唱C調(diào)”。同樣是“導(dǎo)”,不同的調(diào)唱起來的高低是不一樣的。各調(diào)的對應(yīng)的標準頻率為: 單片機演奏音樂時音調(diào)和節(jié)拍的確定方法 經(jīng)常看到一些剛學(xué)單片機的朋友對單片機演奏音樂比較有興趣,本人也曾是這樣。在此,本人將就這方面的知識做一些簡介,但愿能對單片機演奏音樂比較有興趣而又不知其解的朋友能有所啟迪。 一般說來,單片機演奏音樂基本都是單音頻率,它不包含相應(yīng)幅度的諧波頻率,也就是說不能象電子琴那樣能奏出多種音色的聲音。因此單片機奏樂只需弄清楚兩個概念即可,也就是“音調(diào)”和“節(jié)拍”。音調(diào)表示一個音符唱多高的頻率,節(jié)拍表示一個音符唱多長的時間。 在音樂中所謂“音調(diào)”,其實就是我們常說的“音高”。在音樂中常把中央C上方的A音定為標準音高,其頻率f=440Hz。當兩個聲音信號的頻率相差一倍時,也即f2=2f1時,則稱f2比f1高一個倍頻程, 在音樂中1(do)與 ,2(來)與 ……正好相差一個倍頻程,在音樂學(xué)中稱它相差一個八度音。在一個八度音內(nèi),有12個半音。以1—i八音區(qū)為例, 12個半音是:1—#1、#1—2、2—#2、#2—3、3—4、4—#4,#4—5、5一#5、#5—6、6—#6、#6—7、7—i。這12個音階的分度基本上是以對數(shù)關(guān)系來劃分的。如果我們只要知道了這十二個音符的音高,也就是其基本音調(diào)的頻率,我們就可根據(jù)倍頻程的關(guān)系得到其他音符基本音調(diào)的頻率。 知道了一個音符的頻率后,怎樣讓單片機發(fā)出相應(yīng)頻率的聲音呢?一般說來,常采用的方法就是通過單片機的定時器定時中斷,將單片機上對應(yīng)蜂鳴器的I/O口來回取反,或者說來回清零,置位,從而讓蜂鳴器發(fā)出聲音,為了讓單片機發(fā)出不同頻率的聲音,我們只需將定時器予置不同的定時值就可實現(xiàn)。那么怎樣確定一個頻率所對應(yīng)的定時器的定時值呢?以標準音高A為例:   A的頻率f = 440 Hz,其對應(yīng)的周期為:T = 1/ f = 1/440 =2272μs 由上圖可知,單片機上對應(yīng)蜂鳴器的I/O口來回取反的時間應(yīng)為:t = T/2 = 2272/2 = 1136μs這個時間t也就是單片機上定時器應(yīng)有的中斷觸發(fā)時間。一般情況下,單片機奏樂時,其定時器為工作方式1,它以振蕩器的十二分頻信號為計數(shù)脈沖。設(shè)振蕩器頻率為f0,則定時器的予置初值由下式來確定:    t = 12 *(TALL – THL)/ f0 式中TALL = 216 = 65536,THL為定時器待確定的計數(shù)初值。因此定時器的高低計數(shù)器的初值為:     TH = THL / 256 = ( TALL – t* f0/12) / 256    TL = THL % 256 = ( TALL – t* f0/12) %256  將t=1136μs代入上面兩式(注意:計算時應(yīng)將時間和頻率的單位換算一致),即可求出標準音高A在單片機晶振頻率f0=12Mhz,定時器在工作方式1下的定時器高低計數(shù)器的予置初值為 :    TH440Hz = (65536 – 1136 * 12/12) /256 = FBH    TL440Hz = (65536 – 1136 * 12/12)%256 = 90H根據(jù)上面的求解方法,我們就可求出其他音調(diào)相應(yīng)的計數(shù)器的予置初值。 音符的節(jié)拍我們可以舉例來說明。在一張樂譜中,我們經(jīng)常會看到這樣的表達式,如1=C  、1=G …… 等等,這里1=C,1=G表示樂譜的曲調(diào),和我們前面所談的音調(diào)有很大的關(guān)聯(lián), 、 就是用來表示節(jié)拍的。以 為例加以說明,它表示樂譜中以四分音符為節(jié)拍,每一小結(jié)有三拍。比如:      其中1 、2 為一拍,3、4、5為一拍,6為一拍共三拍。1 、2的時長為四分音符的一半,即為八分音符長,3、4的時長為八分音符的一半,即為十六分音符長,5的時長為四分音符的一半,即為八分音符長,6的時長為四分音符長。那么一拍到底該唱多長呢?一般說來,如果樂曲沒有特殊說明,一拍的時長大約為400—500ms 。我們以一拍的時長為400ms為例,則當以四分音符為節(jié)拍時,四分音符的時長就為400ms,八分音符的時長就為200ms,十六分音符的時長就為100ms。可見,在單片機上控制一個音符唱多長可采用循環(huán)延時的方法來實現(xiàn)。首先,我們確定一個基本時長的延時程序,比如說以十六分音符的時長為基本延時時間,那么,對于一個音符,如果它為十六分音符,則只需調(diào)用一次延時程序,如果它為八分音符,則只需調(diào)用二次延時程序,如果它為四分音符,則只需調(diào)用四次延時程序,依次類推。通過上面關(guān)于一個音符音調(diào)和節(jié)拍的確定方法,我們就可以在單片機上實現(xiàn)演奏音樂了。具體的實現(xiàn)方法為:將樂譜中的每個音符的音調(diào)及節(jié)拍變換成相應(yīng)的音調(diào)參數(shù)和節(jié)拍參數(shù),將他們做成數(shù)據(jù)表格,存放在存儲器中,通過程序取出一個音符的相關(guān)參數(shù),播放該音符,該音符唱完后,接著取出下一個音符的相關(guān)參數(shù)……,如此直到播放完畢最后一個音符,根據(jù)需要也可循環(huán)不停地播放整個樂曲。另外,對于樂曲中的休止符,一般將其音調(diào)參數(shù)設(shè)為FFH,F(xiàn)FH,其節(jié)拍參數(shù)與其他音符的節(jié)拍參數(shù)確定方法一致,樂曲結(jié)束用節(jié)拍參數(shù)為00H來表示。下面給出部分音符(三個八度音)的頻率以及以單片機晶振頻率f0=12Mhz,定時器在工作方式1下的定時器高低計數(shù)器的予置初值 : C調(diào)音符  頻率Hz 262 277 293 311 329 349 370 392 415 440 466 494TH/TL F88B F8F2 F95B F9B7 FA14 FA66 FAB9 FB03 FB4A FB8F FBCF FC0BC調(diào)音符 1 1# 2 2# 3 4 4# 5 5# 6 6# 7頻率Hz 523 553 586 621 658 697 739 783 830 879 931 987TH/TL FC43 FC78 FCAB FCDB FD08 FD33 FD5B FD81 FDA5 FDC7 FDE7 FE05C調(diào)音符  頻率Hz 1045 1106 1171 1241 1316 1393 1476 1563 1658 1755 1860 1971TH/TL FB21 FE3C FE55 FE6D FE84 FE99 FEAD FEC0 FE02 FEE3 FEF3 FF02

    標簽: 單片機 音調(diào)

    上傳時間: 2013-10-20

    上傳用戶:哈哈haha

  • AVR單片機GCC程序設(shè)計

    AVR單片機GCC程序設(shè)計:第一章 概述1.1 AVR 單片機GCC 開發(fā)概述1.2 一個簡單的例子1.3 用MAKEFILE 管理項目1.4 開發(fā)環(huán)境的配置1.5 實驗板CA-M8第二章 存儲器操作編程2.1 AVR 單片機存儲器組織結(jié)構(gòu)2.2 I/O 寄存器操作2.3 SRAM 內(nèi)變量的使用2.4 在程序中訪問FLASH 程序存儲器2.5 EEPROM 數(shù)據(jù)存儲器操作2.6 avr-gcc 段結(jié)構(gòu)與再定位2.7 外部RAM 存儲器操作2.8 堆應(yīng)用第三章 GCC C 編譯器的使用3.1 編譯基礎(chǔ)3.2 生成靜態(tài)連接庫第四章 AVR 功能模塊應(yīng)用實驗4.1 中斷服務(wù)程序4.2 定時器/計數(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è)計4.9 鍵盤程序設(shè)計4.10 蜂鳴器控制第五章 使用C 語言標準I/O 流調(diào)試程序5.1 avr-libc 標準I/O 流描述5.2 利用標準I/0 流調(diào)試程序5.3 最小化的格式化的打印函數(shù)第六章 CA-M8 上實現(xiàn)AT89S52 編程器的實現(xiàn)6.1 編程原理6.2 LuckyProg2004 概述6.3 AT989S52 isp 功能簡介6.4 下位機程序設(shè)計第七章 硬件TWI 端口編程7.1 TWI 模塊概述7.2 主控模式操作實時時鐘DS13077.3 兩個Mega8 間的TWI 通信第八章 BootLoader 功能應(yīng)用8.1 BootLoader 功能介紹8.2 avr-libc 對BootLoader 的支持8.3 BootLoader 應(yīng)用實例8.4 基于LuckyProg2004 的BootLoader 程序第九章 匯編語言支持9.1 C 代碼中內(nèi)聯(lián)匯編程序9.2 獨立的匯編語言支持9.3 C 與匯編混合編程第十章 C++語言支持附錄 1 avr-gcc 選項附錄 2 Intel HEX 文件格式描述

    標簽: AVR GCC 單片機

    上傳時間: 2014-04-03

    上傳用戶:ligi201200

  • 電子密碼鎖的設(shè)計與實現(xiàn)

    電子密碼鎖的設(shè)計與實現(xiàn)一、實驗?zāi)康?nbsp;1.進一步掌握鍵盤掃描和LED顯示的程序設(shè)計。 2.了解按鍵消抖的方法。 3.綜合運用微機原理的軟硬件知識。 二、實驗內(nèi)容與要求 1.基本要求 (1)具有密碼輸入功能,密碼最多為6位;(2)設(shè)置退格鍵,以便刪除輸入錯誤的密碼;(3)在輸入的密碼時數(shù)碼管上只顯示8,并根據(jù)輸入位數(shù)依次橫移;(4)設(shè)置確認鍵,當確認鍵按下后,判斷輸入密碼是否正確;(5)當輸入密碼正確時,點亮發(fā)光二極管;當輸入密碼不正確時,發(fā)光二極管不亮并且蜂鳴器報警,重新輸入,當三次密碼輸入不正確時,系統(tǒng)應(yīng)鎖定鍵盤10s。2.提高要求 將用戶分為管理者和使用者,管理者擁有超級密碼,可以修改其他人的密碼。使用者不能修改密碼。 三、實驗報告要求 1.設(shè)計目的和內(nèi)容 2.總體設(shè)計 3.硬件設(shè)計:原理圖(接線圖)及簡要說明 4.軟件設(shè)計框圖及程序清單5.設(shè)計結(jié)果和體會(包括遇到的問題及解決的方法) 四、總體設(shè)計 電子密碼鎖的原理是:從鍵盤輸入一組密碼,CPU把該密碼和設(shè)置密碼比較,對則將鎖打開(不同鎖的控制方式不一樣,比如加電控制電磁鐵抽回,從而打開),錯則要求重新輸入,并記錄錯誤次數(shù),如果三次錯誤,則被強制鎖定并報警,除非超級密碼或者其他的手段打開,比如延時一段時間。 初步設(shè)計思路如下: 1.輸入密碼用矩形鍵盤,包括數(shù)字鍵和功能鍵,功能鍵包括退格鍵和確認鍵。 2.LED數(shù)碼管顯示輸入密碼,但是只是輸出顯示符號8 。采用動態(tài)掃描輸出。 3.用發(fā)光二極管模擬鎖的情況,鎖關(guān)時發(fā)光二極管滅,打開時發(fā)光二極管亮。 4.輸入密碼錯誤時報警,3次輸入錯誤時鍵盤鎖定10s,鍵盤無法接收數(shù)據(jù)。 軟件的設(shè)計主要包括矩形鍵盤鍵值的讀取、LED動態(tài)掃描輸出程序、密碼判斷程序和報警程序。   五、硬件設(shè)計 根據(jù)設(shè)計思路,硬件電路可通過實驗平臺上的一些功能模塊電路組成,由于實驗平臺上的各個功能模塊已經(jīng)設(shè)計好,用戶在使用時只要設(shè)計模塊間電路的連接,因此,硬件電路的設(shè)計及實現(xiàn)相對簡單。完整系統(tǒng)的硬件連接如圖1所示。硬件電路由LED數(shù)碼管顯示模塊、按鍵模塊、發(fā)光二極管電路和蜂鳴器模塊組成。各個模塊的詳細說明:1.LED數(shù)碼管模塊實驗平臺上提供一組六個LED數(shù)碼管。插孔CS1用于數(shù)碼管段選的輸出選通,插孔CS2用于數(shù)碼管位選信號的輸出選通。本設(shè)計用6個數(shù)碼管來動態(tài)顯示時分秒,動態(tài)顯示的定時時間由8253定時/計數(shù)器來實現(xiàn)。8253主要是實現(xiàn)每位顯示時間1ms,由8253的計數(shù)器0來實現(xiàn)。Clk0接實驗平臺分頻電路輸出Q6,f=46875hz。GATE0接8255的PA0,由8255的PA0輸出來控制計數(shù)器的起停。OUT0接8259的IRQ2,定時完成請求中斷,進入中斷服務(wù)程序。軟件在中斷服務(wù)程序中LED數(shù)碼管顯示。

    標簽: 電子密碼鎖

    上傳時間: 2013-10-16

    上傳用戶:15070202241

  • PC機之間串口通信的實現(xiàn)

    PC機之間串口通信的實現(xiàn)一、實驗?zāi)康?nbsp;1.熟悉微機接口實驗裝置的結(jié)構(gòu)和使用方法。 2.掌握通信接口芯片8251和8250的功能和使用方法。 3.學(xué)會串行通信程序的編制方法。 二、實驗內(nèi)容與要求 1.基本要求主機接收開關(guān)量輸入的數(shù)據(jù)(二進制或十六進制),從鍵盤上按“傳輸”鍵(可自行定義),就將該數(shù)據(jù)通過8251A傳輸出去。終端接收后在顯示器上顯示數(shù)據(jù)。具體操作說明如下:(1)出現(xiàn)提示信息“start with R in the board!”,通過調(diào)整乒乓開關(guān)的狀態(tài),設(shè)置8位數(shù)據(jù);(2)在小鍵盤上按“R”鍵,系統(tǒng)將此時乒乓開關(guān)的狀態(tài)讀入計算機I中,并顯示出來,同時顯示經(jīng)串行通訊后,計算機II接收到的數(shù)據(jù);(3)完成后,系統(tǒng)提示“do you want to send another data? Y/N”,根據(jù)用戶需要,在鍵盤按下“Y”鍵,則重復(fù)步驟(1),進行另一數(shù)據(jù)的通訊;在鍵盤按除“Y”鍵外的任意鍵,將退出本程序。2.提高要求 能夠進行出錯處理,例如采用奇偶校驗,出錯重傳或者采用接收方回傳和發(fā)送方確認來保證發(fā)送和接收正確。 三、設(shè)計報告要求 1.設(shè)計目的和內(nèi)容 2.總體設(shè)計 3.硬件設(shè)計:原理圖(接線圖)及簡要說明 4.軟件設(shè)計框圖及程序清單5.設(shè)計結(jié)果和體會(包括遇到的問題及解決的方法) 四、8251A通用串行輸入/輸出接口芯片由于CPU與接口之間按并行方式傳輸,接口與外設(shè)之間按串行方式傳輸,因此,在串行接口中,必須要有“接收移位寄存器”(串→并)和“發(fā)送移位寄存器”(并→串)。能夠完成上述“串←→并”轉(zhuǎn)換功能的電路,通常稱為“通用異步收發(fā)器”(UART:Universal Asynchronous Receiver and Transmitter),典型的芯片有:Intel 8250/8251。8251A異步工作方式:如果8251A編程為異步方式,在需要發(fā)送字符時,必須首先設(shè)置TXEN和CTS#為有效狀態(tài),TXEN(Transmitter Enable)是允許發(fā)送信號,是命令寄存器中的一位;CTS#(Clear To Send)是由外設(shè)發(fā)來的對CPU請求發(fā)送信號的響應(yīng)信號。然后就開始發(fā)送過程。在發(fā)送時,每當CPU送往發(fā)送緩沖器一個字符,發(fā)送器自動為這個字符加上1個起始位,并且按照編程要求加上奇/偶校驗位以及1個、1.5個或者2個停止位。串行數(shù)據(jù)以起始位開始,接著是最低有效數(shù)據(jù)位,最高有效位的后面是奇/偶校驗位,然后是停止位。按位發(fā)送的數(shù)據(jù)是以發(fā)送時鐘TXC的下降沿同步的,也就是說這些數(shù)據(jù)總是在發(fā)送時鐘TXC的下降沿從8251A發(fā)出。數(shù)據(jù)傳輸?shù)牟ㄌ芈嗜Q于編程時指定的波特率因子,為發(fā)送器時鐘頻率的1、1/16或1/64。當波特率指定為16時,數(shù)據(jù)傳輸?shù)牟ㄌ芈示褪前l(fā)送器時鐘頻率的1/16。CPU通過數(shù)據(jù)總線將數(shù)據(jù)送到8251A的數(shù)據(jù)輸出緩沖寄存器以后,再傳輸?shù)桨l(fā)送緩沖器,經(jīng)移位寄存器移位,將并行數(shù)據(jù)變?yōu)榇袛?shù)據(jù),從TxD端送往外部設(shè)備。在8251A接收字符時,命令寄存器的接收允許位RxE(Receiver Enable)必須為1。8251A通過檢測RxD引腳上的低電平來準備接收字符,在沒有字符傳送時RxD端為高電平。8251A不斷地檢測RxD引腳,從RxD端上檢測到低電平以后,便認為是串行數(shù)據(jù)的起始位,并且啟動接收控制電路中的一個計數(shù)器來進行計數(shù),計數(shù)器的頻率等于接收器時鐘頻率。計數(shù)器是作為接收器采樣定時,當計數(shù)到相當于半個數(shù)位的傳輸時間時再次對RxD端進行采樣,如果仍為低電平,則確認該數(shù)位是一個有效的起始位。若傳輸一個字符需要16個時鐘,那么就是要在計數(shù)8個時鐘后采樣到低電平。之后,8251A每隔一個數(shù)位的傳輸時間對RxD端采樣一次,依次確定串行數(shù)據(jù)位的值。串行數(shù)據(jù)位順序進入接收移位寄存器,通過校驗并除去停止位,變成并行數(shù)據(jù)以后通過內(nèi)部數(shù)據(jù)總線送入接收緩沖器,此時發(fā)出有效狀態(tài)的RxRDY信號通知CPU,通知CPU8251A已經(jīng)收到一個有效的數(shù)據(jù)。一個字符對應(yīng)的數(shù)據(jù)可以是5~8位。如果一個字符對應(yīng)的數(shù)據(jù)不到8位,8251A會在移位轉(zhuǎn)換成并行數(shù)據(jù)的時候,自動把他們的高位補成0。 五、系統(tǒng)總體設(shè)計方案根據(jù)系統(tǒng)設(shè)計的要求,對系統(tǒng)設(shè)計的總體方案進行論證分析如下:1.獲取8位開關(guān)量可使用實驗臺上的8255A可編程并行接口芯片,因為只要獲取8位數(shù)據(jù)量,只需使用基本輸入和8位數(shù)據(jù)線,所以將8255A工作在方式0,PA0-PA7接實驗臺上的8位開關(guān)量。2.當使用串口進行數(shù)據(jù)傳送時,雖然同步通信速度遠遠高于異步通信,可達500kbit/s,但由于其需要有一個時鐘來實現(xiàn)發(fā)送端和接收端之間的同步,硬件電路復(fù)雜,通常計算機之間的通信只采用異步通信。3.由于8251A本身沒有時鐘,需要外部提供,所以本設(shè)計中使用實驗臺上的8253芯片的計數(shù)器2來實現(xiàn)。4:顯示和鍵盤輸入均使用DOS功能調(diào)用來實現(xiàn)。設(shè)計思路框圖,如下圖所示: 六、硬件設(shè)計硬件電路主要分為8位開關(guān)量數(shù)據(jù)獲取電路,串行通信數(shù)據(jù)發(fā)送電路,串行通信數(shù)據(jù)接收電路三個部分。1.8位開關(guān)量數(shù)據(jù)獲取電路該電路主要是利用8255并行接口讀取8位乒乓開關(guān)的數(shù)據(jù)。此次設(shè)計在獲取8位開關(guān)數(shù)據(jù)量時采用8255令其工作在方式0,A口輸入8位數(shù)據(jù),CS#接實驗臺上CS1口,對應(yīng)端口為280H-283H,PA0-PA7接8個開關(guān)。2.串行通信電路串行通信電路本設(shè)計中8253主要為8251充當頻率發(fā)生器,接線如下圖所示。

    標簽: PC機 串口通信

    上傳時間: 2013-12-19

    上傳用戶:小火車啦啦啦

  • 基于PC機的電子琴設(shè)計

    基于PC機的電子琴設(shè)計 一、實驗?zāi)康模保莆绽胮c機揚聲器發(fā)出聲音的方法。2.學(xué)習(xí)利用系統(tǒng)功能調(diào)用從鍵盤上讀取字符的方法。 二、實驗內(nèi)容與要求利用PC機和揚聲器實現(xiàn)簡易電子琴的功能。 1.基本要求(1)電子琴功能,編寫程序,程序運行時使pc機成為一架可彈奏的“鋼琴”。當按下PC機鍵盤數(shù)字鍵1-8時,依次發(fā)出1,2,3,4,5,6,7,i八個音調(diào)。(2)音樂盒功能,內(nèi)部存儲至少2首以上的樂曲,根據(jù)菜單選擇播放。2.提高要求(1)使一組放光二極管隨音調(diào)變化而改變,實現(xiàn)音樂彩燈  (2)能夠?qū)崿F(xiàn)高、中、低音的選擇。  (3)能夠存儲彈奏的內(nèi)容,進行回放。 三、實驗報告要求 1.設(shè)計目的和內(nèi)容 2.總體設(shè)計 3.硬件設(shè)計:原理圖(接線圖)及簡要說明 4.軟件設(shè)計框圖及程序清單 5.設(shè)計結(jié)果和體會(包括遇到的問題及解決的方法) 四、設(shè)計原理要使揚聲器發(fā)出不同的音調(diào),就得輸入不同頻率的波形。通過給8253定時/計數(shù)器裝入不同的計數(shù)值,可以使其輸出不同頻率的方波。經(jīng)過放大器的放大作用,便可驅(qū)動揚聲器發(fā)出不同的音調(diào),只要插入一段延時程序之后,再將揚聲器切斷,音調(diào)的聲音就可以持續(xù)一端時間。通過計算機的不同按鍵輸出不同的音調(diào),需要使用系統(tǒng)調(diào)用功能以接收鍵入字符,并且要建立一張表,使鍵入字符與頻率構(gòu)成一個對應(yīng)關(guān)系。

    標簽: PC機 電子琴

    上傳時間: 2013-10-16

    上傳用戶:xlcky

  • 單片機系統(tǒng)常用軟件抗干擾措施

    單片機系統(tǒng)常用軟件抗干擾措施:可靠性設(shè)計是一項系統(tǒng)工程,單片機系統(tǒng)的可靠性必須從軟件、硬件以及結(jié)構(gòu)設(shè)計等方面全面考慮。硬件系統(tǒng)的可靠性設(shè)計是單片機系統(tǒng)可靠性的根本,而軟件系統(tǒng)的可靠性設(shè)計起到抑制外來干擾的作用。軟件系統(tǒng)的可靠性設(shè)計的主要方法有:開機自檢、軟件陷阱(進行程序“跑飛”檢測)、設(shè)置程序運行狀態(tài)標記、輸出端口刷新、輸入多次采樣、軟件“看門狗”等。通過軟件系統(tǒng)的可靠性設(shè)計,達到最大限度地降低干擾對系統(tǒng)工作的影響,確保單片機及時發(fā)現(xiàn)因干擾導(dǎo)致程序出現(xiàn)的錯誤,并使系統(tǒng)恢復(fù)到正常工作狀態(tài)或及時報警的目的。一、開機自檢開機后首先對單片機系統(tǒng)的硬件及軟件狀態(tài)進行檢測,一旦發(fā)現(xiàn)不正常,就進行相應(yīng)的處理。開機自檢程序通常包括對RAM、ROM、I/O口狀態(tài)等的檢測。1 檢測RAM檢查RAM讀寫是否正常,實際操作是向RAM單元寫“00H”,讀出也應(yīng)為“00H”,再向其寫“FFH”,讀出也應(yīng)為“FFH”。如果RAM單元讀寫出錯,應(yīng)給出RAM出錯提示(聲光或其它形式),等待處理。2 檢查ROM單元的內(nèi)容對ROM單元的檢測主要是檢查ROM單元的內(nèi)容的校驗和。所謂ROM的校驗和是將ROM的內(nèi)容逐一相加后得到一個數(shù)值,該值便稱校驗和。ROM單元存儲的是程序、常數(shù)和表格。一旦程序編寫完成,ROM中的內(nèi)容就確定了,其校驗和也就是唯一的。若ROM校驗和出錯,應(yīng)給出ROM出錯提示(聲光或其它形式),等待處理。3 檢查I/O口狀態(tài)首先確定系統(tǒng)的I/O口在待機狀態(tài)應(yīng)處的狀態(tài),然后檢測單片機的I/O口在待機狀態(tài)下的狀態(tài)是否正常(如是否有短路或開路現(xiàn)象等)。若不正常,應(yīng)給出出錯提示(聲光或其它形式),等待處理。4 其它接口電路檢測除了對上述單片機內(nèi)部資源進行檢測外,對系統(tǒng)中的其它接口電路,比如擴展的E2PROM、A/D轉(zhuǎn)換電路等,又如數(shù)字測溫儀中的555單穩(wěn)測溫電路,均應(yīng)通過軟件進行檢測,確定是否有故障。只有各項檢查均正常,程序方能繼續(xù)執(zhí)行,否則應(yīng)提示出錯。

    標簽: 單片機系統(tǒng) 軟件 抗干擾措施

    上傳時間: 2013-11-02

    上傳用戶:名爵少年

  • 交通燈控制器的設(shè)計與實現(xiàn)

    交通燈控制器的設(shè)計與實現(xiàn)一、實驗?zāi)康?. 了解交通燈管理的基本工作原理。2. 熟悉8253計數(shù)器/定時器、8259A中斷控制器和8255A并行接口的工作方式及應(yīng)用編程。3. 掌握多位LED顯示的方法。 二、 實驗內(nèi)容與要求設(shè)計一個用于十字路口的交通燈控制器。1.基本要求: 1) 東西和南北方向各有一組紅,黃,綠燈用于指揮交通,紅,黃,綠的持續(xù)時間分別為25s,5s,20s。2) 當有緊急情況(如消防車)時,兩個方向均為紅燈亮,計時停止,當特殊情況結(jié)束后,控制器恢復(fù)原來狀態(tài),正常工作。3) 一組數(shù)碼管,以倒計時方式顯示兩個方向允許通行或禁止通行的時間。2.提高部分:1) 實時修改交通燈的持續(xù)時間。2) 根據(jù)不同時段對主要交通方向的信號進行調(diào)整。3) 可以使用LCD顯示提示信息。 三、實驗報告要求 1.設(shè)計目的和內(nèi)容 2.總體設(shè)計 3.硬件設(shè)計:原理圖(接線圖)及簡要說明 4.軟件設(shè)計框圖及程序清單 5.設(shè)計結(jié)果和體會(包括遇到的問題及解決的方法) 四、總體設(shè)計交通燈的工作過程如下:設(shè)十字路口的1、3為南,北方向,2、4為東西方向,初始態(tài)為4個路口的紅燈全亮。之后,1、3路口的綠燈亮,2、4路口的紅燈亮,1、3路口方向通車,2個路口的LED數(shù)碼管開始倒計時25秒。延遲20秒后,1、3路口的綠燈熄滅,而1,3路口的黃燈開始閃爍(1HZ)。閃爍5次后,1、3路口的紅燈亮,同時2、4路口的綠燈亮,2、4路口方向開始通車,2個路口的LED數(shù)碼管重新開始倒計時25秒。延遲20秒時間后,2、4路口的綠燈熄滅,而黃燈開始閃爍。閃爍5次后,再切換到1、3路口方向。之后,重復(fù)上述過程。當有緊急情況時,2個方向都紅燈亮,倒計時停止,車輛禁止通行,當緊急情況結(jié)束后,控制器恢復(fù)以前的狀態(tài)繼續(xù)工作。 在設(shè)計中采用6個發(fā)光二極管來模擬2個路口的黃紅綠燈,每個路口用2個數(shù)碼管來顯示通行或禁止剩余的時間。緊急情況用一個單脈沖發(fā)生單元申請中斷來模擬,緊急情況結(jié)束后,再發(fā)一個中斷來恢復(fù)以前的狀態(tài)。 根據(jù)前面的介紹,本設(shè)計硬件由定時模塊、發(fā)光二極管模塊、數(shù)碼管顯示模塊和緊急中斷模塊組成。定時模塊采用硬件定時和軟件定時相結(jié)合的方法,用8253定時/計數(shù)器定時100ms,再用軟件計時實現(xiàn)所需的定時。發(fā)光二極管模塊由8255控制發(fā)光二極管來實現(xiàn)。數(shù)碼管顯示模塊由實驗平臺上的LED顯示模塊實現(xiàn)。緊急中斷模塊是由單脈沖發(fā)生單元和8279中斷控制器組成。 程序主要是由定時子程序、發(fā)光二極管顯示子程序、數(shù)碼管顯示子程序和中斷服務(wù)程序組成。包括對8253、8255以及8259等可編程器件的編程。 五、硬件設(shè)計 本課題的設(shè)計可通過實驗平臺上的一些功能模塊電路組成,由于各模塊電路內(nèi)部已經(jīng)連接,用戶在使用時只要設(shè)計模塊間電路的連接,因此,硬件電路的設(shè)計及實現(xiàn)相對簡單。完整系統(tǒng)的硬件連接如圖1所示。硬件電路由定時模塊、發(fā)光二極管模塊、數(shù)碼管顯示模塊和緊急中斷模塊組成。 定時模塊是由8253的計數(shù)器0來實現(xiàn)定時100ms。Clk0接實驗平臺分頻電路輸出Q6,f=46875hz。GATE0接8255的PA0,由8255輸出來控制計數(shù)器的起停。OUT0接8259的IRQ2,定時完成申請中斷,進入中斷服務(wù)程序。 發(fā)光二極管顯示模塊由8255輸出來控制發(fā)光二極管的亮滅。8255輸出為低電平時,對應(yīng)的發(fā)光二極管就點亮,否則就熄滅。8255的接口電路如圖2所示。交通燈的對應(yīng)關(guān)系如下:L7 L6 L5 L2 L1 L0PC7 PC6 PC5 PC2 PC1 PC013紅燈 13黃燈 13綠燈 24紅燈 24黃燈 24綠燈  實驗平臺上提供一組六個LED數(shù)碼管。插孔CS1用于數(shù)碼管段選的輸出選通,插孔CS2用于數(shù)碼管位選信號的輸出選通。本設(shè)計用4個數(shù)碼管來倒計時。 緊急中斷模塊是由單脈沖發(fā)生單元和8259中斷控制器,單脈沖發(fā)生單元主要用來請求中斷,然后做出緊急情況處理。

    標簽: 交通燈控制器

    上傳時間: 2013-10-07

    上傳用戶:小小小熊

主站蜘蛛池模板: 姚安县| 汤阴县| 金沙县| 昭苏县| 禹城市| 西平县| 海安县| 凌源市| 镇安县| 鹤岗市| 独山县| 平湖市| 南雄市| 桃江县| 百色市| 富宁县| 眉山市| 耒阳市| 西乌珠穆沁旗| 扎囊县| 辰溪县| 泽库县| 平乐县| 武宁县| 渭南市| 兰考县| 大新县| 奉节县| 霍州市| 台南市| 开原市| 开远市| 浦北县| 新邵县| 定陶县| 黄梅县| 邵武市| 山阴县| 中西区| 广水市| 万山特区|