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

正文內(nèi)容

基于單片機(jī)的同步電子時(shí)鐘設(shè)計(jì)-預(yù)覽頁(yè)

 

【正文】 是, 還可分別作為定時(shí)/計(jì)數(shù)器2 的外部計(jì)數(shù)輸入()和輸入(),參見表1。 在訪問外部程序存儲(chǔ)器或16 位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX DPTR 指令)時(shí),P2 口送出高8 位地址數(shù)據(jù)。P3 口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL 邏輯門電路。  P3 口還接收一些用于Flash 閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。一般情況下,ALE 仍以時(shí)鐘振蕩頻率的1/6 輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。該位置位后,只有一條MOVX 和MOVC指令才能將ALE 激活。EA/VPP外部訪問允許。Flash 存儲(chǔ)器編程時(shí),該引腳加上+12V 的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V 編程電壓Vpp。定時(shí)器2  定時(shí)器2 是一個(gè)16 位定時(shí)/計(jì)數(shù)器?! ≡谟?jì)數(shù)工作方式時(shí),當(dāng)T2 引腳上外部輸入信號(hào)產(chǎn)生由1 至0 的下降沿時(shí),寄存器的值加1,在這種工作方式下,每個(gè)機(jī)器周期的5SP2 期間,對(duì)外部輸入進(jìn)行采樣。自動(dòng)重裝載(向上或向下計(jì)數(shù)器)方式  當(dāng)定時(shí)器2工作于16位自動(dòng)重裝載方式時(shí),能對(duì)其編程為向上或向下計(jì)數(shù)方式,這個(gè)功能可通過特殊功能寄存器T2CON(見表5)的DCEN 位(允許向下計(jì)數(shù))來選擇的。這個(gè)脈沖使EXF2 置位,如果中斷允許,同樣產(chǎn)生中斷。T2EX 引腳為邏輯“1”時(shí),定時(shí)器向上計(jì)數(shù),當(dāng)計(jì)數(shù)0FFFFH 向上溢出時(shí),置位TF2,同時(shí)把16 位計(jì)數(shù)寄存器RCAP2H 和RCAP2L 重裝載到TH2 和TL2 中。如果定時(shí)/計(jì)數(shù)器2 作為發(fā)送器或接收器,其發(fā)送和接收的波特率可以是不同的,定時(shí)器1 用于其它功能,如圖7 所示。定時(shí)器2 作為波特率發(fā)生器時(shí),與作為定時(shí)器的操作是不同的,通常作為定時(shí)器時(shí),在每個(gè)機(jī)器周期(1/12 振蕩頻率)寄存器的值加1,而作為波特率發(fā)生器使用時(shí),在每個(gè)狀態(tài)時(shí)間(1/2 振蕩頻率)寄存器的值加1。在  波特率發(fā)生器工作方式中,TH2 翻轉(zhuǎn)不能使TF2 置位,故而不產(chǎn)生中斷。因?yàn)榇藭r(shí)每個(gè)狀態(tài)時(shí)間定時(shí)器都會(huì)加1,對(duì)其讀寫將得到一個(gè)不確定的數(shù)值。 引腳除了是一個(gè)標(biāo)準(zhǔn)的I/O 口外,還可以通過編程使其作為定時(shí)/計(jì)數(shù)器2 的外部時(shí)鐘輸入和輸出占空比50%的時(shí)鐘脈沖。定時(shí)器2 作為波特率發(fā)生器使用時(shí),還可作為時(shí)鐘發(fā)生器使用,但需要注意的是波特率和時(shí)鐘輸出頻率不能分開確定,這是因?yàn)樗鼈兺褂肦CAP2L和RCAP2L?! ∵@些中斷源可通過分別設(shè)置專用寄存器IE 的置位或清0 來控制每一個(gè)中斷的允許或禁止?! 《〞r(shí)器2 的中斷是由T2CON 中的TF2 和EXF2 邏輯或產(chǎn)生的,當(dāng)轉(zhuǎn)向中斷服務(wù)程序時(shí),這些標(biāo)志位不能被硬件清除,事實(shí)上,服務(wù)程序需確定是TF2 或EXF2 產(chǎn)生中斷,而由軟件清除中斷標(biāo)志位?! ∵@個(gè)放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器,振蕩電路參見圖10。10F。由于外部時(shí)鐘信號(hào)是通過一個(gè)2 分頻觸發(fā)器后作為內(nèi)部時(shí)鐘信號(hào)的,所以對(duì)外部時(shí)鐘信號(hào)的占空比沒有特殊要求,但最小高電平持續(xù)時(shí)間和最大的低電平持續(xù)時(shí)間應(yīng)符合產(chǎn)品技術(shù)條件的要求。  AT89C52 單片機(jī)中,有些屬于低電壓編程方式,而有些則是高電壓編程方式,用戶可從芯片上的型號(hào)和讀取芯片內(nèi)的簽名字節(jié)獲得該信息?! ?. 激活相應(yīng)的控制信號(hào)。重復(fù)1—5 步驟,改變編程單元的地址和寫入的數(shù)據(jù),直到全部文件編程結(jié)束。DS1302內(nèi)部有一個(gè)318的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。DS1302由Vcc1或Vcc2兩者中的較大者供電。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動(dòng)置高電平來啟動(dòng)所有的數(shù)據(jù)傳送。上電運(yùn)行時(shí),在Vcc,RST必須保持低電平。 下圖為DS1302的引腳功能圖: 位5至位1指示操作單元的地址。DS1302的寄存器  DS1302有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式,其日歷、時(shí)間寄存器及其控制字見表1。 167。167。晶振電路中晶振為12MHz與 DS1302時(shí)鐘芯片相連接, 為時(shí)鐘芯片提供最為基本的脈沖信號(hào)的方法實(shí)現(xiàn)了在時(shí)鐘芯片中的計(jì)時(shí)作用。167。 軟件設(shè)計(jì)的總體說明 本系統(tǒng)的程序采用C語(yǔ)言編寫,為了便于修改和調(diào)試,系統(tǒng)軟件采用模塊化設(shè)計(jì),程序的編寫編譯在Keil軟件中完成。167。然后,可以直接應(yīng)用一些編輯或仿真軟件進(jìn)行軟件調(diào)試,比如單片機(jī)C51編輯軟件Keil。存軟件調(diào)試過程中要仔細(xì)耐心,即便是多寫或少寫一兩個(gè)字符,都無(wú)法編譯成功。筆者應(yīng)用的仿真軟件為Proteus。為了正確顯示時(shí)間,接下來還要確定顯示電路能否正常工作。筆者根據(jù)自己實(shí)際制作該多功能電時(shí)鐘的經(jīng)驗(yàn),將調(diào)試過程介紹如下:軟件調(diào)試時(shí)先進(jìn)行單元測(cè)試,分別對(duì)各個(gè)代碼模塊進(jìn)行測(cè)試,看其是否實(shí)現(xiàn)了規(guī)定功能,再把已經(jīng)測(cè)試過的模塊組合起來進(jìn)行測(cè)試,一旦不能正確運(yùn)行,要找出程序中的錯(cuò)誤,確定大致的出錯(cuò)位置,研究有關(guān)部分的錯(cuò)誤程序,找出錯(cuò)誤原因,修改設(shè)計(jì)和代碼,以排除錯(cuò)誤。在系統(tǒng)上電開始測(cè)量前,要用萬(wàn)用表的電壓檔對(duì)被測(cè)電壓進(jìn)行估測(cè),然后以此選擇適當(dāng)?shù)牧砍?,防止電壓過大燒壞硬件。3)在燒錄芯片的過程中,由于選擇燒錄文件的錯(cuò)誤及芯片自身問題,經(jīng)過多次多次燒錄,才燒錄正確。Proteus ISIS是英國(guó)Labcenter公司開發(fā)的電路分析與實(shí)物仿真軟件。目前支持的單片機(jī)類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。總之,該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。(2)按鍵說明:①?gòu)?fù)位鍵,當(dāng)發(fā)現(xiàn)系統(tǒng)運(yùn)行不正常,進(jìn)入死循環(huán),顯示數(shù)值。通過中斷服務(wù)子程序來達(dá)到顯示鬧鐘時(shí)間的目的。 按鬧鐘鍵可以顯示定時(shí)鬧鐘時(shí)間,并通過按選定、加、減三鍵可以進(jìn)行具體日期時(shí)間調(diào)整,當(dāng)定時(shí)設(shè)定后,到預(yù)定時(shí)間后,時(shí)鐘會(huì)發(fā)出連續(xù)的蜂鳴聲。因?yàn)椴煌脑O(shè)計(jì)技術(shù)或者設(shè)計(jì)思想都有自身的優(yōu)點(diǎn)和局限性,只有根據(jù)具體的設(shè)計(jì)要求,才能順利地進(jìn)行設(shè)計(jì)仿真,也才能對(duì)己有的設(shè)計(jì)方法進(jìn)行創(chuàng)新。也學(xué)習(xí)了時(shí)鐘芯片DS1302的基本原理和使用方法。 本系統(tǒng)上可實(shí)現(xiàn)的功能:; ,當(dāng)所定的時(shí)間到時(shí),產(chǎn)生斷續(xù)的蜂鳴聲;。老師豁達(dá)的胸懷對(duì)我樹立正確的人生觀和價(jià)值觀產(chǎn)生了積極的影響。在此謹(jǐn)向何老師表示崇高的敬意和衷心的感謝! 感謝老師在研究工作中對(duì)我進(jìn)行的悉心指導(dǎo),并為我的學(xué)習(xí)提供了良好的條件,使我的論文的撰寫得以順利進(jìn)行。 附 錄 一、 PCB板主機(jī)PCB板 從機(jī)PCB板 二、主機(jī)程序代碼頭文件/*Header file for generic 80C52 and 80C32 microcontroller.Copyright (c) 19882002 Keil Elektronik GmbH and Keil Software, Inc.All rights reserved.*/ifndef __REG52_H__define __REG52_H__/* BYTE Registers */sfr P0 = 0x80。sfr PSW = 0xD0。sfr DPL = 0x82。sfr TMOD = 0x89。sfr TH1 = 0x8D。sfr SBUF = 0x99。sfr TL2 = 0xCC。sbit F0 = PSW^5。sbit P = PSW^0。sbit TR0 = TCON^4。sbit IT0 = TCON^0。sbit ET1 = IE^3。/* IP */sbit PT2 = IP^5。sbit PT0 = IP^1。sbit T1 = P3^5。sbit TXD = P3^1。sbit SM2 = SCON^5。sbit TI = SCON^1。 // 8052 only /* T2CON */sbit TF2 = T2CON^7。sbit EXEN2 = T2CON^3。endif初始化程序$NOMOD51。 BL51 invocation:。 With the following EQU statements the initialization of memory。 the absolute startaddress of IDATA memory is always 0IDATALEN EQU 80H 。 the length of XDATA memory in bytes.。 The following EQU statements define the stack pointer for reentrant。 set to 1 if small reentrant is used.IBPSTACKTOP EQU 0FFH+1 。 set to 1 if large reentrant is used.XBPSTACKTOP EQU 0FFFFH+1。 set to 1 if pact reentrant is used.PBPSTACKTOP EQU 0FFFFH+1。 variables. The EQU PPAGE must conform with the PPAGE control used。PPAGE EQU 0 。 (most 8051 variants use P2 as uppermost address byte)。 This code is required if you use with Banking Mode 4。 sbit k2=P3^6。 sbit beep=P2^7。 uchar tab_num[]=0123456789: 。 uchar tab_pm[]=PM。//0調(diào)整時(shí)間 1調(diào)整鬧鐘 //=========================================== // LCD1602顯示函數(shù) //=========================================== void lcd_disp() { LCD_ShowString(0,0,tab_t)。:39。:39。 } else { LCD_ShowString(0,14,tab_pm)。39。39。 //顯示狀態(tài) } //============================================= // 時(shí)間日期調(diào)節(jié)函數(shù) // k1選定,k2加1,k3減1,k4切換模式 //============================================= void key() { uchar i。 //tab_1302[0]存儲(chǔ)現(xiàn)在的時(shí)間 //tab_1302[1]存儲(chǔ)鬧鈴調(diào)整的時(shí)間 //tab_1302[2]鬧鈴的定時(shí)時(shí)間 //刷新存儲(chǔ)鬧鈴時(shí)間緩存 for(i=0。 } if(k1==0 ) { DelayMS(20)。 } if(k2==0) //加一 { DelayMS(20)。 case 2:tab_1302[state][1]++。 if(tab_1302[state][2]=24) tab_1302[state][2]=0。 break。 break。 break。 break。
點(diǎn)擊復(fù)制文檔內(nèi)容
語(yǔ)文相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1