wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 118188|回復(fù): 76
打印 上一主題 下一主題
收起左側(cè)

第二章 點(diǎn)亮你的LED

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
#
ID:1 發(fā)表于 2013-6-6 04:56 | 只看該作者 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
本文作者:金沙灘宋老師

 

這節(jié)課的標(biāo)題是點(diǎn)亮LED,但是需要大家了解的單片機(jī)基礎(chǔ)知識(shí)的內(nèi)容也非常多,特別是對(duì)于初學(xué)者,剛開始要在頭腦中建立一個(gè)單片機(jī)的概念,課程最后通過點(diǎn)亮一個(gè)LED小燈來增加初學(xué)者對(duì)實(shí)驗(yàn)的好奇心和自信心。

1.1 單片機(jī)的內(nèi)部資源

在這里我所講到的單片機(jī)內(nèi)部資源,和傳統(tǒng)單片機(jī)書籍講單片機(jī)內(nèi)部結(jié)構(gòu)不同,我這里講到的內(nèi)部資源,是指我們作為單片機(jī)用戶,單片機(jī)提供給我們可使用的一些內(nèi)容。總結(jié)起來,主要是三大資源

1、FLASH(程序存儲(chǔ)空間,早期單片機(jī)是OTPROM)

2、RAM(數(shù)據(jù)存儲(chǔ)空間)

3、SFR(特殊功能寄存器)

在早期的技術(shù)里邊,主要是用OTPROM(One Time Programable Read-Only Memory,即一次可編程只讀存儲(chǔ)器)來存儲(chǔ)單片機(jī)的程序,隨著技術(shù)的發(fā)展,FLASH以其可重復(fù)擦寫且大容量低成本的優(yōu)點(diǎn)成為絕大多數(shù)單片機(jī)的程序存儲(chǔ)器。對(duì)于單片機(jī)來說FLASH最大的意義是斷電后數(shù)據(jù)不丟失,這個(gè)概念類似于我們電腦的硬盤,你看我們保存了電影、文檔、音樂等文件,我們把電源關(guān)掉后,下次重新開電腦,所有的文件都還照樣存在。

RAM是單片機(jī)的數(shù)據(jù)存儲(chǔ)空間,用來存儲(chǔ)程序運(yùn)行過程產(chǎn)生的和需要的數(shù)據(jù),和我們電腦的內(nèi)存是一個(gè)概念,其實(shí)最典型的比喻是我們的計(jì)算器,我們用計(jì)算器計(jì)算個(gè)加減法,一些中間的數(shù)據(jù)都會(huì)保存在RAM里邊,關(guān)電后數(shù)據(jù)丟失,所以我們每次打開計(jì)算器,都是從歸零開始計(jì)算。但是他的優(yōu)點(diǎn)第一是讀寫速度非常快,第二是理論上是無(wú)限次寫的,即壽命無(wú)限,不管程序怎么運(yùn)行怎么讀寫它都不會(huì)壞

第三個(gè)資源是SFR,特殊功能寄存器。這個(gè)概念大家可能剛開始理解不了,但是一定要記住。單片機(jī)有很多很多功能,每個(gè)功能都會(huì)配一個(gè)或多個(gè)SFR,我們就是通過對(duì)SFR的讀寫來實(shí)現(xiàn)單片機(jī)的多種多樣的功能的。

講到這里,我們來了解一下51單片機(jī)。通常我們一說到51單片機(jī),指的都是兼容Intel MCS-51體系架構(gòu)的一系列單片機(jī)。全球有眾多的半導(dǎo)體廠商推出了無(wú)數(shù)款這一系列的單片機(jī),比如AtmelAT89C52NXP(Philips)P89V51,宏晶科技的STC89C52,具體型號(hào)千差萬(wàn)別,但他們的基本操作都是一樣的,程序開發(fā)環(huán)境也是一樣的。這里我們要分清楚51這個(gè)統(tǒng)稱和具體的單片機(jī)型號(hào)之間的關(guān)系。

單片機(jī)內(nèi)部資源的三個(gè)主要部分我們清楚了,那么我們選擇STC89C52RC這款單片機(jī)來進(jìn)行學(xué)習(xí)。STC89C52RC單片機(jī)是宏晶科技出品的一款51內(nèi)核的單片機(jī),具有標(biāo)準(zhǔn)的51體系結(jié)構(gòu),全部的51標(biāo)準(zhǔn)功能,程序下載方式簡(jiǎn)單,方便學(xué)習(xí),我們就用它來學(xué)習(xí)單片機(jī)。它的資源呢,Flash程序空間是8K字節(jié)(1K=1024字節(jié),1字節(jié)= 8)RAM數(shù)據(jù)空間是512字節(jié),SFR我們后邊需要逐一提到并且應(yīng)用。

1.2  單片機(jī)最小系統(tǒng)

為什么稱之為單片機(jī)最小系統(tǒng)呢?單片機(jī)最小系統(tǒng),也叫做單片機(jī)最小應(yīng)用系統(tǒng),是指用最少的原件組成單片機(jī)可以工作的系統(tǒng)。單片機(jī)最小系統(tǒng)的三要素就是電源、晶振、復(fù)位電路,如圖2-1所示。

圖片

2-1 單片機(jī)最小系統(tǒng)電路

備注:本教材中的大部分電路圖示例都節(jié)選自我們的KST-51開發(fā)板原理圖,但也有部分電路圖示例與KST-51開發(fā)板無(wú)關(guān),而僅是用其來說明一些具體問題。讀者可自行對(duì)照KST-51開發(fā)板原理圖,以下不再做特殊說明。

1.2.1 電源

這個(gè)很好理解,電子設(shè)備都需要供電,就連我們的家用電器(手電筒^_^)也不例外。主流單片機(jī)的電源現(xiàn)在是5V3.3V這兩個(gè)標(biāo)準(zhǔn),當(dāng)然現(xiàn)在還有對(duì)電壓要求更低的單片機(jī)系統(tǒng)。

我們所學(xué)的STC89C52RC,它需要5V的供電系統(tǒng),我們的開發(fā)板是使用USB口出來的5V直流電壓直接供電的。從圖2-1可以看到,供電電路在40腳和20腳的位置上,40腳接的是VCC,代表的是電源正極,20腳接的是GND,代表的是電源的負(fù)極。VCCGND之間還有個(gè)電容,作用我們下節(jié)課介紹。

這個(gè)地方我們還要普及一個(gè)看原理圖的知識(shí)。電路原理圖是為了表達(dá)這個(gè)電路的工作原理而存在的,很多器件在繪制的時(shí)候更多考慮是方便分析原理,不是表達(dá)各個(gè)器件實(shí)際位置的。比如上邊的單片機(jī)引腳圖,引腳的位置我們是可以隨意放的,但是每個(gè)引腳上有一個(gè)引腳標(biāo)號(hào)(在表示芯片的方框的內(nèi)部),這個(gè)引腳標(biāo)號(hào)代表的才是單片機(jī)真正的引腳位置,如圖2-2所示。一般情況下,這種雙列直插的封裝的芯片,左上角是1腳,逆時(shí)針旋轉(zhuǎn)引腳號(hào)依次增加,一直到右上角是最大腳位,咱們現(xiàn)在選用的單片機(jī)一共40個(gè)引腳,因此右上角就是40

