男女午夜激情_www.天堂av.com_亚洲综合小说区_亚洲欧美自拍视频_成年精品_久久www免费人成—看片_激情综合五月天_久久高潮视频_最新国产成人ab网站_国产精品卡一

機電之家資源網
單片機首頁|單片機基礎|單片機應用|單片機開發|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發
培訓信息
贊助商
PIC16C5X單片機概述
PIC16C5X單片機概述
 更新時間:2009-7-22 16:41:08  點擊數:0
【字體: 字體顏色

     [3].PIC16C5X單片機引腳圖

 數據存儲器分為操作寄存器、I/O寄存器、通用寄存器和專用寄存器四種。由于專用寄存器地址對用戶不透明,我們將在后面的章節中論述。操作寄存器和I/O寄存器占用的物理地址是01H—07H,通用寄存器從地址08H開始。

    1.操作寄存器文件
    操作寄存器文件是寄存器文件的一種,它是專用的寄存器。它和通用寄存器文件有很大的區別。通用寄存器文件是用于存放數據的,而操作寄存器文件則用于尋址、定時等各種特殊用途。操作寄存器文件包括間接數據尋址寄存器f0、實時時鐘/計數器f1(RTCC)、程序計數器f2(PC)、狀態寄存器f3(STATUS)、文件選擇寄存器f4(FSR)等。下面我們分別介紹這些寄存器。

    [1].間接尋址寄存器f0
    這不是一個物理寄存器,尋址f0則會讀出文件選擇寄存器f4的內容,并對f4所指定的文件寄存器進行間接尋址操作。f0常用作間接尋址指針。例如指令ADDWF f0,W把f4(FSR)所指的寄存器的內容和W寄存器相加,結果存于w,f0本身不存任何價值。

    [2].實時時鐘/計數器f1(RTCC)
    該寄存器和其它寄存器一樣,可通過程序寫入和讀出。它用于對加在RTCC引腳上的脈沖計數(用作計數器)或對內部時鐘計數(對fOSC4分頻后計數,做定時器用)。RTCC的結構框圖如下圖所示。

3.程序計數器f2(PC)
    程序計數器給出片內2048x12的ROM地址,不同的型號程序計數器與它們的兩層堆棧為9-11位寛,如表1所示。

 4.狀態寄存器f3
    該寄存器包含有ALU的算術狀態位,RESET狀態位、大于512字節程序存儲器的頁面預選位。

    狀態寄存器f3可以用作目標寄存器。某些標志位通過相應的寫來設定,而另外一些位是不能通過指令來改變的。TO、PD位是不可寫的。因此一條指令對狀態寄存器執行的結果會有所不同。例如CLR f3被除了TO和PD位之外的所有位清“0”,并把“Z”位置“1”,所以得到的狀態寄存器內容為“000UU100”,其中,U表示不變化。

    建議用BCF、BSF或MOVWF指令來改變狀態寄存器的內容,這些指令只改變相應的位,而不影響其它狀態位。

    其它影響狀態位的指令可參考指令系統的說明。

    狀態寄存器包含8位數據位,其中低5位是狀態標志位,高3位中的最高位PA2未用。PA0和PA1是存儲器頁面選擇位,其結構如下表所示。


    寄存器OPTION各位定義如下:

    [1]. RTS(D5):RTCC信號選擇位,RTS=0時,選中內部指令周期時鐘(CLKOUT)為輸入信號,在RTS=1時,選中RTCC引腳輸入的信號。

    [2]. RTE(D4):RTCC信號邊沿選擇位,RTE=0時,選中RTCC引腳輸入信號的上升沿計數,RTE=1時,RTCC引腳輸入信號下降沿觸發。

    [3]. RTS(D3):預分頻器分配位。PSA=0時,把預分頻器分配給RTCC,PSA=1時,把預分頻器分配給WDT。

    [4]. PS0-PS2(D2-D0):預分頻值,它用于確定分頻器的分頻比,定義如下表所示。


