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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于單片機(jī)的電子時(shí)鐘的設(shè)計(jì)-在線瀏覽

2025-03-06 01:18本頁(yè)面
  

【正文】 ,右示為帶中斷的鍵盤接法。 圖 I/O 口與串行口組成的行列式鍵盤 ② 行列式鍵盤的工作原理: 盡管構(gòu)成行列式鍵盤有多種形式,但它們的工作原理是相同的,現(xiàn)以圖 為例說(shuō) 說(shuō)明:行線 P1. 4~P1. 7 為輸出,列線 P1. 0~P1. 3 為輸入。 讀輸入口 P1. 0~P1. 3 的狀態(tài),若輸入緩沖器的狀態(tài)全部為“ 1”,則表示所在行無(wú)鍵按下, CPU 使一下行線為“ 0”,其余行線為“ 1”,掃描下一行,這樣在 P1. 4~P1. 7循環(huán)進(jìn)行。這樣,行線與列數(shù)交叉鍵就是掃描到的按鍵。這種程控掃描方式,適用單任務(wù)多分支結(jié)構(gòu)。具體做法是:在程序初始化時(shí),先對(duì)定時(shí) /計(jì)數(shù)器進(jìn)行設(shè)置,使其每 10ms 中斷一次,每次中斷, CPU 將去掃描一次鍵 盤,若兩次中斷掃描到有鍵按下(這里考慮了消抖動(dòng)), CPU 將對(duì)鍵作相應(yīng)的處理。這是多任務(wù)應(yīng)用系統(tǒng)常用的一種方式。復(fù)位操作后,程序?qū)?0000H開始重新執(zhí)行。單片機(jī) 對(duì)復(fù)位信號(hào)的要求:一是復(fù)位信號(hào)為高電平,二是復(fù)位信號(hào)有效持續(xù)時(shí)間不少于 24 個(gè)振蕩脈沖(兩個(gè)機(jī)器周期)以上。復(fù)位信號(hào)由單片機(jī)的 RST 引腳輸入,復(fù)位操作有上電自動(dòng)復(fù)位、按鍵復(fù)位和外部脈沖復(fù)位三種方式。 顯示控制模塊 LCD1602 字符顯示器模塊是 2 行 X16 個(gè)字符的 LCD 顯示器。 LCD1602 字符顯示器外形和引腳排列、名稱如圖 所示。 第 5 腳: RW 為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。 第 6 腳: E 端為使能端,當(dāng) E 端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。 第 15~ 16 腳:空腳 1602 液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器( CGROM)已經(jīng)存儲(chǔ)了 160 個(gè)不同的點(diǎn)陣字符圖形,如表 1 所示,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母 “A”的代碼是01000001B( 41H),顯示時(shí)模塊把地址 41H 中的點(diǎn)陣字符圖形顯 示出來(lái),我們就能看到字母 “A” 表 1 1602 液晶模塊內(nèi)部的控制器共有 11 條控制指令 , 如表 2 所示 表 2 序號(hào) 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 1 清顯示 0 0 0 0 0 0 0 0 0 1 2 光標(biāo)返回 0 0 0 0 0 0 0 0 1 * 3 置輸入模式 0 0 0 0 0 0 0 1 I/D S 4 顯示開 /關(guān)控制 0 0 0 0 0 0 1 D C B 5 光標(biāo)或 字符移位 0 0 0 0 0 1 S/C R/L * * 6 置功能 0 0 0 0 1 DL N F * * 7 置字符發(fā)生存貯器地址 0 0 0 1 字符發(fā)生存貯器地址 8 置數(shù)據(jù)存貯器地址 0 0 1 顯示數(shù)據(jù)存貯器地址 9 讀忙標(biāo)志或地址 0 1 BF 計(jì)數(shù)器地址 10 寫數(shù)字到 CGRAM 或 DDRAM) 1 0 要寫的數(shù)據(jù)內(nèi)容 11 從 CGRAM 或 DDRAM 讀數(shù) 1 1 讀出的數(shù)據(jù)內(nèi)容 它的讀寫操作、屏幕和光標(biāo)的操作都 是通過(guò)指令編程來(lái)實(shí)現(xiàn)的。高電平表示有效,低電平則無(wú)效 指令 4:顯示開關(guān)控制。 指令 10:寫數(shù)據(jù) 指令 11:讀數(shù)據(jù) 液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。同時(shí)讓 1602 的 E、 RW、 RS 針腳分別與單片機(jī)的 、 、 口相接。其工作原理為:接通電源后, 液晶顯示 00:00:00,按下 K1,可以調(diào)整秒,按下 K2 數(shù)值增一,按下 K3 數(shù)值減一,再次按下 K1,則可以調(diào)整分,再按下 K1,則可以調(diào)整時(shí),再按次就可確定時(shí)間,開始工作。每按一次,蜂鳴器都 給出聲響提示 。 這 4 個(gè)鍵分別為,調(diào)時(shí)選擇鍵 k加值鍵 k減值鍵 k單片機(jī)復(fù)位鍵 k4。 K1:時(shí)、分、秒的調(diào)時(shí)選擇鍵。如圖 所示 圖 復(fù)位電路模塊 復(fù)位電路采用手動(dòng)復(fù)位和上電自動(dòng)復(fù)位組合。如果 RST 持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。上電復(fù)位要求接通電源后,自動(dòng)實(shí)現(xiàn)復(fù)位操作。如圖 所示 圖 外部中斷和內(nèi)部中斷并存,單片機(jī)硬件復(fù)位端,只要持續(xù) 4 個(gè)機(jī)器周期的高電平即可實(shí)現(xiàn)復(fù)位,硬件復(fù)位后的各狀態(tài)可知寄存器以及存儲(chǔ)器的值都恢復(fù)到了初始值,因?yàn)楸驹O(shè)計(jì)中功能中有倒計(jì)時(shí)時(shí)間的記憶功能,所以不能對(duì)單片機(jī)進(jìn)行硬件復(fù)位,只能用軟件復(fù)位,軟件復(fù)位實(shí)際上就是當(dāng)程序執(zhí)行完之后,將程序通過(guò)一條跳轉(zhuǎn)指令讓它完成復(fù)位。該部分程序, LCD1602 的初始化為重點(diǎn)。 按鍵掃描程序:對(duì) K1 到 K4 四個(gè)按鍵進(jìn)行掃描,對(duì)按下不同的鍵讓單片機(jī)做出不同的響應(yīng)。另外一個(gè)難點(diǎn)就是對(duì)按鍵去抖動(dòng)延時(shí)的設(shè)定,如果延時(shí)值太大了,則按鍵不靈敏;如果延時(shí)值太小,則出現(xiàn)重復(fù)操作的現(xiàn)象,解決這個(gè)問(wèn)題需要在仿真時(shí)不斷的調(diào) 試,以取個(gè)適中延時(shí)值。時(shí)。 LCD 顯示程序 :LCD 顯示程序即包含在定時(shí)中斷程序里邊,也與前邊的 LCD 初始化程序有關(guān)。 開始 初始化 有按鍵按下? 是 否 寫入命令 顯示 延時(shí) 結(jié)束 程序的運(yùn)行步驟如圖 所示 開始 初始化函數(shù) 有鍵按下? 是 K1 鍵 ? b 的次數(shù) 是 否 K4? K4? 否 是 時(shí)鐘復(fù)位 無(wú)效 是 否 選定秒位 選定分位 返回時(shí)鐘工作 選定時(shí)鐘 b=1 b=2 b=3 b=4 有鍵按下 K2? K3? 選定為加 1 無(wú)效 選定位減 1 是 否 否 是 主程序清單 根據(jù)硬件電路的連接以及我們要實(shí)現(xiàn)的功能 ,編寫出了如下的程序,該程序的實(shí)現(xiàn)的功能能完成我們?cè)O(shè)計(jì)所需要的功能,具體的程序代碼如下: include define uchar unsigned char define uint unsigned int sbit rs=P3^0。 sbit en=P3^2。 //鍵盤 sbit s2=P1^1。 sbit beep=P1^3。 void delay(uint x) //延時(shí)程序 { uint i,j。i110。jx。 } void laba() //蜂鳴器程序 { beep=1。 beep=0。 en=0。 P2=mand。 en=1。 en=0。 } void write_date(uchar date) //液晶寫數(shù)據(jù) { rs=1。 rw=0。 delay(2)。 delay(2)。 delay(2)。 write_(0x0c)。 delay(2)。 si=date/10。 write_(0x80+add)。 write_date(0x30+ge)。 if(s1==0) //確認(rèn)功能鍵被按下 {s1num++。 // 釋放確定 laba()。 //關(guān)閉定時(shí)器 write_(0x80+0x06)。 //光標(biāo)開始閃爍 } } if(s1num==2) //第二次按下光標(biāo)閃爍定位到分鐘位置 { write_(0x80+0x03)。 } if(s1num==4) //第四次按下 { s1num=0。 //取消光標(biāo)閃爍 TR0=1。 if(s2==0) //增加鍵確認(rèn)被按下 { while(!s2)。 if(s1num==1) //若功能鍵第一次按下 { miao++。 write_sfm(6,miao)。 //顯示位置重新回到調(diào)節(jié)處 } if(s1num==2) //若功能鍵第 二 次按下 { fen++。 write_sfm(3,fen)。 //顯示位置重新回到調(diào)節(jié)處 } if(s1num==3) //若功能鍵第 三 次按下 { shi++。 write_sfm(0,shi)。 //顯示位置重新回到調(diào)節(jié)處 } } } if(s3==0) { delay(5)。 //按鍵釋放 laba()。 //則調(diào)整秒減 1 if(miao==1) //若減到負(fù)數(shù)則將其重新設(shè)置為 59 miao=59。 //每調(diào)節(jié)一次送液晶顯示一下 write_(0x80+0x06)。 if(fen==1) fen=59。 write_(0x80+0x03)。 if(shi==1) //若減到負(fù)數(shù)則將其重新設(shè)置為 23 shi=23。 //每調(diào)節(jié)一次送液晶顯示一下 write_(0x80+0x00)。fen=0。 init()。 write_(0x80+0x05)。:39。 write_sfm(0x03,fen)。 write_date(39。)。 TMOD=0X01。 //初次裝定時(shí)器初值 TL0=(6553650000)%256。 //開總中斷 ET0=1。 //啟動(dòng)定時(shí)器 0 while(1) { keyscan()。 //再次裝定時(shí)器初值 TL0=(6553650000)%256。 //中斷次數(shù)累加 if(num==20) //20 次 50 毫秒為 1 秒 { num=0。 if(miao==60) //秒加到 60 則進(jìn)位分鐘 { miao=0。 if(fen==60) //分加到 60 則進(jìn)位小時(shí) { fen=0。 if(shi==24) //小時(shí)加到 24 則清零 { shi=0。 //時(shí)若變化則重新寫入 } write_sfm(0x03,fen)。 //秒若變化則重新寫入 } } 系統(tǒng)調(diào)試 本設(shè)計(jì)中分 4 個(gè)模塊,測(cè)試的步驟如下: ( 1) 檢測(cè)各模塊焊接是否 到位。 ( 3) 按下 K1,可以調(diào)試秒,分,時(shí),按下 K2 可以增一,按下 K3 可以減一,則調(diào)整當(dāng)前時(shí)間,同時(shí)蜂 鳴器會(huì)發(fā)出提示聲音。 5 結(jié)論與心得 這次課程設(shè)計(jì) 老師給我們安排了兩 個(gè)星期 的時(shí)間,可以說(shuō)是比較充裕的。 通過(guò)運(yùn)用單片機(jī)設(shè)計(jì) 電子時(shí)鐘課 程設(shè)計(jì),發(fā)現(xiàn)自己的很多不足,自己知識(shí)的很多漏洞,看到了自己的實(shí)踐經(jīng)驗(yàn)還是比較缺乏,理論聯(lián)系實(shí)際的能力還急 需提高。特別是 Proteus 仿真軟件的使用,不知是由于電腦的問(wèn)題還是怎么,這個(gè)軟件的安裝就花了我很長(zhǎng)的時(shí)間,好不容易安裝好了,又對(duì)軟件的使用一點(diǎn)都不熟悉,要從頭開始學(xué)起,對(duì)著老師發(fā)給我們的芯片原理進(jìn)行仿真畫圖,剛剛開始時(shí)候真的很難下手,因?yàn)槭怯⑽陌娴能浖?,很多東西都看不太明白,都是通過(guò)自己一個(gè)個(gè)來(lái)慢慢琢磨,才把仿真圖畫了出來(lái),然后把寫好的程序?qū)胄酒M(jìn)行仿真,當(dāng)看到程序正常運(yùn)行的那一刻,心中真是有幾分的喜悅。勞動(dòng)是人類生存生活永恒不變的話題。 對(duì)我而言,知識(shí)上的收獲重要,精神上的豐收更加可喜。我們每一個(gè)人永遠(yuǎn)不能滿足于現(xiàn)有的成就,人生就像在爬山,一座山峰的后面還有更高的山峰在等著你。這次課程設(shè)計(jì)必將成為我人生旅途上一個(gè)非常美好的回憶 。 序號(hào) 名稱 數(shù)量 備注 1 LCD1602 1 2 排針 若干 3 電阻 若干 10K 4 導(dǎo)線 若干 5 晶振 1 12MHz 6 瓷片電容 若干 30pf 7 電解電容 若干 10uf 8 開關(guān) 4 9 排座 若干 10 蜂鳴器 1 11 電位器 1 附錄 Ⅱ?qū)嵨锝泳€圖 系統(tǒng)實(shí)物接線圖如下圖所示 。 在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,可以說(shuō)得是困難重重,這畢竟
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1