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

正文內(nèi)容

可編程作息時(shí)間控制器設(shè)計(jì)_單片機(jī)原理課程設(shè)計(jì)-預(yù)覽頁(yè)

 

【正文】 rammable and Erasable Read Only Memory)的低電壓,高性能 CMOS8位微處理器,俗稱單片機(jī)。當(dāng) P1口的管腳第一次寫 1時(shí),被定義為高阻輸入。 P1口管腳寫入 1后,被內(nèi)部上拉為高,可用作輸入, P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。這是由于內(nèi)部上拉的緣故。 P3口: P3口管腳是 8個(gè)帶內(nèi)部上拉電阻的雙向 I/O口,可接收輸出 4個(gè) TTL門電流。 RST:復(fù)位輸入。在平時(shí), ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。此時(shí), ALE只有在執(zhí)行 MOVX, MOVC指令是 ALE才起作用。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次 /PSEN有效。在 FLASH編程期間,此引腳也用于施加 12V編程電源( VPP)。 HD44780 具有簡(jiǎn)單而功能較強(qiáng)的指令集,可以實(shí)現(xiàn)字符移動(dòng)、閃爍等功能。 BF 為 1 時(shí),液晶模塊處于內(nèi)部處理模式,不響應(yīng)外部操作指令和接受數(shù)據(jù)。可以自定義 8 個(gè) 5*7 點(diǎn)陣字符或者 4 個(gè) 5*10 點(diǎn)陣字符。 第 3腳: VL為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生 “ 鬼影 ” ,使用時(shí)可以通過(guò)一個(gè) 10K的電位器調(diào)整對(duì)比度。 第 6腳: E端為使能端,當(dāng) E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行 命令。這時(shí),可將每個(gè)按鍵接在一根 I/O接口線上,這種方式的連接稱為獨(dú)立式鍵盤。在此電路中,按鍵輸入都采用低電平有效。 ( 3) respack8:上拉電阻 鍵 K1~K4分別與單片機(jī)的 ~。 系統(tǒng)初始化 sbit K1=P1^0。 sbit rs=P2^0。 sbit led=P2^4。 此段程序主要是是定義電路的外部接口,包括 K1~K4按鍵, LCD的 rs口、 rw口、廣播控制端 LED發(fā)光二極管控制端 led以及蜂鳴器控制端 beep。 aa++。 fen++。} write_sfm(9,shi)。 if(K1==0) shi++。 if(fen==60) fen=0。當(dāng)按下 K3鍵時(shí),則退出系統(tǒng)時(shí)間的更改,并啟動(dòng)定時(shí)器工作,開始 通過(guò) LCD在第二行顯示出修改后的時(shí)間。 write_sfm(9,shi1)。 write_sfm(12,fen)。 if(shi2==24) shi1=0。 if(fen1==60) fen1=0。 由于可編程時(shí)間控制器是由四路鬧鐘構(gòu)成的,所以只要通過(guò)邏輯上的先后順序便可以實(shí)現(xiàn),并且這四路鬧鐘設(shè)定上都是相同的,因此在這里將四路鬧鐘選擇其中的第一路做介紹。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。在鬧鐘響鬧完一個(gè)周期后將繼續(xù)向下執(zhí)行,并且根據(jù)以后程序的判定是哪一路鬧鐘在響鬧,執(zhí)行這一路所要求的內(nèi)容,但是不論哪一路時(shí)間到都會(huì)響鈴并且燈閃,不同的是根據(jù)判斷選擇出時(shí)間到的那一路并通過(guò) LCD顯示出來(lái)鬧鐘時(shí)間及某路鬧鐘;此時(shí)若按下 K4鍵,則使得 flag2等于 0,當(dāng)進(jìn)行 是否鬧鐘響鬧時(shí)將會(huì)不在響應(yīng),也就是鬧鐘被手動(dòng)關(guān)閉,從而不需要一定要響鈴一分鐘后在關(guān)閉鬧鐘,實(shí)現(xiàn)手動(dòng)關(guān)斷鬧鐘的功能。amp。 flag4=0。 flag4=1。 flag4=1。 1602LCD液晶顯示 VSS引腳接地, VDD提供電源, VEE接滑動(dòng)變阻器來(lái)控制液晶屏的對(duì)比度。 E端為使能端,當(dāng) E端由高電平跳變成低 電平時(shí),液晶模塊執(zhí)行命令。 P3=。 rw=0。 lcden=0。 聯(lián)調(diào):加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在“ Program File”欄中添加上面編譯好的目標(biāo)代碼文件“ ”;在“ Clock Frequency”欄中輸入晶振頻率為。 6 小結(jié)與體會(huì) 通過(guò)此次的單片機(jī)課程設(shè)計(jì)讓我學(xué)到了許多新的知識(shí),讓我受益匪淺,其中對(duì) 1602LCD液晶顯示器有了非常深刻的認(rèn)識(shí)。首先,我就把我的思路認(rèn)真的整理下來(lái),然后規(guī)劃好每一塊所要完成的任務(wù),然后再用 Keil軟件編寫出來(lái),在進(jìn)行聯(lián)調(diào),每一小步的調(diào)試都必須做到?jīng)]有問(wèn)題,只有這樣在總的聯(lián)調(diào)時(shí)不會(huì)因?yàn)閱?wèn)題太多而做不出來(lái)。在編寫程序的過(guò)程中每一塊的認(rèn)真編寫才為以后整個(gè)程序的完成奠定基礎(chǔ),正如我們?cè)谄綍r(shí)的生活中一樣,只有不斷地積累,才會(huì)為以后更大的收 16 獲打下堅(jiān)實(shí)的基礎(chǔ),而此次的課程設(shè)計(jì)就可以當(dāng)做我的一次小小的積累,可以說(shuō)這是我大學(xué)以來(lái)最讓我糾結(jié)的一次課程設(shè)計(jì),也是第一個(gè)讓我有放棄的念頭的課程設(shè)計(jì),當(dāng)我最終調(diào)出程序的那一刻讓我明白,有時(shí)候在那自暴自棄還不如竭盡自己的權(quán)力去解決這個(gè)問(wèn)題,在這過(guò)程中的確會(huì)有許多麻煩,有時(shí)會(huì) 把本來(lái)沒(méi)有的問(wèn)題弄出來(lái),有時(shí)經(jīng)過(guò)一次次的調(diào)試還是達(dá)不到自己的要求,但是只要我們堅(jiān)持住,不放棄還是會(huì)解決的。 17 參 考 文 獻(xiàn) [1] 張毅剛主編,單片機(jī)原理及應(yīng)用,北京:高等教育出版社, 2020 [2] 陳濤編著,單片機(jī)應(yīng)用及 C51程序設(shè)計(jì),北京:機(jī)械工業(yè)出版社, 2020 [3] 周潤(rùn)景主編, PROTEUS入門實(shí)用教程,北京:機(jī)械工業(yè)出版社, 2020 [4] 皮大能主編,單片機(jī)課程設(shè)計(jì)指導(dǎo)書,北京:北京理工大學(xué)出版社, 2020 [5] 樓然苗主編, 單片機(jī)實(shí)驗(yàn)與課 程設(shè)計(jì)( Proteus仿真版),浙江:浙江大學(xué)出版社 , 2020 18 附錄 設(shè)計(jì)程序 include define uint unsigned int define uchar unsigned char Uint i,miao,fen,fen1,fen2,fen3,fen4,shi,shi1,shi2,shi3,shi4,flag1,flag2,flag3,flag4,flag5,aa,K1num,K2num,K3num,K4num,N。 uchar code Alarm_1[]= SKDS 。 uchar code Alarm_11[]= SK 。 sbit K1=P1^0。 sbit rs=P2^0。 //廣播控制端 sbit led=P2^4。x0。 } void write_(uchar )//液晶寫命令函數(shù) {rs=0。 delay(5)。 } void write_date(uchar date)//液晶寫數(shù)據(jù)函數(shù) { rs=1。 delay(5)。 } void write_sfm(uchar add,uchar date) //液晶寫時(shí)分秒函數(shù) {uchar shi,ge。 write_date(0x30+shi)。 //中斷次數(shù)標(biāo)志 K1num=0。 //K4按鍵被按下的標(biāo)記變量 flag1=1。//進(jìn)入鬧鐘設(shè)置時(shí)的標(biāo)記變量 flag5=1。 N=100。 fen1=6。 fen3=10。 beep=0。 5*7點(diǎn)陣, 8位數(shù)據(jù)接口 write_(0x0c)。 //將數(shù)據(jù)指針定位到第一行,第一個(gè)字處 for(num=0。 } write_(0x80+0x40+11)。 write_(0x80+0x40+14)。 write_(0x80+0x40+15)。 write_sfm(12,fen)。//定時(shí)器裝初值 TL0=(6553650000)%256。 } void xianshi() //系統(tǒng)時(shí)間顯示 {write_(0x80+0x40)。 write_(0x80+0x40+11)。 write_(0x80+0x40+14)。 write_(0x80+0x40+15)。 write_sfm(12,fen)。(flag3==1) ) {write_(0x80+0x40)。 } if(K1==0)//判斷 K1按下,則開始修改時(shí)間 {delay(5)。K1num==0) {K1num=1。} } } if(K1==0amp。 //光標(biāo)定位到小時(shí)位置 K1num=1。 //若滿 24后將清零 write_sfm(9,shi)。K1num==1) //判 K2按下 ,修改系統(tǒng)時(shí)間的分鐘 {delay(5)。 20 fen++。 } } if(K1num==1) //當(dāng)設(shè)置時(shí)間或鬧鐘時(shí),K3被按下設(shè)置完成。 while(!K3)。//flag=顯示的系統(tǒng)時(shí)間值, flag=0,則為修改鬧鐘時(shí)間時(shí),屏幕顯示的是修改鬧鐘時(shí)間的值 flag1=1。)。)。)。i++) write_date(Alarm_00[i])。 //延時(shí)消抖,后同 if(K3==0) { flag1=0。 write_(0x80+0x40)。 write_sfm(12,fen1)。 //顯示位置回到調(diào)節(jié)處 } } if(K2==0amp。 //送去液晶顯示定時(shí)的分,時(shí) write_sfm(9,shi1)。} } if(K1==0amp。 //光標(biāo)定位到小時(shí)位置 K3num=1。 write_sfm(9,shi1)。K3num==1)//按鍵 2按下,修 改鬧鐘時(shí)間的分鐘 { delay(5)。 fen1++。 //顯示位置重新回到調(diào)節(jié)處 } } if(K3num==1) //當(dāng)設(shè)置鬧鐘時(shí), K3被按下設(shè)置完成。 while(!K3)。//送去液晶顯示分,時(shí) write_sfm(9,shi)。)。)。)。i++) write_date(Alarm_11[i])。 //延 時(shí)消抖,后同 if(K3==0) { flag1=0。 write_(0x80+0x40)。 write_sfm(12,fen2)。 //顯示位置回到調(diào)節(jié)處 } } if(K2==0amp。 //送去液晶顯示定時(shí)的分,時(shí) write_sfm(9,shi2)。 } } if(K1==0amp。 //光標(biāo)定位到小時(shí)位置 K3num=1。 write_sfm(9,shi2)。K3num==1) //按鍵 2按下 ,修改鬧鐘時(shí)間的分鐘 { delay(5)。 fen2++。 //顯示位置重新回到調(diào)節(jié)處 } } if(K3num==1) //當(dāng)設(shè)置時(shí)間或鬧鐘時(shí),K3被按下設(shè)置完成 。 while(!K3)。//送去液晶顯示分,時(shí) write_sfm(9,shi)。)。)。)。i++) write_date(Alarm_22[i])。 //延時(shí)消抖,后同 if(K3==0) { flag1=0。 write_(0x80+0x40)。 write_sfm(12,fen3)。 //顯示位置回到調(diào)節(jié)處 }} if(K2==0amp。 //送去液晶顯示定時(shí)的分,時(shí) write_sfm(9,shi3)。} } if(K1==0amp。 //光標(biāo)定位到小時(shí)位置 K3num=1。 write_sfm(9,shi3)。K3num==1) // 2按下 ,修改鬧鐘時(shí)間的分鐘 { delay(5)。 fen3++。 } } if(K3num==1) //當(dāng)設(shè)置時(shí)間或鬧鐘時(shí),K3被按下設(shè)置完成。 while(!K3)。//送去液晶顯示分,時(shí) write_sfm(9,shi)。)。)。)。i++) write_date(Alarm_33[i])。 //延時(shí)消抖,后同 if(K3==0) {flag1=0。 write_(0x80+0x40)。 write_sfm(12,fen4)。 //顯示位置回到調(diào)節(jié)處 } } if(K2==0amp。 //送去液晶顯示定時(shí)的分,時(shí) write_sfm(9,shi4)。 } } if(K1==0amp。 //光標(biāo)定位到小時(shí)位置 K3num=1。 write_sfm(9,shi4)。K3num==1) //按鍵 2按下,修改鬧鐘時(shí)間的分鐘 { delay(5)。 fen4++。 //顯示位置重新回到調(diào)節(jié)處 } } if(K3num==1) //當(dāng)設(shè)置時(shí)間或鬧鐘時(shí),K3被按下設(shè)置完成。 while(!K3)。//送去液晶顯示分,時(shí) write_sfm(9,shi)。)。)。)。amp。amp。 //此時(shí)鬧鐘響起,連續(xù)三次發(fā)出嘩的一聲 flag5=0。 delay(100)。 delay(100)。 delay(300)。(fen!=fen2)amp。(fen!=fen4))amp。(flag5==0) )//顯示時(shí)間 { xianshi()。amp。i9。 } else {LED2=0。amp。amp。(shi==shi2)amp。i9。 } if((((fen==fen2)amp。(flag2==0))||((fen1==fen2)amp。(flag4==0) ) { xianshi()。amp。i++) write_date(Alarm_22[i])。amp。amp。 } 25 if((fen==fen4)amp。(flag2==1)) {write_(0x80+0x40)。 } if((((fen==fen4)amp。(flag2==0))||((fen1==fen4)amp
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1