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

正文內(nèi)容

基于at89s51單片機的多功能電子萬年歷的設(shè)計與實現(xiàn)畢業(yè)論文(留存版)

2025-01-07 01:51上一頁面

下一頁面
  

【正文】 DS18B20 頭文件: include define uint unsigned int define uchar unsigned char sbit dq=P0^3。 if(dq) dat|=0x80。 writeds18b20(0xCC)。 uint a[24]={0,0,0,0,0,0,1,0,1,0,9,0,0,0,0,0,0,0,1,0,1,0,9,0}。 for(i=0。 dsio=0。// 寫 1Byte 數(shù)據(jù) dssclk=1。 delay(1)。 sbit dssclk=P2^1。 float tt=0。 dat=1。//開顯示,光標(biāo)不閃爍 lcdwrite(0x06)。y)。} } temp=readtemperature()。 if(b5==0) { for(i=0。 dsrst=0。 for(i=0。 lcdwrite(j[jj]+1)。 b[jj]。i++) {b[i]=a[11i*2+clock]*10+a[10i*2+clock]。 //i 循環(huán)數(shù), k 溫度緩存, jj 地址位 uint temp。此次比賽中 學(xué)到了很多很多東西,這是最重要的 。首先必須對可編程芯片的控制字即其控制指令要熟記于心。 000001NS N=1(讀或?qū)懸粋€字符后地址指針加 1并且光標(biāo)加 1), N=0(讀或?qū)懸粋€字符后地址指針減 1并且光標(biāo)減 1), S=1且 N=1(當(dāng)寫一個字符后,整屏顯示左移 ), S=0 當(dāng)寫一個字符后,整屏顯示不移動。位 0是讀 /寫操作位,進行讀操作時,該位為 1;該位為 0 則表示進行的是寫操作。獨特的一線接口,只需要一條口線通信多點能力,簡化了分布式溫度傳感應(yīng)用無需外部元件可用數(shù)據(jù)總線供電,電壓范圍為 至 無需備用電源 測量溫度范圍為 55 度至 +125 度。 DS1302 的控制字節(jié)的最高有效位 (位 7)必須是邏輯 1,如果它為 0,則不能把數(shù)據(jù)寫入 DS1302 中,位 6如果為 0,則表示存取日歷時鐘數(shù)據(jù),為1 表示存取 RAM 數(shù)據(jù) 。采用三線接口與 CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或 RAM數(shù)據(jù)。當(dāng)轉(zhuǎn)向中斷服務(wù)時,再由硬件自動清“ 0”。 從中斷的定義我們可以看到中斷應(yīng)具備中斷源、中斷響應(yīng)、中斷返回這樣三個要素。 P3 口: P3 口管腳是 8 個帶內(nèi)部上拉電阻的雙向 I/O 口,可接收輸出 4 個 TTL 門電流??臻e模式下, CPU 暫停工作,而 RAM 定時計 數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存 RAM 的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。采用普通 晶振。 論文主要研究了液晶顯示器 LCM 及時鐘芯片 DS1302,溫度傳感器 DS18B20 與單片機之間的硬件互聯(lián)及通信,對數(shù)種硬件連接方案進行了詳盡的比較,在軟件方面對日歷算法也進行了論述。能于 3V的超低壓工作 ,而且與 MCS51 系列單片機完全兼容 ,而且運用于電路設(shè)計中時具備 ISP 在線編程技術(shù) ,當(dāng)在對電路進行調(diào)試時,由于程序的錯誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r,避免芯片的多次拔插對芯片造成的損壞。此設(shè)計方案需用 A/D 轉(zhuǎn)換電路,增加硬件成本而且熱敏電阻的感溫特性曲線并不是嚴(yán)格線性的,會產(chǎn)生較大的測量誤差。 P0口: P0 口為一個 8位漏級開路雙向 I/O 口,每腳可吸收 8TTL 門電流。 I/O 口作為輸入口時有兩種工作方式,即所謂的讀端口與讀引腳。外部中斷 0(INT0)來自 引腳,通過外部中斷 0 觸發(fā)方式控制位IT0(),來決定中斷輸入信號是低電平有效還是負(fù)跳變有效。串行中斷請求由 TI和 RI的邏輯或得到。 DS1302 的引腳排列 ,其中 Vcc1 為后備電源, VCC2 為主電源。 在控制指令字輸入后的下一個 SCLK 時鐘的上升沿時,數(shù)據(jù)被寫入 DS1302,數(shù)據(jù)輸入從低位即位 0 開始。 DS18B20 連線如圖 ?!?WP”是寫保護位,在任何的對時鐘和 RAM 的寫操作之前, WP 必須為 0。 系統(tǒng)仿真電路 本次仿真使用軟件 ,該軟件元件庫豐富,元件封裝要求相對簡單且參數(shù)調(diào)整方便,除此之外,程序還可進行動態(tài)調(diào)試。由于 DS18B20 是串行通信數(shù)據(jù),只用一個口線傳輸,在處理采集的模擬信號時需要一定的時間,會對延時有較高要求。我將以積極的面貌重新投入到火熱的工作和事業(yè)中。//上調(diào) sbit b3=P3^2。 if(jj==6) {jj=0。 if(b[3]==1)b[3]=23。 lcdwrite(j[jj])。 delay(1)。 a[i*2+1]=(k4)amp。 } if(num==12)bigclock=1??赡苁怯捎谑M制與十進制的差異。 delay(1)。 void sdelay(unsigned int i) { while(i)。 sdelay(4)。//跳過 ROM writeds18b20(0x44)。 //分別對應(yīng)秒秒分分時時日日月月年年 //后 12 位為鬧鐘位,用于存儲鬧鐘數(shù)據(jù) //1302write DS1302 寫數(shù)據(jù) void dswrite(uchar dswrite) { uchar i,temp。i8。 } //1302on DS1302 初始化 void dson() { uchar i。// 地址,命令 dswrite(dsshuju)。 } } //1302read Ds1302 讀數(shù)據(jù) 31 uchar dsread() { uchar i,temp。 } DS1302 頭文件: include define uint unsigned int define uchar unsigned char sbit dsrst=P2^0。 uint t=0。i) { dq=0。//顯示模式 lcdwrite(0x0c)。y0。speaker=0。 key()。 k=dsread()。 lcdwrite(0x83)。 lcdshuju(0)。 } if(b3==0) { delay(3)。i6。//LCD 地址 uchar i,k,jj=0,w,clock=0,bigclock=0,c=0,num。也練就了我們的耐心,做什么事都在有耐心。 軟件測試 由于本系統(tǒng)涉及到多個子程序,多個芯片的編程。顯示模式設(shè)置 (初始化 )00111000[0x38]設(shè)置 16 2顯示, 5 7點陣, 8 位數(shù)據(jù)接口;顯示開關(guān)及光標(biāo)設(shè)置: (初始化 ) 00001DCBD顯示 (1 有效 )、 C 光標(biāo)顯示 (1有效 )、 B光標(biāo)閃爍 (1 有效 )。位 1至位 5 指操作單元的地址。 圖 DS1302與單片機的連接 溫度采集模塊設(shè)計 采用數(shù)字式溫度傳感器 DS18B20,它是數(shù)字式溫度傳感器,具有測量精度高,電路連接簡單特點,此類傳感器僅需要一條數(shù)據(jù)線進行數(shù)據(jù)傳輸,使用P 與 DS18B20 的 I/O 口連接加一個上拉電阻 ,Vcc 接電源 ,Vss 接地。 I/O 為串行數(shù)據(jù)輸入輸出端 (雙向 ), SCLK 為時鐘輸入端。 單片機在萬年歷的應(yīng)用 8 時鐘電路模塊的設(shè)計 DS1302 是美國 DALLAS 公司推 出的一種高性能、低功耗、帶 RAM 的實時時鐘芯片,它可以對年、月、日、周、時、分、秒進行計時,具有閏年補償功能,工作電壓為 ~ 。當(dāng)中斷響應(yīng)完成轉(zhuǎn)向中斷服務(wù)程序時,由硬件把 IE0(或 IE1)清零, 當(dāng)計數(shù)器產(chǎn)生計數(shù)溢出 時,相應(yīng)的溢出標(biāo)志位由硬件置“ 1”。所謂的中斷就是,當(dāng) CPU正在處理某項事務(wù)的時候,如果外界或者內(nèi)部發(fā)生了緊急事件,要求CPU 暫停正在處理工作而去處理這個緊急事件,待處理完后,再回到原來中斷的地方,繼續(xù)執(zhí)行原來被中斷的程 序,這個過程稱作中斷。 P2 口在 FLASH 編程和校驗時接收高八位地址信號和控制信號。此外, AT89S51 設(shè)計和配置了振蕩頻率可為 0Hz 并可通過軟件設(shè)置省電模式。主要特點是采用串行數(shù)據(jù)傳輸,可為掉電保護電源提供可編程的充電功能,并且可以關(guān)閉充電功能。所有程序編寫完成后,在 Keil 軟件中進行調(diào)試,確定沒有問題后,在 Proteus 軟件中嵌入單片機內(nèi)進行仿真。 顯示模塊選擇方案和論證 方案一: 采用點陣式數(shù)碼管顯示,點陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對于顯示文字比較適合 ,如采用在顯示數(shù)字顯得太浪費 ,且價格也相對較高 ,所以也不用此種作為顯示。 方案二: 采用數(shù)字式溫度傳感器 DS18B20,此類傳感器為數(shù)字式傳感器而且僅需要一條數(shù)據(jù)線進行數(shù)據(jù)傳輸,易于與單片機連接,可以避免 A/D 模數(shù)轉(zhuǎn)換模塊,降低硬件成本,簡化系統(tǒng)電路。當(dāng) P1 口的管腳第一次寫 1時,被定義為高阻輸入 。讀端口時實際上并不從外部讀入數(shù)據(jù),而是把端口鎖存器的內(nèi)容讀入到內(nèi)部總線,經(jīng)過某種運算或變換后再寫回到端口鎖存器。一旦輸入信號有效,便使 IE0 標(biāo)志置一,向 CPU 申請中斷;外部中斷 1(INT1)來自 ,通過外部中斷 1 7 觸發(fā)方式控制位 IT1(),來決定中斷輸入信號是低電平有效還是負(fù)跳變有效。就是說,無論是發(fā)送標(biāo)志還是接 收標(biāo)志,都會產(chǎn)生串行中斷請求;中斷允許控制寄存器( IE),進行字節(jié)操作時,寄存器地址為 0A8H。在主 電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運行。同樣,在緊跟 8位的控制指令字后的下一個 SCLK 脈沖的下降沿讀出 DS1302 的數(shù)據(jù),讀出數(shù)據(jù)時從低位 0位到高位 7。 單片機在萬年歷的應(yīng)用 10 圖 DS18B20管腳連線 顯示模塊的設(shè)計 如下圖 5 所示,采用 LCM1602 液晶顯示器,單片機 P1 口作為數(shù)據(jù)輸出口, RS, R\W,E分別通過 10K 的上拉電阻連接到單片機的 , ,。當(dāng)“ WP”為 1時,寫保護位防止對任一寄存器的寫操作。系統(tǒng)仿真截圖如圖 所示。所以在調(diào)用溫度子程序時,先關(guān)閉定時器 1中斷允許,在溫度子程序反回時再打開 定時器 1 中斷允許。在此,謹(jǐn)對培育我的母校、教導(dǎo)我的老師、幫助我的同學(xué)們致予最誠摯的謝意和敬意。//下調(diào) sbit b4=P3^3。} } if(b2==0) { delay(3)。 if((b[0]%4==0amp。 lcdshuju(a[112*jj+clock]+0x30)。 } lcdwrite(0x84+0x40)。0x0f。 else num=0。 lcdwrite(0x8d+0x40)。 lcden=1。 } ds18b20on(void)//ds18b20 初始化 { uchar x=0。 } return(dat)。//開啟溫度轉(zhuǎn)換 ds18b20on()。 delay(1)。i++) { temp=
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1