圖片

2-2單片機(jī)封裝圖

1.2.2 晶振

    晶振,又叫晶體振蕩器,從這個(gè)名字我們就可以看出來,它注定一生都要不停振動(dòng)的。他起到的作用是為單片機(jī)系統(tǒng)提供基準(zhǔn)時(shí)鐘信號(hào),類似于我們部隊(duì)訓(xùn)練時(shí)喊口令的人,單片機(jī)內(nèi)部所有的工作都是以這個(gè)時(shí)鐘信號(hào)為步調(diào)基準(zhǔn)來進(jìn)行工作的。STC89C52RC單片機(jī)的18腳和19腳是晶振的引腳,我們接了一個(gè)11.0592M的晶振(它每秒鐘震蕩11,059,200,外加兩個(gè)20pF的電容,電容的作用是幫助晶振起振,并維持震蕩信號(hào)的穩(wěn)定

1.2.3 復(fù)位電路

在圖2-1左側(cè)是一個(gè)復(fù)位電路,接到了單片機(jī)的9RST(Reset)復(fù)位引腳上,這個(gè)復(fù)位電路如何起到的作用我們后邊再講,現(xiàn)在著重講一下復(fù)位對(duì)單片機(jī)的作用。單片機(jī)復(fù)位一般是3種情況,上電復(fù)位、手動(dòng)復(fù)位、程序自動(dòng)復(fù)位。

我們假如我們的單片機(jī)程序有100行,當(dāng)某一次運(yùn)行到第50行的時(shí)候,突然停電了,這個(gè)時(shí)候單片機(jī)內(nèi)部有的區(qū)域數(shù)據(jù)會(huì)丟失掉,有的區(qū)域數(shù)據(jù)沒丟失,那么下次打開設(shè)備的時(shí)候,我們希望單片機(jī)能正常運(yùn)行。所以上電后,單片機(jī)要進(jìn)行一個(gè)內(nèi)部的初始化過程,這個(gè)過程就可以理解為上電復(fù)位,上電復(fù)位保證單片機(jī)每次都從一個(gè)固定的相同的狀態(tài)開始工作。這個(gè)過程我們打開電腦電源開電腦的過程是一致的。

當(dāng)我們的程序運(yùn)行,遭受到意外干擾而導(dǎo)致程序死機(jī),或者程序跑飛的時(shí)候,我們就可以按下一個(gè)復(fù)位按鍵,讓程序重新初始化重新運(yùn)行,這個(gè)過程就叫做手動(dòng)復(fù)位,最典型的就是我們電腦的重啟按鈕。

當(dāng)我們的程序死機(jī)或者跑飛的時(shí)候,我們的單片機(jī)往往有一套自動(dòng)復(fù)位機(jī)制,比如看門狗,具體應(yīng)用以后再了解。在這種情況下,如果程序長(zhǎng)時(shí)間失去響應(yīng),單片機(jī)看門狗模塊會(huì)自動(dòng)復(fù)位重啟單片機(jī)。還有一些情況是我們程序故意重啟復(fù)位單片機(jī)。

電源、晶振、復(fù)位構(gòu)成了單片機(jī)最小系統(tǒng)的三要素,也就是說,一個(gè)單片機(jī)具備了這三個(gè)條件,就可以運(yùn)行我們下載的程序了,其他的比如LED小燈、數(shù)碼管、液晶等設(shè)備都是屬于單片機(jī)的外設(shè),我們最終完成我們想要的功能就是通過對(duì)單片機(jī)編程來控制這些外設(shè)實(shí)現(xiàn)的。

1.3  LED小燈 

LED小燈通常我們也叫做發(fā)光二極管,它的種類很多,參數(shù)也不盡相同,我們板子上用的是最普通的貼片發(fā)光二極管。這種二極管通常的正向?qū)?/span>電壓是1.8V2.2V之間,工作電流一般在1mA20mA之間。其中,當(dāng)電流在1mA5mA之間變化時(shí),隨著通過發(fā)光二極管(LED)的電流越來越大,我們的肉眼會(huì)感覺到這個(gè)小燈越來越亮,當(dāng)電流從5mA20mA之間變化時(shí),我們看到的發(fā)光二極管的亮度基本上沒有什么太大變化了。當(dāng)電流超過20mA時(shí),LED就會(huì)有燒壞的危險(xiǎn)了,電流越大,燒壞的也就越快。所以我們?cè)谑褂眠^程中應(yīng)該特別注意他電流參數(shù)上的設(shè)計(jì)要求

那么下面我們來看一下這個(gè)發(fā)光二極管在我們的開發(fā)板上的設(shè)計(jì)應(yīng)用。

圖片

2-3 USB接口電路

2-3是我們開發(fā)板上的USB接口電路,通過USB線,電腦給我們的開發(fā)板供電和下載程序以及實(shí)現(xiàn)電腦和開發(fā)板之間的通信。從圖上可以看出,USB座共有6個(gè)接口,其中2腳和3腳是數(shù)據(jù)通信引腳,1腳和4腳是電源引腳,1腳是VCC正電源,4腳是GND即地線5腳和6腳是外殼,我們直接接到了GND上,大家可以觀察一下開發(fā)板上的這個(gè)USB口的座的6個(gè)引腳。

我們現(xiàn)在主要來看1VCC4GND1腳通過F1(自恢復(fù)保險(xiǎn)絲)接到右側(cè),在正常工作的情況下,保險(xiǎn)絲可以直接看成導(dǎo)線,因此左右兩邊都是USB電源+5V,自恢復(fù)保險(xiǎn)絲的作用是,當(dāng)你后級(jí)電路哪個(gè)地方有發(fā)生短路的時(shí)候,保險(xiǎn)絲會(huì)自動(dòng)切斷電路,保護(hù)我們的板子以及電腦的USB口,當(dāng)電路正常后,保險(xiǎn)絲會(huì)恢復(fù)暢通,正常工作。

右側(cè)有2條支路,第一條是在+5VGND接了一個(gè)470uF的電容,電容是隔離直流的,所以這條支路是沒有電流的,電容的作用,我們下節(jié)課再介紹,這節(jié)課我們主要看第二條支路。我們把第二條支路摘取出來就是這個(gè)樣子了。

圖片

2-4 Led小燈電路(1)

發(fā)光二極管是二極管中的一種,因此和普通二極管一樣,這個(gè)二極管有陰極和陽(yáng)極,習(xí)慣上也稱之為正極和負(fù)極,這樣方便在電路上觀察,方向必須接對(duì)了才會(huì)有電流通過讓LED小燈發(fā)光。剛才我提到了我們接入的VCC電壓是5V,發(fā)光二極管自身壓降大概可認(rèn)為是2V,那么在右邊RES這個(gè)電阻上承受的電壓就是3V。那么現(xiàn)在我們要求電流范圍是1~20mA的話,就可以根據(jù)伏安特性,把這個(gè)電阻的上限和下限值求出來。