/script>

 PIC系列單片機是美國Microchip公司推出的具有精簡指令集高性能8位單片機,其優點是引腳少,性能優越,可直接帶LED負載,具有低功耗省電模式,可廣泛應用于復雜程度較低的場合。十多年來PIC系列單片正以迅猛的速度發展。

    在這一章節里我們將以PIC16C5X系列單片機為例,詳細講解PIC單片機的內部結構及工作原理。

     [1].PIC16C5X單片機概況

    PIC16C5X屬CMOS單片機,是一個低價位高性能8位單片機,使用了僅有33條精簡指令集、單字節單周期指令,每條指令執行時間最快可達200ns。易于記憶和使用的指令系統可大大減少產品的開發時間。多種時鐘振蕩電路睡眠低功耗省電模式及WDT(看門狗)帶碼保護功能,這些特性具有較大優勢。PIC16C5X系列單片機可廣泛應用于電機控制、汽車電路、家用電器等領域。

     [2].PIC16C5X單片機主要性能

     RISC精簡指令集,指令僅有33條,指令長度為12位。
     絕大部分均為單機器周期指令。
     工作速度高,最快可達200ns(20MHz時鐘時)。
     數據長度為8位。
     片內程序存儲器容量為512-2kbyte。
     片內靜態數據存儲器(SRAM)為25-73byte
     硬件組成7個專用寄存器
     兩級硬件堆棧。
     有直接、間接、相對和位尋址功能。
     12-20條I/O引腳,每條引腳均可設置為輸入和輸出態。
     多種時鐘振蕩電路及WDT定時器電路
     寬工作電壓范圍和低功耗模式:工作電壓為2.5V-6.0V,典型工作電流為2mA,睡眠狀態僅為3uA。
     程序保密位,有效地保護用戶的產權。

    PIC16C5X系列單片機有多種不同的程序存儲器和數據存儲、I/O引腳、振蕩類型、振蕩頻率及封裝形式。這些器件可為研發實驗提供方便,四種振蕩方式是RC、XT、HS和LP,所需的振蕩器是通過對片內的EPROM編程實現的,未編程狀態器件為默認的RC振蕩方式。

    下表是PIC16C5X系列單片機一覽表:

PIC16C5X系列單片機一覽表
型號EPROMRAM時鐘頻率定時器工作電壓VI/O口數封裝形式
PIC16C52384x1225DC-4MHz12.5-6.01218DIP/SOIC
PIC16C54512x12DC-20MHz1+WDT
PIC16C552028DIP/SOIC
PIC16C5610241218DIP/SOIC
PIC16C572048722028DIP/SOIC
PIC16C58731218DIP/SOIC


    PIC16C5X系列單片機有兩種封裝形式,一種是雙列直插方式,另一種是表面貼裝方式。其引腳如上圖所示。現對其功能引腳簡述如下:

    [1].RA0-RA3 I/O輸入輸出口A,對應內部的f5,是一個4位I/O端口,可位控。

    [2].RB0-RB7 I/O輸入輸出口B,對應內部的f6,是一個8位I/O端口,可位控。

    [3].RC0-RC3 I/O輸入輸出口C,對應內部的f7,是一個8位I/O端口,可位控。只有PIC16C55和PIC16C57才有。

    [4].RTCC 實時時鐘/計數器輸入端,在此端口輸入信號的上升沿或下降沿計數,邊沿可通過軟件選擇。

    [5].MCLR 主復位端,當MCLR為低電平時對單片機復位。

    [6].OSC1 振蕩信號輸入端。這個端口用于外部振蕩信號的輸入,用RC振蕩時,它接RC電路,用石英振蕩電路時,接石英晶體一端。

    [7].OSC2 振蕩信號輸出端。在用石英晶體振蕩器或陶瓷振蕩器時通過一個串聯電阻R接振蕩晶體一端,在RC振蕩時常作CLKOUT輸出(CLKOUT=1/4fosc)。

    [8].VDD 電源電壓。一般為5V,其范圍在2.5-6.25V之間。

    [9].Vss 地端。

    [10].NC 空引腳。PIC16C5X系列單片機是一個低功耗、高速、全靜態CMOS單片機,含ROM、RAM、I/O及中央處理器單元。這種結構基于寄存器文件概念,有獨立的數據和程序存儲器總線。數據總線及數據器(RAM)是8位字寬,程序總線及程序存儲器(ROM)是12位字寬。這種概念強調位、字節和寄存器操作,CPU能在指令讀取和執行過程的重疊中高速工作,即當一條指令執行時,下一條指令已經從程序存儲器讀出,有效地提高CPU的運算速度,同時,通用寄存器和操作寄存器同屬于一個數據存儲區,采用相同的尋址方式,這樣寄存器的存取就非常簡單,這樣的結構體系決定了其指令系統相對簡單但功能卻十分強大。

     數據寄存器文件

    PIC16C5X的8位數據總線連接兩個基本的功能部件,由32個或80個可尋址的位寄存器與I/O端口組成的寄存器文件和一個8位字寬的算術邏輯單元(ALU),32字節的RAM可直接用塊結構尋址,每個塊為16個字節,如下圖所示。使用文件選擇寄存器(f4),數據可直接尋址或間接尋址。工作寄存器w可執行立即尋址,這種指令結構從程序存儲器讀取數據送入w寄存器。

    PIC16C5X的寄存器文件分為兩個功能組,操作寄存器和通用寄存器,操作寄存器包括實時時鐘/計數器RTCC、PC、狀態寄存器、I/O寄存器(PORTS)和文件選擇寄存器,通用寄存器存放數據及控制數據。

     算術/邏輯運算單元

    8位算術/邏輯運算單元ALU連接一個工作寄存器(w寄存器),它是通過w寄存器對數據進行算術和邏輯運算,也可對w寄存器或任何文件寄存器進行操作。

