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

正文內(nèi)容

單片機(jī)電子時(shí)鐘1602顯示ds12c887芯片-免費(fèi)閱讀

  

【正文】 課程設(shè)計(jì)是我們專(zhuān)業(yè)課程知識(shí)綜合應(yīng)用的實(shí)踐訓(xùn)練,著是我們邁向社會(huì),從事職業(yè)工作前一個(gè)必不少的過(guò)程.”千里之行始于足下”,通過(guò)這次課程設(shè)計(jì),我深深體會(huì)到這句千古名言的真正含義.我今天認(rèn)真的進(jìn)行課程設(shè)計(jì),學(xué)會(huì)腳踏實(shí)地邁開(kāi)這一步,就是為明天能穩(wěn)健地在社會(huì)大潮中奔跑打下堅(jiān)實(shí)的基礎(chǔ). 通過(guò)這次課程設(shè)計(jì),本人在多方面都有所提高。 write_nyr(3,nian)。 yue=read_ds(8)。 if(flag==0) { amiao=read_ds(0)。 dscs=1。 dscs=0。 P2=date。 write_(0x80+0x40+5)。 write_(0x80+0x40+11)。 write_(0x80)。 write_nyr(6,yue)。 write_xingqi(12,xingqi)。 write_sfm(7,fen)。 } } } if(s3==0) { delay(1)。 } if(s1num==10) //按s1按鍵10次改鬧鐘時(shí)間分 { afen++。 for(n=0。 write_(0x80+7)。 write_(0x80+14)。 write_(0x80+0x40+8)。 if(s2==0) { while(!s2)。num++) { write_date(table[num])。 write_ds(6,xingqi)。 } if(s1num==11) { write_(0x80+0x40+5)。 } if(s1num==8) //此判斷語(yǔ)句顯示table5表內(nèi)容,鬧鐘狀態(tài)顯示 { uchar n。 write_(0x80+0x40+11)。 if(s3==0) { while(!s3)。 date=(date1)*3。 write_date(0x30+ge)。num12。 write_(0x01)。 flag1=0。 lcden=1。 delay(5)。 beep=1。功能控制void delay(uint z) //延時(shí)子函數(shù){ uint x,y。 //年月日顯示格式uchar code table1[]= : : 。 //蜂鳴器sbit dscs=P1^4。 軟件設(shè)計(jì). 首先,程序啟動(dòng)應(yīng)先對(duì)單片機(jī)資源進(jìn)行初始化操作,其過(guò)程包括:打開(kāi)中斷,對(duì)蜂鳴器標(biāo)志位初始化,向ds12c887芯片寫(xiě)入控制字,讀取芯片內(nèi)相應(yīng)寄存器的時(shí)間數(shù)據(jù),并將lcd1602進(jìn)行初始化,寫(xiě)入控制字,寫(xiě)入數(shù)據(jù),完成時(shí)間日期的顯示,然后進(jìn)入循環(huán)中不斷重復(fù)以下過(guò)程:掃描鍵盤(pán),有鍵盤(pán)按下則執(zhí)行相應(yīng)的操作,沒(méi)有鍵盤(pán)按下則檢查鬧鐘標(biāo)志位有沒(méi)有被中斷觸發(fā),有的話執(zhí)行響鈴函數(shù),否則進(jìn)行ds12c887芯片的寄存器數(shù)據(jù)讀取,向lcd1602發(fā)送相應(yīng)數(shù)據(jù)并顯示。 第 5 腳:R/W 為讀寫(xiě)信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作。DS/RD:數(shù)據(jù)選擇或讀輸入腳,該引腳有兩種工作模式,當(dāng)MOT接VCC時(shí),選用Motorola工作模式,在這種工作模式中,每個(gè)總線周期的后一部分的DS為高電平,被稱(chēng)為數(shù)據(jù)選通。本設(shè)計(jì)選用其Intel模式,所以電路圖中MOT端接GND。3 詳細(xì)設(shè)計(jì) 硬件設(shè)計(jì)1.芯片及原理介紹(一) STC89C52  STC89C52與MCS51單片機(jī)產(chǎn)品兼容 、8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器、 1000次擦寫(xiě)周期、 全靜態(tài)操作:0Hz~33MHz 、 三級(jí)加密程序存儲(chǔ)器 、 32個(gè)可編程I/O口線 、三個(gè)16位定時(shí)器/計(jì)數(shù)器 八個(gè)中斷源 、全雙工UART串行通道、 低功耗空閑和掉電模式 、掉電后中斷可喚醒 、看門(mén)狗定時(shí)器 、雙數(shù)據(jù)指針 、掉電標(biāo)識(shí)符 。最早的設(shè)計(jì)理念是通過(guò)將大量外圍設(shè)備和CPU集成在一個(gè)芯片中,使計(jì)算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對(duì)體積要求嚴(yán)格的控制設(shè)備當(dāng)中。目前最常用的單片機(jī)為MCS51,是由美國(guó)INTEL公司(生產(chǎn)CPU的英特爾)生產(chǎn)的,89C51是這幾年在我國(guó)非常流行的單片機(jī),它是由美國(guó)ATMEL公司開(kāi)發(fā)生產(chǎn)的,其內(nèi)核兼容MCS51單片機(jī)。它的應(yīng)用必定導(dǎo)致傳統(tǒng)的控制技術(shù)從根本上發(fā)生變革。本設(shè)計(jì)以宏晶公司的STC89C52單片機(jī)為控制核心,以液晶屏LCD1602顯示器為顯示模塊,依靠DS12C887芯片高精度計(jì)時(shí)的特點(diǎn),可以設(shè)計(jì)出一個(gè)具有顯示年月日,星期,時(shí)分秒,以及定時(shí)鬧鐘功能為一體的高精度電子時(shí)鐘,本時(shí)鐘具有如下特點(diǎn):(1) 計(jì)時(shí)準(zhǔn)確,基本無(wú)誤差,運(yùn)行10年誤差僅1秒;(2) 可以隨意設(shè)置時(shí)間,包括年月日,星期,時(shí)分秒,鬧鐘開(kāi)/關(guān),時(shí)間;(3) 系統(tǒng)掉電后,時(shí)鐘仍可精確計(jì)時(shí)10年;(4) 系統(tǒng)上電后,自動(dòng)恢復(fù)正常時(shí)間;(5) 本系統(tǒng)運(yùn)行穩(wěn)定,其優(yōu)點(diǎn)是硬件電路簡(jiǎn)單,軟件功能完善,控制系統(tǒng)可靠,性價(jià)比較高等,具有一定的實(shí)用和參考價(jià)值。并且本文分別從原理圖,主要芯片,以及程序的調(diào)試來(lái)詳細(xì)闡述。同時(shí),學(xué)習(xí)使用單片機(jī)是了解計(jì)算機(jī)原理與結(jié)構(gòu)的最佳選擇。每次輸入指令前都要判斷液晶模塊是否處于忙的狀態(tài)。GND、VCC:直流電源,其中VCC接+5V輸入,GND接地,當(dāng)VCC輸入為+5V時(shí),用戶可以訪問(wèn)DS12C887內(nèi)RAM中的數(shù)據(jù),并可對(duì)其進(jìn)行讀、寫(xiě)操作;當(dāng)VCC的輸入小于+,禁止用戶對(duì)內(nèi)部RAM進(jìn)行讀、寫(xiě)操作,此時(shí)用戶不能正確獲取芯片內(nèi)的時(shí)間信息;當(dāng)VCC的輸入小于+3V時(shí),DS12C887會(huì)自動(dòng)將電源發(fā)換到內(nèi)部自帶的鋰電池上,以保證內(nèi)部的電路能夠正常工作。R/W:讀/寫(xiě)輸入端,該管腳也有2種工作模式,當(dāng)MOT接VCC時(shí),R/W工作在Motorola模式。 第 2 腳:VDD接 5V正電源。 第 16腳:背光源負(fù)極。 //開(kāi)關(guān)s1sbit s2=P3^1。 // ds12c887中斷請(qǐng)求輸入uchar count,s1num,flag,flag1。 //鬧鐘狀態(tài)選擇提示void write_ds(uchar,uchar)。y)。}void write_(uchar ) //向lcd寫(xiě)入控制字,根據(jù)lcd1602時(shí)序圖進(jìn)行操作,rs為寄存器選擇{ rs=0。 lcden=0。 //開(kāi)總中斷 EX1=1。 //讀芯片時(shí)間數(shù)據(jù) write_(0x38)。 delay(5)。 ge=date%10。 write_date(0x30+shi)。 if(s2==0) { while(!s2)。 flag1=0。 } if(s1num==5) { write_(0x80+10)。 } write_(0x80+14)。 write_ds(0,miao)。 write_(0x80)。num++) { write_date(table1[num])。 } if(s1num==2) //按s1按鍵2次改分 { fen++。 } if(s1num==4) //按s1按鍵4次改星期 { xingqi++。 } if(s1num==6) //按s1按鍵6次改月 { yue++。 } if(s1num==8) //按s1按鍵8次改鬧鐘狀態(tài)開(kāi)還是關(guān) { uchar n。 if(amiao==60) amiao=0。 if(ashi==24) ashi=0。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1