




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于C的盛群?jiǎn)纹瑱C(jī)原理及應(yīng)用
2010/02課程相關(guān)介紹★課程性質(zhì)
32學(xué)時(shí)校內(nèi)任選課★課程內(nèi)容
課程分為理論和實(shí)驗(yàn)二部分:
理論:12學(xué)時(shí),講述盛群HT46R232單片機(jī)的內(nèi)部結(jié)構(gòu)和工作原理、盛群c語(yǔ)言、盛群?jiǎn)纹瑱C(jī)開發(fā)環(huán)境和流程
安排在3206教室
實(shí)驗(yàn):20學(xué)時(shí),上機(jī)實(shí)際操作、盛群?jiǎn)纹瑱C(jī)開發(fā)入門
(初步)安排在s402實(shí)驗(yàn)室2★課程資料教材:《HOLTEKHT46系列單片機(jī)C語(yǔ)言實(shí)例教程》
北京郵電大學(xué)出版社參考資料:《單片機(jī)原理與應(yīng)用》應(yīng)明仁、王化成主編《C程序語(yǔ)言及應(yīng)用范例》《HT-IDE3000使用手冊(cè)》《HT46R232數(shù)據(jù)手冊(cè)》/china/default.htm3★課程來源
重慶大學(xué)生“盛群杯”單片機(jī)應(yīng)用設(shè)計(jì)競(jìng)賽:由重慶市教委主辦,重慶市高校實(shí)驗(yàn)室工作研究會(huì)指導(dǎo),盛群半導(dǎo)體有限公司和重慶郵電大學(xué)聯(lián)合承辦開展的單片機(jī)應(yīng)用設(shè)計(jì)競(jìng)賽,該競(jìng)賽采用市面上廣泛應(yīng)用的盛群HT46系列單片機(jī)為競(jìng)賽工具,由學(xué)生自主命題、設(shè)計(jì)完成整個(gè)作品創(chuàng)作。已經(jīng)舉辦3屆。歷屆競(jìng)賽所用單片機(jī)芯片型號(hào):HT46R23/24---->HT46F49E,HT46RU232,HT46R54A--->HT46F49E,HT46RU232重慶大學(xué)生盛群杯單片機(jī)應(yīng)用設(shè)計(jì)競(jìng)賽網(wǎng)站:/holtek4★考核要求平時(shí):隨機(jī)點(diǎn)名及簽到卡期末:交一份報(bào)告★答疑安排信科s507
shixin@QQ群:1126746435★學(xué)習(xí)方法
理論為輔,實(shí)踐為主由點(diǎn)到面從簡(jiǎn)單功能入手,由淺到深,由易到難,循序漸進(jìn)堅(jiān)持,講究方法,合理高效利用資源6★必備知識(shí)數(shù)字電路《數(shù)字電路邏輯設(shè)計(jì)》王毓銀
模擬電路清華大學(xué)華成英老師的模電視頻c語(yǔ)言譚浩強(qiáng)老師的C語(yǔ)言或21天學(xué)會(huì)C語(yǔ)言7★常見問題1、c語(yǔ)言和匯編語(yǔ)言在開發(fā)單片機(jī)時(shí)的優(yōu)缺點(diǎn)
匯編語(yǔ)言:
優(yōu)點(diǎn):
占用資源少,執(zhí)行效率高,一條指令就對(duì)應(yīng)一個(gè)機(jī)器碼,每一步執(zhí)行什么動(dòng)作都很清楚,程序大小和堆棧調(diào)用情況容易控制,調(diào)試方便。
缺點(diǎn):移植性差C語(yǔ)言:
優(yōu)點(diǎn):模塊化編程語(yǔ)言,有豐富的函數(shù)庫(kù),可讀性好,移植容易
缺點(diǎn):占用資源較多,執(zhí)行效率沒有匯編高8
2、8位單片機(jī)與ARM嵌入式系統(tǒng)
功能結(jié)構(gòu)和單價(jià)的差異造成應(yīng)用層次的不同:
ARM適用于系統(tǒng)復(fù)雜度較大的高級(jí)產(chǎn)品,如PDA、手機(jī)等應(yīng)用8位單片機(jī)因架構(gòu)簡(jiǎn)單,硬件資源相對(duì)較少,適用于一般的工業(yè)控制,消費(fèi)性家電……等等
3、單片機(jī)的學(xué)習(xí)階段
第一階段是先瀏覽教科書里的硬體部分,大至了解單片機(jī)的9硬體結(jié)構(gòu)。如ROM、RAM、I/O口等,以及看一些廠家的芯片手冊(cè)。第二階段就是了解單片機(jī)的編程語(yǔ)言。第三階段熟悉單片機(jī)的開發(fā)環(huán)境及流程。第四階段利用實(shí)驗(yàn)板進(jìn)行各種單片機(jī)實(shí)驗(yàn)。第五階段自己焊接板子編程實(shí)踐,多看看相關(guān)的電子技術(shù)雜志網(wǎng)站,看看別人的開發(fā)經(jīng)驗(yàn),硬件設(shè)計(jì)方案以及他人的軟件設(shè)計(jì)經(jīng)驗(yàn)。有可能的話,還可以參加一些電子設(shè)計(jì)大賽。104、盛群?jiǎn)纹瑱C(jī)適合初學(xué)者不HOLTEK單片機(jī)結(jié)構(gòu)典型和規(guī)范,適合于基本知識(shí)的學(xué)習(xí)。具有豐富的產(chǎn)品系列,適合于不同產(chǎn)品的開發(fā)。技術(shù)支持力度大,書籍和網(wǎng)上資源豐富。有片內(nèi)flash存儲(chǔ)器,便于程序多次修改。開發(fā)系統(tǒng)相當(dāng)完善。指令簡(jiǎn)潔,易學(xué)易懂缺點(diǎn):需要仿真器,價(jià)格對(duì)學(xué)生來說偏高。115、單片機(jī)到底是什么,怎么工作的中央處理器CPU、隨機(jī)存取存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、I/O接口、定時(shí)器/計(jì)數(shù)器以及通信接口等集成在一塊芯片上,構(gòu)成了一個(gè)單片微型計(jì)算機(jī)。應(yīng)用范圍:智能儀器儀表、工業(yè)測(cè)控、日常生活及家電、計(jì)算機(jī)網(wǎng)絡(luò)與通信技術(shù)。單片機(jī)是自動(dòng)地進(jìn)行運(yùn)算和控制,把實(shí)現(xiàn)計(jì)算和控制的步驟一步步地用命令的形式,即一條條指令(Instruction)預(yù)先存入到存貯器中,單片機(jī)在CPU的控制下,將指令一條條地取出來,并加以翻譯和執(zhí)行,得到你要的東西。
12第一講★盛群公司簡(jiǎn)介
盛群半導(dǎo)體為國(guó)內(nèi)臺(tái)灣地區(qū)一家專業(yè)微控制器IC設(shè)計(jì)廠商,公司成立于1998年,總部坐落于新竹科學(xué)工業(yè)園區(qū),主要產(chǎn)品包括微控制器IC及其周邊電子元器件。產(chǎn)品除一般應(yīng)用領(lǐng)域外,還涵蓋語(yǔ)音、通訊、計(jì)算機(jī)外設(shè)、家電、醫(yī)療、車用及安全監(jiān)控等各領(lǐng)域,此外并提供各種電源管理及非易失性內(nèi)存等微控制器外圍組件,期能以提供客戶更具功能性之完整解決方案為產(chǎn)品發(fā)展目標(biāo)。13★HT46系列單片機(jī)的特點(diǎn)及應(yīng)用舉例
8位高性能精簡(jiǎn)指令集(RSIC)單片機(jī)低功耗、I/O使用靈活、可編程分頻器、計(jì)數(shù)器、多通道A/D轉(zhuǎn)換、脈寬調(diào)制功能、I2C接口、UART總線、暫停和喚醒功能,低電壓復(fù)位功能
廣泛應(yīng)用于傳感器的A/D轉(zhuǎn)換、馬達(dá)控制、工業(yè)控制、消費(fèi)類產(chǎn)品,子系統(tǒng)控制器等。141516★HT46R2321、命名規(guī)則2、封裝形式(見下頁(yè))3、特性圖(見下頁(yè))4、結(jié)構(gòu)框圖(見下頁(yè))
17181920第二講★程序存儲(chǔ)器1、HT46R232程序存儲(chǔ)器為EPROM(可擦寫可編程只讀存儲(chǔ)器)2、大小:4096×16位3、用途:用來存放要執(zhí)行的指令代碼,一些數(shù)據(jù)、表格和中斷入口。4、結(jié)構(gòu)框圖:(見下頁(yè))
2122★數(shù)據(jù)存儲(chǔ)器1、HT46R232的數(shù)據(jù)存儲(chǔ)器為RAM(隨機(jī)存取存儲(chǔ)器)2、大?。?31×8位
特殊功能寄存器:39×8位(大多數(shù)可讀寫,部分只讀)
通用數(shù)據(jù)存儲(chǔ)器:192×8位3、用途:
特殊功能寄存器用來控制單片機(jī)內(nèi)部功能(如定時(shí)器和中斷等)和外部功能(如I/O數(shù)據(jù)和AD轉(zhuǎn)換控制)的正確工作。
通用數(shù)據(jù)存儲(chǔ)器用來存放臨時(shí)數(shù)據(jù)。234、結(jié)構(gòu)框圖(見下頁(yè))5、特殊功能寄存器申明HT46R232.hunsignedchar_tmr1h @0x0f;#define_pa0 _12_0unsignedchar_tmr1l @0x10;#define_pa1 _12_1unsignedchar_tmr1c @0x11;#define_pa2 _12_2unsignedchar_pa @0x12;#define_pa3 _12_3unsignedchar_pac @0x13;#define_pa4 _12_4unsignedchar_pb @0x14;#define_pa5 _12_5unsignedchar_pbc @0x15;#define_pa6 _12_6unsignedchar_pc @0x16;#define_pa7 _12_7unsignedchar_pcc @0x17;2425★堆棧寄存器1、特殊的存儲(chǔ)器空間,用來保存PC的值2、HT46R232有8層堆棧3、當(dāng)發(fā)生子程序調(diào)用或中斷響應(yīng)時(shí),程序計(jì)數(shù)器(PC)的值會(huì)被壓入堆棧;在子程序調(diào)用結(jié)束或中斷響應(yīng)結(jié)束時(shí),堆棧將原先壓入堆棧的內(nèi)容彈出,重新裝入程序計(jì)數(shù)器中。在系統(tǒng)復(fù)位后,堆棧指針會(huì)指向堆棧頂部。26★輸入/輸出端口(***)1、HT46R232(28腳封裝)有23個(gè)雙向輸入/輸出口,記為PA(PA0-7)、PB(PB0-7)、PC(PC0-4)和PD(PD0-1)。2、輸出時(shí),端口有鎖存功能,不需要外接上拉電阻;
輸入時(shí),端口無鎖存功能,需外接或設(shè)置內(nèi)帶上拉電阻。3、每個(gè)輸入/輸出口都有一個(gè)控制寄存器(PAC,PBC,PCC,PDC),用來控制端口的輸入/輸出狀態(tài)。
例:PA口作為輸出口_pac=0;
PA口作為輸入口_pac=1;4、輸入/輸出端口硬件示意圖(見下頁(yè))2728P溝道DMOS管05、當(dāng)輸入/輸出口被設(shè)置為輸出狀態(tài),此時(shí)如果對(duì)輸出口做讀取的操作,則會(huì)讀取到內(nèi)部數(shù)據(jù)寄存器中的鎖存值,而不是輸出引腳實(shí)際的邏輯狀態(tài)。6、輸入/輸出端口直流特性(見下頁(yè))2930測(cè)試條件最小典型最大★時(shí)鐘電路1、指令執(zhí)行過程:首先從程序存儲(chǔ)器中讀出指令,送入指令寄存器保存,然后送到指令譯碼器對(duì)指令進(jìn)行譯碼,譯碼結(jié)果送定時(shí)控制邏輯電路,由定時(shí)控制邏輯電路產(chǎn)生各種定時(shí)信號(hào)和控制信號(hào),再送到單片機(jī)的各個(gè)部件去進(jìn)行相應(yīng)的操作。2、每個(gè)單片機(jī)中一定要有系統(tǒng)時(shí)鐘,由晶體/陶瓷振蕩器或RC振蕩器提供,作為單片機(jī)運(yùn)行時(shí)的時(shí)基,也就是說,振蕩器停止振蕩,單片機(jī)便停止工作。系統(tǒng)時(shí)鐘決定了單片機(jī)的運(yùn)行速度。3、HT46R232有兩種振蕩方式,外部RC振蕩和外部晶體振蕩,可以通過掩膜選項(xiàng)設(shè)定,不管選用哪一種振蕩方式,其信號(hào)都可以做為系統(tǒng)時(shí)鐘。314、選用外部RC振蕩方式,在OSC1與VSS之間需要接一個(gè)外部電阻,其阻值為30kW~750kW;而OSC2上會(huì)輸出帶上拉的系統(tǒng)頻率的4分頻信號(hào),可用于同步外部邏輯。5、選用晶體振蕩方式,在OSC1和OSC2之間需要連接一個(gè)晶體,用來提供晶體振蕩器所需的反饋和相移,除此之外,不再需要其它外部元件。另外,在OSC1和OSC2之間也可使用諧振器來取代晶體振蕩器,但是在OSC1和OSC2需要多連接兩個(gè)電容(如果振蕩頻率小于1MHz)。
3233★復(fù)位電路(上電復(fù)位)1、復(fù)位是對(duì)單片機(jī)的初始化操作,除正常復(fù)位操作外,當(dāng)由于程序運(yùn)行出錯(cuò)或操作失誤造成“死機(jī)”,可復(fù)位使單片機(jī)重新正常運(yùn)行。2、復(fù)位電路3、實(shí)用復(fù)位電路344、復(fù)位對(duì)寄存器的影響35第三講★最小系統(tǒng)框圖1、HT46R2322、時(shí)鐘振蕩電路4MHZ晶振3、基本復(fù)位電路3637★中斷系統(tǒng)1、中斷的概念單片機(jī)在執(zhí)行某一段程序的過程中,由于單片機(jī)系統(tǒng)內(nèi)部或者外部的某種原因,有必要中止原程序的執(zhí)行,而去執(zhí)行相應(yīng)的處理程序,待處理結(jié)束后,再返回來繼續(xù)執(zhí)行原程序的過程。382、中斷處理過程中斷請(qǐng)求、中斷響應(yīng)、中斷處理和中斷返回3、中斷的作用使單片機(jī)對(duì)外部或內(nèi)部隨機(jī)發(fā)生的事件具有實(shí)時(shí)處理的能力。4、HT46R232中斷源一個(gè)外部中斷、兩個(gè)內(nèi)部定時(shí)/計(jì)數(shù)器中斷、一個(gè)A/D轉(zhuǎn)換中斷和一個(gè)I2C總線中斷。(表見下頁(yè))5、HT46R232中斷控制寄存器中斷控制寄存器INTC0和INTC1包含了中斷控制位和中斷請(qǐng)求標(biāo)志,其中中斷控制位用來設(shè)置中斷允許/禁止,中斷請(qǐng)求標(biāo)志表征外部或內(nèi)部中斷發(fā)生。(表見下頁(yè))3940優(yōu)先級(jí)可以人為改變416、HT46R232中斷注意事項(xiàng)①中斷入口地址②只要有中斷子程序被服務(wù),其余的中斷全部都被自動(dòng)禁止(通過清除EMI位),這種做法的目的在于防止中斷嵌套。程序員可以置位EMI、INTC0和INTC1所對(duì)應(yīng)的位,以便進(jìn)行中斷嵌套。③中斷服務(wù)程序的寫法④重要寄存器內(nèi)容的保護(hù)42★定時(shí)/計(jì)數(shù)器1、概述定時(shí)/計(jì)數(shù)器是單片機(jī)的一個(gè)重要組成部分,為設(shè)計(jì)者提供了與時(shí)間有關(guān)的功能的實(shí)現(xiàn)方法。
定時(shí)、計(jì)數(shù)是同一個(gè)部件不同功能的體現(xiàn):定時(shí),是對(duì)單片機(jī)內(nèi)部系統(tǒng)時(shí)鐘作用下產(chǎn)生的固定時(shí)間間隔的脈沖進(jìn)行計(jì)數(shù)來實(shí)現(xiàn)定時(shí);計(jì)數(shù),是對(duì)單片機(jī)外部引腳上觸發(fā)的脈沖進(jìn)行計(jì)數(shù)。2、定時(shí)/計(jì)數(shù)器實(shí)現(xiàn)方法的比較①硬件電路
②軟件延時(shí)③單片機(jī)內(nèi)部提供的可編程定時(shí)/計(jì)數(shù)器433、HT46R232內(nèi)部的定時(shí)/計(jì)數(shù)器
HT46R232有兩個(gè)定時(shí)/計(jì)數(shù)器(TMR0,TMR1)。定時(shí)/計(jì)數(shù)器0是16位向上計(jì)數(shù)的,其時(shí)鐘來源可以是外部信號(hào)輸入或內(nèi)部時(shí)鐘,內(nèi)部時(shí)鐘為fSYS。
定時(shí)/計(jì)數(shù)器1是16位向上計(jì)數(shù)的,其時(shí)鐘來源可以是外部信號(hào)輸入或內(nèi)部時(shí)鐘,內(nèi)部時(shí)鐘為fSYS/4。
外部信號(hào)輸入可以用來計(jì)數(shù)外部事件、測(cè)量時(shí)間間隔、測(cè)量脈沖寬度或產(chǎn)生一個(gè)精確的時(shí)基信號(hào)。
(結(jié)構(gòu)框圖見下頁(yè))44454、相關(guān)寄存器定時(shí)/計(jì)數(shù)器0TMR0H(0CH)、TMR0L(0DH),TMR0C(0EH)功能表見(下頁(yè))定時(shí)/計(jì)數(shù)器1TMR1H(0FH)、TMR1L(10H),TMR1C(11H)功能表見(下頁(yè))4647TMR0C(00-01000)48TMR1C(00-01---)5、工作模式①定時(shí)模式(即普通的定時(shí)器)用來定時(shí)固定的時(shí)間間隔,當(dāng)定時(shí)器溢出時(shí),產(chǎn)生一個(gè)內(nèi)部中斷信號(hào)。
定時(shí)器0:
定時(shí)時(shí)間(T)=(65536-計(jì)數(shù)初值)×預(yù)分頻/fsys
定時(shí)器1:定時(shí)時(shí)間(T)=(65536-計(jì)數(shù)初值)×4/fsysTMR0(1)L=計(jì)數(shù)初值%256,TMR0(1)H=計(jì)數(shù)初值/25649
寫入TMR0L(TMR1L)只能將數(shù)據(jù)寫到低字節(jié)緩沖器(8位),而寫入TMR0H(TMR1H)會(huì)把指定數(shù)據(jù)和低字節(jié)緩沖器的數(shù)據(jù)分別寫到TMR0H(TMR1H)和TMR0L(TMR1L)預(yù)置寄存器中,定時(shí)/計(jì)數(shù)器0/1預(yù)置寄存器的內(nèi)容只有在寫入TMR0H(TMR1H)時(shí)才會(huì)被改變。讀取TMR0H(TMR1H)會(huì)把TMR0H(TMR1)的內(nèi)容送至目標(biāo)單元,而TMR0L(TMR1L)的值被送至低字節(jié)緩沖器中;讀TMR0L(TMR1L)將讀取低字節(jié)緩沖器的值。
無論是定時(shí)模式還是外部事件計(jì)數(shù)模式,一旦開始計(jì)數(shù),定時(shí)/計(jì)數(shù)器會(huì)從寄存器當(dāng)前值向上計(jì)到0FFFFH。一旦發(fā)生溢出,定時(shí)/計(jì)數(shù)器會(huì)從預(yù)置寄存器中重新加載初值,并開始計(jì)數(shù);同時(shí)置位中斷請(qǐng)求標(biāo)志。T0ON/T1ON只能用指令清除。50在定時(shí)/計(jì)數(shù)器停止計(jì)數(shù)時(shí),寫數(shù)據(jù)到定時(shí)/計(jì)數(shù)器的預(yù)置寄存器中,同時(shí)會(huì)將該數(shù)據(jù)寫入到定時(shí)/計(jì)數(shù)器。但如果在定時(shí)/計(jì)數(shù)器運(yùn)行時(shí)這么做,數(shù)據(jù)只能寫入到預(yù)置寄存器中,直到發(fā)生溢出時(shí)才會(huì)將數(shù)據(jù)從預(yù)置寄存器加載到定時(shí)/計(jì)數(shù)器寄存器。
讀取定時(shí)/計(jì)數(shù)器時(shí),計(jì)數(shù)會(huì)被停止,以避免發(fā)生錯(cuò)誤;計(jì)數(shù)停止會(huì)導(dǎo)致計(jì)數(shù)錯(cuò)誤。②外部事件計(jì)數(shù)模式
測(cè)量外部引腳的邏輯電平改變的次數(shù)。③脈沖寬度測(cè)量模式一次測(cè)量一個(gè)外部引腳的脈沖寬度。
51第四講★8通道10位的A/D轉(zhuǎn)換器1、概念
將模擬量轉(zhuǎn)換為數(shù)字量的器件稱為A/D轉(zhuǎn)換器,常用ADC表示。2、轉(zhuǎn)換過程
模擬信號(hào)→采樣保持→量化→編碼
即首先將輸入的模擬電壓信號(hào)按照某一時(shí)間節(jié)拍進(jìn)行采樣,并將采樣結(jié)果進(jìn)行保持,在保持的時(shí)間內(nèi)將采樣的電壓量化為數(shù)字量,并按一定的編碼形式給出轉(zhuǎn)換結(jié)果。
523、A/D轉(zhuǎn)換器分類直接A/D轉(zhuǎn)換器,把輸入的模擬電壓直接轉(zhuǎn)換成輸出的數(shù)字量間接A/D轉(zhuǎn)換器,將輸入的模擬信號(hào)先轉(zhuǎn)換為某種中間量(例如,時(shí)間或頻率),再將中間量轉(zhuǎn)換為數(shù)字量。HOLTEKMCU的A/D轉(zhuǎn)換器采用的是逐次逼近式A/D轉(zhuǎn)換方式。4、主要參數(shù)①分辨率:
輸出數(shù)字量變化一個(gè)相鄰數(shù)碼所需輸入模擬電壓的變化量,定義為滿刻度與2n的比值,通常以輸出數(shù)字信號(hào)的位數(shù)來表示。
表明了A/D轉(zhuǎn)換器對(duì)輸入信號(hào)的分辨能力。
53②量化誤差有限分辨率A/D的階梯狀轉(zhuǎn)移特性曲線與理想無限分辨率A/D的轉(zhuǎn)移特性曲線(直線)之間的最大偏差稱為量化誤差。通常是1個(gè)或半個(gè)最小數(shù)字量的模擬變化量,表示為1LSB,1/2LSB。③轉(zhuǎn)換時(shí)間完成一次從模擬轉(zhuǎn)換到數(shù)字的AD轉(zhuǎn)換所需要的時(shí)間。④量程A/D能夠轉(zhuǎn)換的輸入電壓的范圍。5、A/D的選擇
主要看位數(shù)、精度要求,轉(zhuǎn)換時(shí)間,輸入模擬信號(hào)范圍和極性,以及幾路的,什么輸出等方面綜合考慮。
546、HT46R232的A/D轉(zhuǎn)換器①有8個(gè)通道、10位解析度(9位精度)的A/D轉(zhuǎn)換器,其參考電壓為VDD。②與A/D轉(zhuǎn)換有關(guān)的寄存器ADRL(24H)、ADRH(25H):是A/D轉(zhuǎn)換結(jié)果的高字節(jié)和低字節(jié)寄存器,是只讀寄存器。(表見下頁(yè))ADCR(26H):是A/D轉(zhuǎn)換控制寄存器,用來定義A/D通道數(shù)量、模擬輸入通道選擇、A/D轉(zhuǎn)換開始控制和完成標(biāo)志。(表見下頁(yè))ACSR(27H):是A/D時(shí)鐘控制寄存器,用來選擇A/D的時(shí)鐘來源。(表見下頁(yè))5556思考:怎么計(jì)算轉(zhuǎn)換后電壓值57ADCR上電默認(rèn)值010000005859ACSR上電復(fù)位默認(rèn)值1-----00③直流、交流特性601LSB(最低有效位)所代表電壓值5V/1024=4.88mvA/D轉(zhuǎn)換時(shí)鐘周期最小1us含義?④A/D轉(zhuǎn)換時(shí)序圖
61⑤A/D轉(zhuǎn)換步驟步驟1通過ACSR寄存器中的ADCS1和ADCS0位,選擇所需的A/D轉(zhuǎn)換時(shí)鐘。步驟2通過ADCR寄存器中的ACS2~ACS0位,選擇連接至內(nèi)部A/D轉(zhuǎn)換器的通道。步驟3通過ADCR寄存器中的PCR2~PCR0位,選擇PB端口的A/D輸入引腳,并將它們?cè)O(shè)置為A/D輸入引腳。此步驟也可在第二步寫ADCR寄存器時(shí)完成。步驟462如果要使用中斷,則中斷控制寄存器必須正確地設(shè)置,以確保A/D功能的動(dòng)作。中斷控制寄存器INTC0里總中斷控制位EMI必須置位為“1”,INTC1里A/D轉(zhuǎn)換器的中斷使能位EADI也必須置位為“1”。步驟5通過設(shè)定ADCR寄存器中的START位從“0”到“1”再回到“0”,可以開始模數(shù)轉(zhuǎn)換的過程。該位需初始化為“0”步驟6可以輪詢ADCR寄存器中的EOC位,檢查模數(shù)轉(zhuǎn)換過程是否完成。當(dāng)此位成為邏輯低時(shí),表示轉(zhuǎn)換過程已經(jīng)完成。轉(zhuǎn)換完成后,可讀取A/D數(shù)據(jù)寄存器ADRL和ADRH獲得轉(zhuǎn)換后的值。另一種方法是,若中斷使能且堆棧未滿,則轉(zhuǎn)換完成后,程序會(huì)進(jìn)入A/D中斷服務(wù)子程序。63⑥注意事項(xiàng)為了確保A/D轉(zhuǎn)換順利完成,START位應(yīng)保持為“0”,直到EOC位變?yōu)椤?”(A/D轉(zhuǎn)換完成信號(hào))。
每次改變模擬通道選擇位后都要注意初始化A/D轉(zhuǎn)換器,否則EOC可能處于不確定狀態(tài)。在模擬通道選擇位改變的10個(gè)指令周期內(nèi)將START置1后清0來初始化A/D轉(zhuǎn)換器。模擬通道選擇位都清0,可以不初始化A/D。64第五講★軟件仿真示例LED發(fā)光二極管閃爍
推薦網(wǎng)站:★PWM輸出1、概念脈寬調(diào)制(PWM:(Pulse
Width
Modulation)是利用微處理器的數(shù)字輸出來對(duì)模擬電路進(jìn)行控制的一種非常有效的技術(shù),廣泛應(yīng)用在從測(cè)量、通信到功率控制與變換的許多領(lǐng)域中。簡(jiǎn)而言之,PWM是一種對(duì)模擬信號(hào)電平進(jìn)行數(shù)字編碼的
65的方法。通過高分辨率計(jì)數(shù)器的使用,方波的占空比被調(diào)制用來對(duì)一個(gè)具體模擬信號(hào)的電平進(jìn)行編碼。PWM信號(hào)仍然是數(shù)字的,因?yàn)樵诮o定的任何時(shí)刻,滿幅值的直流供電要么完全有(ON),要么完全無(OFF)。電壓或電流源是以一種通(ON)或斷(OFF)的重復(fù)脈沖序列被加到模擬負(fù)載上去的。通的時(shí)候即是直流供電被加到負(fù)載上的時(shí)候,斷的時(shí)候即是供電被斷開的時(shí)候。只要帶寬足夠,任何模擬值都可以使用PWM進(jìn)行編碼。
PWM的一個(gè)優(yōu)點(diǎn)是從處理器到被控系統(tǒng)信號(hào)都是數(shù)字形式的,無需進(jìn)行數(shù)模轉(zhuǎn)換。讓信號(hào)保持為數(shù)字形式可將噪聲影響降到最小。噪聲只有在強(qiáng)到足以將邏輯1改變?yōu)檫壿?或?qū)⑦壿?改變?yōu)檫壿?時(shí),也才能對(duì)數(shù)字信號(hào)產(chǎn)生影響。2、主要參數(shù)
66頻率占空比(分辨率)3、主要應(yīng)用
調(diào)速,調(diào)光,模擬DA4、HT46R232的PWM輸出HT46R232(28腳封裝)有2個(gè)通道(6+2)/(7+1)位的PWM輸出(由掩膜選項(xiàng)決定),與PD0/PD1共用引腳。PWM計(jì)數(shù)器的時(shí)鐘來源為系統(tǒng)時(shí)鐘(fSYS),由數(shù)據(jù)寄存器PWM0(1AH)、PWM1(1BH)來控制輸出。。一旦PD0/PD1選擇為PWM輸出,并且PD0/PD1為輸出模式(PDC.0/PDC.1=“0”),則向PD0/PD1寄存器寫“1”能夠產(chǎn)生PWM輸出,向PD0/PD1寄存器寫“0”會(huì)使PD0輸出保持為“0”。
67(6+2)位PWM模式舉例:PWM寄存器組成
每個(gè)調(diào)制周期占空比示意圖見下表68PWM7~PWM2PWM1~PWM0DCAC69PWM的調(diào)制頻率、周期頻率和占空比的關(guān)系總結(jié)如下:★PFD輸出1、概念PFD,可編程分頻器,可用于發(fā)聲。702、HT46R232的PFD功能PFD輸出引腳與PA3引腳共用。此功能通過配置選項(xiàng)選擇。PFD電路使用定時(shí)器溢出信號(hào)作為它的時(shí)鐘源,在配置選項(xiàng)中可設(shè)置定時(shí)器0或定時(shí)器1。定時(shí)器計(jì)數(shù)值滿而產(chǎn)生溢出信號(hào),導(dǎo)致PFD輸出改變狀態(tài)。定時(shí)器將自動(dòng)地重新載入預(yù)置寄存器的值,并繼續(xù)向上計(jì)數(shù)。要使PFD正確運(yùn)作,必須將PA控制寄存器PAC的第3位設(shè)置為輸出。如果把它設(shè)置為輸入,則PFD輸出不工作,該引腳仍是作為普通的輸入引腳使用。只有把PA3位置“1”,PFD輸出引腳才會(huì)有輸出。這個(gè)輸出數(shù)據(jù)位被用作PFD輸出的開/關(guān)控制。注意,如果PA3輸出數(shù)據(jù)位被清為“0”PFD輸出將為低電平。71PFD輸出波形示意圖72舉例發(fā)聲:C調(diào)1523HZ怎么產(chǎn)生?73★盛群C語(yǔ)言程序?qū)嵗?include"HT46R232.h”typedefunsignedcharuchar;typedefunsignedintuint;voidinit()//初始化操作{
。。。}voiddelayms(uintxms)//延時(shí)子程序{
。。。}74第六講voidmain(){init();while(1){
。。。delayms(500);
。。。}}
75★盛群C語(yǔ)言的數(shù)據(jù)類型、存儲(chǔ)類別與修飾詞、常量1、變量的數(shù)據(jù)類型(見下表)2、變量的范圍局部變量:
定義在函數(shù)內(nèi)部的變量都是局部變量,只有當(dāng)函數(shù)被執(zhí)行時(shí),局部變量才有效,當(dāng)執(zhí)行完畢并離開此函數(shù)后,局部變量將無效。注:定義在函數(shù)中static變量是全局變量。全局變量:定義在函數(shù)之外的變量是全局變量,當(dāng)函數(shù)在執(zhí)行時(shí),變量都有效,任何函數(shù)都可以讀取或修改這個(gè)變量。注:全局變量宣告時(shí)不可以同時(shí)設(shè)定初始值。76773、存儲(chǔ)類別與修飾詞
變量宣告或定義時(shí)必須指定其數(shù)據(jù)類型,但是存儲(chǔ)類別與修飾詞是可選擇的,可根據(jù)應(yīng)用時(shí)的實(shí)際需要去選擇。78auto:定義局部變量使用的,沒有指定存儲(chǔ)類別的局部變量都是auto。局部變量是存放在RAMbank0的空間。Register:目前并未實(shí)做此功能。Static:static的變量會(huì)一直有效到整個(gè)函數(shù)結(jié)束后才失效,但必須要在它所定義的函數(shù)中才可以讀寫。Extern:通知c編譯器此變量是定義在其他的函數(shù)中的。注:程序的開發(fā)中,extern用的較多,其它三種不具特別優(yōu)勢(shì),建議不要使用。Const:C編譯器會(huì)將const的變量存放在程序存儲(chǔ)器中,在定義const變量時(shí),必須要設(shè)定初始值,并且函數(shù)在執(zhí)行中不能修改此變量的值。Co
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程設(shè)計(jì)合同合同
- 南海水投格式合同8篇
- 項(xiàng)目策劃與實(shí)施流程詳解文檔
- 2025個(gè)人數(shù)據(jù)隱私保護(hù)管理規(guī)范
- 2025年商洛貨運(yùn)資格證模擬考試新題庫(kù)
- 養(yǎng)馬場(chǎng)青貯采購(gòu)合同
- 環(huán)保產(chǎn)業(yè)污染防治措施方案
- 工程制圖與繪圖作業(yè)指導(dǎo)書
- 2025年安徽貨運(yùn)從業(yè)資格證考試題目及答案解析
- 《數(shù)據(jù)可視化技術(shù)應(yīng)用》4.1 理解數(shù)據(jù)分析報(bào)告要點(diǎn)- 教案
- 駐場(chǎng)人員服務(wù)方案
- 《老年日常生活照料》課件-協(xié)助老年人進(jìn)食進(jìn)水
- (高清版)DZT 0130.6-2006 地質(zhì)礦產(chǎn)實(shí)驗(yàn)室測(cè)試質(zhì)量管理規(guī)范 第6部分:水樣分析
- 消防安全評(píng)估消防安全評(píng)估方案
- 醫(yī)療行業(yè)的病人隱私保護(hù)培訓(xùn)
- 第1課 精美絕倫的傳統(tǒng)工藝 課件 2023-2024學(xué)年贛美版初中美術(shù)八年級(jí)下冊(cè)
- 《讓我們的家更美好》教學(xué)設(shè)計(jì)
- 自抗擾控制器及其應(yīng)用
- 熱工與流體力學(xué)基礎(chǔ)課件
- 《防毒面具的使用》課件
- 《金融風(fēng)險(xiǎn)管理》 課程標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論