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

正文內(nèi)容

基于msp430單片機(jī)的信號發(fā)生器畢業(yè)設(shè)計(更新版)

2025-01-14 00:24上一頁面

下一頁面
  

【正文】 ng(8,1,strv[v])。 WR_L。 i++。 i = 0。 case 4:CCR0 = 2020。 if(v == 2) a = 1。 36 v = 0。 } if(f == 4) f=0。 switch(f) { case 1:CCR0 = 1000。 i。= ~BIT0。 lcdwritecmd(0x01)。 } if(num == 4) 34 { f = 0。 disstring(8,1,strv[v])。 disstring(2,1,strf[f])。 flag1 = 1。 lcd_init()。 P1DIR = 0xff。 } } } void lcd_init (void) /*液晶初始化 */ { DATADIR = 0xff。 while(*ptr++ != 39。 if(y) temp1 |= 0x40。 _NOP()。 CLR_EN。 CLR_RS。 uchar* strf[] ={10HZ ,20HZ ,30HZ ,50HZ}。 Software, 2020, 84(10):16931707. [16] TarzanLorente M, Ceravalls J, Bosch J, etal. Electronic System for Controlling the Food Cooking Process[J]. Procedia Chemistry, 2020, 1(1):489492. 29 附錄 A:硬件原理圖 30 附錄 B:仿真調(diào)試程序 include define CS_L P5OUT amp。 當(dāng)然在設(shè)計中也遇到許多問題比如方波的波形出現(xiàn)失真,這主要是因為方波是從 D/A 輸出的波形信號,由于方波的電平變化劇烈,內(nèi)部電容充放電明顯從而影響了輸出信號波形。信號發(fā)生器仿真原理圖如圖 411所示。這款開發(fā)工具適用于許多 8 位、 16 位和 32 位的MCU,本次用到的 MSP430 單片機(jī)屬于 16位的單片機(jī),因此同樣也適用。數(shù)模轉(zhuǎn)換DAC5571 波形發(fā)生電路如圖 44 所示。有上電自動復(fù)位,手動復(fù)位和外部脈沖復(fù)位 3種復(fù)位方式。 MSP430F149 有一種活動模式和 5 種低功耗模式,主要通過狀態(tài)寄存器中的CPUOFF、 OSCOFF、 SCG0、 SCG1 來設(shè)置的 [2]。 6 E 下降沿使能 端 713 D0D6 雙向數(shù)據(jù) 線 14 D7 置 1 表明液晶處于忙狀態(tài) 15 BLA 背光電源正極 16 BLK 背光電源負(fù)極 LCD1602 顯示控制表 表 32 基本操作時序 讀狀態(tài) 輸入: RS=L,RW=H,E=H 輸出: D0D7=狀態(tài)字 讀數(shù)據(jù) 輸入: RS=H,RW=H,E=H 輸出: D0D7=數(shù)據(jù) 寫指令 輸入: RS=L,RW=L,E=高脈沖, D0D7=指令碼 輸出:無 寫數(shù)據(jù) 輸入: RS=H,RW=L,E=高脈沖, D0D7=數(shù)據(jù) 輸出:無 7 表 33 RAM 地址映射圖 表 34 指令說明 表 35 LCD1602 控制指令集 8 DAC5571 芯片 DAC5571 引腳圖 圖 33 DAC5571 引腳圖 表 36 DAC5571 的引腳功能說明 DAC5571 工作原理 DAC5571 芯片采用 I2C協(xié)議的半雙工串行通信方式,空閑時通過上拉電阻 SDA 和SCK 線置 1。例如要實現(xiàn)較低功率消耗則選擇低速的晶體;如果要滿足系統(tǒng)的運(yùn)算速度需要選用高速的晶體產(chǎn)生的時鐘;對系統(tǒng)實時的操作要求高時,應(yīng)該選用 ACLK時鐘。當(dāng)出現(xiàn)外部中斷時系統(tǒng)能從低功率消耗模式中蘇醒,從而去執(zhí)行規(guī)定的操作。如果要改變頻率,只需要重新設(shè)置定時器 A的記數(shù)周期值就可以,要改變幅值的話,只需要將送入數(shù)模轉(zhuǎn)換 (D/A)芯片的數(shù)值乘以一定的比例系數(shù)(不大于 1)就可以。 設(shè)計方案的比較 方案一:優(yōu)點(diǎn)是工作原理相對簡單,抗干擾性好,不用使用集成芯片。 設(shè)計方案的提出 方案一: 主要 采用 運(yùn)算放大器加 上 分立元件來實現(xiàn)。 以 單片機(jī)為 控制 核心, 加上 鍵盤 掃描 、 1602 液晶顯示 、數(shù)模轉(zhuǎn)換( D/A) 等電路,可以 設(shè)計出 功能 多樣化 、性能 卓越 的 信號 發(fā)生器,同時 該信號 發(fā)生器 還可以 采用 USB 接口設(shè)計, 從而 使 其 具有遠(yuǎn)程通信 的 功能。信號發(fā)生器在許多方面發(fā)揮著重要的作用。所以, 目前 信號發(fā)生器的 發(fā)展 趨勢是 朝著 頻率 調(diào)節(jié)范圍寬 、 功率消耗低 、 調(diào)節(jié) 頻率精度 要求高 、 實現(xiàn) 功能 多樣化 、自動 控制程度高 和智能 控制好 方向發(fā)展。 例如 采用 555 振蕩電路 產(chǎn)生 正弦波、方波 等。缺點(diǎn)是頻率精度不高,方波通過 D/A 輸出后有輕微失真現(xiàn)象,波形發(fā)生程序復(fù)雜。 MSP430F149 單片機(jī)含有一個 16位的算術(shù)邏輯單元( ALU)、一個指令控制操作單元,其中 4 個特殊的功能寄存器分別是程序計數(shù)器( PC)、堆棧指針( SP)、狀態(tài)寄存器和常數(shù)發(fā)生器 [2]。 5 片內(nèi)資源豐富 MSP430 系列單片機(jī) 內(nèi)部都含有豐富的功能模塊可以實現(xiàn)好多應(yīng)用,主要有 看門狗 ( WDT) 、定時器 A、比較器、 ADC 模塊、 USART 模塊、 FLASH 模塊、基礎(chǔ)時鐘、 I/O端口等若干外圍模塊 。 MSP430F149 單片機(jī)的應(yīng)用 MSP430F149 單片機(jī)具有超低功耗、 16 位指令,內(nèi)置 A/D 轉(zhuǎn)換器、 USART 模塊、硬件乘法器、 LCD 液晶驅(qū)動電路及抗干擾能力強(qiáng)、運(yùn)算速度快等技術(shù)特點(diǎn),因此, 特別適合應(yīng)用在智能儀表、智能化家用電器、工業(yè)控制、計算機(jī)網(wǎng)絡(luò)和醫(yī)用設(shè)備領(lǐng)域等產(chǎn)品之中。 DAC5571 數(shù)模轉(zhuǎn)換芯片可以通過設(shè)置運(yùn)放外接不同的電阻 從而實現(xiàn)輸出電壓幅值的調(diào)節(jié)。要實現(xiàn)不同頻率的波形輸出只需要改變 CCR0 寄存器里面的數(shù)值就可以實現(xiàn)。 MSP430F149 復(fù)位電路如圖 42 所示。 14 圖 47 正弦波產(chǎn)生程序流程圖 方波程序流程圖 方波信號是通過 MSP430F149內(nèi)部定時器 A每次中斷到來時,進(jìn)入中斷服務(wù)程序,前 128 次中斷時將 0xff 乘以一定系數(shù)(不大于 1)送 DAC 數(shù)模轉(zhuǎn)換芯片輸出,后 128次中斷時將 0 送 DAC 數(shù)模轉(zhuǎn)換芯片輸出,然后中斷次數(shù)清零,如此循環(huán)如圖 47所示。盡管 C 語言沒有匯編的高效率,但是現(xiàn)在很多編譯器都對 C 語言進(jìn)行優(yōu)化,而且單片機(jī)的時鐘頻率也很高所以效率方面已經(jīng)不是問題了,另外 C 語言開發(fā)相當(dāng)簡單,而且比較 方便實現(xiàn)移植。由于只是軟件仿真,所以波形的頻率和幅值參數(shù)其實只作為參考,用來觀察模擬該功能的。軟件仿真只能模擬大概功能,好多具體實際參數(shù)需要硬件調(diào)試去修改。= ~BIT3 define SET_RS P6OUT |= BIT3 define CLR_RW P6OUT amp。 /*液晶顯示模塊功能定義 */ void delay1(void) /*長延時 */ { 31 uint i。 _NOP()。 _NOP()。 } void lcddisxy(uchar x,uchar y) /*顯示坐標(biāo) */ { uchar temp1。 } void dischar(uchar x,uchar y,uchar chardata) /*指定坐標(biāo)寫字符 */ { lcddisxy(x,y)。 for(a=0。 lcdwritecmd(0x08)。/*關(guān)閉看門狗 */ P4DIR = 0xff。 disstring(2,0,xuanzeboxing)。 if(num ==1) { f = 0。 v = 0。 i = 255。 CCR0 = 2020。 flag1 = 0。 i++。 i++。 break。 if(P3IN == 0x2c) { while(P3IN != 0x3c)
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1