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

正文內容

基于89c51的數(shù)字電子鐘設計-在線瀏覽

2024-08-08 00:19本頁面
  

【正文】 9CH秒數(shù)據(jù)分01H82H83H00~590分數(shù)據(jù)時02H84H85H01~12或00~2312/24010/AP時數(shù)據(jù)日03H86H87H01~28,2930,3100日數(shù)據(jù)月04H88H89H01~12000月數(shù)據(jù)星期05H9AH8BH01~0700000星期數(shù)據(jù)年06H8CH8DH00~99年數(shù)據(jù)多字節(jié)讀寫B(tài)EHBFH——表345 片內時鐘數(shù)據(jù)寄存器 DS1302 在本設計中的應用 實時時鐘芯片DS1302采用串行數(shù)據(jù)傳輸,可為掉電保護電源提供可編程的充電功能,也可以關閉充電功能,芯片采用32768Hz晶振。雖然DS1302在主電源掉電后耗電很小,但如果要長時間保證時鐘正常,最好選用小型充電電池。DS1302在第一次加電后,需進行初始化操作。DS1302的時鐘電路如圖346所示。鍵盤電路如圖35所示。按鍵閉合過程在相應的I/O端口形成一個負脈沖。抖動持續(xù)時間的常長短與開關的機械特性有關,一般在510ms之間。因此本設計采用獨立式按鍵,直接用I/O口線構成單個按鍵電路,每個按鍵占用一條I/O口線,每個按鍵的工作狀態(tài)不會產(chǎn)生互相影響。 (2)K2鍵為數(shù)字“+“鍵,按一下則對應的數(shù)字加1。 (4)K4鍵為總返回鍵??刂葡鄳墓軐ǎ湍茱@示出對應字符。在七段LED顯示器中,通常將各段發(fā)光二極管的陰極或陽極連在一起作為公共端。靜態(tài)顯示有并行輸出和串行輸出兩種方式。數(shù)碼管動態(tài)顯示是單片機中應用最為廣泛的一種顯示方式之一,動態(tài)驅動是將所有數(shù)碼管的8個顯示筆劃a、b、c、d、e、f、g、dp 的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位元選通控制電路,位元選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位元選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位元就顯示出字形,沒有選通的數(shù)碼管就不會亮。在輪流顯示過程中,每位元數(shù)碼管的點亮時間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極體的余輝效應,盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示資料,不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O口,而且功耗更低。6號腳為使能端,為高電平時有效。當需要級聯(lián)時只需要改變使能端信號引腳即可,連接方法簡單。其功能如下:置數(shù)全并行存取使能輸入有改善抗擾度的滯后作用 原理:74LS573 的八個鎖存器都是透明的D 型鎖存器,當使能(G)為高時,Q 輸出將隨數(shù)據(jù)(D)輸入而變。輸出控制不影響鎖存器的內部工作,即老數(shù)據(jù)可以保持,甚至當輸出被關閉時,新的數(shù)據(jù)也可以置入。特別適用于緩沖寄存器,I/O 通道,雙向總線驅動器和工作寄存器。在顯示部分硬件電路設計中用兩個74573分別驅動前8個數(shù)碼管和后8個數(shù)碼管,采用總線的連接方式,并在74573與LED之間加上限流電阻,阻值為100歐姆。P3口的低3位分別接兩個74LS138譯碼器的A、B、C端,、。 圖363 顯示電路 整點報時電路 整點報時電路由PNP型三極管8550、電阻與蜂鳴器構成,蜂鳴器就會發(fā)聲,其設計電路如下圖所示。其任務是在整體設計和硬件設計的基礎上,確定程序結構,分配片內RAM資源,劃分功能模塊,然后進行主程序和各模塊程序的設計,最后連接起來成為一個完整的應用程序,再與硬件相結合完成相應功能。從主程序流程圖看出,主程序的組成是通過分別調用各子程序組成總體系統(tǒng)功能,能很直觀的看出主程序所要完成的功能,首先是初始化各模塊,之后調用鍵盤完成時間的調整,調用日歷子程序完成日歷時鐘的初始化和時間數(shù)據(jù)的讀寫,調用顯示子程序顯示數(shù)據(jù),最后又轉到鍵盤程序來回循環(huán)。(1)對定時器T0初始化時,首先置初值,CPU開中斷,定時器T0開中斷,并且開始計數(shù),而對定時器T1初始化時,首先置初值,定時器T1關中斷,并且停止計數(shù),只有收到命令時才能產(chǎn)生中斷。(3)標志位初始化是對時間調整時判斷是調分還是調時,以及整點報時等而專設的位標志,初始化過程中標志位全部置0,即開始時是處于顯示狀態(tài),而不是調整狀態(tài)或者整點報時狀態(tài),這一點在程序中相當明了。 圖41 主程序流程圖 鍵盤子程序設計多功能鍵盤程序的設計是本設計的難點,也是完成本設計的重點,由于本設計為15位顯示,所以對于日期與時間的調整,相應的程序會非常的冗長,但是鍵盤對年月日時分秒星期的調整思路、流程大體一樣,所以在程序設計上并不是那么難。其中K1鍵功能最多,通過判斷K1鍵按下的次數(shù)來判斷是調時間還是定時,并對對應的位置閃爍。當判斷鍵值為1時則為調秒狀態(tài),對應的秒低位閃爍,為2時為調分狀態(tài)并分閃爍,為3時為調時狀態(tài)并時閃爍,為4時為調日狀態(tài)并日閃爍,為5時為調月狀態(tài)并月閃爍,為6時為調年狀態(tài)并年閃爍,為7時為調星期狀態(tài)并星期閃爍。由于鍵盤流程圖非常復雜,在此只表示秒,如圖42所示,其余相仿省略。日歷時鐘DS1302的讀寫需要初始化時序、讀時序、寫時序等。而每一次命令和數(shù)據(jù)的傳輸都是從主機啟動寫時序開始,如果要求單總線器件回送是低位在先。當RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作。上電運行時,在Vcc≥,RST必須保持低電平。當RST置為高電平時,在串行時鐘的SCLK的上升沿,DS1302從I/O端口讀入一位數(shù)據(jù),8個串行時鐘脈沖就可以讀入一字節(jié)的數(shù)據(jù)。日歷時鐘的讀寫流程圖如下圖所示。閃爍功能也是本設計的一個難點,本設計采用8個位標志位,使閃爍時效果達到最好。另外7個標志位是年月日時分秒星期等的位標志位,當標志位置1時即開閃爍,與用中斷產(chǎn)生的標志位相結合,即在一個周期內為0時消隱,為1時開顯示,這樣可以使在調時間時對應的位閃爍。圖44 顯示子程序流程圖 整點報時子程序的設計 本設計設置了四個整點報時標志位,分別是秒個位為零、秒十位為零、分個位為零、分十位為零等標志位,只要當秒個位、秒十位、分個位、分十位為零,則分別使相應的零標志位置1。在整點報時狀態(tài)下,數(shù)碼管DS16顯示數(shù)字8并閃爍。 圖45 整點報時子程序流程圖5 系統(tǒng)調試 單片機系統(tǒng)經(jīng)過總體設計,完成了硬件和軟件設計開發(fā)。但編制好的程序或連接好的線路不能按預計的那樣正常工作是常見的事,經(jīng)常會出現(xiàn)一些硬件、軟件上的錯誤,這是軟件和硬件開發(fā)者經(jīng)常遇見的,這就需要通過調試來發(fā)現(xiàn)錯誤并加以改正。本設計系統(tǒng)的已經(jīng)在PC機上用模擬開發(fā)軟件進行了檢測和調試,并運行成功,最后進行實物的硬件連接與調試。調試過程中單片機相應輸入端由通用鍵盤和鼠標設定,運行狀態(tài)、各寄存器狀態(tài)、端口狀態(tài)等都可以在指定的窗口區(qū)域顯示出來,以確定程序運行有無錯誤。一般來說,仿真軟件能為用戶輸入的程序指令糾錯,包括書寫格式、標號未定義或多重定義、轉移地址溢出等錯誤。在這階段若發(fā)生故障,可以考慮各子程序在運行時是否破壞現(xiàn)場,數(shù)據(jù)緩沖單元是否發(fā)生沖突,標志位的建立和清除在設計上是否失誤,堆棧是否溢出,輸入輸出狀態(tài)是否正常等。 圖51 Proteus仿真 硬件調試單片機應用系統(tǒng)的硬件調試與軟件調試是分不開的,許多硬件故障在軟件調試時才能發(fā)現(xiàn),但通常要先排除系統(tǒng)中明顯的硬件故障。根據(jù)硬件電路原理圖,仔細檢查樣機線路是否連接正確,并核對元器件的型號、規(guī)格和安裝是否符合要求,必要時可用萬用表檢測線路通斷情況。樣機的第一次通電測試很重要,若樣機中存在電源故障,則加電后將造成器件損壞。確保電源無故障并性能符合設計要求。在確保電源良好前提下,接通電源。若接通后電流很大,必須立即切斷電源。通電檢查的主要目的是看系統(tǒng)是否存在短路或由元器件損壞、裝配錯誤引起的電流異常。加電后檢查各芯片插座上相關引腳的電位,仔細測量相應的輸入輸出電平是否正常。通過以上四步的硬件調試,最終調試成功,其硬件實物圖如圖52所示。首先要談一下對這次設計全過程的一個認識和感受:硬件系統(tǒng)關系到所要設計的電子產(chǎn)品好懷,如系統(tǒng)抗干擾性等,所以要合理的安排盡量減少干擾提高性能。同時還可以采用隔離等方式減少干擾,硬件系統(tǒng)設計的好壞很大部分來源于經(jīng)驗,所以要有動手的好習慣。軟件的設計大部分采用模塊化設計的方法以方便調試,并使其可讀性大大增強,方便更改和移植。本次設計最大的感受就是在進行項目設計中,一定要保持嚴謹?shù)念^腦,總攬全局,面面俱到,每一個細節(jié)都應該深知熟慮,做到萬無一失,只有這樣才能完美的設計出一個具有實用的產(chǎn)品。當然還有很多紕漏瑕疵,相信在以后的學習生涯中,一定會逐步改善和完善相關功能,所以還需要繼續(xù)努力。在硬件設計與軟件設計中也離不開很多同學的幫助,在此向周峰和張棟棟同學,以及給予我?guī)椭乃型瑢W說一聲:謝謝! 我相信,在今后的學習道路中,只要勤于思考,勇于探索,敢于創(chuàng)新,一定會取得更大的進步。閃爍標志位輔助標志位ZHUAN1 BIT 51H 。月開閃爍的標志位ZHUAN3 BIT 53H 。時開閃爍的標志位ZHUAN5 BIT 55H 。秒開閃爍的標志位ZHUAN7 BIT 57H 。秒個位為零標志位BUZZER2 BIT 59H 。分個位為零標志位BUZZER4 BIT 5BH 。開始并初始化ORG 000BH 。定時/計數(shù)T1中斷LJMP ZDUAN2ZDUAN:MOV TH0,00H 。循環(huán)指令CPL ZHUAN 。中斷返回ZDUAN2:MOV TH1,0FCHMOV TL1,43HCPL RETIORG 0100HSTART:MOV SP,70H 。T0,TI工作方式1MOV TH0,00HMOV TL0,00HMOV TH1,0FCHMOV TL1,43HSETB EA 。開放T0中斷SETB TR0 。初始化標志位CLR ZHUAN2CLR ZHUAN3CLR ZHUAN4CLR ZHUAN5CLR ZHUAN6CLR ZHUAN7CLR BUZZER1CLR BUZZER2CLR BUZZER3CLR BUZZER4MOV R7,3MOV 5FH,00H 。時間賦初始值MOV 31H,59HMOV 32H,23HMOV 33H,31HMOV 34H,12HMOV 35H,02HMOV 36H,13HSETB 。命令字節(jié),07H寄存器寫ACALL WBYTE MOV A,00H 。RST=0,停止傳送MOV R0,30H 。寫8個字節(jié)SETB 。設多字節(jié)寫命令字LCALL WBYTECHUSHI:MOV A,R0 。寫一個字節(jié)INC R0DJNZ R2,CHUSHI 。主程序MAIN:LCALL JIAN 。調日歷時鐘程序LCALL XIAN 。調報時程序SJMP MAIN 。初始MOV A,P1CPL AJNZ JI1 。調延時CPL AJNZ JI2 LJMP JIAN4JI2:JNB ,JIAN3 。判K3鍵為0轉JIAN0:MOV P1,0FFHJNB ,JIAN3 。判K1鍵為0轉LJMP JIANXJIAN1:LCALL DELAY 。為1就是鍵抖動JIAN11:LCALL XIAN 。判鍵K1松開MOV A,5FH ADD A,1
點擊復制文檔內容
醫(yī)療健康相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1