PIC16C5X系列單片機內部有一定容量的程序存儲器和數據存儲器,程序存儲器的字節寬度為12位,用于存放用戶程序和數據表格。PIC16C52有384字節的程序存儲空間,PIC16C54/55的ROM空間為512字節,PIC16C56的地址空間為1024字節,PIC16C57/58則為2048個字節。PIC16C5X單片機采用的是分頁尋址方式,每頁位512字節,頁面地址由狀態寄存器f3的PA0、PA1選擇。512字節的12位頁內可直接尋址,較大的程序存儲器可通過選擇4個頁、每頁512字節頁面來尋址,如下圖所示。

    但當頁面之間跳轉(GOTO CALL指令)必須先把f3的PA0、PA1設置為相應的頁面。需要注意的是:在系統復位時,程序計數器PC將指向程序存儲器最后一個頁面的最后一個單元。例如PIC16C54/55指向1FFH,PIC16C56指向3FFH,PIC16C57/58則指向7FFH。狀態寄存器f3的PA0、PA1指向零頁空間,所以程序員在編程時需要在程序存儲器底部放置一條跳轉指令,跳到程序入口。

    單片機執行程序時,程序計數器(PC)自動加1,程序操作支持直接、間接、相對尋址方式,能由測試、跳轉指令、子程序調用指令、轉移指令或把算出的地址裝入PC來實現程序的跳轉。片內兩級堆棧為子程序嵌套提供服務。

     堆棧

    PIC16C5X系列單片機提供兩級堆棧,參考上圖。CALL指令把程序計數器加1壓入堆棧1,棧1自動壓入棧2,當多于兩級子程序調用指令執行時,堆棧中只有存儲最近兩個返回地址,所以主程序中調用的子程序最多只能嵌套一次,當執行一條CALL指令,PIC16C56/57/58的f3之頁面選擇位PA1、PA0被裝入程序計數器的最高兩位,第9位清“0”,也就是子程序入口地址必須位于存儲頁的低半頁000-0FF、200-2FF、400-4FF、600-6FF地址。但這里指的是子程序主體的起始位置,而子程序體是可以延伸到下半頁面的。

    PIC16C56/57/58,由于程序空間分別為1k和2k,可能存在跨頁面子程序調用,所以調用子程序前須先把f3的PA1、PA0設置成該子程序所在頁面地址。誠然,如果子程序與調用程序同在一個頁面,則無需這個步驟。由于堆棧和PC的寬度是一樣的,所以可在程序的任何地方執行CALL指令來調用子程序。當然跨頁面的調用還須考慮頁面地址PA1、PA0。

    RETLW(子程序返回指令)把棧1內容送到程序計數器PC,同時棧2內容復制到棧1,多于兩個RETLW指令運行時,棧1只會裝入先前存在棧2的地址,對于PIC16C56/57,程序總是返回調用它的同一頁面,不管它是處在哪個頁面,也不管f3的頁面選擇位的設置狀態如何。但是執行RETLW指令并不會改變f3中的PA1、PA0的值。w寄存器會被裝入RETLW指令中所指向的數值,即立即數。這在程序存儲器中實現數據查表時就非常有用。
    OPTION寄存器的PSA位控制預分頻器(prescaler)的分配對象,當PSA位為“0”,8位可編程預分頻器分配給RTCC,這時外部或內部信號經過預分頻器分頻后再輸出給RTCC。預分頻器的分頻比由OPTION寄存器的PS0-PS2位決定。OPTION寄存器不在數據存儲器內,是一個可由“OPTION”指令尋址的特別寄存器,如果預分頻器被分配給RTCC,則寫f1會對預分頻器清“0”,但OPTION寄存器內容保持不變,則分配對象、分頻比等均不變。

    OPTION寄存器的RTS位決定是對外部還是內部計數,當RTS=1時,對來自RTCC引腳的信號計數,當RTS=0時,對fOSC/4計數。OPTION寄存器的RTE位決定RTCC腳的信號是上升沿(RTE=0)還是下降沿(RTE=1)時增1。當RTS=0,內部時鐘(頻率為fOSC/4)作為計數對象,RTE位、RTCC引腳與內部電路無關。為減少功耗,RTCC腳必須連接VDD或Vss。

    當預分頻器分配給計數器/定時器RTCC后,RTCC將計數到預分頻器值后加1,例如,如預分頻器值為1:4,則RTCC將計數4次加1。

    無論內部還是外部時鐘是否連接預分頻器,一旦有時鐘供給RTCC,f1將加1。在計數到達FFH時,在下一個計數發生后將自動清零,重新開始計數,一直循環下去。所有令f1(RTCC)加1的脈沖都將延時2個指令周期。例如在寫f1后,隨后的兩個指令周期就不加1。這獨立于外部或內部時鐘的選取。如預分頻器分配給RTCC,預分頻器的輸出將在f1(RTCC)加1前延時兩個指令周期。對于寫或讀RTCC的指令(例如MOVF RTCC,W或CLRF RTCC)都是一樣的,在應用RTCC時,在不影響其計數情況下測試,可用MOVF f1,W指令。

    應注意外部時鐘用于RTCC時鐘的有關情況。

    當外部時鐘用于RTCC時,它與內部時鐘同步。所以,外部時鐘必須符合一定的要求,同樣在外部時鐘輸入邊沿到RTCC加1,存在著延時,在預分頻后實現同步。在每個指令周期,PSOUT的輸出被采樣兩次以檢測上升或下降沿。因此,這需要PSOUT至少保持2TOSC高電平和至少保持2TOSC低電平。TOSC是振蕩周期。

    當不用預分頻器時,PSOUT輸出與RTCC時鐘輸入一樣,要求如下:

        TRTH=RTCC 高電平時間≥2TOSC+20ns
        TRTL=RTCC 低電平時間≥2TOSC+20ns

        當用預分頻器時,RTCC輸入被異步脈沖計數器型的預分頻器分頻,預分頻器輸出是對稱的。

        PSOUT=RTCC 高電平時間=PSOUT低電平時間=N.TRT/2
        當TRT是RTCC輸入周期和N是預分頻器的值(2,4,8,……256)時,要求:

        N.TRT/2≥2TOSC+20ns
        或
        TRT≥2(TOSC+20ns)/N
    用戶不需要確定RTCC高、低電平時間,但是如果RTCC的高、低電平持續時間太小,脈沖有可能不被采集。一般要求最小的高、低電平時間為10ns。RTCC輸入要求為:

        TRT=周期≥(4TOSC+40ns)/N
        TRTH=RTCC 高電平時間≥10ns
        TRTL=RTCC 低電平時間≥10ns

    外部時鐘的延時,預分頻器的輸出由內部時鐘同步,RTCC在Q4時加1,從外部時鐘邊沿出現到RTCC實際加1,存在著一個較小的延時,在3TOSC