(VCC - 2)/I= R

當(dāng)電流是1mA的時(shí)候,電阻值是3K;當(dāng)電流是20mA的時(shí)候,電阻值是150歐,也就是RES的取值范圍是150~3000歐姆。這個(gè)電阻值大小的變化,直接可以限制整條通路的電流的大小,因此這個(gè)電阻我們通常稱之為“限流電阻”。在圖2-3中,我們用的電阻是1K,這條路電流的大小,我想大家可以輕松計(jì)算出來了,而這個(gè)發(fā)光二極管在這里的作用,就是個(gè)電源指示燈,使用USB線將開發(fā)板和電腦連起來,這個(gè)燈就會(huì)亮了。

同理,我們?cè)诎遄雍蠹?jí)開關(guān)控制的地方,又添加了一個(gè)LED10發(fā)光二極管,作用就是當(dāng)我們打開開關(guān)時(shí),這個(gè)二極管會(huì)亮起

圖片 

2-5 USB供電電路

    大家注意,這里的開關(guān)雖然只有一個(gè),但是是22路開關(guān)并聯(lián)更能確保給后級(jí)提供更大的電流。電容C19C10,都是隔離斷開直流的,作用我們下節(jié)課介紹,這里大家可以忽略。

那么下面呢,我們把圖2-4進(jìn)行一下變化,把右側(cè)的GND去掉,改成一個(gè)單片機(jī)的IO口,如圖2-6所示。

圖片

2-6 LED小燈電路(2)

2-4由于電源從正極到負(fù)極有電壓差,并且電路是導(dǎo)通的,所以就會(huì)有電流通過,LED小燈因?yàn)橛辛穗娏魍ㄟ^,所以就會(huì)直接發(fā)光。我們把右側(cè)的GND接到單片機(jī)P0.0引腳上,那么如果我們單片機(jī)輸出一個(gè)低電平,也就是跟GND一樣的0V電壓,就可以讓LED小燈和圖2-4一樣發(fā)光。

因?yàn)槲覀兊膯纹瑱C(jī)是可以編程控制的,我們可以讓P0.0這個(gè)引腳輸出一個(gè)高電平,就是VCC一樣的5V電壓,那這個(gè)時(shí)候,左側(cè)VCC電壓和右側(cè)的P0.0的電壓是一致的,那就沒有電壓差,沒有電壓差就不會(huì)產(chǎn)生電流,沒有電流LED小燈就不會(huì)亮,也就是會(huì)處于熄滅狀態(tài)。下面,我們就用我們的編程軟件來實(shí)現(xiàn)控制小燈的亮和滅。

1.4 程序代碼編寫

這是我們第一個(gè)實(shí)驗(yàn)程序,因此大家還是得耐心點(diǎn),先來了解一下一些51單片機(jī)特有的程序語(yǔ)法以及Keil軟件的基本操作步驟。

1.4.1 特殊功能寄存器和位定義

    我們主要是用C語(yǔ)言來對(duì)單片機(jī)編程,有的單片機(jī)也有那么幾條很特殊的獨(dú)有的編程語(yǔ)句,51單片機(jī)就有,先介紹2條。

    第一條語(yǔ)句是:  sfr  P0 = 0x80

SFR這個(gè)關(guān)鍵字,是51單片機(jī)特有的,他的作用是定義一個(gè)單片機(jī)特殊功能寄存器(special function register)51單片機(jī)內(nèi)部有很多個(gè)小模塊,每個(gè)模塊有8個(gè)開關(guān)。每個(gè)模塊呢,都有一個(gè)房間和唯一的房間號(hào)。那么P0就是一個(gè)功能模塊,就住在了0x80這個(gè)房間里,我們就是通過設(shè)置P0的內(nèi)部這個(gè)模塊的8個(gè)開關(guān),來讓單片機(jī)的P08個(gè)IO口輸出高電平或者低電平的。

    第二條語(yǔ)句是: sbit  LED = P0^0;

這個(gè)sbit,就是對(duì)剛才所說的SFR里邊的8個(gè)開關(guān)其中一個(gè)進(jìn)行定義。經(jīng)過上邊第二條語(yǔ)句后,以后只要在程序里寫LED,就代表了P0.0(^這個(gè)符號(hào)在數(shù)字鍵6上邊),注意這個(gè)P必須大寫,也就是說我們給P0.0又取了一個(gè)更形象的名字叫做LED

了解了這兩個(gè)語(yǔ)句后,我們來大概看一下單片機(jī)的特殊功能寄存器。注意,每個(gè)型號(hào)的單片機(jī)都會(huì)配有生產(chǎn)廠商所寫的數(shù)據(jù)手冊(cè)Datasheet,所以我們來看一下STC89C52RC的數(shù)據(jù)手冊(cè),從21頁(yè)到24頁(yè),全部是對(duì)特殊功能寄存器的介紹以及地址映射列表。我們?cè)谑褂眠@個(gè)寄存器之前,必須對(duì)這個(gè)寄存器的地址進(jìn)行說明。是不是花花綠綠的太多了,記不住啊,這個(gè)沒關(guān)系的,不需要你記住,了解一下,后邊大部分我會(huì)慢慢給大家解釋,少部分需要用到的時(shí)候,自己過來查手冊(cè)就可以了,做技術(shù)不是為了應(yīng)付考試,你可以隨時(shí)翻閱手冊(cè)查找你需要的資料。

繼續(xù)往下看,在22頁(yè)最下邊有一個(gè)表格

 

 

 

圖片

2-1 IO口特殊功能寄存器

我們來看一下表2-1,其中P4口是擴(kuò)展出來的功能,我們暫時(shí)先不看,只看前邊的P0P1P2P34個(gè),每個(gè)Px口本身又有8個(gè)控制端口。大家可以結(jié)合我們的開發(fā)板原理圖或者圖2-1來看,那么這樣就確定了我們的單片機(jī)一共有32個(gè)IO(IOInputOutput分別是輸入和輸出)

其中P0口所在的地址是0x80,一共有從708個(gè)IO口控制位,后邊有個(gè)Reset Value(復(fù)位值),這個(gè)很重要,我們看寄存器必看的一個(gè)參數(shù),8個(gè)控制位復(fù)位值全部都是1。這里也就告訴了我們,這個(gè)單片機(jī)上電復(fù)位的時(shí)候,所有的引腳的值默認(rèn)是高電平,我們?cè)谠O(shè)計(jì)電路的時(shí)候也要充分的考慮這個(gè)問題。

那么上邊那2條語(yǔ)句,我們sfr的時(shí)候,必須要根據(jù)手冊(cè)里的這個(gè)地址(add)去寫,sbit的時(shí)候,就可以直接將一個(gè)字節(jié)其中某一位取出來。我們編程的時(shí)候,也有現(xiàn)成的寫好寄存器地址的文件,我們直接包含該頭文件就可以了,不需要逐一去寫了。

1.4.2 新建一個(gè)工程

