




免費(fèi)預(yù)覽已結(jié)束,剩余18頁(yè)可下載查看
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
I 目 錄 一 設(shè)計(jì)題目 3 二 設(shè)計(jì)要求 3 三 設(shè)計(jì)作用與目的 3 四 自動(dòng)打鈴器設(shè)計(jì)方案 3 4 1 自動(dòng)打鈴器總體設(shè)計(jì) 3 4 2 工作原理 4 4 2 1 STC89C52RC 單片機(jī)的簡(jiǎn)介 4 4 2 2 引腳及其功能 5 五 自動(dòng)打鈴器硬件設(shè)計(jì) 7 5 1 時(shí)鐘電路 7 5 2 復(fù)位電路 7 5 3 單片機(jī)最小系統(tǒng) 7 5 4 鍵盤(pán)與開(kāi)關(guān)電路 8 5 5 輸出電路 9 六 電子打鈴器軟件設(shè)計(jì) 11 6 1 主函數(shù) 11 6 2 按鍵處理函數(shù) 11 6 3 打鈴比較函數(shù) 12 七 電子打鈴器調(diào)試與分析 13 7 1 軟件調(diào)試步驟 13 7 2 子程序調(diào)試步驟 13 7 3 調(diào)試結(jié)果 14 7 4 系統(tǒng)誤差及性能分析 14 八 心得體會(huì) 14 附錄 A 16 附錄 B 16 附錄 C 17 自動(dòng)打鈴器設(shè)計(jì) 1 摘要 隨著科學(xué)技術(shù)的發(fā)展 單片機(jī)作為嵌入式系統(tǒng)的機(jī)種之一 已經(jīng)在日常生活和控制 領(lǐng)域等方面得到了極其廣泛的應(yīng)用 電子打鈴器并不陌生 自步入學(xué)校以來(lái) 它就一直伴隨著我們 它使得我們的生活 變得很有規(guī)律 是作息時(shí)間執(zhí)行不可或缺的工具 一些單位或公司等也有它的存在 電 子打鈴器在人們對(duì)工作 生活的時(shí)間規(guī)劃方面具有重要的意義 電子打鈴器實(shí)際上就是一個(gè)電子鬧鐘 本課題采用深圳宏晶公司的 STC89C52RC 單片機(jī)作為整個(gè)系統(tǒng)的控制核心 采用 4 位數(shù)碼管顯示時(shí)間 伴有調(diào)時(shí)校正電路 響鈴 控制則是通過(guò)作息時(shí)間表和定時(shí)器來(lái)實(shí)現(xiàn)的 對(duì)于不同的季節(jié) 作息時(shí)間可能不同 可 以制定多個(gè)作息時(shí)間表采用開(kāi)關(guān)切換達(dá)到目的 本設(shè)計(jì)采用了 1 個(gè)開(kāi)關(guān)實(shí)現(xiàn)夏季和冬季 作息時(shí)間的切換 實(shí)驗(yàn)運(yùn)行表明 本人設(shè)計(jì)的電子打鈴器性能穩(wěn)定 準(zhǔn)確可靠 成本低廉 如果將蜂 鳴器換成繼電器則可以直接驅(qū)動(dòng)實(shí)際的電鈴 關(guān)鍵字關(guān)鍵字 電子鐘 自動(dòng)打鈴 作息時(shí)間 自動(dòng)打鈴器設(shè)計(jì) 2 Summary Along with the development of science and technology SCM is moving toward the high performance and many varieties direction development trend will be further toward CMOS low power consumption small volume large capacity high performance low prices and a peripheral circuit in several aspects such as development has been in the field of daily life and control etc widely used since entering the school the electronic bell device has been with us it makes our life become very regularly is an indispensable tool work and rest time for the school as the bells ringing when adding and dropping classes enterprises and institutions to work attendance ringing the bell ringing the bell corporate office and electrical automation control of the time in seconds as a unit of time applications application is very extensive Electronic bell ring in our planning of time has the vital significance This course design with STC89C52RC single chip microcomputer as the control core of the whole system the realization of digital tube display clock and when school schedule alarm clock and other functions Display options by four 8 digital tube to display the current time run by single chip microcomputer timer to achieve time schedule alarm clocks and other functions are directly controlled by the software implementation Which adopted such as Protel99Se Keil uVision4l STC ISP V483 software STC89C52RC and macros crystal company development board provide an enabling environment for the whole design 自動(dòng)打鈴器設(shè)計(jì) 3 1 概述 隨著科學(xué)技術(shù)的發(fā)展 單片機(jī)作為嵌入式系統(tǒng)的機(jī)種之一 已經(jīng)在日常生活和控制 領(lǐng)域等方面得到了極其廣泛的應(yīng)用 電子打鈴器并不陌生 自步入學(xué)校以來(lái) 它就一直伴隨著我們 它使得我們的生活 變得很有規(guī)律 是作息時(shí)間執(zhí)行不可或缺的工具 一些單位或公司等也有它的存在 電 子打鈴器在人們對(duì)工作 生活的時(shí)間規(guī)劃方面具有重要的意義 這次 嵌入式系統(tǒng) 課程設(shè)計(jì)的課題為 自動(dòng)打鈴器的設(shè)計(jì) 目的是 通過(guò)這個(gè)具體實(shí)例的實(shí)現(xiàn) 熟練一些常用軟件諸如 Protel Keil C Proteus 等的 使用 掌握嵌入式系統(tǒng)的基本設(shè)計(jì)方法以及應(yīng)用開(kāi)發(fā)過(guò)程 進(jìn)一步提高編程能力和應(yīng) 用開(kāi)發(fā)能力 培養(yǎng)獨(dú)立思考問(wèn)題 分析問(wèn)題 解決問(wèn)題的能力 具體設(shè)計(jì)要求如下 利用單片機(jī)設(shè)計(jì)一個(gè)電子打鈴器 用 4 位 LED 顯示當(dāng)前時(shí)間 用一個(gè)蜂鳴器模擬電鈴 響鈴 10s 按我校冬 夏兩季作息時(shí)間每天上下課自動(dòng)打鈴 通過(guò) 時(shí) 鍵和 分 鍵分別校正時(shí)和分 每按一次對(duì)應(yīng) 1 或 1 2 自動(dòng)打鈴器設(shè)計(jì)方案 根據(jù)課題設(shè)計(jì)要求 自動(dòng)打鈴器實(shí)際上就是一個(gè)利用單片機(jī)控制的電子鬧鐘 其基 本原理是用電子鐘的當(dāng)前時(shí)間與預(yù)先設(shè)定好的作息時(shí)間表作比較 若當(dāng)前時(shí)間與作息表 表 1 湖南文理學(xué)院夏季 冬季作息時(shí)間表 夏季冬季 6 00起床6 00起床 7 00 7 50早自習(xí)7 00 7 50早自習(xí) 8 00 8 45第一節(jié)課8 00 8 45第一節(jié)課 8 55 9 40第二節(jié)課8 55 9 40第二節(jié)課 10 00 10 45第三節(jié)課10 00 10 45第三節(jié)課 10 55 11 40第四節(jié)課10 55 11 40第四節(jié)課 14 30 15 15第五節(jié)課14 00 14 45第五節(jié)課 15 25 16 10第六節(jié)課14 55 15 40第六節(jié)課 16 20 17 05第七節(jié)課15 50 16 45第七節(jié)課 17 15 18 00第八節(jié)課16 55 17 40第八節(jié)課 自動(dòng)打鈴器設(shè)計(jì) 4 19 00 22 00晚自習(xí)19 00 22 00晚自習(xí) 23 30就寢23 00就寢 的某時(shí)間相符就打鈴 每次響鈴 10 秒 作息時(shí)間表選定我校冬 夏兩季作息時(shí)間 如 表 1 所示 圖 1 是自動(dòng)打鈴器電路框圖 它由單片機(jī)最小系統(tǒng) 校時(shí)電路 作息時(shí)間表切換電 路 LED 顯示電路 蜂鳴器電路 電源電路六部分組成 單片機(jī)采用 STC89C52RC 是整個(gè)的核心 起控制作用 它和校時(shí)電路 LED 顯 示電路構(gòu)成一個(gè)電子鐘 LED 顯示電路采用了 4 個(gè)八段 LED 數(shù)碼管 動(dòng)態(tài)顯示 起顯 示時(shí)間的時(shí)和分的作用 校時(shí)電路采用了 4 個(gè)按鍵 分別實(shí)現(xiàn)時(shí)和分的加 1 或減 1 調(diào)整 其校正時(shí)間的作用 蜂鳴器電路用了 1 個(gè)蜂鳴器模擬電鈴 起響鈴的作用 3 自動(dòng)打鈴器硬件設(shè)計(jì)自動(dòng)打鈴器硬件設(shè)計(jì) 自動(dòng)打鈴器硬件由單片機(jī)最小系統(tǒng) 校時(shí)電路 作息時(shí)間表切換電路 LED 顯示電 路 蜂鳴器電路 電源六部分組成 3 1 單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng) 單 片 機(jī) 最 小 系 統(tǒng) 校時(shí)電路 作息時(shí)間表 切換電路 LED 顯示電路 圖 1 自動(dòng)打鈴器電路框圖 蜂鳴器電路 自動(dòng)打鈴器設(shè)計(jì) 5 3 2 校時(shí)電路校時(shí)電路 3 3 作息時(shí)間表切換電路作息時(shí)間表切換電路 3 4 LED 顯示電路顯示電路 3 5 蜂鳴器電路蜂鳴器電路 3 6 電源電源 自動(dòng)打鈴器的工作電源是 DC5V 直流 5V 電源電路典型 技術(shù)成熟 這里不再贅述 請(qǐng)將以下到請(qǐng)將以下到 P11 的內(nèi)容歸口揉和到前面紅色部的內(nèi)容歸口揉和到前面紅色部 分的分的 3 1 3 5 注意序號(hào) 注意序號(hào) 3 1 3 5 每部分的內(nèi)容為 單元電路功能 單元每部分的內(nèi)容為 單元電路功能 單元 電路圖以及簡(jiǎn)單的描述或說(shuō)明 電路圖以及簡(jiǎn)單的描述或說(shuō)明 STC89C52RC 單片機(jī)的簡(jiǎn)介 設(shè)計(jì)之前得對(duì)單片機(jī)的特性有所了解 STC89C52RC 單片機(jī)是宏晶科技推出的新一 代高速 低功耗 超強(qiáng)抗干擾的單片機(jī) 指令代碼完全兼容傳統(tǒng) 8051 單片機(jī) 12 時(shí)鐘 機(jī) 器周期和 6 時(shí)鐘 機(jī)器周期可以任意選擇 主要特性如下 1 增強(qiáng)型 8051 單片機(jī) 6 時(shí)鐘 機(jī)器周期和 12 時(shí)鐘 機(jī)器周期可以任意選擇 指 令代碼完全兼容傳統(tǒng)的 8051 2 工作電壓 5 5V 3 3V 5V 單片機(jī) 3 8V 2 0V 3V 單片機(jī) 3 工作頻率范圍 0 40MHz 相當(dāng)于普通 8051 的 0 80MHz 實(shí)際工作頻率可達(dá) 48MHz 4 用戶應(yīng)用程序空間為 8K 字節(jié) 5 片上集成 512 字節(jié) RAM 6 通用 I O 口 32 個(gè) 復(fù)位后為 P1 P2 P3 P4 是準(zhǔn)雙向口 弱上拉 P0 口是漏極 開(kāi)路輸出 作為總線擴(kuò)展用時(shí) 不用加上拉電阻 作為 I O 口用時(shí) 需加上拉電阻 自動(dòng)打鈴器設(shè)計(jì) 6 7 ISP 在系統(tǒng)可編程 IAP 在應(yīng)用可編程 無(wú)需專用編程器 無(wú)需專用仿真 器 可通過(guò)串口 RxD P3 0 TxD P3 1 直接下載用戶程序 數(shù)秒即可完成一片 8 具有 EEPROM 功能 9 具有看門(mén)狗功能 10 共 3 個(gè) 16 位定時(shí)器 計(jì)數(shù)器 即定時(shí)器 T0 T1 T2 11 外部中斷 4 路 下降沿中斷或低電平觸發(fā)電路 Power Down 模式可由外部中 斷低電平觸發(fā)中斷方式喚醒 12 通用異步串行口 UART 還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè) UART 13 工作溫度范圍 40 85 工業(yè)級(jí) 0 75 商業(yè)級(jí) 4 2 2 引腳及其功能 1 主電源引腳 VCC 芯片電源 接 5V VSS 電源接地端 2 時(shí)鐘引腳 XTAL1 片內(nèi)放大器輸入端 XTAL2 片內(nèi)放大器輸出端 3 專用控制端口 1 ALE 地址鎖存允許 片內(nèi) EPROM 編程脈沖 PROG ALE 功能 用來(lái)鎖存 P0 口送出的低 8 位地址 功能 片內(nèi)有 EPROM 的芯片 在 EPROM 編程期間 此引腳輸入編程PSEN 脈沖 2 外 ROM 讀選通信號(hào) PSEN 3 RST VPD 復(fù)位 備用電源 RST RESET 功能 復(fù)位信號(hào)輸入端 VPD 功能 在 VCC 掉電情況下 接備用電源 4 VDD 內(nèi)外 ROM 選擇 片內(nèi) EPROM 編程電源 EA 功能 內(nèi)外 ROM 選擇端 EA 自動(dòng)打鈴器設(shè)計(jì) 7 VDD 功能 片內(nèi)有 EPROM 的芯片 在 EPROM 編程期間 施加編程電源 VPP 4 輸入 輸出端口 STC80C52RC 共有 4 個(gè) 8 位并行 I O 端口 P0 P1 P2 P3 口 共 32 個(gè)引腳 P0 口 P0 口為一個(gè) 8 位漏級(jí)開(kāi)路雙向 I O 口 每腳可吸收 8TTL 門(mén)電流 當(dāng) P1 口 的管腳第一次寫(xiě) 1 時(shí) 被定義為高阻輸入 P0 能夠用于外部程序數(shù)據(jù)存儲(chǔ)器 它可以 被定義為數(shù)據(jù) 地址的第八位 在 FIASH 編程時(shí) P0 口作為原碼輸入口 當(dāng) FIASH 進(jìn) 行校驗(yàn)時(shí) P0 輸出原碼 此時(shí) P0 外部必須被拉高 P1 口 P1 口是一個(gè)內(nèi)部提供上拉電阻的 8 位雙向 I O 口 P1 口緩沖器能接收輸出 4TTL 門(mén)電流 P1 口管腳寫(xiě)入 1 后 被內(nèi)部上拉為高 可用作輸入 P1 口被外部下拉為 低電平時(shí) 將輸出電流 這是由于內(nèi)部上拉的緣故 在 FLASH 編程和校驗(yàn)時(shí) P1 口作 為第八位地址接收 P2 口 P2 口為一個(gè)內(nèi)部上拉電阻的 8 位雙向 I O 口 P2 口緩沖器可接收 輸出 4 個(gè) TTL 門(mén)電流 當(dāng) P2 口被寫(xiě) 1 時(shí) 其管腳被內(nèi)部上拉電阻拉高 且作為輸入 并因 此作為輸入時(shí) P2 口的管腳被外部拉低 將輸出電流 P2 口當(dāng)用于外部程序存儲(chǔ)器或 16 位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí) P2 口輸出地址的高八位 在給出地址 1 時(shí) 它 利用內(nèi)部上拉優(yōu)勢(shì) 當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí) P2 口輸出其特殊功能 寄存器的內(nèi)容 P2 口在 FLASH 編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào) P3 口 P3 口管腳是 8 個(gè)帶內(nèi)部上拉電阻的雙向 I O 口 可接收輸出 4 個(gè) TTL 門(mén)電 流 當(dāng) P3 口寫(xiě)入 1 后 它們被內(nèi)部上拉為高電平 并用作輸入 作為輸入 由于外部 下拉為低電平 P3 口將輸出電流 ILL 這是由于上拉的緣故 P3 口還具有第二功能 用于特殊信號(hào)輸入輸出和控制信號(hào) 屬控制總線 5 P3 口第二功能 P3 0 RXD 串行輸入口 P3 1 TXD 串行輸出口 P3 2 外部中斷 0 INTO P3 3 外部中斷 1 1INT P3 4 T0 定時(shí)計(jì)數(shù)器 0 P3 5 T1 定時(shí)計(jì)數(shù)器 1 自動(dòng)打鈴器設(shè)計(jì) 8 P3 6 外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通 WR P3 7 外部數(shù)據(jù)存儲(chǔ)器讀選通 RD 單片機(jī)是由 CPU 并行口 ROM RAM 定時(shí) 計(jì)數(shù)器 串行口和中斷系統(tǒng)等組 成部分 通過(guò)內(nèi)部總線把各主要部件接為一體 其內(nèi)部總線包括地址總線 數(shù)據(jù)總線和 控制總線 其中 地址總線的作用是在進(jìn)行數(shù)據(jù)交換時(shí)提供地址 CPU 通過(guò)它們將地址 輸出到存儲(chǔ)器或 I O 接口 數(shù)據(jù)總線的作用是在 CPU 與存儲(chǔ)器或 I O 接口之間 或存儲(chǔ) 器與外設(shè)之間交換數(shù)據(jù) 控制總線包括 CPU 發(fā)出的控制信號(hào)線和外部送入 CPU 的應(yīng)答 信號(hào)線等 該電子打鈴系統(tǒng)由 4 個(gè)模塊實(shí)現(xiàn) 單片機(jī)最小系統(tǒng) 鍵盤(pán)與開(kāi)關(guān)電路 數(shù)碼管動(dòng)態(tài) 顯示以及打鈴電路 5 1 時(shí)鐘電路 單片機(jī)的時(shí)鐘電路用來(lái)產(chǎn)生時(shí)鐘信號(hào) 以提供單片機(jī)片內(nèi)各種數(shù)字邏輯電路工作的 時(shí)間基準(zhǔn) 時(shí)鐘電路可采用內(nèi)部振蕩方式和外部振蕩方式兩種電路形式 此時(shí)鐘電路采 用內(nèi)部振蕩方式 即在單片機(jī)的 XTAL1 和 XTAL2 兩個(gè)引腳間接一只晶振及兩只電容 就構(gòu)成了單片機(jī)的時(shí)鐘電路 如上圖 2 所示 5 2 復(fù)位電路 復(fù)位是是單片機(jī)的片內(nèi)電路初始化的操作 復(fù)位使單片機(jī)從初始狀態(tài)開(kāi)始運(yùn)行 在 復(fù)位引腳 RET 輸入寬度為 2 個(gè)機(jī)械周期以上的高電平 單片機(jī)就會(huì)執(zhí)行復(fù)位操作 有 兩種操作形式 上電復(fù)位 手動(dòng)復(fù)位 單片機(jī)的 RESET 引腳為主機(jī)提供一個(gè)外部復(fù)位 信號(hào)輸入端口 按下復(fù)位鍵 S1 單片機(jī)被強(qiáng)制執(zhí)行復(fù)位操作 復(fù)位后 單片機(jī)內(nèi)各部 件恢復(fù)到初始狀態(tài) 單片機(jī)從 ROM 的 0000H 開(kāi)始執(zhí)行程序 其電路圖如圖 2 所示 RESET 按鍵選擇開(kāi)關(guān) 5 3 單片機(jī)最小系統(tǒng) 單片機(jī)的最小系統(tǒng)指的是由最基本的電路元件組成的 外接部分簡(jiǎn)單的電路就能夠 獨(dú)立完成一定的工作任務(wù)的單片機(jī)系統(tǒng) 52單片機(jī)的最小系統(tǒng)有單片機(jī)芯片 電源 時(shí) 自動(dòng)打鈴器設(shè)計(jì) 9 鐘電路和復(fù)位電路組成 如圖2所示 圖 2 單片機(jī)最小系統(tǒng) 5 4 鍵盤(pán)與開(kāi)關(guān)電路 自動(dòng)打鈴器中的外圍電路中 鍵盤(pán)與開(kāi)關(guān)電路這部分是對(duì)其的調(diào)整 人只有通過(guò)鍵 盤(pán)與開(kāi)關(guān)電路 才能對(duì)自動(dòng)打鈴器的校正與改變 即一個(gè)單刀雙擲開(kāi)關(guān)控制是夏季時(shí)間 表 還是冬季時(shí)間表 其他4 4獨(dú)立鍵盤(pán)式的按鍵 分別是對(duì)分鐘高位的調(diào)整 分鐘地 位的調(diào)整 對(duì)時(shí)鐘高位的調(diào)整以及時(shí)鐘地位的調(diào)整 操作起來(lái)非常方便 如圖3所示 通過(guò)編程來(lái)判斷P1 0是高電平 還是低電平接入來(lái)控制冬 夏兩季的 時(shí)間表 編程P1 5 P1 7兩端 當(dāng)P1 5有低電平通過(guò)時(shí) 時(shí)間表上時(shí)鐘區(qū)加 1 當(dāng)P1 7 有低電平通過(guò)時(shí) 時(shí)間表上分鐘區(qū)加 1 當(dāng)單刀雙擲開(kāi)關(guān)接 冬季 端時(shí) 即P1 0接高電 平 將高電平信號(hào)送入單片機(jī)中 即選擇冬季作息時(shí)間表 當(dāng)單刀雙擲開(kāi)關(guān)接 夏季 端時(shí) 即P1 0接低電平 將低電平信號(hào)送入單片機(jī)中 即選擇夏季作息時(shí)間表 時(shí)加 鍵 分加 鍵兩個(gè)按鍵是對(duì)當(dāng)前時(shí)間進(jìn)行調(diào)整 當(dāng)按下 時(shí)加 鍵S3時(shí) 會(huì)將一個(gè)低電平信號(hào) 通過(guò)P1 5端口送人單片機(jī) 經(jīng)過(guò)單片機(jī)處理 數(shù)碼管的最前面的兩位 即小時(shí)區(qū) 會(huì)加 1 當(dāng)按下 分加 鍵S2時(shí) 會(huì)將一個(gè)低電平信號(hào)通過(guò)P1 7端口送人單片機(jī) 經(jīng)過(guò)單片機(jī) 處理 數(shù)碼管的后兩位 即分鐘區(qū) 會(huì)加 1 自動(dòng)打鈴器設(shè)計(jì) 10 圖 3 鍵盤(pán)與開(kāi)關(guān)電路圖 5 5 輸出電路 此電子打鈴器的輸出電路包括LED顯示接口電路與打鈴電路 其中 LED顯示接口 電路是用來(lái)顯示當(dāng)前的時(shí)間 只需認(rèn)識(shí)阿拉伯?dāng)?shù)字即可知道當(dāng)前時(shí)間是多少 很明顯 打鈴電路是通過(guò)當(dāng)前時(shí)間與設(shè)定時(shí)間相比較而設(shè)計(jì)的 若相等即打鈴 是作息時(shí)間很好 的工具 1 LED 顯示接口電路 LED 數(shù)碼管通常由 8 個(gè)發(fā)光二極管組合而成 稱為八段 LED 數(shù)碼管 為獲得不同 的字形 顯示塊各段所加的電平也不同 因而編碼也不一樣 它有共陰極和共陽(yáng)極兩種 結(jié)構(gòu)形式 根據(jù)設(shè)計(jì)要求可知 系統(tǒng)需要顯示 4 位數(shù)字 因此需用到 4 個(gè) LED 數(shù)碼管顯示電 路使用 STC89C52RC 的動(dòng)態(tài)顯示功能 4 個(gè) LED 八段 a b c d e f g dp 數(shù) 碼管分別顯示 時(shí) 和 分 并用數(shù)碼管的 點(diǎn) 作為 時(shí) 分 的間隔 切改點(diǎn)每隔一 秒閃爍一次 根據(jù)實(shí)際情況及設(shè)計(jì)要求 該自動(dòng)打鈴系統(tǒng)采用共陽(yáng)極數(shù)碼管 對(duì)于共陽(yáng)極 LED 數(shù)碼管 其公共端必須施加高電平 而在需要點(diǎn)亮端應(yīng)施加低電平編碼 如表 2 所示 給出了共陽(yáng)極八段 LED 數(shù)碼管字形碼表 表 2 字形與字段關(guān)系 D7D6D5D4D3D2D1D0 字形dpgfedcba 編碼 共陽(yáng)極 000111111C0H 100000110F9 H 自動(dòng)打鈴器設(shè)計(jì) 11 201011011A4 H 301001111B0 H 40110011099 H 50110110192 H 60111110182 H 700000111F8 H 80111111180 H 90110111190 H 硬件電路圖如圖4所示 顯示部分采用掃描顯示模塊 其中P0口控制段選 P2口控制 位選 利用P2口中的4個(gè)端口 即P2 0 P2 1 P2 3 P2 4 來(lái)控制4個(gè)LED數(shù)碼管 圖 4 LED 顯示接口電路圖 2 打鈴電路 打鈴電路的設(shè)計(jì)是 通過(guò)比較模塊程序 將當(dāng)前時(shí)間與設(shè)定打鈴時(shí)間比較 當(dāng)它們 的值相等時(shí) STC89C52RC 對(duì)其進(jìn)行相應(yīng)處理 由 P3 7 輸出低電平 即仿真中的模擬 電鈴的發(fā)光二極管發(fā)光 如圖 5 所示 當(dāng) P3 7 端輸出高電平時(shí) 才能導(dǎo)通 即打鈴 故若接電鈴 只需在控制 P3 7 輸出端這部分程序中 將其輸出電平與模擬打鈴的發(fā)光 二極管的輸出電平相反即可 據(jù)設(shè)計(jì)要求 當(dāng)有打鈴信號(hào)通過(guò)時(shí) 響鈴 10s 自動(dòng)打鈴器設(shè)計(jì) 12 圖 5 打鈴電路圖 4 自動(dòng)打鈴器軟件設(shè)計(jì) 自動(dòng)打鈴器的軟件是自動(dòng)打鈴器 的另一個(gè)重要組成部分 在硬件設(shè)計(jì) 好的基礎(chǔ)上 軟件設(shè)計(jì)的成功與否 直接關(guān)系到它能否正常運(yùn)行 根據(jù)功 能要求 電子打鈴器軟件采用 C51 編 寫(xiě) 包括 主函數(shù) 延時(shí)函數(shù) 鍵校 時(shí)函數(shù) 顯示函數(shù) 時(shí)分秒生成函數(shù) 控制響鈴時(shí)間函數(shù) 主函數(shù) 延時(shí)函數(shù) 作息時(shí)間表 鍵校時(shí)函數(shù) 顯示函數(shù) 時(shí)分秒生成 與打鈴控制函數(shù) 響鈴時(shí)間控制函數(shù) 開(kāi)始 初始化 顯示當(dāng)前時(shí)間 打鈴時(shí)間比較 打鈴執(zhí)行 是否有鍵按下 獲取鍵值按鍵處理 是 圖 6 主函數(shù)流程圖 否 自動(dòng)打鈴器設(shè)計(jì) 13 4 1 主函數(shù) 4 2 延時(shí)函數(shù) 4 3 作息時(shí)間表 4 4 鍵校時(shí)函數(shù) 4 5 顯示函數(shù) 4 6 時(shí)分秒生成與打鈴控制函數(shù) 4 7 響鈴時(shí)間控制函數(shù) 請(qǐng)將以下到請(qǐng)將以下到 P14 的內(nèi)容歸口揉到前面紅色部分的內(nèi)容歸口揉到前面紅色部分 的的 4 1 4 7 注意序號(hào) 注意序號(hào) 4 1 4 7 每部分的內(nèi)容為 函數(shù)功能 流程圖以每部分的內(nèi)容為 函數(shù)功能 流程圖以 及簡(jiǎn)單的描述或說(shuō)明 及簡(jiǎn)單的描述或說(shuō)明 主函數(shù)通過(guò)定時(shí)器 T0 工作方式為 1 實(shí)現(xiàn)一日的 24 小時(shí) 首先得初始化 正常 走時(shí) 主程序調(diào)用比較打鈴函數(shù) 當(dāng)它與設(shè)定的時(shí)間相等時(shí) 則打鈴 利用數(shù)碼管 其 中包含顯示函數(shù)模塊 顯示當(dāng)前時(shí)間 當(dāng)需要對(duì)時(shí)間進(jìn)行校正時(shí) 可對(duì)此程序進(jìn)行按 鍵掃描 若有鍵按下 則調(diào)用按鍵處理函數(shù) 修改當(dāng)前時(shí)間 若沒(méi)有鍵按下 則返回 主函數(shù)流程圖如圖 8 所示 以下是初始化的部分值 定時(shí) 計(jì)數(shù)器方式控制寄存器 TMOD 01H 寄存器的初值 TH0 65536 50000 256 TL0 65536 50000 256 軟件控制其啟動(dòng) TR0 1 6 2 按鍵處理函數(shù) 這部分程序主要是針對(duì)時(shí)間調(diào)整而設(shè)計(jì)的 通過(guò)按鍵處理函數(shù)讀取鍵值 判斷是 自動(dòng)打鈴器設(shè)計(jì) 14 時(shí) 鍵 還是 分 鍵 若為 時(shí) 鍵 則小時(shí)加 1 當(dāng) 時(shí) 為 24 時(shí)時(shí) 顯示 00 時(shí) 若 為 分 鍵 則分鐘加 1 當(dāng) 分 為 60 分時(shí) 顯示 00 分 為防止按鍵抖動(dòng) 加 10ms 延時(shí) 消除抖動(dòng) 按鍵處理函數(shù)流程圖如圖 7 返回 是 min 00 否 60 時(shí) 鍵 讀取鍵值 分 鍵 hour hour 1 min min 1 60 否 hour 00 是 圖 7 按鍵處理函數(shù)流程圖 入口 6 3 打鈴比較函數(shù) 首先根據(jù)輸入 P1 0 端口的電平信號(hào) 判斷當(dāng)前所用時(shí)間表為冬季還是夏季 再通 過(guò)當(dāng)前時(shí)間與時(shí)間表內(nèi)預(yù)先設(shè)定好的時(shí)間相比較 若相等 即為打鈴時(shí)間 并打鈴 通 過(guò)延時(shí) 10s 實(shí)現(xiàn) 否則繼續(xù)比較 即返回 流程圖如圖 8 所示 自動(dòng)打鈴器設(shè)計(jì) 15 入口 與當(dāng)前時(shí)間 相等 選擇冬 夏時(shí)間表 否 響鈴 返回 是 圖 8 打鈴比較函數(shù)流程圖 5 電子打鈴器調(diào)試與分析 5 1 軟件調(diào)試步驟 1 打開(kāi)軟件后 在 Project 菜單中選擇 New Project 命令 打開(kāi)一個(gè)新項(xiàng)目 保存此 項(xiàng)目 輸入工程文件名后 并保存工程文件的目錄 2 為項(xiàng)目文件選擇一個(gè)目標(biāo)器件 在 Data base 列表框中選擇 STC89C52RC 確 定 3 上述設(shè)置好后 創(chuàng)建源程序文件并輸入程序代碼 輸入好代碼后點(diǎn)擊 文件 保存 4 把源文件添加到項(xiàng)目中 用鼠標(biāo)指在目標(biāo)工作區(qū)的目標(biāo) 1 點(diǎn)擊右鍵在彈出的菜 單中選擇添加文件到源代碼組 在彈出的添加文件框中 選擇需要添加到項(xiàng)目中的文件 5 開(kāi)始編譯 對(duì)項(xiàng)目文件進(jìn)行編譯 若沒(méi)有錯(cuò)誤后進(jìn)行硬件調(diào)試 5 2 子程序調(diào)試步驟 子程序調(diào)試應(yīng)一個(gè)模塊一個(gè)模塊地進(jìn)行 首先單獨(dú)調(diào)試各功能子程序 檢查程序是 否能夠?qū)崿F(xiàn)預(yù)期的功能 接口電路的控制是否正常等 最后逐步將各子程序連接起來(lái)進(jìn) 行總調(diào)試 故調(diào)試步驟如下 自動(dòng)打鈴器設(shè)計(jì) 16 A 數(shù)碼管程序調(diào)試 正確的顯示時(shí)間是整個(gè)程序的關(guān)鍵之一 調(diào)試方法 先把程序下載到單片機(jī) 讓數(shù) 碼管顯示 是否正確的顯示時(shí)間的變化 B 蜂鳴器的調(diào)試 調(diào)試方法 先把打鈴程序下載到單片機(jī) 讓蜂鳴器發(fā)聲 看是否在正確的時(shí)間內(nèi)實(shí) 現(xiàn)打鈴 C 鍵盤(pán)調(diào)時(shí)序 正確的顯示所調(diào)的時(shí)間是整個(gè)程序的關(guān)鍵之一 調(diào)試方法 先把鍵盤(pán)程序和顯示程 序下載到單片機(jī) 讓數(shù)碼管顯示 是否正確的所調(diào)時(shí)間的變化 5 3 調(diào)試結(jié)果 實(shí)現(xiàn)計(jì)時(shí)和顯示功能 24 小時(shí)制 可設(shè)置當(dāng)前時(shí)間 包括上下午標(biāo)志 時(shí) 分的 數(shù)字顯示 能在所設(shè)置的時(shí)間處正常打鈴 且每次打鈴均為響鈴 10s 5 4 系統(tǒng)誤差及性能分析 經(jīng)測(cè)試該簡(jiǎn)易自動(dòng)打鈴系統(tǒng)在一天內(nèi)會(huì)出現(xiàn)時(shí)間誤差 該誤差主要是由于晶振自身 的誤差所造成的 另外在中斷的過(guò)程中 只會(huì)在第一次計(jì)時(shí)時(shí)產(chǎn)生時(shí)間的偏移 而它所 產(chǎn)生累積誤差很小 可以忽略 6 心得體會(huì) 這兩周的課程設(shè)計(jì)我選擇的是 STC89C52RC 單片機(jī)的自動(dòng)打鈴器的設(shè)計(jì) 主要的 過(guò)程 1 老師給我們提供了課題并在第一天上午給我們耐心的講解了此次設(shè)計(jì)所需要掌 握的知識(shí) 和所需要使用到的軟件 并進(jìn)行了演示 這讓我明白自己應(yīng)該要設(shè)計(jì)什么 需要哪些要求 但是對(duì)于整個(gè)設(shè)計(jì)過(guò)程需要計(jì)算的一些數(shù)據(jù)還是沒(méi)有一個(gè)清晰的思維模 式 2 在老師的講解與點(diǎn)撥下我弄清楚了第一步應(yīng)該干什么 第二步應(yīng)該干什么 整 體上有了一個(gè)框架 3 根據(jù)自己的思維 查閱各種書(shū)籍以及根據(jù)從實(shí)驗(yàn)室借回來(lái)的 STC89C52RC 開(kāi)發(fā) 自動(dòng)打鈴器設(shè)計(jì) 17 板進(jìn)行熟悉與了解它的引腳及其各種功能 4 在這次的設(shè)計(jì)中 老師要求我們使用 C 語(yǔ)言的編程將程序放進(jìn) Keil 軟件中進(jìn)行 編譯 并且放置發(fā)燒工具中進(jìn)行調(diào)試實(shí)現(xiàn)其效果 而在這個(gè)過(guò)程中遇到的最大的困難便 是程序的編寫(xiě) 由于自己之前對(duì) C 語(yǔ)言的編寫(xiě)能力還不夠強(qiáng)大 以至于第一次編寫(xiě)后在 開(kāi)發(fā)板上實(shí)現(xiàn)不了其效果 出現(xiàn)的只是 4 個(gè) 0 并且按鍵和蜂鳴器都無(wú)效 同時(shí)在調(diào)試 的過(guò)程中也有出現(xiàn)了非法打鈴狀況但卻不知道問(wèn)題原因在哪 應(yīng)該怎么解決 只有尋求 老師的幫助 老師很細(xì)心也很耐心的給我講解了整個(gè)程序編寫(xiě)我應(yīng)該具備哪些函數(shù) 應(yīng) 該怎樣去實(shí)現(xiàn) 老師還提供給了我數(shù)字電子鐘的程序 回來(lái)再次修改程序中 還是遇到 了很多的困難 例如在比較函數(shù)中 讓讓當(dāng)前時(shí)間與之前自己設(shè)置的時(shí)間去比較 若相 等則打鈴不相等則返回 一次次的更改 一次次的琢磨 在中間的過(guò)程中出現(xiàn)按鍵 7 點(diǎn) 59 分時(shí) 則時(shí)間繼續(xù)走 但在 8 點(diǎn)整式實(shí)現(xiàn)了打鈴但是顯示時(shí)間清零了并且打鈴一直不 中斷 還有也由于自己不夠仔細(xì) 在調(diào)試的過(guò)程中沒(méi)有將時(shí)間逐一的去比較 只是驗(yàn)證 了幾個(gè)結(jié)果 以至于有出現(xiàn)了非法打鈴的情況 而此時(shí)自己靜下心來(lái)把老師所給的數(shù)字 電子鐘的程序從頭至尾反復(fù)的理解 琢磨它每一個(gè)語(yǔ)句所實(shí)現(xiàn)的功能 達(dá)到的效果 最 后的程序在老師的指導(dǎo)與幫助下編寫(xiě)完成并能夠在 STC89C52RC 開(kāi)發(fā)板中實(shí)現(xiàn)其全部 的效果 在這次整個(gè)的過(guò)程中 雖然遇到的困難很多 設(shè)計(jì)的過(guò)程也很辛苦 尤其是調(diào)試的 過(guò)程 但是感覺(jué)收獲更多遠(yuǎn)遠(yuǎn)要大于辛苦 而我再次發(fā)現(xiàn)自己很多知識(shí)的狹隘及很多知 識(shí)掌握的不夠扎實(shí) 例如上學(xué)期所學(xué)的 51 單片機(jī) 按鍵的功能 雖然它是 51 系列 但 是對(duì)于理解 52 的還是有很大幫助 同時(shí)在 C 語(yǔ)言編程中 由于之前過(guò)了 C 語(yǔ)言國(guó)家二 級(jí)還以為自己能夠獨(dú)立將它完成 事實(shí)讓我反省 學(xué)習(xí)如逆水行舟不進(jìn)則退 很多知識(shí) 都必須反復(fù)的鞏固和不斷的鉆研與學(xué)習(xí)才會(huì)越加的進(jìn)步 同時(shí)我覺(jué)得最應(yīng)該感謝的是
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 費(fèi)用報(bào)銷流程規(guī)范
- 腫瘤分子機(jī)制研究進(jìn)展
- 安全使用家電課件
- 會(huì)銷講師培訓(xùn)
- 線材設(shè)備操作培訓(xùn)
- 【江蘇省期末真題匯編】核心考點(diǎn):文言文閱讀 語(yǔ)文八年級(jí)下冊(cè)統(tǒng)編版(含解析)
- 海南支教面試題及答案
- 元旦考試試題及答案
- 敦煌速寫(xiě)考試題及答案
- 學(xué)雷鋒志愿活動(dòng)實(shí)踐路徑
- 中鐵員工勞動(dòng)合同范本
- 生物基復(fù)合材料的LCA(生命周期評(píng)估)
- 三位數(shù)乘一位數(shù)豎式
- 外墻保溫吊籃施工方案
- DB43-T 2142-2021學(xué)校食堂建設(shè)與食品安全管理規(guī)范
- 體外診斷試劑盒線性范圍研究線性區(qū)間評(píng)價(jià)資料及可報(bào)告區(qū)間建立
- AQ 1097-2014 井工煤礦安全設(shè)施設(shè)計(jì)編制導(dǎo)則(正式版)
- 嬰幼兒配方乳粉市場(chǎng)銷售管理規(guī)范
- 小班語(yǔ)言《誰(shuí)的救生圈》課件
- 海思芯片PC-測(cè)試技術(shù)規(guī)范
- 內(nèi)陸?zhàn)B殖與水生植物種植
評(píng)論
0/150
提交評(píng)論