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

正文內(nèi)容

基于msp430f149和ds1302的12864時(shí)鐘設(shè)計(jì)-文庫(kù)吧

2024-09-30 15:25 本頁(yè)面


【正文】 性能、低功耗的實(shí)時(shí)時(shí)鐘芯片,附加 31 字節(jié)靜態(tài) RAM,采用 SPI 三線接口與 CPU 進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)和 RAM 數(shù)據(jù)。實(shí)時(shí)時(shí)鐘可提供秒、分、時(shí)、日、星期、月和年,一個(gè)月小與 31天時(shí)可以自動(dòng)調(diào)整,且具有閏年補(bǔ)償功能。工作電壓寬達(dá) ~ 。采用雙電源供電(主電源和備用電源),可設(shè)置備用電源充電方式,提 供了對(duì)后背電源進(jìn)行涓細(xì)電流充電的能力。DS1302 的外部引腳分配如圖 1 所示及內(nèi)部結(jié)構(gòu)如圖 2 所示。 DS1302 用于數(shù)據(jù)記錄,特別是對(duì)某些具有特殊意義的數(shù)據(jù)點(diǎn)的記錄上,能實(shí)現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時(shí)間同時(shí)記錄,因此廣泛應(yīng)用于測(cè)量系統(tǒng)中。 圖 1 DS1302 的外部引腳分配 圖 2 DS1302 的內(nèi)部結(jié)構(gòu) 各引腳的功能為: Vcc1:主電源; Vcc2:備份電源。當(dāng) Vcc2Vcc1+ 時(shí),由 Vcc2 向 DS1302 供電,當(dāng) Vcc2 Vcc1 時(shí),由 Vcc1 向 DS1302 供電。 SCLK:串行時(shí)鐘,輸入,控制 數(shù)據(jù)的輸入與輸出; I/O:三線接口時(shí)的雙向數(shù)據(jù)線; CE:輸入信號(hào),在讀、寫數(shù)據(jù)期間,必須為高。該引腳有兩個(gè)功能:第一, CE 開(kāi)始控制字訪問(wèn)移位寄存器的控制邏輯;其次, CE 提供結(jié)束單字節(jié)或多字節(jié)數(shù)據(jù)傳輸?shù)姆椒ā? DS1302 有下列幾組寄存器: DS1302①有關(guān)日歷、時(shí)間的寄存器共有 12 個(gè),其中有 7 個(gè)寄存器(讀時(shí) 81h~ 8Dh,寫時(shí)80h~ 8Ch),存放的數(shù)據(jù)格式為 BCD 碼形式,如圖 3 所示。 圖 3 DS1302 有關(guān)日歷、時(shí)間的寄存器 小時(shí)寄存器( 85h、 84h)的位 7 用于定義 DS1302 是運(yùn) 行于 12 小時(shí)模式還是 24 小時(shí)模式。當(dāng)為高時(shí),選擇 12 小時(shí)模式。在 12 小時(shí)模式時(shí),位 5 是,當(dāng)為 1 時(shí),表示 PM。在 24 小時(shí)模式時(shí),位 5 是第二個(gè) 10 小時(shí)位。 秒寄存器( 81h、 80h)的位 7 定義為時(shí)鐘暫停標(biāo)志( CH)。當(dāng)該位置為 1 時(shí),時(shí)鐘振蕩器停止, DS1302 處于低功耗狀態(tài);當(dāng)該位置為 0 時(shí),時(shí)鐘開(kāi)始運(yùn)行。 控制寄存器( 8Fh、 8Eh)的位 7 是寫保護(hù)位( WP),其它 7 位均置為 0。在任何的對(duì)時(shí)鐘和RAM 的寫操作之前, WP 位必須為 0。當(dāng) WP 位為 1 時(shí),寫保護(hù)位防止對(duì)任一寄存器的寫操作。 DS1302②有關(guān) RAM 的地址 DS1302 中附加 31 字節(jié)靜態(tài) RAM 的地址如圖 4 所示。 圖 4 DS1302③的工作模式寄存器 所謂突發(fā)模式是指一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)和 RAM 數(shù)據(jù)。突發(fā)模式寄存器如圖 5 所示。 圖 5 ④此外, DS1302 還有充電寄存器等。 2 讀寫時(shí)序說(shuō)明 DS1302 是 SPI 總線驅(qū)動(dòng)方式。它不僅要向寄存器寫入控制字,還需要讀取相應(yīng)寄存器的數(shù)據(jù)。 要想與 DS1302 通信,首先要先了解 DS1302 的控制字。 DS1302 的控制字如圖 6。 圖 6 控制字(即地址及命令字節(jié)) 控制字的最高有效位(位 7)必須是邏輯 1,如果它為 0,則不能把數(shù)據(jù)寫入到 DS1302 中。 位 6:如果為 0,則表示存取日歷時(shí)鐘數(shù)據(jù),為 1 表示存取 RAM 數(shù)據(jù); 位 5 至位 1( A4~ A0):指示操作單元的地址; 位 0(最低有效位):如為 0,表示要進(jìn)行寫操作,為 1 表示進(jìn)行讀操作。 控制字總是從最低位開(kāi)始輸出。在控制字指令輸入后的下一個(gè) SCLK 時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入 DS1302,數(shù)據(jù)輸入從最低位( 0 位)開(kāi)始。同樣,在緊跟 8 位的控制字指令后的下一個(gè) SCLK 脈沖的下降沿,讀出 DS1302 的數(shù)據(jù),讀出的數(shù)據(jù)也是從最低位到最高位。數(shù)據(jù) 讀 寫 時(shí) 序 如 圖 7 。 圖 7 數(shù)據(jù)讀寫時(shí)序 具體操作見(jiàn)驅(qū)動(dòng)程序。 3 電路原理圖 : 電路原理圖如圖 8, DS1302 與單片機(jī)的連接也僅需要 3 條線: CE 引腳、 SCLK 串行時(shí)鐘引腳、 I/O 串行數(shù)據(jù)引腳, Vcc2 為備用電源,外接 晶振,為芯片提供計(jì)時(shí)脈沖。 DS1302 采用串行數(shù)據(jù)傳輸, SCLK 控制線、 IO 口線、 REST 口線分別與 P6 P6 P67 相連接。 五、一體化紅外接收頭 1838 紅外線遙控是目前使用比較廣泛的一種通信和遙控手段。由于紅外線遙控裝置具有體積 小、功耗低、功能強(qiáng)、成本低等特點(diǎn),因而, 繼彩電、錄像機(jī)之后,在錄音機(jī)、音響設(shè)備、 空凋機(jī)以及玩具等其它小型電器裝置上也紛紛采用紅外線遙控。工業(yè)設(shè)備中,在高壓、輻射、 有毒氣體、粉塵等環(huán)境下,采用紅外線遙控不僅完全可靠而且能有效地隔離電氣干擾。 DM430A 單片機(jī)開(kāi)發(fā)板提供一體化紅外接收頭接口,如果用戶購(gòu)買的套餐包含紅外一 體化接收頭,用戶可以使用電視遙控器或者音箱等遙控器與單片機(jī)通信,可以對(duì)遙控器或其 他紅外設(shè)備解碼。下圖 為紅外接收頭硬件連接原理圖。其中 1 腳 KEY3 連接到 P13 口,為紅外數(shù)據(jù)通道, 2 腳和 3 腳分別接 GND 和 VCC,該型接收頭支持 ~ 5V 供電,硬件連接非常簡(jiǎn)單。 通用紅外遙控系統(tǒng)由發(fā)射和接收兩大部分組成,應(yīng)用編 /解碼專用集成電路芯片來(lái)進(jìn)行控制操作,如下所示: (一)發(fā)射部分 鍵盤矩陣、編碼調(diào)制、 LED 紅外發(fā)送器 鍵盤 編碼調(diào)制 紅外 LED 發(fā)射( 38KHz 的載波) (二)接收部分 研究中應(yīng)用 VS0038 一體化紅外接收頭 (實(shí)物圖如下:) 紅外接收頭 VS0038 能夠正常接收的角度 2 遙控發(fā)射器及其編碼 ( 1)遙控發(fā)射器專用芯片很多 ( 2)根據(jù)編碼格 式可以分成:脈沖寬度調(diào)制和脈沖相位調(diào)制兩大類 現(xiàn)在我們研究以運(yùn)用比較廣泛,解碼比較容易實(shí)現(xiàn)的脈沖寬度調(diào)制來(lái)加以說(shuō)明。當(dāng)發(fā)射器按鍵按下后,即有遙控碼發(fā)出,所按的鍵不同遙控編碼也不同。這種遙控碼具有以下特征: ( a) 采用脈寬調(diào)制的串行碼 ( b) 以脈寬為 、間隔 、周期為 的組合表示二進(jìn)制的“ 0” ( c) 以脈寬為 、間隔 、周期為 的組合表示二進(jìn)制的“ 1” 遙控器發(fā)出由“ 0”和“ 1”組成的 32 位二進(jìn)制碼,經(jīng) 38kHz 的載頻進(jìn)行二次調(diào)制以提高發(fā)射效率,達(dá)到降低電 源功耗的目的。然后再通過(guò)紅外發(fā)射二極管產(chǎn)生紅外線向空間發(fā)射 ,其中前 16 位為用戶識(shí)別碼,能區(qū)別不同的紅外遙控設(shè)備,防止不同機(jī)種遙控碼互相干擾。后 16 位為 8 位的操作碼和 8 位的操作反碼用于核對(duì)數(shù)據(jù)是否接收正確。 (其中的地址碼為用戶識(shí)別碼,它又分為用戶碼與用戶反碼) 當(dāng)遙控器上任意一個(gè)按鍵按下超過(guò) 36ms 時(shí), LC7461 芯片的振蕩器使芯片激活,將發(fā)射一個(gè)特定的同步碼頭,對(duì)于接收端而言就是一個(gè) 9ms 的低電平 ,和一個(gè) 的高電平,這個(gè)同步碼頭可以使程序知道從這個(gè)同步碼頭以后可以開(kāi)始接收數(shù)據(jù)。 解碼的 關(guān)鍵是如何識(shí)別“ 0”和“ 1”,從位的定義我們可以發(fā)現(xiàn)“ 0”、“ 1”均以 的低電平開(kāi)始,不同的是高電平的寬度不同,“ 0”為 ,“ 1”為 ,所以必須根據(jù)高電平的寬度區(qū)別“ 0”和“ 1”。如果從 低電平過(guò)后,開(kāi)始延時(shí), 以后,若讀到的電平為低,說(shuō)明該位為“ 0”,反之則為“ 1”,為了可靠起見(jiàn),延時(shí)必須比 長(zhǎng)些,但又不能超過(guò) ,否則如果該位為“ 0”,讀到的已是下一位的高電平,因此取( +) /2= 最為可靠,一般取 左右即可。 根據(jù)紅外編碼的格式,程序應(yīng)該等待 9ms 的起始碼和 的結(jié)果碼完成后才能讀碼。 接收器及解碼 光 /電放大 解調(diào) 52 單片機(jī)解碼 VS0038 是塑封一體化紅外線接收器,它是一種集紅外線接收、放大、整形于一體的集成電路,不需要任何外接元件,就能完成從紅外線接收到輸出與 TTL 電平信號(hào)兼容的所有工作,沒(méi)有紅外遙控信號(hào)時(shí)為高電平,收到紅外信號(hào)時(shí)為低電平,而體積和普通的塑封三極管大小一樣,它適合于各種紅外線遙控和紅外線數(shù)據(jù)傳輸。 測(cè)試時(shí)用的遙控器 測(cè)試效果: ( 1) ( 2) 程序如下 : 文件一 include include include include include include include include include void main(void) { unsigned char i。 WDTCTL=WDT_ADLY_//定時(shí)器模式, 250ms 中斷一次 IE1|=WDTIE。 BCSCTL1amp。=~XT2OFF。 //打開(kāi) XT2 振蕩器 BCSCTL2|=SELM1。 //MCLK 為 8MHZ, SMCLK 時(shí)鐘源選擇 DCO 800khz do{ IFG1amp。=~OFIFG。 //清楚振蕩器錯(cuò)誤標(biāo)志 for(i=0。i100。i++) _NOP()。 } while((IFG1amp。OFIFG)!=0)。 //如果標(biāo)志位 1,則繼續(xù)循環(huán)等待 IFG1amp。=~OFIFG。 Close_LED()。//關(guān)數(shù)碼管 delay_ms(5)。 P5DIR|=BIT7+BIT6+BIT5+BIT0+BIT1。//將液晶相關(guān)控制位設(shè)為輸出 LCDDATOUT。//液晶數(shù)據(jù)口設(shè)置輸出 P4OUT=0xff。//初始化液晶數(shù)據(jù)口為高電平 LCD_INIT()。//初始化液晶 delay_ms(500)。 P1DIR=0xf7。//鍵盤端口初始化 P1OUT=0xFF。 P1IE|=BIT3。//允許中斷 P1IES=0xff。//下降沿中斷 P2DIR=0xff。 P2OUT=0xff。 /********初始化 flash********/ FCTL2=FWKEY+FSSEL1+FN0。 /********初始化定時(shí)器 *********/ TACTL|=TASSEL_1+MC_2+TACLR。 TACCR0=1。 TACCR1=2048。 wellplay()。//顯示歡迎畫面 read_segA()。 //讀取 flash 鬧鐘數(shù)據(jù) LCD_CLEAR()。//清屏 DS1302_INIT()。//初始化 DS1302 GET_TIME()。//讀取一次時(shí)間 lunar_calendar()。//進(jìn)行一次陰歷的轉(zhuǎn)換 display()。 //顯示時(shí)間畫面 DS_INIT()。 //初始化 18B20 DS_write(0xcc)。 //跳過(guò) ROM 指令 DS_write(0x44)。//啟動(dòng)轉(zhuǎn)換 _BIS_SR(GIE)。//開(kāi)總中斷 while(1) { _BIS_SR(LPM2_bits)。//進(jìn)入低功耗 if(keydownflag)//如果有按鍵按下,進(jìn)入鍵值分析處理函數(shù) { keydownflag=0。//清除標(biāo)志 keyvalue_const()。//鍵值分析處理 } if(flagamp。amp。(setflag==0))//1s 刷新一次數(shù)據(jù) { flag=0。 GET_TIME()。//讀取時(shí)間 temperature=GET_TEMP()。//獲取溫度 display()。 //刷新屏幕 } switch(setflag)//根據(jù)狀態(tài)標(biāo)志的值顯示相應(yīng)的畫面 { case 1:play_menu_1()。IE1amp。=~WDTIE。 _EINT()。break。//主菜單(一) case 2:play_menu_2()。IE1amp。=~WDTIE。 _EINT()。break。//主菜單(二) case 3:play_menu_1_0()。lastplay=1。IE1amp。=~WDTIE。 _EINT()。break。//時(shí)間設(shè)置畫面 case 4:play_menu_2_0()。lastplay=1。IE1amp。=~WDTIE。 _EINT()。break。//鬧鐘設(shè)置畫面 default :break。 } } } pragma vector=WDT_VECTOR __interrupt void wdt_time(void) { temp=second。 second=READ_DS1302(READ_SECOND)。 if(second!=te
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1