對(duì)于單片機(jī)程序來說,每個(gè)功能程序,都必須要有一個(gè)配套的工程文件(Project),即使是點(diǎn)亮LED這樣簡(jiǎn)單的功能程序也不例外,因此我們首先要新建一個(gè)工程,打開我們的Keil軟件后,點(diǎn)擊:Project-->New uVision Project...然后會(huì)出現(xiàn)一個(gè)新建工程的界面,如圖2-7所示。

圖片

2-7 新建一個(gè)工程

我們首先改一下路徑,改到了我們預(yù)先建立好的LED文件夾內(nèi),這樣方便我們今后管理我們的程序,不同的功能程序放到不同的文件夾下,并且給這個(gè)工程起一個(gè)名字叫做LED軟件會(huì)自動(dòng)擴(kuò)展名為.uvproj

我們直接點(diǎn)保存就可以了,工程會(huì)自動(dòng)保存LED.uvproj文件,下次你要打開LED這個(gè)工程,可以直接找到文件夾,雙擊這個(gè).uvproj文件就可以直接打開了。

圖片

2-8 保存工程

保存之后會(huì)彈出一個(gè)對(duì)話框,這個(gè)對(duì)話框讓我們選擇單片機(jī)型號(hào)。因?yàn)?font face="Times New Roman">Keil這軟件是國(guó)人開發(fā)的,所以我們國(guó)內(nèi)的STC89C52RC沒有上榜,但是只要選擇同類型號(hào)一樣編程和應(yīng)用,因?yàn)?font face="Times New Roman">51內(nèi)核是Intel公司創(chuàng)始的,所以這里我們直接選擇Intel公司名下的80/87C52來代替,這個(gè)選項(xiàng)的選擇對(duì)于我們后邊的編程是沒有什么影響的,所以大家跟著我來選就可以了

圖片

2-9 單片機(jī)型號(hào)選擇

點(diǎn)OK之后,會(huì)彈出一個(gè)對(duì)話框,如果2-10所示,這個(gè)地方會(huì)有部分啟動(dòng)代碼,如果點(diǎn)“否”編譯器會(huì)自動(dòng)處理這個(gè)問題,如果點(diǎn)“是”,這部分代碼會(huì)提供給我們用戶,我們用戶可以自己去處理這部分代碼,那這部分代碼在我們初學(xué)51的這個(gè)時(shí)間段,我們一般是不需要去修改的,但是隨著技術(shù)的提高和知識(shí)的擴(kuò)展,我們有可能會(huì)了解這塊內(nèi)容,因此這個(gè)地方我們選一下“是,讓這段代碼出現(xiàn),但是我們暫時(shí)不需要修改它,大家知道這么回事就可以了。

圖片

2-10 初始化文件選擇

這樣工程就建立好了,如圖2-11所示,如果我們點(diǎn)擊Target 1左邊的加號(hào),會(huì)出現(xiàn)我們剛才加入的初始化文件STARTUP.A51,這個(gè)我們先不管。

圖片

2-11 工程文件

工程有了之后,我們要建立編寫代碼的文件,點(diǎn)擊File-->New,新建一個(gè)文件,也就是我們編寫程序的平臺(tái)。然后點(diǎn)File-->Save或者直接點(diǎn)擊那個(gè)Save的快捷鍵,可以保存文件并且命名為LED.C,這個(gè)地方必須加上.C了,因?yàn)槿绻麑憛R編語(yǔ)言,這個(gè)地方的擴(kuò)展名是.ASM,頭文件就是.H等等,我們編寫的是C語(yǔ)言程序,這個(gè)地方必須自己添加文件的擴(kuò)展名.C,如圖2-13所示。

圖片

2-12新建文件

圖片

2-13 保存文件

    現(xiàn)在我們就可以在我們建立好的文件中輸入我們編寫的程序了,在編寫之前還有個(gè)工作要做。我們每做一個(gè)功能程序,必須要新建一個(gè)工程,一個(gè)工程代表了單片機(jī)要實(shí)現(xiàn)的一個(gè)功能。但是一個(gè)工程,有時(shí)候我們可以把我們的程序分多個(gè)文件寫,所以每寫一個(gè)文件,我們都要添加到我們所建立的工程中去,鼠標(biāo)右鍵點(diǎn)Source Group 1,點(diǎn)Add Files to Group Source Group 1

圖片

2-14 添加文件()

圖片

2-15 添加文件()

   單擊LED.C然后點(diǎn)Add,或者雙擊LED.C都可以將文件加入到這個(gè)工程下,然后點(diǎn)Close,關(guān)閉添加。 這個(gè)時(shí)候大家會(huì)看到在Source Group 1下邊又多了一個(gè)LED.C文件。

1.4.3 編寫點(diǎn)亮小燈的程序

忙活了半天,準(zhǔn)備工作做了那么多,終于要編寫我們的代碼了。如果有學(xué)過C語(yǔ)言的話,你應(yīng)該很輕松的跟著我的編程自己寫出來,如果沒學(xué)過C語(yǔ)言也沒關(guān)系,你先照著我的抄,我會(huì)在合適的位置寫出來對(duì)C語(yǔ)言語(yǔ)法的一些解釋,這樣抄幾次后再看看解釋,就應(yīng)該很明確了。

#include <reg52.h>       //包含特殊功能寄存器定義文件

sbit  LED = P0^0;        //位地址聲明注意:sbit必須小寫P大寫  

void  main()              //任何一個(gè)C程序都是從main函數(shù)開始執(zhí)行

{

    LED = 0;

}

按照正常的邏輯,程序這樣寫就可以了,但是在實(shí)際單片機(jī)應(yīng)用中,存在一個(gè)問題。比如我們的程序空間可以寫100行代碼,但是我們程序只有50行代碼,當(dāng)運(yùn)行完了50行,再繼續(xù)運(yùn)行時(shí),第51行的程序不是我們想運(yùn)行的程序,而是不確定的未知內(nèi)容,所以我們通常要在程序中加一個(gè)死循環(huán),讓程序停留在我們希望的這個(gè)狀態(tài)下,不要亂運(yùn)行,有以下兩種寫法可以參考:

參考程序一:                     參考程序二:

#include <reg52.h>             #include <reg52.h>     

sbit  LED = P0^0;              sbit  LED = P0^0; 

void  main()                    void  main()

{                                {

    while(1)                         LED = 0;

    {                                 while(1);

        LED = 0;                 }

    }                            

}

這兩個(gè)程序都可以實(shí)現(xiàn)點(diǎn)亮LED小燈的功能,看起來第二種比較簡(jiǎn)潔一些。針對(duì)于圖2-6,我們這個(gè)程序能夠完全把小燈點(diǎn)亮,但是這個(gè)程序卻點(diǎn)不亮我們板子上的小燈,這是為什么呢?

這里我們大家就要培養(yǎng)一個(gè)意識(shí)了,我們做單片機(jī)編程,實(shí)際上算是硬件底層驅(qū)動(dòng)程序開發(fā),這種程序的開發(fā),是離不開電路圖的,必須根據(jù)我們的電路圖來進(jìn)行程序的編寫。如果我們?cè)O(shè)計(jì)電路板的電路圖和圖2-6一樣的話,我們那個(gè)程序可以成功點(diǎn)亮,但是如果不一樣,不能點(diǎn)亮小燈。

