亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于單片機(jī)的電子時(shí)鐘設(shè)計(jì)與制作

        2022-01-28 06:34:18安會(huì)蒲禹辰李紀(jì)榕馬紅靜李莉張靜
        電子制作 2022年1期
        關(guān)鍵詞:數(shù)碼管按鍵延時(shí)

        安會(huì),蒲禹辰,李紀(jì)榕,馬紅靜,李莉,張靜

        (石家莊郵電職業(yè)技術(shù)學(xué)院,河北石家莊,050020)

        0 引言

        近年來,電子技術(shù)高速發(fā)展,由于單片機(jī)體積小價(jià)格低的特點(diǎn),被廣泛的應(yīng)用在家電、儀器儀表、玩具等產(chǎn)品中,成為現(xiàn)代智能化的工具,故基于單片機(jī)的多功能電子時(shí)鐘應(yīng)運(yùn)而生。電子鐘以精度高、運(yùn)行可靠等特點(diǎn),被應(yīng)用在社會(huì)各個(gè)領(lǐng)域,如商超、家庭、車站、銀行、寫字樓等。與此同時(shí),其特有的擴(kuò)展性,使得它可以根據(jù)需求來集成、整合其他功能,比如定時(shí)、光照度顯示、溫度顯示等。本文設(shè)計(jì)的電子時(shí)鐘采用IAR15W413AS 單片機(jī)作為控制器,采用數(shù)碼管作為顯示器,運(yùn)用獨(dú)立按鍵進(jìn)行時(shí)間調(diào)整和鬧鐘設(shè)定。相比傳統(tǒng)的電子時(shí)鐘,它的功能更加強(qiáng)大,并且具有體積小、攜帶方便、穩(wěn)定性高等優(yōu)勢(shì)。

        1 硬件設(shè)計(jì)

        本文設(shè)計(jì)的電子時(shí)鐘,硬件電路由單片機(jī)、時(shí)鐘、熱敏電阻測(cè)溫電路、光敏電阻測(cè)溫電路、數(shù)碼顯示電路、鬧鐘電路、鍵盤輸入、電源等部分組成。硬件原理圖如圖1 所示。時(shí)鐘芯片采用DS1302,具體硬件設(shè)計(jì)如下。

        圖1

        ■1.1 單片機(jī)

        IAR15W413AS 的內(nèi)部集成了高精度的RC 振蕩電路和高可靠的復(fù)位電路,可以省略外部晶振和復(fù)位電路,芯片接通電源后就可以直接工作;單片機(jī)自帶ADC 轉(zhuǎn)換,可用來測(cè)溫和測(cè)量光照度;顯示部分就用簡(jiǎn)單的共陽數(shù)碼管驅(qū)動(dòng);要實(shí)現(xiàn)調(diào)整時(shí)間,所以還需要按鍵;要有鬧鐘就還需要有發(fā)聲元件,這里我們用簡(jiǎn)單的蜂鳴器;時(shí)鐘的來源我們用DS1302 時(shí)鐘芯片產(chǎn)生,測(cè)溫用的是熱敏電阻,最后還需要一個(gè)光敏電阻來采集光照度數(shù)據(jù)。

        ■1.2 PCB 板

        在完成原理圖后,開始設(shè)計(jì)PCB 板。首先要選擇元件封裝,LED 用3mm 的直插式封裝,單片機(jī)用 DIP28 封裝,DS1302 用DIP8 封裝。其他的如數(shù)碼管選的是0.56 寸的,電阻使用的是1/6W 的小尺寸電阻。選好封裝后開始繪制PCB,最終的電路板如圖2 所示。

        圖2

        2 軟件設(shè)計(jì)

        ■2.1 顯示程序

        為了在編程調(diào)試的時(shí)候,清楚地了解到程序的各個(gè)參數(shù)是否正確,我們先編寫顯示驅(qū)動(dòng),這樣可以最直觀的把想要知道的參數(shù)顯示出來。電路整個(gè)顯示部分可以看作是一個(gè)12×8 的點(diǎn)陣(LED 是8×8,數(shù)碼管是4×8)。那么顯示就只能是動(dòng)態(tài)掃描的方式來顯示。即一個(gè)時(shí)間只能顯示8個(gè)燈,或者數(shù)碼管只能顯示一個(gè)位。動(dòng)態(tài)掃描的重點(diǎn)是每組燈亮的時(shí)間必須是一樣的,否則每組燈的亮度會(huì)不同。為了讓每組燈亮的時(shí)間一樣,通常的做法是把切換顯示的程序放在定時(shí)中斷里。

        程序的第一步是包含單片機(jī)的頭文件,頭文件里定義了單片機(jī)里的各種硬件資源。在寫程序前要先將IAR15 W413AS.h 添加到工程所在的目錄里。我們將主程序的文件名命名為main.c,在程序的第一行寫上#include“IAR15W413AS.h”雖然我們現(xiàn)在只是寫一個(gè)顯示程序,但以后我們要在這個(gè)程序的基礎(chǔ)上加上其他功能,為了方便以后的程序,我們要定義一個(gè)12 個(gè)字節(jié)的數(shù)組作為顯存(因?yàn)殡娐穲D是12×8 點(diǎn)陣),顯示程序只需要顯示數(shù)組里面的數(shù)據(jù)就可以了。然后又因?yàn)橛幸粋€(gè)四位數(shù)碼管,還要再加一個(gè)數(shù)碼管顯示數(shù)組。以上定義的代碼如下:

        先初始化IO 口,因?yàn)檫@是共陽電路,所以點(diǎn)陣的公共端的IO 口要設(shè)為推挽輸出,在這個(gè)模式下IO 口輸出的最大電流有20MA,足夠點(diǎn)亮8 個(gè)LED。STC 的單片機(jī)IO 口還有準(zhǔn)雙向口模式,開漏輸出和高阻輸出模式,可以滿足各種應(yīng)用需求。

        ■2.2 主程序設(shè)計(jì)

        主函數(shù)就是單片機(jī)上電后開始工作的地方??紤]到剛上電時(shí)電源波動(dòng)比較大,所以還要再加一個(gè)比較長(zhǎng)的延時(shí)。此處的延時(shí)不要求很準(zhǔn)確,因此用軟件延時(shí)就可以了。軟件延時(shí)在 STC-ISP 里也可以自動(dòng)生成。在生成 1MS 的延時(shí)程序后,稍加改動(dòng)就可以成為一個(gè)帶參數(shù)的延時(shí)程序了,代碼如下:

        ■2.3 按鍵功能的實(shí)現(xiàn)

        按鍵部分的程序思路也是和顯示部分一樣的。先把按鍵掃描程序?qū)懗鰜?,然后再測(cè)試一下按鍵功能是否和設(shè)計(jì)的一樣就可以了。首先我們新建一個(gè)工程,把main.c 和包含的頭文件復(fù)制過來添加到工程里。首先在初始化函數(shù)void init_IO(void)里把 P3 數(shù)據(jù)出改為 P3=0x23;因?yàn)榘存I是低電平有效,所以要把按鍵口拉高。注意這兩個(gè)按鍵口不能設(shè)為推挽輸出,否則會(huì)造成電路短路。先完成按鍵掃描函數(shù):

        此掃按鍵掃描程序用到了三個(gè)新的全局變量,一個(gè)是用來計(jì)算按鍵去抖時(shí)間的 key_db,一個(gè)是用來保存鍵值的 key_cval,一個(gè)是用來保存上一次按鍵口的值的 key_temp。因此要在前面定義一下這三個(gè)變量。當(dāng)然,在中斷函數(shù)中要加上一句:

        現(xiàn)在按鍵掃描已經(jīng)做好了,那怎么驗(yàn)證這個(gè)思路正不正確呢。之前的顯示部分已經(jīng)做了一個(gè)流水燈程序,但數(shù)碼管是隨意顯示的,我們現(xiàn)在就加一個(gè)測(cè)試代碼,按下 PLUS 鍵數(shù)碼管的顯示就加 1,按 MODE 就減 1。

        首先我們先定義一個(gè)整型的顯示變量,就叫 shumaguan Disp 。然后在 void liushuidengTest(void)函數(shù)中數(shù)碼管賦值的那四條語句改為:

        然后在主函數(shù)中調(diào)用這兩個(gè)函數(shù),編譯成功后就可以下載到時(shí)鐘板上驗(yàn)證了。到此我們的按鍵程序也完成了。

        ■2.4 DS1302 的讀寫

        完成了顯示和按鍵后,現(xiàn)在就可以寫DS1302 的程序了。首先新建一個(gè)工程,把上一章的源程序復(fù)制過來。DS1302的通信協(xié)議可以參考DS1302 的技術(shù)文檔,是比較簡(jiǎn)單的同步串行通信。DS1302 的底層驅(qū)動(dòng)就不再贅述,直接把DS1302.c 和 DS1302.h 這兩個(gè)文件復(fù)制到本章的工程中。然后把 DS1302.c 添加到工程中。然后在 main.c 的前面包含 1302 的頭文件 #include “DS1302.h”。這個(gè)頭文件里定義有四個(gè)函數(shù)。

        我們?cè)趯懗绦虻臅r(shí)候只需要調(diào)用這四個(gè)函數(shù)就可以完成DS1302 的讀寫了。那么這四個(gè)函數(shù)各有什么功能呢?先來看 WriteTime 這個(gè)函數(shù)的定義。

        這是一個(gè)寫時(shí)間的函數(shù)。由于1302 的時(shí)間存儲(chǔ)是10進(jìn)制的方式,而我們的程序是用16 進(jìn)制的方式,所以在寫進(jìn)去時(shí)要進(jìn)行轉(zhuǎn)換,(tim/10)<<4)|(tim%10)就是16 進(jìn)制轉(zhuǎn)10 進(jìn)制的操作。ReadTime 是讀取1302 時(shí)間的函數(shù),同樣,讀出時(shí)間后要轉(zhuǎn)成16 進(jìn)制再給其他程序使用。

        unsigned char ReadTime(unsigned char add)// 從1302 讀時(shí)間值

        編譯后下載到單片機(jī)里,看是否和我們想的一樣。完成了這個(gè)小測(cè)試程序后,我們時(shí)鐘基本模塊已經(jīng)全部調(diào)試完。

        3 遇到的問題及解決方法

        電阻選擇時(shí),首先考慮采用最常用的1/4W 的電阻,但是由于電路板比較小,如果采用常用電阻,電阻板就會(huì)顯得很擁擠,影響美觀。最終考慮采用1/6W 的小尺寸電阻,而并非選擇常用的1/4W 的電阻,看起來會(huì)整潔很多。

        單片機(jī)選擇時(shí),首先考慮用AT89S52 或者STC89C52,但是這兩款單片機(jī)太大了,有些元件可能需要使用貼片才能放得進(jìn)板,這帶來了一系列問題,因?yàn)橘N片比較小,學(xué)生作為初學(xué)者對(duì)貼片不熟悉,所以導(dǎo)至焊接成功率不高。經(jīng)過考慮,最終單片機(jī)選擇了IAR15W413AS,較之前的AT89S52或者 STC89C52,有了很多的優(yōu)點(diǎn):

        (1)體積小,可以在電路板上多放一些其他元件。(2)有內(nèi)部時(shí)鐘信號(hào),可以省去外部晶振,可以減少一些元件。(3)內(nèi)部集成了復(fù)位電路,也可以減少一些元件。(4)引腳輸出最大電流可達(dá)20MA,足以驅(qū)動(dòng)一個(gè) LED,因此不需外接三極管來驅(qū)動(dòng),這省了很多的外圍元件。(5)內(nèi)部集成有ADC,這可以直接讀取熱敏電阻和光敏電阻的阻值變化,從而實(shí)現(xiàn)讀取環(huán)境溫度和測(cè)量光照度的功能。(6)內(nèi)部 FLASH 有8K,足夠?qū)懸粋€(gè)很多功能的電子鐘程序了。

        猜你喜歡
        數(shù)碼管按鍵延時(shí)
        基于有限狀態(tài)機(jī)的按鍵檢測(cè)程序設(shè)計(jì)
        電子制作(2021年3期)2021-06-16 03:14:26
        基于級(jí)聯(lián)步進(jìn)延時(shí)的順序等效采樣方法及實(shí)現(xiàn)
        Arduino編程
        電腦報(bào)(2019年2期)2019-09-10 07:22:44
        MC9S08FL16單片機(jī)數(shù)碼管靜態(tài)顯示分析
        單片機(jī)控制的四位數(shù)碼管動(dòng)態(tài)顯示編程
        基于Qt的數(shù)碼管數(shù)字編碼系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        一種多方向?qū)Ч獍存I結(jié)構(gòu)設(shè)計(jì)
        電子制作(2016年1期)2016-11-07 08:43:05
        Two-dimensional Eulerian-Lagrangian Modeling of Shocks on an Electronic Package Embedded in a Projectile with Ultra-high Acceleration
        桑塔納車發(fā)動(dòng)機(jī)延時(shí)熄火
        光控觸摸延時(shí)開關(guān)設(shè)計(jì)
        河南科技(2014年23期)2014-02-27 14:19:00
        亚洲综合av在线在线播放| 中文字幕一区二区中出后入| 人妻少妇久久中文字幕| 久久99久久99精品免观看| 国产亚洲精品日韩综合网| 亚洲国内精品一区二区在线 | 99re6在线视频精品免费下载| 日韩欧美人妻一区二区三区 | 在线看亚洲一区二区三区| 国产69精品久久久久9999apgf| 纯爱无遮挡h肉动漫在线播放 | 在教室伦流澡到高潮hgl视频| 白白色发布在线播放国产| 国产成人精品一区二三区在线观看 | 亚洲一区精品在线中文字幕| 少妇被粗大的猛烈进出免费视频 | 欧美性爱一区二区三区无a| 99视频一区二区日本| 一本丁香综合久久久久不卡网站| 99精品国产兔费观看久久99| 亚洲国产精品综合福利专区| 性感美女脱内裤无遮挡| 久久精品夜色国产亚洲av| 亚洲精品日韩自慰喷水白浆| 99久久免费中文字幕精品| 激情综合五月婷婷久久| 最新高清无码专区| 亚洲一区二区三区精品网| 国产精品自拍视频在线| 欧美激情在线播放| 99这里只有精品| 丰满少妇一区二区三区专区| 成人日韩精品人妻久久一区| 色欲人妻综合网| 国产视频在线一区二区三区四区 | 男女高潮免费观看无遮挡| 日韩中文字幕中文有码| 国产无套粉嫩白浆内精| 女人张开腿让男人桶爽| 亚洲欧美精品伊人久久| 亚洲av精品一区二区三|