【文章內(nèi)容簡(jiǎn)介】
時(shí)鐘開(kāi)始運(yùn)行??刂萍拇嫫鳎?Fh、8Eh)的位7是寫(xiě)保護(hù)位(WP),其它7位均置為0。在任何的對(duì)時(shí)鐘和RAM的寫(xiě)操作之前,WP位必須為0。當(dāng)WP位為1時(shí),寫(xiě)保護(hù)位防止對(duì)任一寄存器的寫(xiě)操作。(2)DS1302 有關(guān) RAM 的地址。 DS1302中附加31字節(jié)靜態(tài) RAM 的地址讀地址 寫(xiě)地址 數(shù)據(jù)范圍C1H C0H 00FFHC3H C2H 00FFHCH5 C4H 00FFH.........FDH FCH 00FFH(3)DS1302 的工作模式寄存器,所謂突發(fā)模式是指一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)和RAM數(shù)據(jù)。 DS1302的工作模式寄存器工作模式寄存器 讀寄存器 寫(xiě)寄存器時(shí)鐘突發(fā)模式寄存器 CLOCK BURST BFH BEHRAM 突發(fā)模式寄存器 RAM BURST FFH FEH 讀寫(xiě)時(shí)序說(shuō)明: 控制字(即地址及命令字節(jié))7 6 5 4 3 2 1 0RAM RD1 CWA4 A3 A2 A1 A0 WR控制字的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫(xiě)入到DS1302中。如果位6為0,表示存取日歷時(shí)鐘數(shù)據(jù),為1則表示存取RAM數(shù)據(jù);位5至位1(A4~A0)為指示操作單元的地址;如果位0(最低有效位)為0,表示要進(jìn)行寫(xiě)湖南工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)8操作,為1則表示進(jìn)行讀操作??刂谱挚偸菑淖畹臀婚_(kāi)始輸出。在控制字指令輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫(xiě)入DS1302,數(shù)據(jù)輸入從最低位(0位)到最高位。同樣,在緊跟8位的控制字指令后的下一個(gè)SCLK脈沖的下降沿時(shí),讀出DS1302的數(shù)據(jù),讀出的數(shù)據(jù)也是從最低位到最高位。 電路連線圖,DS1302與DSP芯片的連接也僅需要3條線:CE引腳、SCLK 串行時(shí)鐘引腳、 I/O串行數(shù)據(jù)引腳,Vcc2為備用電源,為芯片提供計(jì)時(shí)脈沖。 電路連線圖 I2C 儲(chǔ)存芯片 芯片介紹24C02是一種串行E2PROM ,是基于I2CBUS 的存儲(chǔ)器件,遵循二線制協(xié)議,由于其具有接口方便,體積小,數(shù)據(jù)掉電不丟失等特點(diǎn),在儀器儀表及工業(yè)自動(dòng)化控制領(lǐng)域中得到大量的應(yīng)用。圖 24C02 引腳圖 I2C 總線協(xié)議 只有在總線空閑時(shí)才允許啟動(dòng)數(shù)據(jù)傳送,在數(shù)據(jù)傳送過(guò)程中,當(dāng)時(shí)鐘線為高電平湖南工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)9時(shí),數(shù)據(jù)線必須保持穩(wěn)定狀態(tài),不允許有跳變,此時(shí)數(shù)據(jù)線的任何電平變化將被看作總線的起始或停止信號(hào)。(1)起始信號(hào):時(shí)鐘線保持高電平期間,數(shù)據(jù)線電平從高到低的跳變作為總線的起始信號(hào)。(2)停止信號(hào):時(shí)鐘線保持高電平期間,數(shù)據(jù)線電平從低到高的跳變作為總線的停止信號(hào)。表 從器件地址位24C02 1 0 1 0 A2 A1 A0 WR/ 74LS138 譯碼芯片,其引腳功能如下:A、B、C :譯碼地址輸入端;E1:選通端;EE3:選通端(低電平有效);Y0~Y7:譯碼輸出端(低電平有效)。 74LS138引腳圖當(dāng)一個(gè)選通端(E1)為高電平,另兩個(gè)選通端(E2)和(E3)為低電平時(shí),可將地址端(A、B、C )的二進(jìn)制編碼在一個(gè)對(duì)應(yīng)的輸出端以低電平譯出。其真值表如表。 74LS138真值表輸入使能端 譯碼地址輸入端 輸出E1 E2+E3 C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7X H X X X H H H H H H H HL X X X X H H H H H H H HH L L L L L H H H H H H HH L L L H H L H H H H H HH L L H L H H L H H H H HH L L H H H H H L H H H HH L H L L H H H H L H H HH L H L H H H H H H L H H湖南工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)10H L H H L H H H H H H L HH L H H H H H H H H H H L 本章小結(jié)本 章 主 要 介 紹 了 TMS320LF2407A芯 片 、 顯 示 器 、 鍵 盤(pán) 、 實(shí) 時(shí) 時(shí) 鐘 芯 片 、 I2C儲(chǔ) 存 芯 片 、 譯 碼 芯 片 等 硬 件 的 功 能 。湖南工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)11第 3 章 硬件設(shè)計(jì)本章設(shè)計(jì)的電子日歷能準(zhǔn)確地顯示日歷數(shù)據(jù),能夠調(diào)整時(shí)間,還能設(shè)定音樂(lè)鬧鐘等。 TMS320LF2407A TMS320LF2407A 簡(jiǎn)單介紹TMS320LF2407A 片內(nèi)集成了豐富的外設(shè),大大減少了系統(tǒng)設(shè)計(jì)的元器件數(shù)量。 串行通信口。TMS320LF2407A 設(shè)有一個(gè)異步串行外設(shè)通信口(SCI)和一個(gè)同步串行外設(shè)通訊口(SPI) ,用于與上位機(jī)、外設(shè)及多處理器之間的通信。SCI 即通用異步收發(fā)器(UART)支持 RS-232 和 RS-485 的工業(yè)標(biāo)準(zhǔn)全雙工通信模式,用來(lái)與上位機(jī)的通信;SPI 可用于同步數(shù)據(jù)通信,典型應(yīng)用包括 TMS320LF2407A之間構(gòu)成多機(jī)系統(tǒng)和外部 I/O 擴(kuò)展,如顯示驅(qū)動(dòng)。數(shù)字 I/O。TMS320LF2407A 有 40 個(gè)通用、雙向的數(shù)字 I/O 引腳,其中大多數(shù)都是基本功能和一般 I/O 復(fù)用引腳相同。 TMS320LF2407A 最小系統(tǒng)外圍電路(1)時(shí)鐘電路實(shí)時(shí)時(shí)鐘的硬件設(shè)計(jì)如圖 所示。圖 時(shí)鐘電路(2)復(fù)位電路復(fù)位是使 CPU 和系統(tǒng)中的其他功能部件都處在一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作,使 DSP 從第一個(gè)單元取指令。無(wú)論是在 DSP 剛開(kāi)始接上電源時(shí),還是斷電后或者發(fā)生故障后都要復(fù)位。復(fù)位的條件是:必須使 RST/VPD 或 RST 引腳(9)加上持續(xù)二個(gè)機(jī)器周期(即24 個(gè)振蕩周期)的高電平。例如:若時(shí)鐘頻率為 12MHZ,每機(jī)器周期為 1μs,則只需 2μs 以上時(shí)間的高電平。在 RST 引腳出現(xiàn)高電平后的第二個(gè)機(jī)器周期執(zhí)行復(fù)位。湖南工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)12常見(jiàn)的復(fù)位電路如圖 (a) 、 (b)所示。(a )上電復(fù)位電路 (b)按鍵復(fù)位電路圖 復(fù)位電路圖 (a)為上電復(fù)位電路,它是利用電容充電來(lái)實(shí)現(xiàn)的。在接電瞬間,RST 端的電位與 VCC 相同,隨著充電電流的減少, RST 的電位逐漸下降。只要保證 RST 為高電平的時(shí)間大于 2 個(gè)機(jī)器周期便能正常復(fù)位。圖 (b)為按鍵復(fù)位電路。該電路除具有上電復(fù)位功能外,若要復(fù)位,只需按圖中 RESET 鍵,此時(shí)電源 VCC 經(jīng)電阻 RR2 分壓,在 RST 端產(chǎn)生一個(gè)復(fù)位高電平。通過(guò)分析比較兩種復(fù)位電路,并考慮到意外死機(jī)等狀況。于是,本系統(tǒng)設(shè)計(jì)采用的是第二種按鍵復(fù)位電路,如圖 所示。圖 復(fù)位電路(3)電源電路如圖 所示,本系統(tǒng)采用 220V 交流電壓,220V 市電經(jīng)變壓器降壓變成交流9V,經(jīng)過(guò)全橋整流電路、470μF 電容濾波電路、穩(wěn)壓電源 ICLM7805 輸出穩(wěn)定直流電壓 5V,輸出接 10μF 電容消除紋波后送電路和各芯片使用。 電源電路湖南工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)13 按鍵電路本系統(tǒng)采用獨(dú)立式鍵盤(pán)作為輸入。按下“MODE”鍵切換調(diào)整位,每按下一次“MODE”鍵模式鍵值加 1;每按下一次“ADD” 鍵調(diào)整的相應(yīng)位加 1;每按下一次“DEC”鍵調(diào)整的相應(yīng)位減 1;調(diào)整過(guò)程中可以按“BACK”鍵退出調(diào)整。鍵盤(pán)如圖 所示。 圖 獨(dú)立式鍵盤(pán) 顯示電路由于需顯示的數(shù)據(jù)較多,本設(shè)計(jì)采用動(dòng)態(tài)掃描方式,采用共陰LED數(shù)碼管作顯示器、38 譯碼器 74LS138做驅(qū)動(dòng)電路。 38譯碼器連線電路圖用3片74LS138并聯(lián)擴(kuò)展I/O口,將5位I/O口擴(kuò)展成24位驅(qū)動(dòng)端口,74LS138產(chǎn)生的湖南工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)14驅(qū)動(dòng)信號(hào)為低電平,當(dāng)IOPB口前5位輸入一個(gè)有效的5位BCD碼時(shí),選中對(duì)應(yīng)的一位共陰數(shù)碼管,同時(shí)IOPA口送入段選信號(hào),即完成動(dòng)態(tài)掃描顯示功能。日期顯示數(shù)碼,位選信號(hào)線為D1D8,位選信號(hào)線為D10D15,位選信號(hào)線為D20D23。其中,D1D24為524 譯碼器(既3片38譯碼器擴(kuò)展)的輸出端口,IOPA 口做段選線共用。 日期顯示數(shù)碼管連線圖 時(shí)間顯示數(shù)碼管連線圖 鬧鈴時(shí)間顯示數(shù)碼管連線圖 鬧鈴電路采用NPN管驅(qū)動(dòng)蜂鳴器作為鬧鈴電路。當(dāng) IOPB輸入為低電平時(shí)NPN三極管Q1 截止,此時(shí)蜂鳴器不響;當(dāng)鬧鈴時(shí)間到時(shí),只要拉高IOPB電平,則蜂鳴湖南工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)15器響,完成鬧鈴功能。當(dāng)IOPBYP按一定頻率驅(qū)動(dòng)蜂鳴器時(shí),蜂鳴器能產(chǎn)生特定的聲音即能完成音樂(lè)鬧鈴。 鬧鈴電路 系統(tǒng)總體框圖系統(tǒng)總體框圖如圖 所示,由電源模塊、顯示模塊、I2C 儲(chǔ)存模塊、鬧鈴輸出模塊、復(fù)位模塊、實(shí)時(shí)時(shí)鐘模塊、按鍵模塊等組成。其中電源模塊為 DSP 芯片提供穩(wěn)定電壓,顯示模塊用來(lái)顯示時(shí)鐘,I2C 儲(chǔ)存模塊用來(lái)儲(chǔ)存鬧鈴信息,鬧鈴模塊用來(lái)輸出音樂(lè)聲音,復(fù)位模塊用來(lái)復(fù)位系統(tǒng),實(shí)時(shí)時(shí)鐘模塊用來(lái)采集時(shí)間信息,按鍵模塊用來(lái)采集輸入指令。湖南工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)16 DSP 芯片TMS320LF2407A電源模塊實(shí)時(shí)時(shí)鐘獨(dú)立鍵盤(pán)顯示模塊儲(chǔ)存模塊鬧鈴模塊復(fù)位模塊 系統(tǒng)總體框圖 本章小結(jié)本章主要介紹了系統(tǒng)的各個(gè)硬件電路的設(shè)計(jì),如復(fù)位電路、時(shí)鐘電路、電源電路、按鍵電路、LED 顯示電路、鬧鈴輸出電路等。在此基礎(chǔ)上給出了系統(tǒng)總體框圖。湖南工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)17第 4 章 軟件設(shè)計(jì) 主程序流程圖設(shè)計(jì)主程序主要完成按鍵調(diào)整、數(shù)據(jù)顯示以及各子程序模塊調(diào)用功能。 圖 主程序流程圖初 始 化開(kāi) 始 模 式 值 +1黑 屏 調(diào) 整 位 顯 示程 序 分 片主 循 環(huán) 計(jì) 數(shù)模 式 鍵 是 否 按 下加 鍵 是 否 按 下減 鍵 是 否 按 下返 回 鍵 是 否 按 下 模 式 值 對(duì) 應(yīng) 位 +1模 式 值 對(duì) 應(yīng) 位 1模 式 值 清 零讀 時(shí) 間 信 息動(dòng) 態(tài) 顯 示 初 始 化 主 循環(huán) 計(jì) 數(shù)10NN YYYY其 它20,1結(jié) 束鬧 鈴 判 斷 播 放 音 樂(lè)Y湖南工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)18 動(dòng)態(tài)顯示模塊程序設(shè)計(jì)中采用動(dòng)態(tài)掃描方式來(lái)顯示,采用共陰 LED 數(shù)碼管作顯示器、38 譯碼器74LS138 做驅(qū)動(dòng)電路,用 3 片 74LS138 并聯(lián)擴(kuò)展 IO 口,將 5 位 IO 口擴(kuò)展成 24 位驅(qū)動(dòng)端口,74LS138 產(chǎn)生的驅(qū)動(dòng)信號(hào)為低電平有效,當(dāng) IOPB 口前 5 位輸入一個(gè)有效的5 位 BCD 碼時(shí),選中對(duì)應(yīng)的一位共陰數(shù)碼管,同時(shí) IOPA 口送入段選信號(hào),即完成動(dòng)態(tài)掃描顯示功能。顯示時(shí)調(diào)用 disp_play()即可完成日期、時(shí)間、鬧鈴數(shù)據(jù)的顯示,下面給出具體的驅(qū)動(dòng)程序。void disp(uchar x,uchar y) { P0=0x00。 //清零段選信號(hào)Delay(2)。 P0=disp_code[x]。 //送段碼P2=y。//送位碼Delay(100)。}void disp_play(){uchar j。for(j=0。j12。j++){if(j4)//顯示年月日{(diào)disp(disp_buffer[j]/16,2*j)。disp(disp_buffer[j]%16,2*j+1)。}else if(j==4) disp(disp_buffer[j]%101,2*j)。//顯示星期else if(j8)//顯示時(shí)分秒{disp(disp_buffer[j]/16,2*j1)。disp(disp_buffer[j]%16,2*j)。}else if(j==8) disp(disp_buffer[j]%16,2*j1)。else if(j==9)湖南工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)19{if(disp_buffer[9]0){disp(16,16)。disp_buffer[9]=~disp_