freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

家居智能總線式開(kāi)關(guān)系統(tǒng)畢業(yè)論文-資料下載頁(yè)

2025-06-27 21:11本頁(yè)面
  

【正文】 也用于施加12V編程電源(VPP)。  XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入?! TAL2:來(lái)自反向振蕩器的輸出?! ≌袷幤魈匦?  XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。 芯片擦除:  整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過(guò)正確的控制信號(hào)組合,并保持ALE管腳處于低電平10ms 來(lái)完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行?! 〈送?,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。   串口通訊  單片機(jī)的結(jié)構(gòu)和特殊寄存器,這是你編寫軟件的關(guān)鍵。至于串口通信需要用到那些特殊功能寄存器呢,它們是SCON,TCON,TMOD,SCON等,各代表什么含義呢?  SBUF 數(shù)據(jù)緩沖寄存器這是一個(gè)可以直接尋址的串行口專用寄存器。有朋友這樣問(wèn)起過(guò)“為何在串行口收發(fā)中,都只是使用到同一個(gè)寄存器SBUF?而不是收發(fā)各用一個(gè)寄存器?!睂?shí)際上SBUF 包含了兩個(gè)獨(dú)立的寄存器,一個(gè)是發(fā)送寄存,另一個(gè)是接收寄存器,但它們都共同使用同一個(gè)尋址地址-99H。CPU 在讀SBUF 時(shí)會(huì)指到接收寄存器,在寫時(shí)會(huì)指到發(fā)送寄存器,而且接收寄存器是雙緩沖寄存器,這樣可以避免接收中斷沒(méi)有及時(shí)的被響應(yīng),數(shù)據(jù)沒(méi)有被取走,下一幀數(shù)據(jù)已到來(lái),而造成的數(shù)據(jù)重疊問(wèn)題。發(fā)送器則不需要用到雙緩沖,一般情況下我們?cè)趯懓l(fā)送程序時(shí)也不必用到發(fā)送中斷去外理發(fā)送數(shù)據(jù)。操作SBUF寄存器的方法則很簡(jiǎn)單,只要把這個(gè)99H 地址用關(guān)鍵字sfr定義為一個(gè)變量就可以對(duì)其進(jìn)行讀寫操作了,如sfr SBUF = 0x99。當(dāng)然你也可以用其它的名稱。 等頭文件中已對(duì)其做了定義,只要用include 引用就可以了?! CON 串行口控制寄存器通常在芯片或設(shè)備中為了監(jiān)視或控制接口狀態(tài),都會(huì)引用到接口控制寄存器。SCON 就是51 芯片的串行口控制寄存器。它的尋址地址是98H,是一個(gè)可以位尋址的寄存器,作用就是監(jiān)視和控制51 芯片串行口的工作狀態(tài)。51 芯片的串口可以工作在幾個(gè)不同的工作模式下,其工作模式的設(shè)置就是使用SCON 寄存器。它的各個(gè)位的具體定義如下:  SM0 SM1 SM2 REN TB8 RB8 TI RI  SM0、SM1 為串行口工作模式設(shè)置位,這樣兩位可以對(duì)應(yīng)進(jìn)行四種模式的設(shè)置。串行口工作模式設(shè)置。  SM0 SM1 模式 功能 波特率  0 0 0 同步移位寄存器 fosc/12  0 1 1 8位UART 可變  1 0 2 9位UART fosc/32 或fosc/64  1 1 3 9位UART 可變  在這里只說(shuō)明最常用的模式1,其它的模式也就一一略過(guò),有興趣的朋友可以找相關(guān)的硬件資料查看。表中的fosc 代表振蕩器的頻率,也就是晶振的頻率。UART 為(Universal Asynchronous Receiver)的英文縮寫?! M2 在模式模式3 中為多處理機(jī)通信使能位。在模式0 中要求該位為0?! EM 為允許接收位,REM 置1 時(shí)串口允許接收,置0 時(shí)禁止接收。REM 是由軟件置位或清零。, 都和上位機(jī)相連,在軟件上有串口中斷處理程序,當(dāng)要求在處理某個(gè)子程序時(shí)不允許串口被上位機(jī)來(lái)的控制字符產(chǎn)生中斷,那么可以在這個(gè)子程序的開(kāi)始處加入REM=0 來(lái)禁止接收,在子程序結(jié)束處加入REM=1 再次打開(kāi)串口接收。大家也可以用上面的實(shí)際源碼加入REM=0 來(lái)進(jìn)行實(shí)驗(yàn)?! B8 發(fā)送數(shù)據(jù)位8,在模式2 和3 是要發(fā)送的第9 位。該位可以用軟件根據(jù)需要置位或清除,通常這位在通信協(xié)議中做奇偶位,在多處理機(jī)通信中這一位則用于表示是地址幀還是數(shù)據(jù)幀。  RB8 接收數(shù)據(jù)位8,在模式2 和3 是已接收數(shù)據(jù)的第9 位。該位可能是奇偶位,地址/數(shù)據(jù)標(biāo)識(shí)位。在模式0 中,RB8 為保留位沒(méi)有被使用。在模式1 中,當(dāng)SM2=0,RB8 是已接收數(shù)據(jù)的停止位?! I 發(fā)送中斷標(biāo)識(shí)位。在模式0,發(fā)送完第8 位數(shù)據(jù)時(shí),由硬件置位。其它模式中則是在發(fā)送停止位之初,由硬件置位。TI 置位后,申請(qǐng)中斷,CPU 響應(yīng)中斷后,發(fā)送下一幀數(shù)據(jù)。在任何模式下,TI 都必須由軟件來(lái)清除,也就是說(shuō)在數(shù)據(jù)寫入到SBUF 后,硬件發(fā)送數(shù)據(jù),中斷響應(yīng)(如中斷打開(kāi)),這時(shí)TI=1,表明發(fā)送已完成,TI 不會(huì)由硬件清除,所以這時(shí)必須用軟件對(duì)其清零?! I 接收中斷標(biāo)識(shí)位。在模式0,接收第8 位結(jié)束時(shí),由硬件置位。其它模式中則是在接收停止位的半中間,由硬件置位。RI=1,申請(qǐng)中斷,要求CPU 取走數(shù)據(jù)。但在模式1 中,SM2=1時(shí),當(dāng)未收到有效的停止位,則不會(huì)對(duì)RI 置位。同樣RI 也必須要靠軟件清除。常用的串口模式1 是傳輸10 個(gè)位的,1 位起始位為0,8 位數(shù)據(jù)位,低位在先,1 位停止位為1。它的波特率是可變的,其速率是取決于定時(shí)器1 或定時(shí)器2 的定時(shí)值(溢出速率)。AT89C51 和AT89C2051 等51 系列芯片只有兩個(gè)定時(shí)器,定時(shí)器0 和定時(shí)器1,而定時(shí)器2是89C52 系列芯片才有的?! 〔ㄌ芈试谑褂么谧鐾ㄓ崟r(shí),一個(gè)很重要的參數(shù)就是波特率,只有上下位機(jī)的波特率一樣時(shí)才可以進(jìn)行正常通訊。波特率是指串行端口每秒內(nèi)可以傳輸?shù)牟ㄌ匚粩?shù)。有一些初學(xué)的朋友認(rèn)為波特率是指每秒傳輸?shù)淖止?jié)數(shù),如標(biāo)準(zhǔn)9600 會(huì)被誤認(rèn)為每秒種可以傳送9600個(gè)字節(jié),而實(shí)際上它是指每秒可以傳送9600 個(gè)二進(jìn)位,而一個(gè)字節(jié)要8 個(gè)二進(jìn)位,如用串口模式1 來(lái)傳輸那么加上起始位和停止位,每個(gè)數(shù)據(jù)字節(jié)就要占用10 個(gè)二進(jìn)位,9600 波特率用模式1 傳輸時(shí),每秒傳輸?shù)淖止?jié)數(shù)是9600247。10=960 字節(jié)。51 芯片的串口工作模式0的波特率是固定的,為fosc/12,以一個(gè)12M 的晶振來(lái)計(jì)算,那么它的波特率可以達(dá)到1M。模式2 的波特率是固定在fosc/64 或fosc/32,具體用那一種就取決于PCON 寄存器中的SMOD位,如SMOD 為0,波特率為focs/64,SMOD 為1,波特率為focs/32。模式1 和模式3 的波特率是可變的,取決于定時(shí)器1 或2(52 芯片)的溢出速率。那么我們?cè)趺慈ビ?jì)算這兩個(gè)模式的波特率設(shè)置時(shí)相關(guān)的寄存器的值呢?可以用以下的公式去計(jì)算?! 〔ㄌ芈剩剑?SMOD247。32)定時(shí)器1 溢出速率  上式中如設(shè)置了PCON 寄存器中的SMOD 位為1 時(shí)就可以把波特率提升2 倍。通常會(huì)使用定時(shí)器1 工作在定時(shí)器工作模式2 下,這時(shí)定時(shí)值中的TL1 做為計(jì)數(shù),TH1 做為自動(dòng)重裝值 ,這個(gè)定時(shí)模式下,定時(shí)器溢出后,TH1 的值會(huì)自動(dòng)裝載到TL1,再次開(kāi)始計(jì)數(shù),這樣可以不用軟件去干預(yù),使得定時(shí)更準(zhǔn)確。在這個(gè)定時(shí)模式2 下定時(shí)器1 溢出速率的計(jì)算公式如下:  溢出速率=(計(jì)數(shù)速率)/(256-TH1)  上式中的“計(jì)數(shù)速率”與所使用的晶體振蕩器頻率有關(guān),在51 芯片中定時(shí)器啟動(dòng)后會(huì)在每一個(gè)機(jī)器周期使定時(shí)寄存器TH 的值增加一,一個(gè)機(jī)器周期等于十二個(gè)振蕩周期,所以可以得知51 芯片的計(jì)數(shù)速率為晶體振蕩器頻率的1/12,一個(gè)12M 的晶振用在51 芯片上,那么51 的計(jì)數(shù)速率就為1M。 晶體是為了得到標(biāo)準(zhǔn)的無(wú)誤差的波特率,那么為何呢?計(jì)算一下就知道了。如我們要得到9600 的波特率, 和12M,定時(shí)器1 為模式2,SMOD 設(shè)為1,分別看看那所要求的TH1 為何值。代入公式:    9600=(2247。32)(()/(256TH1))  TH1=250  12M  9600=(2247。32)((12M/12)/(256TH1))  TH1≈  上面的計(jì)算可以看出使用12M 晶體的時(shí)候計(jì)算出來(lái)的TH1 不為整數(shù),而TH1 的值只能取整數(shù),這樣它就會(huì)有一定的誤差存在不能產(chǎn)生精確的9600 波特率。當(dāng)然一定的誤差是可以在使用中被接受的, 的晶體振蕩器也會(huì)因晶體本身所存在的誤差使波特率產(chǎn)生誤差,但晶體本身的誤差對(duì)波特率的影響是十分之小的,可以忽略不計(jì)。 第四章 軟件系統(tǒng)的設(shè)計(jì) 軟件組成及結(jié)構(gòu) 軟件是單片機(jī)控制系統(tǒng)的關(guān)鍵,一個(gè)單片機(jī)控制系統(tǒng)的功能實(shí)現(xiàn)和可靠性在很大程度上決定于軟件。本系統(tǒng)的軟件有兩大部分:一部分是主機(jī)程序,一部分是分機(jī)程序。下面分別介紹其工作流程。 主機(jī)程序流程 主機(jī)實(shí)際上相當(dāng)于網(wǎng)絡(luò)中的服務(wù)器,主要負(fù)責(zé)整個(gè)系統(tǒng)的協(xié)調(diào)工作,不使通信產(chǎn)生混亂。具體功能是接收分機(jī)(控制開(kāi)關(guān))數(shù)據(jù),在轉(zhuǎn)發(fā)各分機(jī)(控制開(kāi)關(guān))。 主機(jī)程序流程圖 分機(jī)程序流程 分機(jī)(控制開(kāi)關(guān))的主要功能是檢測(cè)按鍵,控制指示燈,收發(fā)數(shù)據(jù)和控制固態(tài)繼電器動(dòng)作。 用普通I/O口控制MT8880的軟件實(shí)現(xiàn) 對(duì)MT8880的控制和讀寫可采用讀寫單片機(jī)外部數(shù)據(jù)存儲(chǔ)器的方式實(shí)現(xiàn),也可以用普通I/O口控制。這里介紹用普通I/O口控制MT8880的軟件實(shí)現(xiàn)。 MT8880初始化子程序 MT8880的初始化程序必須在所有程序之前,以便在上電后刷新控制寄存器。初始化程序必須在通電后100 ms內(nèi)完成。 MT8880的初始化子程序程序功能控制數(shù)據(jù)/CSRS0R//Wb3b2b1b01讀狀態(tài)寄存器0112寫入控制寄存器01000003寫入控制寄存器01000004寫入控制寄存器01010005寫入控制寄存器01000006讀狀態(tài)寄存器011MT8880初始化子程序:RSO BIT ??刂贫丝赗W BIT ??刂贫丝贑S BIT ??刂贫丝贐3 BIT 。數(shù)據(jù)端口B2 BIT 。數(shù)據(jù)端口B1 BIT 。數(shù)據(jù)端口B0 BIT 。數(shù)據(jù)端口MT8880RST: NOP CLR CS 。讀狀態(tài)寄存器 SETB RSO SETB RW CLR B3 。寫控制寄存器 CLR B2 CLR B1 CLR B0 CLR CS SETB RSO CLR RW CLR B3 。寫控制寄存器 CLR B2 CLR B1 CLR B0 CLR CS SETB RSO CLR RW SETB B3 。寫控制寄存器 CLR B2 CLR B1 CLR B0 CLR CS SETB RSO CLR RW CLR B3 。寫控制寄存器 CLR B2 CLR B1 CLR B0 CLR CS SETB RSO CLR RW CLR CS 。讀狀態(tài)寄存器 SETB RSO
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1