我們的開發(fā)板上,還有一個(gè)74HC138作為8個(gè)LED小燈的總開關(guān),而P0.0僅僅是個(gè)分開關(guān)。如同我們家里總是有一個(gè)供電總閘然后每個(gè)電燈又有一個(gè)專門的開關(guān),我們剛才的程序僅僅打開了那個(gè)電燈的開關(guān),但是沒有打開那個(gè)總電閘,所以程序需要加上這部分代碼。因?yàn)檫@節(jié)課要介紹的內(nèi)容比較多,所以我們把74HC138的原理以及為什么要加額外的代碼下節(jié)課統(tǒng)一介紹,這節(jié)課我們直接加上這部分代碼,大家知道有這么一回事就可以了。

#include <reg52.h>        //包含寄存器的庫(kù)文件                   

sbit  LED = P0^0;         //位地址聲明注意:sbit必須小寫! 

sbit  ADDR0 = P1^0;

sbit  ADDR1 = P1^1;

sbit  ADDR2 = P1^2;

sbit  ADDR3 = P1^3;

sbit  ENLED = P1^4;

 

void  main()

{

    ENLED = 0;

    ADDR0 = 0;

    ADDR1 = 1;

    ADDR2 = 1;

    ADDR3 = 1;            //74HC138開啟三極管           

 

    LED = 0;              //點(diǎn)亮小燈

    while(1);             //程序停止在這里 

}

寫了這么多啰嗦的語(yǔ)句,剛開始大家可能覺得很麻煩,為什么有的書上程序很簡(jiǎn)單就可以點(diǎn)亮小燈,我們這里要這樣來做。大家要了解一點(diǎn),就是我們做這個(gè)學(xué)習(xí)板呢,雖然僅僅提供給大家簡(jiǎn)單學(xué)習(xí)使用,但是我們也得按照實(shí)際產(chǎn)品的開發(fā)模式去設(shè)計(jì),所以綜合考慮因素很多,大家學(xué)到后邊就會(huì)明白它的設(shè)計(jì)價(jià)值了,這里大家只要跟著我們?nèi)プ鼍涂梢粤恕?/span>

程序編好了,我們要對(duì)我們的程序編譯進(jìn)行編譯生成我們需要的可以下載到單片機(jī)里的文件,在編譯之前,我們先要勾選一個(gè)選項(xiàng),Project-->Options for TargetTarget1...,或者直接點(diǎn)圖2-16中的快捷圖標(biāo):

圖片

2-16 Options for Target

彈出的對(duì)話框中,點(diǎn)擊Output選項(xiàng)頁(yè)勾選其中的Create HEX File復(fù)選框,然后點(diǎn)OK

圖片

2-17 創(chuàng)建HEX選項(xiàng)配置

設(shè)置好以后呢,點(diǎn)擊“Project-->rebuild all target files,或者鼠標(biāo)點(diǎn)擊圖2-18上的快捷圖標(biāo)。

圖片

2-18 編譯程序

編譯完成后,在我們的Keil下方的Output窗口會(huì)出現(xiàn)相應(yīng)的提示,大家注意看圖2-19,這個(gè)窗口告訴我們編譯完成后的情況,data=9.0,指的是我們的程序使用了單片機(jī)內(nèi)部的256字節(jié)RAM資源中的9個(gè)字節(jié)code=29的意思是使用了8K代碼Flash資源中的29個(gè)字節(jié)。當(dāng)提示“0 Error, 0 warning”表示我們的程序沒有錯(cuò)誤和警告,就會(huì)出現(xiàn)“creating hex file from LED,意思是從當(dāng)前工程生成了一個(gè)HEX文件,我們下載給單片機(jī)的就是這個(gè)HEX文件。如果出現(xiàn)有錯(cuò)誤和警告提示的話,就是Errorwarning不是0,那么我們要對(duì)我們的程序進(jìn)行檢查,找出問題解決好了再進(jìn)行編譯產(chǎn)生HEX才可以。

圖片

2-19 編譯輸出信息

這樣就編譯好了,下邊我們就可以把我們編譯的程序文件下載到單片機(jī)里邊了。

1.5 程序下載

首先,我們要把硬件連接好,把板子插到我們的電腦上,通過設(shè)備管理器里找到是哪個(gè)COM口,這些基礎(chǔ)的知識(shí)我在測(cè)試視頻里都介紹過了,就不多說了,說一下STC-ISP下載軟件的設(shè)置,如圖2-20所示。

圖片

2-20 程序下載設(shè)置

下載軟件一共有5個(gè)步驟第一步,選擇單片機(jī)型號(hào),我們現(xiàn)在用的單片機(jī)型號(hào)是STC89C52RC,這個(gè)一定不能錯(cuò)了;第二步,點(diǎn)擊“打開程序文件”,找到我們剛才建立工程的那個(gè)LED文件夾下,找到LED.HEX這個(gè)文件,點(diǎn)擊打開;第三步,選擇正確的COM口,這個(gè)COM口在裝好驅(qū)動(dòng)插上板子后在電腦上的設(shè)備管理器里才會(huì)出現(xiàn),這個(gè)問題大家可以參考“全板子測(cè)試視頻”,波特率我們使用默認(rèn)的就行了;第四步里邊的所有選項(xiàng)我們?nèi)渴褂媚J(rèn),不要隨便改動(dòng),有的選項(xiàng)改錯(cuò)了以后可能會(huì)產(chǎn)生麻煩。第五步,因?yàn)?font face="Times New Roman">STC單片機(jī)要冷啟動(dòng)下載,就是先點(diǎn)下載,后給單片機(jī)上電,所以我們先關(guān)閉板子上的電源開關(guān),然后點(diǎn)擊“Download/下載”,等待軟件提示你請(qǐng)上電后,如圖2-21所示,然后再打開板子開關(guān),就可以將程序下載到單片機(jī)里邊,當(dāng)軟件顯示“已加密”就表示程序成功下載,如圖2-22所示。

圖片

2-21 程序下載過程

圖片

2-22 程序下載完畢

    程序下載完畢后,程序會(huì)自動(dòng)運(yùn)行,大家可以在板子上看到那一排LED最右側(cè)的小燈已經(jīng)發(fā)光了。那現(xiàn)在如果我們把LED = 0改成LED = 1,再編譯程序下載進(jìn)去新的HEX文件,燈就會(huì)熄滅。至此,點(diǎn)亮一個(gè)LED的實(shí)驗(yàn)已經(jīng)完成,終于邁出了第一步,是不是還挺好玩的呢。如有不懂可參考: http://www.izizhuan.cn/mcuteach/252.html  第2課里面的詳解.

1.6 作業(yè)

1、了解普通發(fā)光二級(jí)管的參數(shù),掌握限流電阻的計(jì)算方法。

2、理解單片機(jī)最小系統(tǒng),單片機(jī)外圍電路,FLASHRAMSFR這些概念。

3、了解Keil的基本用法和單片機(jī)編程的基本流程,能夠獨(dú)立完成編程下載等基本操作。 

 

