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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于單片機(jī)萬年歷的設(shè)計(jì)(專業(yè)版)

2025-01-28 19:09上一頁面

下一頁面
  

【正文】 dsrst=0。 temp=0。 sbit dsio=P2^2。 ds18b20on()。 dq=1。//光標(biāo)設(shè)置 lcdwrite(0x01)。 }//1 毫秒左右延時(shí) //lcdwrite() LCD 寫指令 void lcdwrite(uchar write) { lcdrs=0。//temp 是 uint 型的。i12。 a[i*2]=kamp。i10。 lcdshuju(0)。 if(b[5]==1)b[5]=59。} if(b4==0) { delay(3)。 sbit b1=P3^0。 綜上所述,本 設(shè)計(jì)雖然實(shí)現(xiàn)了電子萬年歷的功能,但在硬件的選擇上應(yīng)該更優(yōu)化,使成本更低;在軟件方面也需要完善,一個(gè)真正實(shí)用的萬年歷應(yīng)該具有計(jì)算陰歷歷法的功能。其次,芯片很多都有時(shí)鐘輸入端,需要晶振支持。其他設(shè)置:01H(顯示清屏,數(shù)據(jù)指針 =0,所有顯示 =0); 02H(顯示回車,數(shù)據(jù)指針 =0)[16]。表 2 為 DS1302 的日歷、時(shí)間寄存器內(nèi)容:“ CH”是時(shí)鐘暫停標(biāo)志位,當(dāng)該位為 1 時(shí),時(shí)鐘振蕩器停止, DS1302處于低功耗狀態(tài);當(dāng)該位為 0 時(shí),時(shí)鐘開始運(yùn)行。 10 度至 +85 度范圍內(nèi)精度為177。 DS1302 的控制字節(jié)的最高有效位 (位 7)必須是邏輯 1,如果它為 0,則不能把數(shù)據(jù)寫入 DS1302 中,位 6如果為 0,則表示 存取日歷時(shí)鐘數(shù)據(jù),為1 表示存取 RAM 數(shù)據(jù) 。采用三線接口與 CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號或 RAM數(shù)據(jù)。當(dāng)轉(zhuǎn)向中斷服務(wù)時(shí),再由硬件自動(dòng)清“ 0”。 從中斷的定義我們可以看到中斷應(yīng)具備中斷源、中斷響應(yīng)、中斷返回這樣三個(gè)要素。 P3口: P3 口管腳是 8個(gè)帶內(nèi)部上拉電阻的雙向 I/O 口,可接收輸出 4 個(gè) TTL 門電流??臻e模式下, CPU 暫停工作,而 RAM 定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存 RAM 的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。因此,本設(shè)計(jì)中采用 DS1302 提供時(shí)鐘。最后在老師同學(xué)的幫助以及自己的努力下完成了此次電子萬年歷的設(shè)計(jì)。 DS1302 clock chip, launched in the United States with DALLAS small current charging function real time clock chip, low power consumption, it can be years , month, date, day, hour, minute, seconds time, also has a leap year pensation and other functions, and DS1302 long life, small error。 論文主要研究了液晶顯示器 LCM 及時(shí)鐘芯片 DS1302,溫度傳感器 DS18B20 與單片機(jī)之間的硬件互聯(lián)及通信,對數(shù)種硬件連接方案進(jìn)行了詳盡的比較,在軟件方面對日歷算法也進(jìn)行了 論述。此外,該電子萬年歷還具有時(shí)間校準(zhǔn)等功能。 DS1302 是 DS1202 的升級產(chǎn)品,與 DS1202 兼容,但增加了主電源 /后背電源雙電源引腳,同時(shí)提供了對后背電源進(jìn)行涓細(xì)電流充電的能力。 第三節(jié) 主要單元電路的設(shè)計(jì) AT89S51單片機(jī)主控制模塊的設(shè)計(jì) AT89S51 是一個(gè)低功耗,高性能 CMOS 8 位單片機(jī),片內(nèi)含 4k Bytes ISP(Insystem programmable)的可反復(fù)擦寫 1000 次的 Flash 只讀程序存儲(chǔ)器,器件采用 ATMEL 公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn) MCS51 指令系統(tǒng)及 80C51 引腳結(jié)構(gòu),芯片內(nèi)集成了通用 8位中央處理器和 ISP Flash 存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的 AT89S51 可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。 P2 口當(dāng)用 6 于外部程序存儲(chǔ)器或 16 位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí), P2 口輸出地址的高八位。為解決這個(gè)問題,發(fā)展了中斷的概念。進(jìn)行字節(jié)操作時(shí),寄存器地址為 88H。各中斷源的優(yōu)先級由中斷優(yōu)先級寄存器( IP)進(jìn)行設(shè)定。上電運(yùn)行時(shí),在 Vcc 之前, RST必須保持低電平。只要占用 CPU 一個(gè)口線即可。位 1至位 5 指操作單元的地址。顯示模式設(shè)置 (初始化 )00111000[0x38]設(shè)置 16 2顯示, 5 7點(diǎn)陣, 8 位數(shù)據(jù)接口;顯示開關(guān)及光標(biāo)設(shè)置: (初始化 ) 00001DCBD顯示 (1 有效 )、 C 光標(biāo)顯示 (1有效 )、 B光標(biāo)閃爍 (1 有效 )。經(jīng)查發(fā)現(xiàn)原來是有尖銳的管腳刺破鄰近的漆包線造成短路,斷掉該線并再次連接可解決問題。從元件性能和組裝電路后的測試結(jié)果來看,硬件電路的設(shè)計(jì)是比較成功的。//潤年 uchar j[6]={0x85,0x88,0x8b,0x84+0x40,0x87+0x40,0x8a+0x40}。 while(b1==0) { for(i=0。 if(b[0]==100)b[0]=0。 } lcdwrite(j[jj])。 lcdon()。 dswrite(0x81+i*2)。 lcdscan()。 if(c==100){bigclock=0。x) for(y=110。 lcdwrite(0x38)。i0。 } } //讀取溫度 readtemperature(void) { uchar a=0,b=0。 return(t)。 temp=temp1。 dswrite(add)。 dsaddshuju(0x8c,(a[11]4)+a[10])。i++) { temp=temp1。 delay(1)。//開啟溫度轉(zhuǎn)換 ds18b20on()。 } return(dat)。 } ds18b20on(void)//ds18b20 初始化 { uchar x=0。 lcden=1。 lcdwrite(0x8d+0x40)。 else num=0。0x0f。 } lcdwrite(0x84+0x40)。 lcdshuju(a[112*jj+clock]+0x30)。 if((b[0]%4==0amp。} } if(b2==0) { delay(3)。//下調(diào) sbit b4=P3^3。在此,謹(jǐn)對培育我的母校、教導(dǎo)我的老師、幫助我的同學(xué)們致予最誠摯的謝意和敬意。所以在調(diào)用溫度子程序時(shí),先關(guān)閉定時(shí)器 1中斷允許,在溫度子程序反回時(shí)再打開定時(shí)器 1 中斷允許。 16 第三章 系統(tǒng)的軟件設(shè)計(jì) 第一節(jié) 程序流程框圖 圖 10 主程序流程圖 主程序流程圖如上圖 10 所示。 (2) DS1302 的控制字 DS1302 的控制字如圖 6 所示。 VDD接 5V 電源, VSS 接地。 在控制指令字輸入后的下一個(gè) SCLK 時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入 DS1302,數(shù)據(jù)輸入從低位即位 0 開始。 DS1302 的引腳排列 ,其中 Vcc1 為后備電源, VCC2 為主電源。串行中斷請求由 TI和 RI的邏輯或得到。外部中斷 0(INT0)來自 引腳,通過外 部中斷 0 觸發(fā)方式控制位IT0(),來決定中斷輸入信號是低電平有效還是負(fù)跳變有效。 I/O 口作為輸入口時(shí)有兩種工作方式,即所謂的讀端口與讀引腳。 P0口: P0 口為一個(gè) 8位漏級開路雙向 I/O 口,每腳可吸收 8TTL 門電流。 方案二: 采用數(shù)字式溫度傳感器 DS18B20,此類傳感器為數(shù)字式傳感器而且僅需要一條數(shù)據(jù)線進(jìn)行數(shù)據(jù)傳輸,易于與單片機(jī)連接,可以避免 A/D 模數(shù)轉(zhuǎn)換模塊,降低硬件成本,簡化系統(tǒng)電路 [6]。 顯示模塊選擇方案和論證 方案 一 : 采用點(diǎn)陣式數(shù)碼管顯示,點(diǎn)陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對于顯示文字比較適合 ,如采用在顯示數(shù)字顯得太浪費(fèi) ,且價(jià)格也相對較高 ,所以也不用此種作為顯示 。伴隨著電子技術(shù)的迅速發(fā)展,特別是隨大規(guī)模集成電路出現(xiàn),給人類生活帶來了根本性的改變。此外,該電子萬年歷還具有時(shí)間校準(zhǔn)等功能。所以,電子萬年歷制作無論從實(shí)用目的,還是從培養(yǎng)能力的角度來看都是很有價(jià)值的畢業(yè)設(shè)計(jì)課題。 方案二: 采用 DS1302 時(shí)鐘芯片實(shí)現(xiàn)時(shí)鐘, DS130 是美國 DALLAS 公司推出的一種高性能、低功耗、帶 RAM的實(shí)時(shí)時(shí)鐘電路,它可以對年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為 ~ 。采用三線接口與 CPU 進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號或 RAM 數(shù)據(jù)。 P2 口: P2 口為一個(gè)內(nèi)部上拉電阻的 8 位雙向 I/O 口, P2 口緩沖器可接收,輸出 4 個(gè)TTL 門電流,當(dāng) P2 口被寫“ 1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。 單片機(jī)的最小系統(tǒng)如圖 2 所示: 18 引腳和 19 引腳接時(shí)鐘電路 ,XTAL1 接外部晶振和微調(diào)電容的一端 ,在片內(nèi)它是振蕩器倒相放大器的輸入 ,XTAL2 接外部晶振和微調(diào)電容的另一端 ,在片內(nèi)它是振蕩器倒相放大器的輸出 .第 9 引腳為復(fù)位輸入端 ,接上電容 ,電阻及開關(guān)后夠上電復(fù)位電路 ,20 引腳為接地端 ,40 引腳為電源端 .單片機(jī)的最小系統(tǒng)如下圖所 示:圖 2中的晶振頻率為 12MHz,復(fù)位方式為上電自動(dòng)復(fù)位 [8][9]。當(dāng)串行口接收完一幀串行數(shù)據(jù)時(shí)置位 RI 或當(dāng)串行口發(fā)送完一幀串行數(shù)據(jù)時(shí)置位 TI,向 CPU 申請中斷 [10]。因此在轉(zhuǎn)中斷服務(wù)程序后,應(yīng)根據(jù)需要使用有關(guān)指令禁止中斷,即以軟件方式關(guān)閉中斷。 RST 輸入有兩種功能:首先, RST 接通控制邏輯,允許地址 /命令序列送入移位寄存器;其次, RST 提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。實(shí)際上,在調(diào)試程序時(shí)可以不加電容器,只加一個(gè) 的晶振即 10 可。 圖 5 LCM1602 與單片機(jī)的連接 DS1302原理及說明 (1) 時(shí)鐘芯片 DS1302 的工作原理 12 DS1302 在每次進(jìn)行讀、寫程序前都必須初始 化,先把 SCLK 端置 “ 0”,接著把 RST 端置“ 1”,最后才給予 SCLK 脈沖;讀 /寫時(shí)序如下圖 7 所示。 DS1302 與 RAM 相關(guān)的寄存器分為兩類: 一類是單個(gè) RAM 單元,共 31 個(gè),每個(gè)單元組態(tài)為一個(gè) 8位的字節(jié),其命令控制字為 C0H~ FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的 RAM 寄存器,此方式下可一次性讀寫所有的 RAM 的 31 個(gè)字節(jié),命令控制字為 FEH(寫 )、 FFH(讀 )。在調(diào)試硬件時(shí)遇到過很多問題,但只要細(xì)心、認(rèn)真檢查這些問題都是可以避免的,主要問題及解決辦法現(xiàn)列如下: (1) 接通電源后 LCM1602 沒有正確的顯示。但是由于數(shù)碼管動(dòng)態(tài)掃描需要借助 74LS164 移位寄存器進(jìn)行移位,該芯片在電路調(diào)試時(shí)往往會(huì)有很多障礙,因此本次設(shè)計(jì)選擇了 LCM1602,液晶顯示屏的顯示功能強(qiáng)大 ,可顯示大量文字 ,圖形 ,顯示多樣 ,清晰可見;在溫度采集模塊的選擇上,沒有采用熱敏電阻,因?yàn)樵O(shè)計(jì)方案需用 A/D 轉(zhuǎn)換電路,增加硬件成本而 且熱敏電阻的感溫特性曲線并不是嚴(yán)格線性的,會(huì)產(chǎn)生較大的測量誤差。 uchar code row2[]={00:00:00}。 lcdwrite(j[i]+0x01)。b[0]%100!=0)||b[0]%400==0){if(b[2]year2[b[1]1])b[2]=1。i6。} }} void main() { speaker=0。 while(1) 27 {for(i=0。 a[11]=(k4)amp。 lcdshuju(0x00)。 void delay(uint z) { uint x,y。 delay(1)。 sdelay(20)。 sdelay(5)。 t=t|a。 dssclk=1。 } //1302addshuju DS1302 向某地址寫入某數(shù)據(jù) void dsaddshuju(uchar add,uchar dsshuju) { dsrst=0。i++) {dsaddshuju(0x88i*2,(a[9i*2]4)+a[8i*2])。 dssclk=1。i8。//讀暫存器 31 a=readds18b20()。i0。 dq=0。 } //lcdshuju()
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1