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

正文內(nèi)容

基于單片機(jī)的倒計(jì)時(shí)鐘的設(shè)計(jì)(編輯修改稿)

2024-12-23 21:32 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 顯示的控制。顯示子程序流程圖如圖 13所示。 執(zhí)行主程序 執(zhí)行一條指令 定時(shí)器 0 有中斷請(qǐng)求 取 下一條指令 保護(hù)現(xiàn)場(chǎng)和斷點(diǎn) 定時(shí)器 0 中斷服務(wù)程序 恢復(fù)現(xiàn)場(chǎng) 返回 否 是 14 圖 13 顯示子程序流程圖 鍵盤掃描 子程序 流程圖 在本設(shè)計(jì)中由 8255 的 PC口控制 4*4鍵盤,其中 PC口低四位控制行,PC口高四位控制列。通過(guò)逐行掃描給各行的各個(gè)鍵賦鍵值并判斷那個(gè)鍵按下。鍵盤掃描子程序流程圖如圖 14所示。 定義字型碼 給 8255 PB 口賦段選值 給 8255 PA口賦位選值 調(diào)用延時(shí)子程序 在相應(yīng)的位顯示值 給 PA 口 PB 口賦不同的值 循環(huán) 6 次 開(kāi)始 子程序返回 15 圖 14 鍵盤掃描子程序流程圖 4 系統(tǒng)調(diào)試 整體電路仿真以 及仿真結(jié)果分析 系統(tǒng)仿真用的是 Protues 軟件,可通過(guò)仿真顯示出所設(shè)計(jì)系統(tǒng)的功能,對(duì)于程序的調(diào)試等有很大的幫助。 系統(tǒng)仿真時(shí)如果使用 C 語(yǔ)言編程或 C 語(yǔ)言與匯編語(yǔ)言聯(lián)合編程,一般使用Keil C 譯碼器,把所寫的程序進(jìn)行編譯,同時(shí)在仿真器里設(shè)置生成 HEX 文件,編譯無(wú)錯(cuò)進(jìn)行 Protues 仿真。等所有的元件都連接完成后可以把 Keil C 生成的無(wú)錯(cuò)誤文件編譯加載到 AT89C51 中,然后點(diǎn)擊運(yùn)行。 開(kāi)始 PC0 口置 0 PC口高四位為全 1? PC1 口置 0 PC口高四位為全 1? PC2 口 置 0 PC口高四位為全 1? PC3 口置 0 PC口高四位為全 1? 子程序返回 讀入 PC口值 讀入 PC口值 讀入 PC口值 讀入 PC口值 查表對(duì)照求出鍵值 查表對(duì)照求出鍵值 查表對(duì)照求出鍵值 查表對(duì)照求出鍵值 執(zhí)行鍵功能 執(zhí)行鍵功能 執(zhí)行鍵功能 執(zhí)行鍵功能 Y N Y N Y N Y N 16 啟動(dòng) Protues 軟件的運(yùn)行按鈕,用矩陣鍵盤設(shè)定倒計(jì)時(shí)初值。按下相應(yīng)的鍵 6 次,數(shù)碼管上從左到右依次顯示 6個(gè) 數(shù)字從而設(shè)定初值,當(dāng)按開(kāi)始鍵時(shí),數(shù)碼管上的數(shù)值減 1,也就是 1s計(jì)時(shí)時(shí)間到了,如果中間按暫停鍵則暫停倒計(jì)時(shí),當(dāng)之后第二遍再按暫停鍵則繼續(xù)開(kāi)始倒計(jì)時(shí),若按停止鍵則停止倒計(jì)時(shí)。 數(shù)碼管顯示 功能的調(diào)試 數(shù)碼管顯示功能正常,按運(yùn)行鍵時(shí),單片機(jī)和 8255 各引腳的高低電平顯示正常。但按鍵功能有點(diǎn)異常,致使顯示無(wú)數(shù)據(jù)。如圖 15所示: 圖 14 數(shù)碼管顯示功能調(diào)試圖 5. 總結(jié) 本系統(tǒng)存在的問(wèn)題及改進(jìn)措施 存在的問(wèn)題 本系統(tǒng)存在的主 要問(wèn)題是軟件上的問(wèn)題,其中鍵盤掃描電路程序編譯運(yùn)行是正確的,但加載到單片機(jī)上無(wú)法實(shí)現(xiàn)按鍵在數(shù)碼管上顯示初值的功能。鍵盤掃描程序是按逐行掃描進(jìn)行的,把錯(cuò)誤鎖定到這一塊之后仔細(xì)檢查也未查出錯(cuò)誤。 改進(jìn)措施 ( 1) 變換編程的思路 本設(shè)計(jì)現(xiàn)在采用的是逐行掃描,在每一行讀入 PC口值,查表對(duì)照求出鍵值。逆變換思路采用逐行逐列循環(huán)掃描實(shí)現(xiàn)鍵盤掃描功能。 ( 2) 分塊調(diào)試程序定位錯(cuò)誤 把程序的各個(gè)模塊寫成單獨(dú)的程序文件,加載到單片機(jī)中,運(yùn)行看結(jié)果,如果這個(gè)模塊運(yùn)行的結(jié)果正確,則說(shuō)明這個(gè)模塊的程序沒(méi)問(wèn)題,如果這個(gè)模 塊運(yùn)行的結(jié)果錯(cuò)誤,則說(shuō)明這塊有錯(cuò),然后主要修改這塊的錯(cuò)誤。 心得體會(huì) 17 ( 1) 在本次課程設(shè)計(jì)中,我對(duì) AT89C5 8255A、 74LS37 7SEG 系列顯示器、按鍵 矩陣鍵盤 等都加深了了解,鞏固了對(duì)它們的使用,對(duì)于硬件和軟件綜合運(yùn)用有了更深一步理解,為以后的電路分析和設(shè)計(jì)奠定了一定的基礎(chǔ)。 ( 2) 在本次課程設(shè)計(jì)中,我們將課本理論知識(shí)與實(shí)際應(yīng)用聯(lián)系起來(lái),加深了對(duì)課本知識(shí)的認(rèn)識(shí)理解,也加深了對(duì)電路設(shè)計(jì)方法和實(shí)際電路連接的實(shí)踐知識(shí)。拿到課程設(shè)計(jì)題目后,我們按照書(shū)本上的知識(shí)和老師講授的方法,首先和同學(xué)一起分析研究此次 電路設(shè)計(jì)任務(wù)和要求,然后按照分析的結(jié)果進(jìn)行實(shí)際連接操作,檢測(cè)和校正,再進(jìn)一步完善電路。 ( 3) 在本次課程設(shè)計(jì)中,我們普遍感到不僅實(shí)際電路設(shè)計(jì)能力有所提高,更重要的是通過(guò)對(duì)電路設(shè)計(jì)的學(xué)習(xí)和了解,進(jìn)一步激發(fā)了我們對(duì)專業(yè)知識(shí)的興趣,并能夠結(jié)合實(shí)際存在的問(wèn)題在專業(yè)領(lǐng)域內(nèi)進(jìn)行更深入的學(xué)習(xí)。 參考文獻(xiàn) [1] 郭文川主編 . 單片機(jī)原理與接口技術(shù) . 北京:中國(guó)農(nóng)業(yè)出版社, 2020. [2] 百度文庫(kù) , 20200707. [3] 道客巴巴 , 20200709. 附錄 1: 倒計(jì)時(shí)鐘 系統(tǒng)的源程序清單 include include /*******************************宏定義 *******************************/ define uchar unsigned char define uint unsigned int /************************定義 8255 各端口地址 **************************/ define porta XBYTE[0x7F00] define portb XBYTE[0x7F01] define portc XBYTE[0x7F02] define caddr XBYTE[0x7F03] /*******************************接口定義 *****************************/ sbit cs = P2^7。 /***************************定義全局變量 ******************************/ uchar keys[6]。 18 uchar key,temp。 uint i。 uint flag=0。 uchar h,m,s。 uint x=0。 /***************************共陰極字型碼 ****************************/ uchar code table[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}。 /***************************毫秒延時(shí)子程序 ******************************/ void delayms(uint i) { uchar j。 while(i) { for(j=0。j115。j++)。 } } /***************************顯示 子程序 *************************/ void disp() //時(shí)間的顯示變量時(shí)分秒 { portb = table[h/10]。 //數(shù)碼管顯示段選,第一位數(shù)字顯示時(shí)的十位 porta = 0xfe。 //數(shù)碼管顯示位選 delayms(3)。 //延時(shí)顯示 portb = table[h%10]。 //第二位數(shù)字顯示時(shí)的個(gè)位 porta=0xfd。 delayms(3)。 portb = table[m/10]。 //第三位數(shù)字顯示分的十位 porta=0xfb。 delayms(3)。 portb = table[m%10]。 //第四位數(shù)字顯示分的個(gè)位 porta=0xf7。 delayms(3)。 portb = table[s/10]。 //第五位數(shù)字顯示秒的十位 porta=0xef。 delayms(3)。 portb = table[s%10]。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1