上一課:第一章 如何學(xué)習(xí)單片機(jī)
下一課:第三章 硬件基礎(chǔ)知識(shí)學(xué)習(xí)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏13 分享淘帖 頂4 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

75#
ID:966468 發(fā)表于 2022-6-23 09:24 | 只看該作者
實(shí)例非常詳細(xì),值得學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

74#
ID:615425 發(fā)表于 2019-9-25 22:38 來自觸屏版 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

73#
ID:476127 發(fā)表于 2019-9-4 09:46 | 只看該作者
東西很好,謝謝分享
回復(fù)

使用道具 舉報(bào)

72#
ID:492020 發(fā)表于 2019-3-21 08:21 | 只看該作者
十分詳細(xì),很有幫助
回復(fù)

使用道具 舉報(bào)

71#
ID:288930 發(fā)表于 2019-1-29 10:22 | 只看該作者
謝謝分享!
回復(fù)

使用道具 舉報(bào)

70#
ID:391744 發(fā)表于 2018-10-13 15:22 | 只看該作者
我在網(wǎng)上買的沒老師講的詳細(xì)、以后跟著
回復(fù)

使用道具 舉報(bào)

69#
ID:403648 發(fā)表于 2018-9-30 12:14 | 只看該作者
“1.5 程序下載

首先,我們要把硬件連接好,把板子插到我們的電腦上,通過設(shè)備管理器里找到是哪個(gè)COM口,這些基礎(chǔ)的知識(shí)我在測(cè)試視頻里都介紹過了,就不多說了,”
測(cè)試視頻在哪里?能給個(gè)鏈接嗎?
回復(fù)

使用道具 舉報(bào)

68#
ID:400123 發(fā)表于 2018-9-20 11:22 | 只看該作者
大師,請(qǐng)問兩只腳的3色RGB-LED燈泡,怎么用單片機(jī)控制顏色和亮度?
回復(fù)

使用道具 舉報(bào)

67#
ID:382944 發(fā)表于 2018-8-4 19:26 | 只看該作者
不錯(cuò),很詳細(xì)
回復(fù)

使用道具 舉報(bào)

66#
ID:93625 發(fā)表于 2018-6-27 11:18 | 只看該作者
還是更習(xí)慣C的形式。
回復(fù)

使用道具 舉報(bào)

65#
ID:356113 發(fā)表于 2018-6-22 09:05 來自觸屏版 | 只看該作者
講的真的很詳細(xì),比網(wǎng)上買的開發(fā)版送的視屏教程詳細(xì)很多
回復(fù)

使用道具 舉報(bào)

64#
ID:319785 發(fā)表于 2018-5-1 13:25 | 只看該作者
差一分才能下載
回復(fù)

使用道具 舉報(bào)

63#
ID:72088 發(fā)表于 2018-4-30 19:46 | 只看該作者
很詳細(xì),我認(rèn)定你的文章了,不錯(cuò)
回復(fù)

使用道具 舉報(bào)

62#
ID:72088 發(fā)表于 2018-4-30 19:45 | 只看該作者
好知識(shí),我要一步步向你學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

61#
ID:288930 發(fā)表于 2018-3-7 21:45 | 只看該作者
很好,感謝分享
回復(fù)

使用道具 舉報(bào)

60#
ID:279667 發(fā)表于 2018-2-28 09:48 | 只看該作者
老師的教程很詳盡,看了一遍感覺自己可以掌握,買塊開發(fā)板試試~~
回復(fù)

使用道具 舉報(bào)

59#
ID:279545 發(fā)表于 2018-1-25 13:32 | 只看該作者
老師辛苦了,感謝感謝
回復(fù)

使用道具 舉報(bào)

58#
ID:85073 發(fā)表于 2018-1-9 13:14 | 只看該作者
這么好的教程花錢也買不到呀!
回復(fù)

使用道具 舉報(bào)

57#
ID:241772 發(fā)表于 2017-12-30 10:58 來自觸屏版 | 只看該作者
很詳細(xì),值得學(xué)習(xí)。贊
回復(fù)

使用道具 舉報(bào)

56#
ID:267378 發(fā)表于 2017-12-27 10:58 | 只看該作者
很詳細(xì) 謝謝
回復(fù)

使用道具 舉報(bào)

55#
ID:155764 發(fā)表于 2017-10-22 13:28 | 只看該作者
絕世好貼!
回復(fù)

使用道具 舉報(bào)

54#
ID:217934 發(fā)表于 2017-9-1 23:08 | 只看該作者
很詳細(xì),值得學(xué)習(xí)。贊
回復(fù)

使用道具 舉報(bào)

53#
ID:212343 發(fā)表于 2017-7-21 10:49 | 只看該作者
辛苦了,謝謝了
回復(fù)

使用道具 舉報(bào)

52#
ID:111144 發(fā)表于 2017-4-29 10:15 | 只看該作者
值得學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

51#
ID:193449 發(fā)表于 2017-4-27 11:46 | 只看該作者
講得非常詳細(xì),理解起來沒有困難。謝謝
回復(fù)

使用道具 舉報(bào)

50#
ID:173848 發(fā)表于 2017-3-21 01:59 | 只看該作者
厲害厲害
回復(fù)

使用道具 舉報(bào)

49#
ID:162880 發(fā)表于 2017-1-24 16:06 | 只看該作者
網(wǎng)站的下載keil的鏈接用不了了…老師能不能再分享一個(gè)?
回復(fù)

使用道具 舉報(bào)

48#
ID:151661 發(fā)表于 2016-12-24 20:27 | 只看該作者
看來過反都逼傻 發(fā)表于 2016-12-19 10:10
sbit  ADDR0 = P1^0; sbit  ADDR1 = P1^1; sbit  ADDR2 = P1^2; sbit  ADDR3 = P1^3; sbit  ENLED = P1^4; ...

我們的開發(fā)板上,還有一個(gè)74HC138作為8個(gè)LED小燈的總開關(guān),而P0.0僅僅是個(gè)分開關(guān)。如同我們家里總是有一個(gè)供電總閘,然后每個(gè)電燈又有一個(gè)專門的開關(guān),我們剛才的程序僅僅打開了那個(gè)電燈的開關(guān),但是沒有打開那個(gè)總電閘,所以程序需要加上這部分代碼。(轉(zhuǎn)自上面)
回復(fù)

使用道具 舉報(bào)

47#
ID:154562 發(fā)表于 2016-12-19 10:18 來自觸屏版 | 只看該作者
有單片機(jī)有原理圖嗎,不是很看懂引腳連接
回復(fù)

使用道具 舉報(bào)

46#
ID:154562 發(fā)表于 2016-12-19 10:10 來自觸屏版 | 只看該作者
sbit  ADDR0 = P1^0; sbit  ADDR1 = P1^1; sbit  ADDR2 = P1^2; sbit  ADDR3 = P1^3; sbit  ENLED = P1^4;這是什么意思,是什么型號(hào)單片機(jī)??
回復(fù)

使用道具 舉報(bào)

45#
ID:149318 發(fā)表于 2016-11-21 20:29 | 只看該作者
不錯(cuò),很好。
回復(fù)

