從PCB中畫出原理圖的方法
上傳時(shí)間: 2013-11-21
上傳用戶:南國時(shí)代
載波相移SPWM 調(diào)制法目前是級(jí)聯(lián)型逆變器的主流調(diào)制方法,其等效載波頻率高,諧波特性好,功率單元之間輸出功率平衡。而移相空間矢量調(diào)制法基于傳統(tǒng)的兩電平空間矢量調(diào)制法,并采用載波移相的思想,因此兼有空間矢量法和載波相移SPWM 法的優(yōu)勢(shì),諧波特性好,電壓利用率高,且控制方法簡(jiǎn)單便于數(shù)字實(shí)現(xiàn),可與矢量控制和直接轉(zhuǎn)矩控制等各種現(xiàn)代方法相結(jié)合應(yīng)用于電機(jī)的變頻調(diào)速系統(tǒng)中。本文以三級(jí)級(jí)聯(lián)型逆變器為例對(duì)載波相移SPWM 調(diào)制法和移相空間矢量調(diào)制法分別進(jìn)行了研究,通過仿真對(duì)比,總結(jié)出移相空間矢量調(diào)制法與載波相移SPWM 調(diào)制法的異同和所具有的優(yōu)勢(shì)。
標(biāo)簽: SPWM 電平逆變器 控制策略 載波相移
上傳時(shí)間: 2014-12-24
上傳用戶:元宵漢堡包
設(shè)計(jì)概念:拔起插頭總要費(fèi)盡力氣才能拔起,且當(dāng)延長(zhǎng)線插卒插滿頭時(shí)時(shí),想拔出其中一個(gè),的確很不方便,電線容易受外力扯斷,所以想做出一個(gè)方便插拔的延長(zhǎng)線。
標(biāo)簽: 創(chuàng)意 創(chuàng)新 報(bào)告 延長(zhǎng)線
上傳時(shí)間: 2013-10-10
上傳用戶:hjshhyy
本書從應(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)控制、智能儀器儀表、測(cè)試、機(jī)電一體化以及各類從事MCS-51單片機(jī)應(yīng)用的工程技術(shù)人員參考。 第一章 單片微型計(jì)等機(jī)概述 1.1 單片機(jī)的歷史及發(fā)展概況 1.2 單片機(jī)的發(fā)展趨勢(shì) 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簡(jiǎn)介 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 功率場(chǎng)效應(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
HT45R37 內(nèi)建有Serial Interface Function,其中包括了SPI 和I2C 這兩種串列傳輸模式,本文 以HT45R37 為母體,介紹使用SPI 進(jìn)行資料傳輸?shù)姆椒ê妥⒁馐马?xiàng)
上傳時(shí)間: 2013-11-22
上傳用戶:lz4v4
Microchip 單片機(jī)的速度和復(fù)雜性已經(jīng)到達(dá)足以要 求降低電源電壓的程度,并正在向 5V 電源電壓以 下轉(zhuǎn)換。但問題是絕大多數(shù)接口電路仍然是為 5V 電源而設(shè)計(jì)的。這就意味著,作為設(shè)計(jì)人員,我們 現(xiàn)在面臨著連接 3.3V 和 5V 系統(tǒng)的任務(wù)。此外, 這個(gè)任務(wù)不僅包括邏輯電平轉(zhuǎn)換,同時(shí)還包括為 3.3V 系統(tǒng)供電、轉(zhuǎn)換模擬信號(hào)使之跨越 3.3V/5V 的 障礙。 技巧和訣竅 DS41285A_CN 第 2 頁 . 2006 Microchip Technology Inc. 本 《技巧和訣竅》提供了一些電源供電組件、數(shù) 字電平轉(zhuǎn)換組件甚至模擬轉(zhuǎn)換組件,以解決所面臨 的挑戰(zhàn)。全書對(duì)每種轉(zhuǎn)換均給出了多種選擇方案, 從單片 (All-in-One)接口器件到低成本的分立解 決方案都有涉及。簡(jiǎn)而言之,無論導(dǎo)致轉(zhuǎn)換的原因 是復(fù)雜性、成本還是尺寸,設(shè)計(jì)人員處理 3.3V 挑 戰(zhàn)可能需要的全部組件均在本文有所討論。
標(biāo)簽: 單片機(jī) 電平互聯(lián)
上傳時(shí)間: 2013-10-30
上傳用戶:wqxstar
介紹了一種以PIC16F73單片機(jī)芯片和CC1000調(diào)制解調(diào)芯片為核心的超低功耗無線數(shù)字傳輸模塊的設(shè)計(jì)方案及實(shí)現(xiàn)方法!并給出了該模塊在無線智能IC 卡水表中的應(yīng)用" 該模塊通信速率最高可達(dá)38.4KBPS查詢工作方式下平均工作電流為10UA與同類設(shè)計(jì)相比!該模塊具有功耗低#使用方便#通信可靠等優(yōu)點(diǎn)"
上傳時(shí)間: 2013-11-16
上傳用戶:d815185728
PIC16F877 單片機(jī)的鍵盤和LED 數(shù)碼顯示接口 1 PIC16F877單片機(jī)與鍵盤和LED數(shù)碼顯示的硬件接口電路單片機(jī)的許多應(yīng)用都需要進(jìn)行人機(jī)對(duì)話,最簡(jiǎn)單的人機(jī)對(duì)話需要LED 數(shù)碼管顯示數(shù)字和少量字符;鍵盤是解決計(jì)算機(jī)輸入的簡(jiǎn)單手段;借此可以向計(jì)算機(jī)輸入程序、置數(shù)、送操作命令、控制程序的執(zhí)行等等,所以使用非常廣泛。圖1 鍵盤、LED數(shù)碼顯示與PIC16F877 單片機(jī)的接口電路本例中采用8 個(gè)按鍵組成的小鍵盤,4 只共陰極的LED 數(shù)碼管,采用4 片74LS373 驅(qū)動(dòng)數(shù)碼管,采用的驅(qū)動(dòng)方法是靜態(tài)方式。使用1 片74LS245 作為鍵盤的接口;這些外圍器件與PIC16F877 單片機(jī)的接口電路如圖1 所示,這種連接方法與51 系列的單片機(jī)連接方法一樣,其他的連接方法還有好幾種,PIC16F877 單片機(jī)的鍵盤輸入接法還有其他特殊而十分方便好用的方式。8 鍵鍵盤通過74LS245 與單片機(jī)相連,鍵盤按鍵狀態(tài)的數(shù)據(jù)輸入由RC3 輸出腳控制;當(dāng)RC3=“0”時(shí),鍵盤狀態(tài)從74LS245 的A 端輸出到單片機(jī)的PORTB口,此時(shí)讀PORTB口的數(shù)據(jù)即為鍵盤狀態(tài)。為了及時(shí)地響應(yīng)鍵盤操作,需要經(jīng)常對(duì)鍵盤進(jìn)行掃描;掃描的方式有許多種,我們將鍵盤的掃描程序安排在主程序的循環(huán)執(zhí)行過程中的方式,并采用20ms延遲來消除按鍵的抖動(dòng)問題,此外,為了實(shí)現(xiàn)每按鍵一次只響應(yīng)一次的功能,在執(zhí)行相應(yīng)的按鍵程序之前,必須確保按鍵已經(jīng)松開;在本例中這一措施有效的防止了數(shù)據(jù)抖動(dòng)過快的問題。LED 數(shù)碼顯示有動(dòng)態(tài)掃描和靜態(tài)顯示兩種方式(圖1 采取的方式為靜態(tài)方式),在動(dòng)態(tài)掃描方式中,各數(shù)碼顯示是輪流點(diǎn)亮的,即控制數(shù)碼顯示的位選信號(hào)和相應(yīng)的要顯示的數(shù)碼的字形代碼同時(shí)逐一送出,反復(fù)不已,由于視覺的暫留現(xiàn)象,卻好象全都點(diǎn)亮著,這種電路的接法以后再介紹。在靜態(tài)方式中,只要將數(shù)據(jù)送出鎖存以后,各數(shù)碼顯示的數(shù)據(jù)不需要刷新,只要數(shù)據(jù)不需改變,就可以不去管他,所以稱為靜態(tài)顯示。在圖1 電路中,輸出顯示的操作簡(jiǎn)化為對(duì)74LS373 的并口操作而已。由于靜態(tài)方式的工作原理比較簡(jiǎn)單,編程也比較直觀簡(jiǎn)單,程序間的相互關(guān)聯(lián)很少。因此編程容易,但要增加硬件,成本較高;與之相比,動(dòng)態(tài)掃描的編程雖然要復(fù)雜一些,但因其所用硬件少,成本低。由數(shù)碼轉(zhuǎn)化為字形代碼可采用軟件譯碼、硬件譯碼等兩種方式。軟件譯碼是將各數(shù)碼的字形代碼構(gòu)成一個(gè)表格存儲(chǔ)于內(nèi)存之中,在顯示數(shù)碼時(shí),通過執(zhí)行查表程序而得到相應(yīng)的字形代碼,再將之送入數(shù)碼顯示輸出電路進(jìn)行顯示,本例即采用這種方式,這種方式的編程與單片機(jī)有關(guān),在程序中給出了PIC16F877 的編程例程,對(duì)需要熟悉PIC16F877 單片機(jī)的人員有一定的參考價(jià)值。硬件譯碼則采用CD4511、74LS46、74LS47、74LS48、74LS49等BCD 碼—7段鎖存、譯碼、驅(qū)動(dòng)芯片直接譯出字形代碼,點(diǎn)亮LED。74LS373 由LE 端對(duì)要顯示的數(shù)據(jù)進(jìn)行鎖存控制,實(shí)現(xiàn)LED 的靜態(tài)顯示。采用了PIC16F877 的端口輸出操作,模擬74LS373 的數(shù)據(jù)鎖存時(shí)序,即由軟件實(shí)現(xiàn)數(shù)據(jù)鎖存,這種方法可以十分容易的改變時(shí)序和延遲長(zhǎng)短,使高速設(shè)備可以與低速設(shè)備聯(lián)系配合好,設(shè)計(jì)簡(jiǎn)單方便,不好的地方是編程較長(zhǎng)和稍微復(fù)雜一點(diǎn)。這種編程方法在下面的程序中有很好的體現(xiàn)。
上傳時(shí)間: 2013-10-29
上傳用戶:cuiyashuo
單片機(jī)指令系統(tǒng)原理 51單片機(jī)的尋址方式 學(xué)習(xí)匯編程序設(shè)計(jì),要先了解CPU的各種尋址法,才能有效的掌握各個(gè)命令的用途,尋址法是命令運(yùn)算碼找操作數(shù)的方法。在我們學(xué)習(xí)的8051單片機(jī)中,有6種尋址方法,下面我們將逐一進(jìn)行分析。 立即尋址 在這種尋址方式中,指令多是雙字節(jié)的,一般第一個(gè)字節(jié)是操作碼,第二個(gè)字節(jié)是操作數(shù)。該操作數(shù)直接參與操作,所以又稱立即數(shù),有“#”號(hào)表示。立即數(shù)就是存放在程序存儲(chǔ)器中的常數(shù),換句話說就是操作數(shù)(立即數(shù))是包含在指令字節(jié)中的。 例如:MOV A,#3AH這條指令的指令代碼為74H、3AH,是雙字節(jié)指令,這條指令的功能是把立即數(shù)3AH送入累加器A中。MOV DPTR,#8200H在前面學(xué)單片機(jī)的專用寄存器時(shí),我們已學(xué)過,DPTR是一個(gè)16位的寄存器,它由DPH及DPL兩個(gè)8位的寄存器組成。這條指令的意思就是把立即數(shù)的高8位(即82H)送入DPH寄存器,把立即數(shù)的低8位(即00H)送入DPL寄存器。這里也特別說明一下:在80C51單片機(jī)的指令系統(tǒng)中,僅有一條指令的操作數(shù)是16位的立即數(shù),其功能是向地址指針DPTR傳送16位的地址,即把立即數(shù)的高8位送入DPH,低8位送入DPL。 直接尋址 直接尋址方式是指在指令中操作數(shù)直接以單元地址的形式給出,也就是在這種尋址方式中,操作數(shù)項(xiàng)給出的是參加運(yùn)算的操作數(shù)的地址,而不是操作數(shù)。例如:MOV A,30H 這條指令中操作數(shù)就在30H單元中,也就是30H是操作數(shù)的地址,并非操作數(shù)。 在80C51單片機(jī)中,直接地址只能用來表示特殊功能寄存器、內(nèi)部數(shù)據(jù)存儲(chǔ)器以及位地址空間,具體的說就是:1、內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM低128單元。在指令中是以直接單元地址形式給出。我們知道低128單元的地址是00H-7FH。在指令中直接以單元地址形式給出這句話的意思就是這0-127共128位的任何一位,例如0位是以00H這個(gè)單元地址形式給出、1位就是以01H單元地址給出、127位就是以7FH形式給出。2、位尋址區(qū)。20H-2FH地址單元。3、特殊功能寄存器。專用寄存器除以單元地址形式給出外,還可以以寄存器符號(hào)形式給出。例如下面我們分析的一條指令 MOV IE,#85H 前面的學(xué)習(xí)我們已知道,中斷允許寄存器IE的地址是80H,那么也就是這條指令可以以MOV IE,#85H 的形式表述,也可以MOV 80H,#85H的形式表述。 關(guān)于數(shù)據(jù)存儲(chǔ)器RAM的內(nèi)部情況,請(qǐng)查看我們課程的第十二課。 直接尋址是唯一能訪問特殊功能寄存器的尋址方式! 大家來分析下面幾條指令:MOV 65H,A ;將A的內(nèi)容送入內(nèi)部RAM的65H單元地址中MOV A,direct ;將直接地址單元的內(nèi)容送入A中MOV direct,direct;將直接地址單元的內(nèi)容送直接地址單元MOV IE,#85H ;將立即數(shù)85H送入中斷允許寄存器IE 前面我們已學(xué)過,數(shù)據(jù)前面加了“#”的,表示后面的數(shù)是立即數(shù)(如#85H,就表示85H就是一個(gè)立即數(shù)),數(shù)據(jù)前面沒有加“#”號(hào)的,就表示后面的是一個(gè)地址地址(如,MOV 65H,A這條指令的65H就是一個(gè)單元地址)。 寄存器尋址 寄存器尋址的尋址范圍是:1、4個(gè)工作寄存器組共有32個(gè)通用寄存器,但在指令中只能使用當(dāng)前寄存器組(工作寄存器組的選擇在前面專用寄存器的學(xué)習(xí)中,我們已知道,是由程序狀態(tài)字PSW中的RS1和RS0來確定的),因此在使用前常需要通過對(duì)PSW中的RS1、RS0位的狀態(tài)設(shè)置,來進(jìn)行對(duì)當(dāng)前工作寄存器組的選擇。2、部份專用寄存器。例如,累加器A、通用寄存器B、地址寄存器DPTR和進(jìn)位位CY。 寄存器尋址方式是指操作數(shù)在寄存器中,因此指定了寄存器名稱就能得到操作數(shù)。例如:MOV A,R0這條指令的意思是把寄存器R0的內(nèi)容傳送到累加器A中,操作數(shù)就在R0中。INC R3這條指令的意思是把寄存器R3中的內(nèi)容加1 從前面的學(xué)習(xí)中我產(chǎn)應(yīng)可以理解到,其實(shí)寄存器尋址方式就是對(duì)由PSW程序狀態(tài)字確定的工作寄存器組的R0-R7進(jìn)行讀/寫操作。 寄存器間接尋址 寄存間接尋址方式是指寄存器中存放的是操作數(shù)的地址,即操作數(shù)是通過寄存器間接得到的,因此稱為寄存器間接尋址。 MCS-51單片機(jī)規(guī)定工作寄存器的R0、R1做為間接尋址寄存器。用于尋址內(nèi)部或外部數(shù)據(jù)存儲(chǔ)器的256個(gè)單元。為什么會(huì)是256個(gè)單元呢?我們知道,R0或者R1都是一個(gè)8位的寄存器,所以它的尋址空間就是2的八次方=256。例:MOV R0,#30H ;將值30H加載到R0中 MOV A,@R0 ;把內(nèi)部RAM地址30H內(nèi)的值放到累加器A中 MOVX A,@R0 ;把外部RAM地址30H內(nèi)的值放到累加器A中 大家想想,如果用DPTR做為間址寄存器,那么它的尋址范圍是多少呢?DPTR是一個(gè)16位的寄存器,所以它的尋址范圍就是2的十六次方=65536=64K。因用DPTR做為間址寄存器的尋址空間是64K,所以訪問片外數(shù)據(jù)存儲(chǔ)器時(shí),我們通常就用DPTR做為間址寄存器。例:MOV DPTR,#1234H ;將DPTR值設(shè)為1234H(16位) MOVX A,@DPTR ;將外部RAM或I/O地址1234H內(nèi)的值放到累加器A中 在執(zhí)行PUSH(壓棧)和POP(出棧)指令時(shí),采用堆棧指針SP作寄存器間接尋址。例:PUSH 30H ;把內(nèi)部RAM地址30H內(nèi)的值放到堆棧區(qū)中堆棧區(qū)是由SP寄存器指定的,如果執(zhí)行上面這條命令前,SP為60H,命令執(zhí)行后會(huì)把內(nèi)部RAM地址30H內(nèi)的值放到RAM的61H內(nèi)。 那么做為寄存器間接尋址用的寄存器主要有哪些呢?我們前面提到的有四個(gè),R0、R1、DPTR、SP 寄存器間接尋址范圍總結(jié):1、內(nèi)部RAM低128單元。對(duì)內(nèi)部RAM低128單元的間接尋址,應(yīng)使用R0或R1作間址寄存器,其通用形式為@Ri(i=0或1)。 2、外部RAM 64KB。對(duì)外部RAM64KB的間接尋址,應(yīng)使用@DPTR作間址尋址寄存器,其形式為:@DPTR。例如MOVX A,@DPTR;其功能是把DPTR指定的外部RAM的單元的內(nèi)容送入累加器A中。外部RAM的低256單元是一個(gè)特殊的尋址區(qū),除可以用DPTR作間址寄存器尋址外,還可以用R0或R1作間址寄存器尋址。例如MOVX A,@R0;這條指令的意思是,把R0指定的外部RAM單元的內(nèi)容送入累加器A。 堆棧操作指令(PUSH和POP)也應(yīng)算作是寄存器間接尋址,即以堆棧指針SP作間址寄存器的間接尋址方式。 寄存器間接尋址方式不可以訪問特殊功能寄存器!! 寄存器間接尋址也須以寄存器符號(hào)的形式表示,為了區(qū)別寄存器尋址我寄存器間接尋址的區(qū)別,在寄存器間接尋址方式式中,寄存器的名稱前面加前綴標(biāo)志“@”。 基址寄存器加變址寄存器的變址尋址 這種尋址方式以程序計(jì)數(shù)器PC或DPTR為基址寄存器,累加器A為變址寄存器,變址尋址時(shí),把兩者的內(nèi)容相加,所得到的結(jié)果作為操作數(shù)的地址。這種方式常用于訪問程序存儲(chǔ)器ROM中的數(shù)據(jù)表格,即查表操作。變址尋址只能讀出程序內(nèi)存入的值,而不能寫入,也就是說變址尋址這種方式只能對(duì)程序存儲(chǔ)器進(jìn)行尋址,或者說它是專門針對(duì)程序存儲(chǔ)器的尋址方式。例:MOVC A,@A+DPTR這條指令的功能是把DPTR和A的內(nèi)容相加,再把所得到的程序存儲(chǔ)器地址單元的內(nèi)容送A假若指令執(zhí)行前A=54H,DPTR=3F21H,則這條指令變址尋址形成的操作數(shù)地址就是54H+3F21H=3F75H。如果3F75H單元中的內(nèi)容是7FH,則執(zhí)行這條指令后,累加器A中的內(nèi)容就是7FH。 變址尋址的指令只有三條,分別如下:JMP @A+DPTRMOVC A,@A+DPTRMOVC A,@A+PC 第一條指令JMP @A+DPTR這是一條無條件轉(zhuǎn)移指令,這條指令的意思就是DPTR加上累加器A的內(nèi)容做為一個(gè)16位的地址,執(zhí)行JMP這條指令是,程序就轉(zhuǎn)移到A+DPTR指定的地址去執(zhí)行。 第二、三條指令MOVC A,@A+DPTR和MOVC A,@A+PC指令這兩條指令的通常用于查表操作,功能完全一樣,但使用起來卻有一定的差別,現(xiàn)詳細(xì)說明如下。我們知道,PC是程序指針,是十六位的。DPTR是一個(gè)16位的數(shù)據(jù)指針寄存器,按理,它們的尋址范圍都應(yīng)是64K。我們?cè)趯W(xué)習(xí)特殊功能寄存器時(shí)已知道,程序計(jì)數(shù)器PC是始終跟蹤著程序的執(zhí)行的。也就是說,PC的值是隨程序的執(zhí)行情況自動(dòng)改變的,我們不可以隨便的給PC賦值。而DPTR是一個(gè)數(shù)據(jù)指針,我們就可以給空上數(shù)據(jù)指針DPTR進(jìn)行賦值。我們?cè)倏粗噶頜OVC A,@A+PC這條指令的意思是將PC的值與累加器A的值相加作為一個(gè)地址,而PC是固定的,累加器A是一個(gè)8位的寄存器,它的尋址范圍是256個(gè)地址單元。講到這里,大家應(yīng)可明白,MOVC A,@A+PC這條指令的尋址范圍其實(shí)就是只能在當(dāng)前指令下256個(gè)地址單元。所在,這在我們實(shí)際應(yīng)用中,可能就會(huì)有一個(gè)問題,如果我們需要查詢的數(shù)據(jù)表在256個(gè)地址單元之內(nèi),則可以用MOVC A,@A+PC這條指令進(jìn)行查表操作,如果超過了256個(gè)單元,則不能用這條指令進(jìn)行查表操作。剛才我們已說到,DPTR是一個(gè)數(shù)據(jù)指針,這個(gè)數(shù)據(jù)指針我們可以給它賦值操作的。通過賦值操作。我們可以使MOVC A,@A+DPTR這條指令的尋址范圍達(dá)到64K。這就是這兩條指令在實(shí)際應(yīng)用當(dāng)中要注意的問題。 變址尋址方式是MCS-51單片機(jī)所獨(dú)有的一種尋址方式。 位尋址 80C51單片機(jī)有位處理功能,可以對(duì)數(shù)據(jù)位進(jìn)行操作,因此就有相應(yīng)的位尋址方式。所謂位尋址,就是對(duì)內(nèi)部RAM或可位尋址的特殊功能寄存器SFR內(nèi)的某個(gè)位,直接加以置位為1或復(fù)位為0。 位尋址的范圍,也就是哪些部份可以進(jìn)行位尋址: 1、我們?cè)诘谑n學(xué)習(xí)51單片機(jī)的存儲(chǔ)器結(jié)構(gòu)時(shí),我們已知道在單片機(jī)的內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM的低128單元中有一個(gè)區(qū)域叫位尋址區(qū)。它的單元地址是20H-2FH。共有16個(gè)單元,一個(gè)單元是8位,所以位尋址區(qū)共有128位。這128位都單獨(dú)有一個(gè)位地址,其位地址的名字就是00H-7FH。這里就有一個(gè)比較麻煩的問題需要大家理解清楚了。我們?cè)谇懊娴膶W(xué)習(xí)中00H、01H。。。。7FH等等,所表示的都是一個(gè)字節(jié)(或者叫單元地址),而在這里,這些數(shù)據(jù)都變成了位地址。我們?cè)谥噶钪校蛘咴诔绦蛑腥绾蝸韰^(qū)分它是一個(gè)單元地址還是一個(gè)位地址呢?這個(gè)問題,也就是我們現(xiàn)在正在研究的位尋址的一個(gè)重要問題。其實(shí),區(qū)分這些數(shù)據(jù)是位地址還是單元地址,我們都有相應(yīng)的指令形式的。這個(gè)問題我們?cè)诤竺娴闹噶钕到y(tǒng)學(xué)習(xí)中再加以論述。 2、對(duì)專用寄存器位尋址。這里要說明一下,不是所有的專用寄存器都可以位尋址的。具體哪些專用寄存器可以哪些專用寄存器不可以,請(qǐng)大家回頭去看看我們前面關(guān)于專用寄存器的相關(guān)文章。一般來說,地址單元可以被8整除的專用寄存器,通常都可以進(jìn)行位尋址,當(dāng)然并不是全部,大家在應(yīng)用當(dāng)中應(yīng)引起注意。 專用寄存器的位尋址表示方法: 下面我們以程序狀態(tài)字PSW來進(jìn)行說明 D7 D6 D5 D4 D3 D2 D1 D0 CY AC F0 RS1 RS0 OV P 1、直接使用位地址表示:看上表,PSW的第五位地址是D5,所以可以表示為D5H MOV C,D5H 2、位名稱表示:表示該位的名稱,例如PSW的位5是F0,所以可以用F0表示 MOV C,F(xiàn)0 3、單元(字節(jié))地址加位表示:D0H單元位5,表示為DOH.5 MOV C,D0H.5 4、專用寄存器符號(hào)加位表示:例如PSW.5 MOV C,PSW.5 這四種方法實(shí)現(xiàn)的功能都是相同的,只是表述的方式不同而已。 例題: 1. 說明下列指令中源操作數(shù)采用的尋址方式。 MOV R5,R7 答案:寄存器尋址方式 MOV A,55H 直接尋址方式 MOV A,#55H 立即尋址方式 JMP @A+DPTR 變址尋址方式 MOV 30H,C 位尋址方式 MOV A,@R0 間接尋址方式 MOVX A,@R0 間接尋址方式 改錯(cuò)題 請(qǐng)判斷下列的MCS-51單片機(jī)指令的書寫格式是否有錯(cuò),若有,請(qǐng)說明錯(cuò)誤原因。 MOV R0,@R3 答案:間址寄存器不能使用R2~R7。 MOVC A,@R0+DPTR 變址尋址方式中的間址寄存器不可使用R0,只可使用A。 ADD R0,R1 運(yùn)算指令中目的操作數(shù)必須為累加器A,不可為R0。 MUL AR0 乘法指令中的乘數(shù)應(yīng)在B寄存器中,即乘法指令只可使用AB寄存器組合。
標(biāo)簽: 單片機(jī)指令 系統(tǒng)原理
上傳時(shí)間: 2013-11-11
上傳用戶:caozhizhi
單片機(jī)串行通信發(fā)射機(jī) 我所做的單片機(jī)串行通信發(fā)射機(jī)主要在實(shí)驗(yàn)室完成,參考有關(guān)的書籍和資料,個(gè)人完成電路的設(shè)計(jì)、焊接、檢查、調(diào)試,再根據(jù)自己的硬件和通信協(xié)議用匯編語言編寫發(fā)射和顯示程序,然后加電調(diào)試,最終達(dá)到準(zhǔn)確無誤的發(fā)射和顯示。在這過程中需要選擇適當(dāng)?shù)脑侠淼碾娐穲D扎實(shí)的焊接技術(shù),基本的故障排除和糾正能力,會(huì)使用基本的儀器對(duì)硬件進(jìn)行調(diào)試,會(huì)熟練的運(yùn)用匯編語言編寫程序,會(huì)用相關(guān)的軟件對(duì)自己的程序進(jìn)行翻譯,并燒進(jìn)芯片中,要與對(duì)方接收機(jī)統(tǒng)一通信協(xié)議,要耐心的反復(fù)檢查、修改和調(diào)試,直到達(dá)到預(yù)期目的。單片機(jī)串行通信發(fā)射機(jī)采用串行工作方式,發(fā)射并顯示兩位數(shù)字信息,既顯示00-99,使數(shù)據(jù)能夠在不同地方傳遞。硬件部分主要分兩大塊,由AT89C51和多個(gè)按鍵組成的控制模塊,包括時(shí)鐘電路、控制信號(hào)電路,時(shí)鐘采用6MHZ晶振和30pF的電容來組成內(nèi)部時(shí)鐘方式,控制信號(hào)用手動(dòng)開關(guān)來控制,P1口來控制,P2、P3口產(chǎn)生信號(hào)并通過共陽極數(shù)碼管來顯示,軟件采用匯編語言來編寫,發(fā)射程序在通信協(xié)議一致的情況下完成數(shù)據(jù)的發(fā)射,同時(shí)顯示程序?qū)Πl(fā)射的數(shù)據(jù)加以顯示。畢業(yè)設(shè)計(jì)的目的是了解基本電路設(shè)計(jì)的流程,豐富自己的知識(shí)和理論,鞏固所學(xué)的知識(shí),提高自己的動(dòng)手能力和實(shí)驗(yàn)?zāi)芰Γ瑥亩邆湟欢ǖ脑O(shè)計(jì)能力。我做得的畢業(yè)設(shè)計(jì)注重于對(duì)單片機(jī)串行發(fā)射的理論的理解,明白發(fā)射機(jī)的工作原理,以便以后單片機(jī)領(lǐng)域的開發(fā)和研制打下基礎(chǔ),提高自己的設(shè)計(jì)能力,培養(yǎng)創(chuàng)新能力,豐富自己的知識(shí)理論,做到理論和實(shí)際結(jié)合。本課題的重要意義還在于能在進(jìn)一步層次了解單片機(jī)的工作原理,內(nèi)部結(jié)構(gòu)和工作狀態(tài)。理解單片機(jī)的接口技術(shù),中斷技術(shù),存儲(chǔ)方式,時(shí)鐘方式和控制方式,這樣才能更好的利用單片機(jī)來做有效的設(shè)計(jì)。我的畢業(yè)設(shè)計(jì)分為兩個(gè)部分,硬件部分和軟件部分。硬件部分介紹:?jiǎn)纹瑱C(jī)串行通信發(fā)射機(jī)電路的設(shè)計(jì),單片機(jī)AT89C51的功能和其在電路的作用。介紹了AT89C51的管腳結(jié)構(gòu)和每個(gè)管腳的作用及各自的連接方法。AT89C51 與MCS-51 兼容,4K字節(jié)可編程閃爍存儲(chǔ)器,壽命:1000次可擦,數(shù)據(jù)保存10年,全靜態(tài)工作:0HZ-24HZ,三級(jí)程序存儲(chǔ)器鎖定,128*8 位內(nèi)部RAM,32 跟可編程I/O 線,兩個(gè)16 位定時(shí)/計(jì)數(shù)器,5 個(gè)中斷源,5 個(gè)可編程串行通道,低功耗的閑置和掉電模式,片內(nèi)震蕩和時(shí)鐘電路,P0和P1 可作為串行輸入口,P3口因?yàn)槠涔苣_有特殊功能,可連接其他電路。例如P3.0RXD 作為串行輸出口,其中時(shí)鐘電路采用內(nèi)時(shí)鐘工作方式,控制信號(hào)采用手動(dòng)控制。數(shù)據(jù)的傳輸方式分為單工、半雙工、全雙工和多工工作方式;串行通信有兩種形式,異步和同步通信。介紹了串行串行口控制寄存器,電源管理寄存器PCON,中斷允許寄存器IE,還介紹了數(shù)碼顯示管的工作方式、組成,共陽極和共陰極數(shù)碼顯示管的電路組成,有動(dòng)態(tài)和靜態(tài)顯示兩種方式,說明了不同顯示方法與單片機(jī)的連接。再后來還介紹了硬件的焊接過程,及在焊接時(shí)遇到的問題和應(yīng)該注意的方面。硬件焊接好后的檢查電路、不裝芯片上電檢查及上電裝芯片檢查。軟件部分:在了解電路設(shè)計(jì)原理后,根據(jù)原理和目的畫出電路流程圖,列出數(shù)碼顯示的斷碼表,計(jì)算波特率,設(shè)置串行口,在與接受機(jī)設(shè)置相同的通信協(xié)議的基礎(chǔ)上編寫顯示和發(fā)射程序。編寫完程序還要進(jìn)行編譯,這就必須會(huì)使用編譯軟件。介紹了編譯軟件的使用和使用過程中遇到的問題,及在編譯后燒入芯片使用的軟件PLDA,后來的加電調(diào)試,及遇到的問題,在沒問題后與接受機(jī)連接,發(fā)射數(shù)據(jù),直到對(duì)方準(zhǔn)確接收到。在軟件調(diào)試過程中將詳細(xì)介紹調(diào)試遇到的問題,例如:通信協(xié)議是否相同,數(shù)碼管是否與芯片連接對(duì)應(yīng),計(jì)數(shù)器是否開始計(jì)數(shù)等。
標(biāo)簽: 單片機(jī) 串行通信 發(fā)射機(jī)
上傳時(shí)間: 2013-10-19
上傳用戶:uuuuuuu
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1