7TOSC之間。例如,測量兩個邊沿之間的時間間隔,其精度在±4TOSC之間。
  表1 程序計數器PC與堆棧大小
型號PC寬度/位堆棧寬度/位
PIC16C54/5599
PIC16C561010
PIC16C571111
    系統復位后,PC為全“1”,程序執行每一條指令PC自動加“1”,除非程序指令本身改變PC的內容(例如程序跳轉,中斷服務等),下面的指令將改變PC的值。

    [1].“GOTO”指令:允許直接裝入程序計數器的低8位,對于PIC16C56/57/58,PC的最高位由PA0、PA1兩個頁面選擇位(也即狀態寄存器的5、6位確定),此指令允許跳到任一頁的任意位置。

    [2].“CALL”指令:先把當前PC的值壓入堆棧,然后使第9位清“0”,并把低8位裝入程序計數器PC,對于PIC16C56/57/58,PC的高兩位被裝入頁面選擇位PA0、PA1。

    [3].“RETLW”指令:該返回指令直接把棧頂內容重裝入PC。

    [4].程序計數器可由某位指令改變(例如MOVWF f2,ADDWF f2或BSF f2,5)計算結果將裝入PC低8位,第9位清“0”。對于PIC16C56/57/58,PC的高兩位被裝入頁面選擇位PA0、PA1。

    需要注意的是:在執行“CALL”或其它改變PC值指令時,第9位會被清“0”,所有子程序調用指令和需要計算的跳轉指令時,要把分支程序放在任何頁面(512字節)的前256個單元(地址分別為000-0FFH、200-2FFH、400-4FFH、600-6FFH)。

    多個程序存儲器頁面選擇(對PIC16C56/57/58有效)情況下,當程序計數器指向所在存儲頁的最后地址時,它仍能加1,并繼續執行到下一頁面,但PA0,PA1頁面選擇位不會改變,以后的“GOTO”、“CALL”、“ADDWF f2”、“MOVWFf2”等指令會返回原來的頁面,除非頁面選擇位在程序中被更改。例如NOP指令位于1FFH(0頁),PC加1變為200(1頁),一條在200的“GOTO XXX”指令將返回0頁的XXX地址(若f3的頁預選位“0”)。

    RESET狀態下,PA0、PA1清“0”,0頁會成為預選頁。同時程序計數器PC會對最后一頁的最后一個單元尋址。因此,在這個位置的“GOTO”指令會自動返回至0頁執行。
  表1 狀態寄存器的結構