使用道具 舉報(bào)

44#
ID:142889 發(fā)表于 2016-11-4 14:14 來自觸屏版 | 只看該作者
很詳細(xì)謝謝!
回復(fù)

使用道具 舉報(bào)

43#
ID:121883 發(fā)表于 2016-5-19 10:04 | 只看該作者
從基礎(chǔ)開始好好學(xué)習(xí),
回復(fù)

使用道具 舉報(bào)

42#
ID:118448 發(fā)表于 2016-5-7 08:42 | 只看該作者
很詳細(xì)
回復(fù)

使用道具 舉報(bào)

41#
ID:95212 發(fā)表于 2015-11-9 23:13 | 只看該作者
感謝老師,受教了,想好好學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

40#
ID:88566 發(fā)表于 2015-8-19 09:24 | 只看該作者
初學(xué)者必修啊,謝謝
回復(fù)

使用道具 舉報(bào)

39#
ID:79275 發(fā)表于 2015-6-23 20:29 | 只看該作者
掃盲好貼
回復(fù)

使用道具 舉報(bào)

38#
ID:82659 發(fā)表于 2015-6-14 21:37 | 只看該作者
果斷是好東西啊
回復(fù)

使用道具 舉報(bào)

37#
ID:76554 發(fā)表于 2015-4-21 10:24 來自觸屏版 | 只看該作者
講解細(xì)致,能學(xué)的很好
回復(fù)

使用道具 舉報(bào)

