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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于單片機(jī)的電子時(shí)鐘的設(shè)計(jì)(編輯修改稿)

2025-02-13 01:18 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 是 否 否 是 主程序清單 根據(jù)硬件電路的連接以及我們要實(shí)現(xiàn)的功能 ,編寫(xiě)出了如下的程序,該程序的實(shí)現(xiàn)的功能能完成我們?cè)O(shè)計(jì)所需要的功能,具體的程序代碼如下: include define uchar unsigned char define uint unsigned int sbit rs=P3^0。 //各引腳定義 //液晶 sbit rw=P3^1。 sbit en=P3^2。 sbit s1=P1^0。 //鍵盤(pán) sbit s2=P1^1。 sbit s3=P1^2。 sbit beep=P1^3。 //蜂鳴器 uint shi,fen,miao,s1num=0,num=0。 void delay(uint x) //延時(shí)程序 { uint i,j。 for(i=0。i110。i++) for(j=0。jx。j++)。 } void laba() //蜂鳴器程序 { beep=1。 delay(100)。 beep=0。 } void write_(uchar mand) //液晶寫(xiě)命令 { rs=0。 en=0。 rw=0。 P2=mand。 delay(2)。 en=1。 delay(2)。 en=0。 delay(2)。 } void write_date(uchar date) //液晶寫(xiě)數(shù)據(jù) { rs=1。 en=0。 rw=0。 P2=date。 delay(2)。 en=1。 delay(2)。 en=0。 delay(2)。 } void init() //液晶初始化 { write_(0x30)。 write_(0x0c)。 write_(0x01)。 delay(2)。 } void write_sfm(uchar add,uchar date) //數(shù)據(jù)分離、顯示 { uchar si,ge。 si=date/10。 ge=date%10。 write_(0x80+add)。 write_date(0x30+si)。 write_date(0x30+ge)。 } void keyscan() //鍵盤(pán)掃描 { if(s1==0) { delay(5)。 if(s1==0) //確認(rèn)功能鍵被按下 {s1num++。 //功能鍵按下次數(shù)記錄 while(!s1)。 // 釋放確定 laba()。 //每當(dāng)有按鍵釋放蜂鳴器發(fā)出滴聲 if(s1num==1) //第一次被按下時(shí) { TR0=0。 //關(guān)閉定時(shí)器 write_(0x80+0x06)。 //光標(biāo)定位到秒位置 write_(0x0f)。 //光標(biāo)開(kāi)始閃爍 } } if(s1num==2) //第二次按下光標(biāo)閃爍定位到分鐘位置 { write_(0x80+0x03)。 } if(s1num==3) //第三次按下光標(biāo)閃爍定位到小時(shí)位置 { write_(0x80+0x00)。 } if(s1num==4) //第四次按下 { s1num=0。 //記錄按鍵數(shù)清零 write_(0x0c)。 //取消光標(biāo)閃爍 TR0=1。 //啟動(dòng)定時(shí)器使時(shí)鐘開(kāi)始走 } } if(s1num!=0) //只有功能鍵 被按下后 ,增大和減少鍵才有效 { if(s2==0) { delay(5)。 if(s2==0) //增加鍵確認(rèn)被按下 { while(!s2)。 //按鍵釋放 laba()。 if(s1num==1) //若功能鍵第一次按下 { miao++。 //則調(diào)整秒加 1 if(miao==60) //若滿(mǎn) 60 后將 清 0 miao=0。 write_sfm(6,miao)。 //每調(diào)節(jié)一次送液晶顯示一下 write_(0x80+6)。 //顯示位置重新回到調(diào)節(jié)處 } if(s1num==2) //若功能鍵第 二 次按下 { fen++。 //則調(diào)整 分 加 1 if(fen==60) //若滿(mǎn) 60 后將請(qǐng) 0 fen=0。 write_sfm(3,fen)。 //每調(diào)節(jié)一次送液晶顯示一下 write_(0x80+3)。 //顯示位置重新回到調(diào)節(jié)處 } if(s1num==3) //若功能鍵第 三 次按下 { shi++。 //則調(diào)整 時(shí) 加 1 if(shi==24) //若滿(mǎn) 24 后將請(qǐng) 0 shi=0。 write_sfm(0,shi)。 //每調(diào)節(jié)一次送液晶顯示一下 write_(0x80+0)。 //顯示位置重新回到調(diào)節(jié)處 } } } if(s3==0) { delay(5)。 if(s3==0) //確定減小鍵被按下 { while(!s3)。 //按鍵釋放 laba()。 if(s1num==1) //若功能鍵第一次按下 { miao。 //則調(diào)整秒減 1 if(miao==1) //若減到負(fù)數(shù)則將其重新設(shè)置為 59 miao=59。 write_sfm(6,miao)。 //每調(diào)節(jié)一次送液晶顯示一下 write_(0x80+0x06)。 //顯示位置重新回到調(diào)節(jié)處 } if(s1num==2) // 若功能鍵第二次按下 { fen。 if(fen==1) fen=59。 write_sfm(3,fen)。 write_(0x80+0x03)。 } if(s1num==3) // 若功能鍵第三次按下 { shi。 if(shi==1) //若減到負(fù)數(shù)則將其重新設(shè)置為 23 shi=23。 write_sfm(0,shi)。 //每調(diào)節(jié)一次送液晶顯示一下 write_(0x80+0x00)。 //顯示位置重新回到調(diào)節(jié)處 } } } } } void main() //主程序 { miao=0。fen=0。shi=0。 init()。 write_sfm(0x06,miao)。 write_(0x80+0x05)。 write_date(39。:39。)。 write_sfm(0x03,fen)。 write_(0x80+0x02)。 write_date(39。:39。)。 write_sfm(0x00,shi)。 TMOD=0X01。 TH0=(6553650000)/256。 //初次裝定時(shí)器初值 TL0=(6553650000)%256。 EA=1。 //開(kāi)總中斷 ET0=1。 //開(kāi)定時(shí)器 0 中斷 TR0=1。 //啟動(dòng)定時(shí)器 0 while(1) { keyscan()。 //不斷的檢測(cè)按鍵是否被按下 } } void T0_time() interrupt 1 //定時(shí)器 0 中斷 { TH0=(6553650000)/256。 //再次裝定時(shí)器初值 TL0=(6553650000)%256。 num++。 //中斷次數(shù)累加 if(num==20) //20 次 50 毫秒為 1 秒 { num=0。 miao++。 if(miao==60) //秒加到 60 則進(jìn)位分鐘 { miao=0。 //同時(shí)秒數(shù)清零 fen++。 if(fen==60) //分加到 60 則進(jìn)位小時(shí) { fen=0。 //同時(shí)分鐘清零 shi++。 if(shi==24) //小時(shí)加到 24 則清零 { shi=0。 } write_sfm(0x00,shi)。 //時(shí)若變化則重新寫(xiě)入 } write_sfm(0x03,fen)。 //分若變化則重新寫(xiě)入 } write_sfm(0x6,miao)。 //秒若變化則重新寫(xiě)入 } } 系統(tǒng)調(diào)試 本設(shè)計(jì)中分 4 個(gè)模塊,測(cè)試的步驟如下: ( 1) 檢測(cè)各模塊焊接是否 到位。將各個(gè)模塊焊好,檢查確認(rèn)無(wú)虛焊、粘焊; ( 2) 接通電源,液晶亮并且顯示 ,之后秒鐘自動(dòng)增加。 ( 3) 按下 K1,可以調(diào)試秒,分,時(shí),按下 K2 可以增一,按下 K3 可以減一,則調(diào)整當(dāng)前時(shí)間,同時(shí)蜂 鳴器會(huì)發(fā)出提示聲音。 ( 4) 按下 K4,液晶顯示則恢復(fù) 00:00:00。 5 結(jié)論與心得 這次課程設(shè)計(jì) 老師給我們安排了兩 個(gè)星期 的時(shí)間,可以說(shuō)是比較充裕的。雖然如此,我還是很用心的做設(shè)計(jì),利用了周六周日兩天的時(shí)間在宿舍思考本次的課程設(shè)計(jì),拿到題目,感覺(jué)太繁雜了,不知怎么下手,雖然這些知識(shí)以前都有接觸過(guò),但也只是分部分來(lái)接觸,而這次的設(shè)計(jì)是要對(duì)前面幾次實(shí)驗(yàn)的一個(gè)綜合,真的很難。 通過(guò)運(yùn)用單片機(jī)設(shè)計(jì) 電子時(shí)鐘課 程設(shè)計(jì),發(fā)現(xiàn)自己的很多不足,自己知識(shí)的很多漏洞,看到了自己的實(shí)踐經(jīng)驗(yàn)還是比較缺乏,理論聯(lián)系實(shí)際的能力還急 需提高。 在這個(gè)過(guò)程中,我也曾經(jīng)因?yàn)閷?shí)踐經(jīng)驗(yàn)的缺乏失落過(guò),也曾經(jīng)仿真成功而熱情高漲。特別是 Proteus 仿真軟件的使用,不知是由于電腦的問(wèn)題還是怎么,這個(gè)軟件的安裝就花了我很長(zhǎng)的時(shí)間,好不容易安裝好了,又對(duì)軟件的使用一點(diǎn)都不熟悉,要從頭開(kāi)始學(xué)起,對(duì)著老師發(fā)給我們的芯片原理進(jìn)行仿真畫(huà)圖,剛剛開(kāi)始時(shí)候真的很難下手,因?yàn)槭怯⑽陌娴能浖?,很多東西都看不太明白,都是通過(guò)自己一個(gè)個(gè)來(lái)慢慢琢磨,才把仿真圖畫(huà)了出來(lái),然后把寫(xiě)好的程序?qū)胄酒?,進(jìn)行仿真,當(dāng)看到程序正常運(yùn)行的那一刻,心中真是有幾分的喜悅。 生活就是這樣,汗水預(yù)示 著結(jié)果也見(jiàn)證著收獲。勞動(dòng)是人類(lèi)生存生活永恒不變的話(huà)題。雖然這只是一次的 較 簡(jiǎn)單的課程制作,可是平心而論,也耗費(fèi)了我不少的心血 。 對(duì)我而言,知識(shí)上的收獲重要,精神上的豐收更加可喜。讓我知道了學(xué)無(wú)止境的道理。我們每一個(gè)人永遠(yuǎn)不能滿(mǎn)足于現(xiàn)有的成就,人生就像在爬山,一座山峰的后面還有更高的山峰在等著你。挫折是一份財(cái)富,經(jīng)歷是一份擁有。這次課程設(shè)計(jì)必將成為我人生旅途上一個(gè)非常美好的回憶 。 參考文獻(xiàn) [1]李朝青 .《 單片機(jī)原理及接口技術(shù) 》 .[M] 北京航空航天大學(xué)出版社 第 3 版 [2]彭偉 .《 單片機(jī) C 語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn) 100 列 — 基于 8051+Proteus 仿真 》 . [M] 北京:電子工業(yè)出版社 .2022 年 1 月 [3]郭天祥 .《 新概念 51 單片機(jī) C 語(yǔ)言教程 》 .[M]電子工業(yè)出版社 [4] 鄭鋒 .《 51 單片機(jī)應(yīng)用系統(tǒng)典型模塊開(kāi)發(fā)大全 》 .[M]中國(guó)鐵道出版社 . 2022 [5] 于曉東 .《 51 系列單片機(jī)叢書(shū) 80C51 單片機(jī)原理、開(kāi)發(fā)與應(yīng)用實(shí)例 》 .[M]中國(guó)電力出版社 . 2022 附錄 附錄 Ⅰ 元器件清單 系統(tǒng)元器件清單如下表所示。 序號(hào) 名稱(chēng) 數(shù)量 備注 1 LCD1602 1 2 排針 若干 3 電阻 若干 10K 4 導(dǎo)線(xiàn) 若干 5 晶振 1 12MHz 6 瓷片電容 若干 30pf 7 電解電容 若干 10uf 8 開(kāi)關(guān) 4 9 排座 若干 10 蜂鳴器 1 11 電位器 1 附錄 Ⅱ?qū)嵨锝泳€(xiàn)圖 系統(tǒng)實(shí)物接線(xiàn)圖如下圖所示 。 附
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1