PA2PA1PA0TOPDZDCC
D7D6D5D4D3D2D1D0
    下面我們介紹各位的意義。

    [1].C(D0):進位/借位標志位。在執行ADDWF和SUBWF指令時,最高位產生進位或借位時,C=“1”,在減法采用補碼運算。

    [2].DC(D1):輔助進位位。當執行ADDWF和SUBWF指令時,低4位產生進位或借位時,DC=“1”。

    [3].Z(D2):零標志位。當算術操作結果為0時,Z="1"。

    [4].PD(D3):低功耗標志位。上電或執行CLR WDT指令時,PD=“1”。執行SLEEP指令時,PD=“0”。

    [5].TO(D4):WDT溢出標志位。當上電或執行CLR WDT、SLEEP指令時,TO=“1”,WDT溢出時,TO=“0”。

    [6].PA0,PA1(D5,6):程序存儲器頁面選擇位。對于PIC16C56單片機,PA0是程序存儲器頁面選擇位。PA1是通用讀寫位。在PA=0時,選擇0頁面,即000H-1FFH。PA0=1時,選中1頁,地址為200H-3FFH。

    對于PIC16C57/58單片機,PA0、PA1是程序存儲器頁面選擇位。它們的值從00-11H分別選中0-3頁,即地址為000-1FFH、200H-3FFH、400H-5FFH、600H-7FFH。

    [7].PA2(D7):通用讀寫位,未使用。

    在復位時,PA2,PA1,PA0被清“0”,上電或執行CLR WDT指令時,TO、PD都被置“1”,這兩位的變化如表2所示。上電復位時,Z、DC、C標志位狀態不定。在其它復位情況下(如WDT溢出)Z、DC、C狀態不變。上電復位TO、PD的狀態見表3。
  表2 事件對TO、PD標志位的影響
事件TOPD說明
上電11不影響PD標志位
WDT超時溢出0X
SLEEP指令10
CLR WDT指令11
  表3 復位后TO、PD標志位的狀態