36#
ID:77205 發(fā)表于 2015-4-16 22:19 | 只看該作者
不錯(cuò),值得學(xué)習(xí)^^^^^^^^^^^^^^^^^^^^^^^^^^^
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
日本一二三视频| 欧美精品xxx| eeuss影院www在线观看| 青娱乐av在线| 色多多国产成人永久免费网站 | 伊人精彩视频| 91av在线免费视频| 亚洲国产精品女人| 亚洲色图50p| 成人av在线看| xxx在线播放| 国产精品第一页在线| 一区二区三区.www| 欧美3p在线观看| 2019中文字幕在线视频| 亚洲av无码专区在线| jizzzz日本| 国产精品香蕉在线观看| 日本高清视频一区二区| 国产精品久久久久久模特| av蜜臀在线| 网站在线观看你懂的| 国产奶水涨喷在线播放| 精品国产一二三四区| 国产91精品久久久久久久| 精品毛片网大全| 日本成人中文字幕在线视频| 亚洲国产尤物| 妞干网在线观看| 中文字幕av无码一区二区三区| 国产精品涩涩涩视频网站| 国产91久久婷婷一区二区| 欧美少妇xxx| 国产精品自拍一区| 日韩精品a在线观看91| 日本高清中文字幕在线| 国产精品久久久精品a级小说| 中文字幕av久久爽av| 久久无码高潮喷水| 亚洲影院污污.| 亚洲国产精品va在线看黑人| 久久精品一区八戒影视| 四季av一区二区三区免费观看| 四虎精品在线观看| 在线一二三区| 日韩在线天堂| 国产无码精品一区二区| 亚洲精品综合在线观看| 国产精品污www一区二区三区| 亚洲欧美精品在线| 亚洲一区二区三区小说| 久久99久久99精品免视看婷婷 | av第一福利大全导航| 亚洲最大成人av| 国产精品中文字幕在线| 久久香蕉国产线看观看av| 欧美日韩亚洲网| 不卡电影免费在线播放一区| 久久99精品久久久| 免费观看成人av| 国产欧美一区二区精品久久久| av文字幕在线观看| 最近久乱中文字幕| 亚洲日本久久久午夜精品| 久久国产视频一区| 亚洲精品国产熟女久久久| 男人天堂网视频| 欧美午夜精品久久久久免费视 | 久久综合桃花网| 五月天久久狠狠| 国产精品v日韩精品| 日韩视频永久免费观看| 91麻豆精品国产91久久久久久| 国产日韩欧美高清在线| 蜜桃视频一区二区| 日本怡春院一区二区| 日韩精品亚洲专区| 9191国语精品高清在线| 日本一区二区中文字幕| 91大神在线观看线路一区| 狂野欧美性猛交xxxx| 日本成人不卡| 午夜视频国产| 在线看你懂得| 色哟哟在线观看| 99视频免费| 国产精品外围在线观看| 四虎成人精品在永久在线观看| 色欧美在线观看| 国产成人精品18| www视频在线| 国产精品久免费的黄网站| 91午夜精品亚洲一区二区三区| 美国一级黄色录像| 91成人在线观看喷潮蘑菇| 欧美中文字幕在线观看视频| 国产乱码精品一区二区三区卡| 91九色视频在线观看| 国产精品美女视频网站| 久久国产精品久久久久| 精品视频一区在线视频| 欧美日韩一二三区| 亚洲福利视频一区二区| 亚洲女厕所小便bbb| 久久久www免费人成精品| 视频一区日韩精品| 成人黄视频在线观看| av电影免费在线看| 国产999精品在线观看| 欧美成a人片在线观看久| 免费污视频在线观看| 日本电影全部在线观看网站视频| 在线观看h网| 亚洲卡一卡二| 韩国精品视频在线观看| 日韩av网站在线免费观看| 久久精品66| 国产伦精品一区二区三区在线播放 | 成人黄色小视频| 秋霞在线一区| 激情综合亚洲| 亚洲三级观看| 久久一区二区三区四区五区| 国内视频精品| 国产精品久久777777毛茸茸 | 国产小视频在线免费观看| 国产成人愉拍精品久久| 午夜久久久久久噜噜噜噜| 色偷偷网站视频| 国产在线网站| gogo在线观看| 精品久久久久久久久久岛国gif| 日韩免费高清视频网站| 综合天天久久| 99精品视频免费观看| 免费欧美日韩| 久久成人麻豆午夜电影| 国产精品久久久久久久久动漫| 国产精品青草久久| 夜夜精品视频一区二区| 亚洲成人国产精品| 国产精品极品美女在线观看免费| 亚洲精品成人久久久998| 91免费视频黄| 久久人妻精品白浆国产| 五月激情婷婷在线| 精品无码久久久久久久久| 国产免费a视频| 亚洲毛片在线播放| www成人免费观看网站| 中文av资源在线| 亚洲电影男人天堂| 你懂的网址国产 欧美| 午夜在线一区二区| 亚洲婷婷综合久久一本伊一区| 亚洲夂夂婷婷色拍ww47| 亚洲精品国产精品国自产观看浪潮| 中文字幕在线国产精品| 久久成人一区二区| 免费成人深夜夜行视频| 欧美中日韩在线| 四季av中文字幕| 免费观看一区二区三区毛片| 欧美金发大战黑人最粗videos| 天天射天天爱天天射干| 国产网红在线观看| 亚洲午夜免费| 亚洲国产国产亚洲一二三| 久久新电视剧免费观看| 亚洲图片欧美视频| 久久精品国产久精国产一老狼| 日本一区二区不卡| 久操网在线观看| 国产 xxxx| 精品无码久久久久久久| 国产麻豆视频网站| 天堂在线中文资源| 最新欧美色图| 美女毛片一区二区三区四区最新中文字幕亚洲| 日本aⅴ亚洲精品中文乱码| 欧美视频在线观看免费网址| 亚洲精品久久久久中文字幕欢迎你 | 99sesese| 91在线精品入口| 女同性互吃奶乳免费视频| 国产高清中文字幕在线| 欧美日韩123| 精久久久久久久久久久| 亚洲视频一区在线| 免费91在线视频| 精品无码国产一区二区三区av| 欧美丰满少妇人妻精品| 精品久久久久久久久久久国产字幕| 极品色影院av| 日韩成人精品| 91免费看片在线观看| 欧美日韩另类一区| 久久男人的天堂| 色一情一乱一伦一区二区三欧美 | 影音av资源站| 亚洲欧美日本国产| 26uuu精品一区二区| 伊人久久男人天堂| 精品一卡二卡三卡四卡日本乱码| 天天天干夜夜夜操| 日韩精品一区二区在线播放| 五月婷婷导航| 亚洲成在人线免费观看| 最新欧美精品一区二区三区| 日韩av中文字幕在线| 成人妇女淫片aaaa视频| 日本免费a视频| 久久精品久久久久久久| 日韩精品系列| 亚洲狠狠婷婷| 欧美日韩电影在线播放| 国产一区在线观| 国产伦理在线观看| 日韩色级片先锋影音| 日本精品网站| 不卡大黄网站免费看| 伦理中文字幕亚洲| 国产又大又黄又猛| 最好看的日本字幕mv视频大全| 日本jizzcom| 精品国产一区二区三区2021| 国产欧美一区二区精品忘忧草| 亚洲精品aⅴ中文字幕乱码| 一区二区视频在线免费| 国产真人做爰视频免费| 亚洲成色在线综合网站2018站| 69精品视频| 疯狂欧洲av久久成人av电影| 久久精品一区二区| 欧美综合在线第二页| 黄色免费观看视频网站| www.黄色国产| 免费在线小视频| 久久午夜电影| 日韩大陆欧美高清视频区| 996这里只有精品| 日日夜夜综合网| 国产鲁鲁视频在线观看免费| 欧美亚洲精品在线| 欧美性猛交xxxx乱大交蜜桃| 国产精品一 二 三| 日本熟伦人妇xxxx| 国产精品天堂| 激情六月婷婷综合| 久久久久久久国产| 亚洲熟妇一区二区三区| 国产性色视频| 国产96在线亚洲| 五月天视频一区| 国产成人短视频| 精品人妻一区二区三区蜜桃视频| free性欧美1819hd| 亚洲人人精品| www.欧美三级电影.com| 在线观看免费视频国产| 精品一区二区三区免费爱| www.综合| 中文一区一区三区高中清不卡| 久久视频在线看| 美女流白浆视频| 爆操欧美孕妇| 欧美丝袜激情| 国产精品久久久久久| 一区二区三区产品免费精品久久75| 91久久精品一区二区别| 久久av红桃一区二区禁漫| 黄色小视频免费| 麻豆精品久久| 欧美性色视频在线| 强伦女教师2:伦理在线观看| 亚洲成a人片77777kkkk| 欧美日韩一本| 亚洲精品在线电影| 欧美a级黄色大片| 影音先锋中文字幕影院| 福利一区二区免费视频| 国产亚洲一本大道中文在线| y111111国产精品久久婷婷| 青青操在线播放| 最新黄色片网站| 欧美精品一卡| 日韩精品一区二区三区蜜臀| 色综合666| 亚洲欧美日韩精品永久在线| 日韩三区免费| 精品国产91乱高清在线观看| 狠狠精品干练久久久无码中文字幕| 小早川怜子痴女在线精品视频| 欧美亚洲国产激情| 亚洲无线码在线一区观看| 超碰网在线观看| av免费在线播放| 久久66热re国产| 91久久精品国产| 日韩精品在线观看免费| 特级xxxxx欧美| 欧美综合一区| 日韩一区二区福利| 中文字幕五月天| 在线观看免费av网| 久久精品女人| 正在播放欧美一区| 欧美精品日韩在线| caoprom在线| 色综合一个色综合| www.一区二区.com| 俺去啦最新官网| 99av国产精品欲麻豆| 欧美激情第三页| 成人黄色短视频| 日本韩国欧美| 亚洲va韩国va欧美va| 男女高潮又爽又黄又无遮挡| www.男人的天堂| 成人av动漫在线| 日韩精品一区二区三区色偷偷| 国产ts变态重口人妖hd| 日韩午夜视频在线| 精品少妇一区二区三区在线播放| 欧美日韩在线免费播放| 中文字幕视频在线免费| 国产欧美精品日韩区二区麻豆天美| 一区二区精品在线| 中文在线视频观看| 成人高潮视频| 欧美一区二区人人喊爽| 国产成人无码av在线播放dvd| 国外亚洲成av人片在线观看| 热久久国产精品| 97人人澡人人爽| 亚洲精品天堂在线| 日韩电影免费一区| 久久资源av| 扒开腿狂躁女人爽出白浆2| 粉嫩高潮美女一区二区三区 | 欧美性猛交xxxx富婆| 在线观看视频在线观看| av毛片在线免费看| 欧美日韩dvd在线观看| 久久久亚洲av波多野结衣| 日本免费久久| 国产一区二区三区丝袜| 免费av网站在线| 91麻豆国产自产在线观看亚洲| 欧美一级电影在线| 天天操天天干天天操| 国产在视频线精品视频www666| 欧美疯狂做受xxxx高潮| 国产丝袜视频在线观看| 日韩三级视频| 91高清在线免费观看| 青娱乐国产盛宴| 久久久久97| 2023亚洲男人天堂| 先锋资源中文字幕| 国产一区二区三区视频在线播放| 成人免费午夜电影| 国内国产区免费视频| 国产真实乱对白精彩久久| 欧美日韩亚洲国产成人| 污视频网站在线免费观看| 色综合久久久久综合| 女人18毛片毛片毛片毛片区二| 国产精品超碰| 日本一本a高清免费不卡| 欧美乱大交xxxxxbbb| 成+人+亚洲+综合天堂| 东京热加勒比无码少妇| 97超碰免费在线| 日韩中文字幕精品视频| 亚洲免费成人在线| 欧美在线播放| 久久91精品国产91久久小草| 青青视频免费在线| 91传媒在线观看| 亚洲一区二区三区四区在线 | 黄瓜视频网站| 国产欧美视频在线观看| 欧美色图校园春色| 在线观看麻豆视频| 欧美中文字幕一区| 欧美无人区码suv| 91福利在线免费| 一区二区在线视频| 丰满人妻熟女aⅴ一区| 国产精品自在在线| 国产精品视频黄色| 欧美日韩女优| 51色欧美片视频在线观看| 91日本韩国| 国产不卡高清在线观看视频| 浮妇高潮喷白浆视频| 国产夫妻在线播放| 九九久久精品一区| 欧美一区二区黄片|