




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、單片機(jī)原理及應(yīng)用基于proteus和keil c實(shí) 習(xí) 報 告課程名:利用單片機(jī)及ds1302制作電子時鐘指導(dǎo)教師: 專業(yè): 年級: 組員: 設(shè)計(jì)時間: xxx大學(xué) xxx學(xué)院摘 要為了進(jìn)一步熟悉51單片機(jī)的編程以及學(xué)習(xí)電子時鐘的相關(guān)設(shè)計(jì)方法,在老師的指導(dǎo)下我們進(jìn)行了本次電子時鐘的設(shè)計(jì)。我們在實(shí)習(xí)期間基于51單片機(jī)at89c51和時鐘芯片ds1302設(shè)計(jì)并實(shí)現(xiàn)了電子時鐘顯示。在pcb板制作完成并且調(diào)試成功之際,為了進(jìn)一步提高自己的動手能力和編程能力,對這次電子時鐘的設(shè)計(jì)和制作的過程中遇到的問題及設(shè)計(jì)思路做一次總結(jié)。本電子時鐘是一種利用時鐘芯片ds1302及51單片機(jī)來顯示時、分、秒和年、月的裝
2、置。默認(rèn)顯示為時間,由四個按鍵分別控制定時設(shè)置、時間調(diào)整、分鐘調(diào)整、日期顯示;設(shè)計(jì)電路工作電源為5v;由4位led數(shù)碼管顯示時間,格式為時時分分,中間點(diǎn)每隔1s亮暗;有備用電池,掉電后再上電能正常顯示時間。電子時鐘大體可以分為三大模塊,數(shù)碼管的顯示模塊、ds1302時鐘芯片與單片機(jī)的時鐘模塊和按鍵與單片機(jī)的模塊。單片機(jī)在5v電壓下,各個模塊正常工作。單片機(jī)從ds1302芯片中讀出一組時間日期數(shù)據(jù),同時單片機(jī)通過按鍵設(shè)置當(dāng)前要求顯示的信息給單片機(jī)。單片機(jī)接收到各個數(shù)據(jù)時,把各個數(shù)據(jù)顯示出來。目錄一、總體設(shè)計(jì)41.1 設(shè)計(jì)目的41.2 硬件功能描述41.3 設(shè)計(jì)方案選擇41.4 設(shè)計(jì)任務(wù)及要求4二
3、、電子時鐘軟件和硬件設(shè)計(jì)52.1 硬件電路設(shè)計(jì)52.1.1 工作原理52.1.2 單元模塊電路52.1.3 元器件清單62.2 軟件設(shè)計(jì)72.2.1 程序設(shè)計(jì)流程7三、電路調(diào)試7四、心得體會8五、參考文獻(xiàn)10附錄:12附錄:程序清單13附錄:21一、總體設(shè)計(jì)此電子時鐘利用at89c51單片機(jī)和時鐘芯片ds1302 設(shè)計(jì)完成。1.1 設(shè)計(jì)目的1、通過對電子時鐘的設(shè)計(jì),進(jìn)一步熟練掌握單片機(jī)編程方法及思想。2、通過對電子時鐘的設(shè)計(jì),掌握實(shí)時時鐘芯片ds1302的使用方法。3、通過對電子時鐘的設(shè)計(jì),進(jìn)一步掌握獨(dú)立式鍵盤的編程控制并認(rèn)識獨(dú)立式鍵盤在實(shí)際中的運(yùn)用。4、通過對電子時鐘的設(shè)計(jì),增強(qiáng)對單片機(jī)的興
4、趣及動手能力。并在此過程中學(xué)會對程序的逐步調(diào)試。 1.2 硬件功能描述數(shù)字鐘能夠完成24 小時制計(jì)時,計(jì)時初始化值為00:00:00,用戶可以通過按鍵調(diào)整時鐘的初值實(shí)現(xiàn)校時功能,并且可以通過按鍵設(shè)定一個24 小時以內(nèi)任意時刻的鬧鈴,用戶可以手動選擇鬧鈴的開或者關(guān)兩種狀態(tài)。1.3 設(shè)計(jì)方案選擇計(jì)時方案:方案1:采用實(shí)時時鐘芯片現(xiàn)在市場上有許多實(shí)時時鐘集成電路,如:ds1287、ds2887、ds1302等。這些實(shí)時時鐘芯片具備年、月、日、時、分、秒計(jì)時功能和多點(diǎn)定時功能,計(jì)時數(shù)據(jù)的更新每秒自動進(jìn)行一次,不需要程序干預(yù)。因此,在工業(yè)實(shí)時測控系統(tǒng)中多采用這這一類專用芯片來實(shí)現(xiàn)實(shí)時時鐘功能。方案2:是
5、用單片機(jī)內(nèi)的可編程定時器。利用單片機(jī)內(nèi)部的定時計(jì)數(shù)器進(jìn)行中斷定時,配合軟件延時實(shí)現(xiàn)時分秒的計(jì)時。該方案節(jié)省硬件成本,但程序設(shè)計(jì)較復(fù)雜。顯示方案:一個良好的顯示模塊對一個系統(tǒng)非常重要,所有操作結(jié)果和計(jì)時結(jié)果,都要通過顯示模塊來顯示出來。同時顯示模塊提供了良好的人機(jī)交互平臺。常用的顯示模式有l(wèi)ed 7段數(shù)碼管顯示、點(diǎn)陣顯示和液晶顯示。液晶顯示屏(lcd)具有輕薄短小、低耗電量、無輻射危險,平面直角顯示以及影象穩(wěn)定不閃爍等優(yōu)勢,可視面積大,畫面效果好,分辨率高,抗干擾能力強(qiáng)等特點(diǎn)。但由于液晶其成本偏高。在使用時,不能有靜電干擾,否則易燒壞液晶的顯示芯片。鑒于led 7段數(shù)碼管成本低,也比較容易實(shí)現(xiàn)的
6、特點(diǎn),最終確定使用共陽極數(shù)碼管來顯示。1.4 設(shè)計(jì)任務(wù)及要求任務(wù):設(shè)計(jì)一個可調(diào)時及日期顯示的電子時鐘要求:1、用ds1302來實(shí)現(xiàn)對時間的計(jì)算2、用7段led來顯示時間3、加獨(dú)立式鍵盤來進(jìn)行調(diào)時二、電子時鐘軟件和硬件設(shè)計(jì)2.1 硬件電路設(shè)計(jì)2.1.1 工作原理此電子時鐘可顯示的時間范圍為:2000年1月1日0點(diǎn)至2100年12月31日23時59分。此時鐘在正常計(jì)時模式下具有自動調(diào)整每月的天數(shù)的變化,并用內(nèi)接電池對時間保持。時間為24小時至。接通電源對時間進(jìn)行調(diào)整,按定時設(shè)置鍵確定被修改位的值。用時鐘芯片記憶當(dāng)前時間并保持,待下次接通電源無須調(diào)整能正確顯示當(dāng)前時間。定時設(shè)置:菜單按鍵,松開按鍵時
7、有效此按鍵實(shí)現(xiàn)鬧鈴功能,設(shè)定一個時間,此時四位數(shù)碼管第四位的小數(shù)點(diǎn)亮起,表示有鬧鈴設(shè)置;當(dāng)鬧鈴是可按此鍵結(jié)束鬧鈴。時、分調(diào)整: 加一鍵,松開按鍵有效當(dāng)定時設(shè)置鍵選中要修改的位時,如分(分閃爍時),按此鍵可以使分的值從當(dāng)前值開始加一,加至60時變?yōu)?0(59過后即顯示00,不顯示60);而時則在加至24時變?yōu)?0(23過后即顯示0,不顯示24);日在加至32時變?yōu)?0(即31過后即顯示0,不顯示32);月在加至13時變?yōu)?0(即12過后即顯示0,不顯示13);年在至2100時變?yōu)?000(即2099過后即顯示2000,不顯示2100)日期顯示: 年、月顯示鍵,松開按鍵有效按下此鍵松開后,顯示為日
8、期,5秒后自動返回時間顯示。2.1.2 單元模塊電路1 獨(dú)立按鍵模塊系統(tǒng)有四個獨(dú)立按鍵,分別接至單片機(jī)p1.4、p1.5、p1.6、p1.7口。2 顯示模塊 本系統(tǒng)顯示模塊電路由四個pnp三極管和一個四位一體7段led數(shù)碼管組成。pnp三極管用來驅(qū)動數(shù)碼管。3 復(fù)位電路模塊 復(fù)位電路主要的功能是使整個系統(tǒng)初始化,在每次上電時系統(tǒng)自動初始化。 使cpu及其他功能部件處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作,單片機(jī)應(yīng)用程序必須以此作為設(shè)計(jì)的前提。4 時鐘芯片模塊ds1302時鐘芯片是本系統(tǒng)實(shí)現(xiàn)高精度計(jì)時的關(guān)鍵。利用ds1302 時鐘芯片獨(dú)立于單片機(jī)來計(jì)時,在提高計(jì)時進(jìn)度的同時也提高了整個系統(tǒng)的
9、抗干擾能力。ds1302通過sclk、i/o、res端口和單片機(jī)at89c51 進(jìn)行通信。sclk接至單片機(jī)p1.1口,在讀寫操作時給ds1302提供相應(yīng)的時鐘脈沖;i/o接至p1.2用來傳送所有的數(shù)據(jù);res接至單片機(jī)p1.3上用來控制單片機(jī)與時鐘芯片間的數(shù)據(jù)傳送的開始與結(jié)束。ds1302 的工作原理及使用方法見附錄。5 主控模塊主控模塊的核心組成部分是單片機(jī)at89c51, 承擔(dān)著所有操作任務(wù)的調(diào)控與分派工作。6 鬧鐘模塊鬧鈴模塊由蜂鳴器和蜂鳴器的驅(qū)動組成。在有鬧鈴發(fā)生的時候,蜂鳴器的驅(qū)動電路驅(qū)動蜂鳴器發(fā)聲,產(chǎn)生鬧鈴的效果。2.1.3 元器件清單元件名稱規(guī)格型號數(shù)量(個)單片機(jī)at89s5
10、11時鐘芯片ds130214位一體的共陽led顯示器7seg-mpx4-ca-blue1按鍵button3電阻2k4排阻4.7k1三極管pnp4電阻10k102.2 軟件設(shè)計(jì)2.2.1 程序設(shè)計(jì)流程 開始 主程序 定時器t1初始化ds1302讀取數(shù)值與設(shè)定數(shù)值是否相同y掉電后重啟 n初始化ds1302flag=1&flag_time=1?顯示鬧鐘值set_flag=1 ny顯示調(diào)節(jié)時的值顯示走時 yn n響鬧鐘判斷鬧鐘是否發(fā)生 y 返回 n 三、電路調(diào)試各程序模塊具有一定的獨(dú)立性,因此可以先調(diào)試模塊,在模塊功能都能實(shí)現(xiàn)的前提下,再調(diào)試總程序,這樣能快捷地檢查判斷硬件或軟件上的問題。調(diào)試
11、結(jié)果及解決辦法如下:1測試ds讀寫模塊時,從led顯示能正確寫入與讀取當(dāng)前時間,但ds1302的工作情況不太理想,主要表現(xiàn)在實(shí)時時間稍微偏快。ds1302時鐘的產(chǎn)生基于外接的晶體振蕩器,振蕩器的頻率為32768hz,該晶振通過引腳x1、x2直接連接至ds1302,即ds1302是依靠外部晶振與其內(nèi)部的電容配合來產(chǎn)生時鐘脈沖,由于ds1302 在芯片本身已經(jīng)集成了5pf的電容。所以,為了獲得穩(wěn)定的可靠的時鐘,必須選用具有5pf 負(fù)載電容的晶振。然而,許多人在選用晶振時僅僅注意了晶振的額定頻率值,而忽視了晶振的負(fù)載電容大小,甚至連許多經(jīng)銷商也不能提供所售晶振的負(fù)載電容,所以即使在使用中選用了符合3
12、2768hz的晶振,但如果該晶振的負(fù)載電容與ds1302 提供的5pf不一致時,就會影響晶振的起振或?qū)е抡袷庮l率的偏移。2測試顯示模塊時,數(shù)碼顯示管全亮顯示“8.8.8.8.”而不是預(yù)設(shè)”的初值。利用proteus軟件仿真,發(fā)現(xiàn)仿真顯示正常,再檢查硬件,發(fā)現(xiàn)段碼位選線與p0口接線錯誤。按原理圖重新焊接后能正常顯示。3測試蜂鳴模塊時,沒有時間顯示一直保持蜂鳴,不能返回主程序。重新檢查程序再次賦值給ds1302和鬧鐘時實(shí)物正常工作,證明現(xiàn)有程序語法和邏輯上沒有錯誤。從賦值過的數(shù)字中找規(guī)律,發(fā)現(xiàn)當(dāng)ds初值的“分”個位為9而鬧鐘的“分”為0時,蜂鳴出現(xiàn)錯誤。查閱ds的顯示有關(guān)資料,由于ds的數(shù)據(jù)是bc
13、d碼形式讀取,因此“x9”的數(shù)據(jù)加1后為“*0”;但程序所用為十六進(jìn)制,“x9”加1后為“*a”,所以當(dāng)ds剛到達(dá)鬧鐘時間準(zhǔn)備蜂鳴時,程序中用inc指令對“分”加1后只達(dá)到“*a”,與ds一分鐘后讀取到的“*0”一直不相等,程序無法向下執(zhí)行,也就是無法同步顯示當(dāng)前時間以及關(guān)閉蜂鳴。解決辦法:進(jìn)入蜂鳴狀態(tài)時,先對比是否是個位為9的數(shù)據(jù),是則按照bcd碼形式直接賦值為“*0”到暫存區(qū),再加1;否則直接用inc指令加1。不斷讀取ds“分”的數(shù)據(jù)與暫存區(qū)數(shù)據(jù)比較,相等則表示滿一分鐘,關(guān)閉蜂鳴。修改程序后該模塊運(yùn)行正常。4測試調(diào)整模塊,進(jìn)入中斷時,按鍵后有時出現(xiàn)顯示錯亂,按鍵失靈,出現(xiàn)連續(xù)加減的情況。有
14、了蜂鳴模塊的前例,增加了數(shù)據(jù)個位為9時的處理程序;分析出現(xiàn)連續(xù)加減可能是因?yàn)橄堆訒r不夠,造成程序誤判斷為按鍵連擊,因此增大延時時間。修改程序后該模塊正常運(yùn)作。5綜合總程序測試,各部分功能運(yùn)作正常,但是實(shí)際硬件與軟件結(jié)合后沒有達(dá)到達(dá)到任務(wù)要求,此次設(shè)計(jì)失敗。四、心得體會 五、參考文獻(xiàn)【1】51單片機(jī)應(yīng)用從零開始 楊欣 編著 清華大學(xué)出版社 2008【2】單片機(jī)原理及接口技術(shù)(第三版) 李朝青 編著 北京航空航天大學(xué)出版社 2008【3】51單片機(jī)c語言教程 郭天祥 編著 電子工業(yè)出版社 2009附錄:ds1302 時鐘芯片的工作原理和使用方法1、ds1302的基本組成和工作原理ds1302的管
15、腳排列及描述如下圖及表所示: 2、ds1302內(nèi)部寄存器ch:時鐘停止位 bit7=1,12 小時模式ch=0 振蕩器工作允許 bit7=0,24 小時模式ch=1 振蕩器停止 寄存器2 的第5 位:am/pm 定義wp: 寫保護(hù)位 ap=1 下午模式wp=0 寄存器數(shù)據(jù)能夠?qū)懭?ap=0 上午模式 wp=1 寄存器數(shù)據(jù)不能寫入 ds: 二極管選擇位tcs: 涓流充電選擇 ds=01 選擇一個二極管tcs=1010 使能涓流充電 ds=10 選擇兩個二極管tcs=其它 禁止涓流充電寄存 ds=00或11,即使tcs=1010,充電器2的第7位12/24小時標(biāo)志 功能也被禁3、ds1302使用說
16、明及注意的問題ds1302的控制字如表1所示。控制字節(jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到ds1302中。位6如果為0,則表示存取日歷時鐘數(shù)據(jù);為1則表示存取ram數(shù)據(jù)。位51(a4a0)指示操作單元的地址。最低有效位(位0)如果為0,則表示要進(jìn)行寫操作;為1 表示進(jìn)行讀操作。控制字節(jié)總是從最低位開始輸入/輸出。表1 ds1302 控制字時鐘暫停:秒寄存器的位7定義位時鐘暫停位。當(dāng)它為1時,ds1302停止振蕩,進(jìn)入低功耗的備份方式,通常在對ds1302進(jìn)行寫操作時(如進(jìn)入時鐘調(diào)整程序),停止振蕩。當(dāng)它為0時,時鐘將開始啟動。am-pm/12-24小時方式:小時寄存
17、器的位7定義為12或24小時方式選擇位。它為高電平時,選擇12小時方式。在此方式下,位5為第二個10小時位(2023h)。ds1302的晶振選用32768hz,電容推薦值為6pf。因?yàn)檎袷庮l率較低,也可以不接電容,對計(jì)時精度影響不大。附錄:程序清單 second equ 41h minute equ 42h hour equ 43h day equ 44h month equ 45h week equ 46h yearl equ 47h org 0000h ljmp main org 0030h main:mov sp,#5fh mov r0,30h mov r2,#30h mov a,#00
18、h lp0:mov r0,a inc r0 djnz r2,lp0 lcall display mov 41h,#00h ;啟動時鐘工作.秒分時日月星期年 mov 42h,#00h ;分單元 mov 43h,#01h ;時單元 mov 44h,#18h ;日單元 mov 45h,#07h ;月單元 mov 46h,#04h ;星期單元 mov 47h,#0dh ;年后兩位單元 mov 52h,#00h mov 53h,#00h clr 30h setb 31h lcall set1302 lcall displaylp1: lcall get1302 mov 40h,41hlp11: lcal
19、l display lcall get1302 mov a,41h cjne a,40h,lp2 ljmp lp21lp2: cpl 30h mov 40h,41h ljmp lp11lp21: jb 31h,lp22 ;31h=0,定時報警 lcall dsbj lcall displaylp22: lcall keyscan mov dptr,#tab mov a,30h rl a add a,30h jmp a+dptr tab: ljmp lp11 ;無按鍵 ljmp tssz ;定時設(shè)置 ljmp sjy ;時加1 ljmp fjy ;分加1 ljmp rqxs ;日期顯示 tssz
20、: cpl 31h tssz0: jb p1.4,tssz1 lcall tsdisplay sjmp tssz0 tssz1: jnb 31h,tssz00 ;31h=1,定時關(guān)閉;31h=0,定時設(shè)置 lcall display ljmp lp11 tssz00:mov 51,#20h tssz10:mov 50h,#00h tssz11:jb p1.5,tssz3 ;定時時設(shè)置 mov a,53h add a,#01h da a cjne a,#24h,tssz2 mov a,#00h tssz2: mov 53h,a tss1: lcall tsdisplay jnb p1.5,tss
21、1 tssz3: lcall tsdisplay ;定時顯示 jb p1.4,tssz11 jnb p1.4,$ mov 51h,#20h tsszf0:mov 50h,#00htsszf1:jb p1.6,tsszf3 ;定時分設(shè)置 mov a,52h add a,#01h da a cjne a,#60h,tsszf2 mov a,#00h tsszf2: mov 52h,a tsf1: lcall tsdisplay jnb p1.6,tsf1 tsszf3: lcall tsdisplay jb p1.4,tsszf1 jnb p1.4,$ lcall tsdisplay ljmp l
22、p11dsbj: mov a,53h cjne a,43h,dsbj1 mov a,52h cjne a, 42h,dsbj1 mov 50h,#06h dsbj0: clr p1.3 lcall display setb p1.3 lcall d2ms djnz 50h,dsbj0 setb 31h dsbj1: ret sjy: mov a,43h ;時加1處理 add a,#01h da a cjne a,#24h,sjy0 mov a,#00h sjy0: mov 43h,a lcall set1302 sjy1: jb p1.5,sjy2 lcall display sjmp sjy
23、1 sjy2: ljmp lp11 fjy: mov a,42h ;分加1處理 add a,#01h da a cjne a,#60h,fjy0 mov a,#00h fjy0: mov 42h,a lcall set1302 fjy1:jb p1.6,fjy2 lcall display sjmp fjy1 fjy2:ljmp lp11 rqxs:lcall rqdisplay rqxs1:jb p1.7,rqxs2 lcall rqdisplay sjmp rqxs1 rqxs2:mov r3,#00h rqxs3:lcall rqdisplay lcall rqdisplay djnz
24、r3,rqxs3 lcall display ljmp lp11keyscan:push acc mov 30h,#00h orl p1,#0f0h mov a,p1 swap a anl a,#0fh jb acc.0,k1 mov 30h,#01h sjmp keyend k1: jb acc.1,k2 mov 30h,#02h sjmp keyend k2: jb acc.2,k3 mov 30h,#03h sjmp keyend k3: jb acc.3,keyend mov 30h,#04hkeyend: pop acc retkeyplay:mov r5,#04h mov r0,#
25、42h ;51h為秒,52h分,53h為時,54h為日,55h為月 mov r3,#08h dis2:mov dptr,#table mov a,r0 anl a,#0fh movc a,a+dptr mov p0,a mov a,r3 mov p2,a lcall d2ms mov a,r0 anl a,#0f0h swap a movc a,a+dptr mov p0,a mov a,r3 rr a mov r3,a mov p2,a inc r0 mov a,r3 rr a mov r3,a lcall d2ms djnz r5,dis2 clr p2.0 ret display:pus
26、h acc push psw mov dptr,#table mov r1,#42h mov a,r1 anl a,#0fh movc a,a+dptr mov c,31h ; 有定時設(shè)置則在分鐘個位顯示點(diǎn) mov acc.7,c mov p0,a mov p2,#0feh ;實(shí)物值 ;mov p2,#08h ;仿真值 lcall d2ms mov p2,#00h mov a,r1 swap a anl a,#0fh movc a,a+dptr mov p0,a mov p2,#0fdh ;mov p2,#04h lcall d2ms mov p2,#00h mov r1,#43h mov a
27、,r1 anl a,#0fh movc a,a+dptr mov c,30h mov acc.7,c mov p0,a mov p2,#0fbh;mov p2,#02h lcall d2ms mov p2,#00h mov a,r1 swap a anl a,#0fh movc a,a+dptr mov p0,a mov p2,#0f7h;mov p2,#01h mov p2,#00h pop psw pop acc retrqdisplay:push acc ;日期顯示 push psw mov dptr,#table mov r1,#44h mov a,r1 anl a,#0fh movc
28、 a,a+dptr mov p0,a mov p2,#0feh ;實(shí)物值 ;mov p2,#08h ;仿真值 lcall d2ms mov p2,#00h mov a,r1 swap a anl a,#0fh movc a,a+dptr mov p0,a mov p2,#0fdh;mov p2,#04h lcall d2ms mov p2,#00h mov r1,#45h mov a,r1 anl a,#0fh movc a,a+dptr mov p0,a mov p2,#0fbh;mov p2,#02h lcall d2ms mov p2,#00h mov a,r1 swap a anl a
29、,#0fh movc a,a+dptr mov p0,a mov p2,#0f7h; mov p2,#01h lcall d2ms mov p2,#00h pop psw pop acc ret tsdisplay:push acc ;定時顯示 push psw mov dptr,#table mov r1,#52h mov a,r1 anl a,#0fh movc a,a+dptr mov p0,a mov p2,#0feh ;實(shí)物值 ;mov p2,#08h ;仿真值 lcall d2ms mov p2,#00h mov a,r1 swap a anl a,#0fh movc a,a+dp
30、tr mov p0,a mov p2,#0fdh;mov p2,#04h lcall d2ms mov p2,#00h mov r1,#53h mov a,r1 anl a,#0fh movc a,a+dptr mov p0,a mov p2,#0fbh; mov p2,#02h lcall d2ms mov p2,#00h mov a,r1 swap a anl a,#0fh movc a,a+dptr mov p0,a mov p2,#0f7h; mov p2,#01h lcall d2ms mov p2,#00h pop psw pop acc ret d2ms: mov r6,#02h
31、 dl1: mov r5,#249 dl2: nop nop djnz r5,dl2 nop djnz r6,dl1 ret table: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh;ds1302時間處理程序;*/公司名稱:; 模塊名稱:ds1302.asm; 功 能:實(shí)時時鐘模塊 時鐘芯片型號:ds1302; 說 明:; 程序設(shè)計(jì):; 設(shè)計(jì)時間:2006.11.03; 版 本 號:20061103;*t_clk bit p1.1;實(shí)時時鐘時鐘線引腳t_io bit p1.0;實(shí)時時
32、鐘數(shù)據(jù)線引腳t_rst bit p1.2;實(shí)時時鐘復(fù)位線引腳;*;子程序名:set1302;功 能:設(shè)置ds1302 初始時間,并啟動計(jì)時。;說 明:;調(diào) 用:rtinputbyte;入口參數(shù):初始時間在:second,minute,hour,day,month,week.yearl(地址連續(xù));返 回 值:無;影響資源:a b r0 r2 r4 r7;設(shè) 計(jì):zhg 日 期:2006-11-03;修 改: 日 期:;*set1302: clr t_rst clr t_clk setb t_rst mov b, #8eh ;控制寄存器 lcall rtinputbyte mov b, #00h
33、 ;寫操作前wp=0 lcall rtinputbyte setb t_clk clr t_rst mov r0, #second mov r7, #7 ;秒分時日月星期年 mov r2, #80h ;秒寫地址set13021: clr t_rst clr t_clk setb t_rst mov b,r2;寫分時日月星期年地址 lcall rtinputbyte mov a, r0 ;寫秒數(shù)據(jù) mov b, a lcall rtinputbyte inc r0 inc r2 inc r2 setb t_clk clr t_rst djnz r7, set13021 clr t_rst clr t_clk setb t_rst mov b,#8eh;控制寄存器 lcall rtinputbyte mov
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年高考生物一輪復(fù)習(xí)專題4.2細(xì)胞的分化衰老凋亡和癌變講含解析
- 債務(wù)債權(quán)轉(zhuǎn)移合同范例
- 京津魯瓊專用2025版高考地理二輪復(fù)習(xí)選擇題專項(xiàng)練11專項(xiàng)練十一含解析
- 2025版新教材高中化學(xué)課時素養(yǎng)評價十6.2.1化學(xué)反應(yīng)的速率含解析新人教版必修2
- 代理注銷公司合同范例
- 供貨附加合同范例
- 買賣合同范例(融資租賃)
- 中外學(xué)校合作合同范例
- 低壓三相電表施工合同范例
- 個人塔吊出租合同范例
- 語文-湖南省長郡二十校聯(lián)盟2025屆新高考教學(xué)教研聯(lián)盟高三第一次聯(lián)考(長郡二十校一聯(lián))試題和答案
- 醫(yī)療衛(wèi)生中心社會效益與經(jīng)濟(jì)效益分析
- 3月3號全國愛耳日-保護(hù)耳朵課件
- 2025年遼寧裝備制造職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫(網(wǎng)校專用)
- 2025國家電投集團(tuán)資本控股限公司本部招聘11人高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 2025年湖南中醫(yī)藥高等??茖W(xué)校高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 2024新版人教PEP英語(2025春)七年級下冊教學(xué)課件:Unit2 Reading Plus
- 《小兔子安家》(說課稿)-2024-2025學(xué)年一年級下冊數(shù)學(xué)北師大版
- 小學(xué)生人際交往能力培養(yǎng)的實(shí)踐研究
- 綜合與實(shí)踐 白晝時長規(guī)律的探究說課稿 2024-2025學(xué)年人教版數(shù)學(xué)七年級下冊
- 2025年春新人教版數(shù)學(xué)七年級下冊教學(xué)課件 7.4 平移
評論
0/150
提交評論