TOPD復位原因
00WDT超時溢出使SLEEP喚醒
01WDT超時溢出(不在SLEEP狀態時)
10MCLR加低電平使SLEEP喚醒
11上電時
XXMCLR加低電平
    ADDWF指令后,進位位C=1表示產生進位,執行SUBWF指令后,進位位C=0表示借位,執行ADDWF或SUBWF指令也將影響輔助進位位DC狀態。DC表示低半字節到高半字節的進位和借位。

    通用寄存器文件是用于存放數據的寄存器。一般用于中間數據或結果數據存放。所有的通用寄存器構成了通用寄存器文件。

    專用寄存器是單片機內的物理寄存器,它們與數據存儲器無關,專用寄存器用于特殊用途,例如I/O斷口控制等。

    1.通用寄存器
    PIC16C52/54/56的通用寄存器地址分配為F07H—F1FH,PIC16C55則為F08H—F1FH,這些地址組成了通用寄存器文件。PIC16C57/58的通用寄存器地址分配如下:

        F08H—F0FH:常用的并與存儲器塊無關的通用寄存器文件。

        F10H—F1FH:Bank0的通用寄存器文件。

        F20H—F2FH:等同于F00—F0FH。

        F30H—F3FH:Bank1的通用寄存器文件。

        F40H—F4FH:等同于F00—F0FH。

        F50H—F5FH:Bank2的通用寄存器文件。

        F60H—F6FH:等同于F00—F0FH。

        F70H—F7FH:Bank3的通用寄存器文件。

    2.專用寄存器
    [1].W工作寄存器
    在兩個操作量的指令中用于存放第二個操作量,同時,也用于內部數據傳送。

    [2].TRISA:A口(f5)I/O控制寄存器0-3位有效,對應于I/O(f5)4位寬度。
    [3].TRISB:B口(f6)I/O控制寄存器。
    [4].TRISC:C口(f7)I/O控制寄存器。
    執行TRIS指令時,w寄存器的內容將傳送至I/O控制寄存器,以此來定義各I/O口的輸入/輸出狀態。
    I/控制寄存器的某位為“1”,使相應的I/O線置于高阻抗狀態,即輸入態,某位為“0”,使相應的I/O線置輸出態。I/O控制寄存器是只寫寄存器,復位時全為“1”。

    [5].OPTION:預分頻器/RTCC選擇寄存器。
    分配預分頻器(prescaler)給RTCC或WDT。預分頻器只能分配給RTCC或WDT其中之一使用,不能同時使用。OPTION寄存器是用于定義預分頻器的預分頻系數,RTCC信號源及作用于RTCC的信號邊緣。OPTION寄存器是一個只寫6位寬度寄存器。執行OPTION指令時,會把W寄存器內容傳送至OPTION寄存器中。在復位時,OPTION寄存器被置為全“1”。

RTSRTEPSAPS2PS1PS0
D5D4D3D2D1D0
預分頻值RTCC時分頻比WDT時分頻比
0 0 01:21:1
0 0 11:41:2
0 1 01:81:4
0 1 11:161:8
1 0 01:321:16
1 0 11:641:32
1 1 01:1281:64
1 1 11:2561:128
  • 上一篇: PIC單片機指令系統
  • 下一篇: PIC單片機做的遙控解碼程序
  • 發表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網友評論:(只顯示最新5條。)
    關于我們 | 聯系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發消息66821730(技術支持)點擊這里給我發消息66821730(廣告投放) 點擊這里給我發消息41031197(編輯) 點擊這里給我發消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業自行提供,該企業負責信息內容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(濱江)機電一體化學會
    中國行業電子商務100強網站

    網站經營許可證:浙B2-20080178-1
    主站蜘蛛池模板: 西昌市| 郁南县| 濮阳县| 长乐市| 双桥区| 霍邱县| 文登市| 南部县| 皋兰县| 塔河县| 丰县| 溧阳市| 呼和浩特市| 黎城县| 渭南市| 姚安县| 黄大仙区| 台北市| 黄梅县| 镇宁| 文成县| 衡山县| 宜丰县| 枝江市| 九台市| 四川省| 文安县| 新蔡县| 周至县| 黄骅市| 晋江市| 蓬安县| 绥江县| 苍溪县| 綦江县| 义乌市| 射洪县| 嫩江县| 油尖旺区| 锡林郭勒盟| 武清区|