999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2022-01-28 06:34:18安會(huì)蒲禹辰李紀(jì)榕馬紅靜李莉張靜
電子制作 2022年1期
關(guān)鍵詞:單片機(jī)程序

安會(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ū)懗鰜恚缓笤贉y(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è)很多功能的電子鐘程序了。

猜你喜歡
單片機(jī)程序
基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機(jī)的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機(jī)的便捷式LCF測(cè)量?jī)x
電子制作(2019年9期)2019-05-30 09:42:02
試論我國未決羈押程序的立法完善
小議PLC與單片機(jī)之間的串行通信及應(yīng)用
電子制作(2018年12期)2018-08-01 00:48:04
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動(dòng)“離婚”程序程序
基于單片機(jī)的平衡控制系統(tǒng)設(shè)計(jì)
電子制作(2017年19期)2017-02-02 07:08:27
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
主站蜘蛛池模板: 亚洲精品国偷自产在线91正片| 久久精品国产精品青草app| 成人免费网站在线观看| 国产凹凸一区在线观看视频| 国产爽妇精品| 国产精品成人久久| 综合色在线| 五月婷婷丁香综合| 日韩国产综合精选| 女人av社区男人的天堂| 日韩a级毛片| h网站在线播放| 欧美成人在线免费| 亚洲精品片911| 国产乱人伦偷精品视频AAA| 亚洲天堂久久久| 色老二精品视频在线观看| 99尹人香蕉国产免费天天拍| yjizz视频最新网站在线| 搞黄网站免费观看| 91久久性奴调教国产免费| 任我操在线视频| 日本精品视频一区二区| 婷婷中文在线| 色综合天天娱乐综合网| 久无码久无码av无码| 国产精品久久久久久久久| 亚洲精品爱草草视频在线| 国产swag在线观看| 9丨情侣偷在线精品国产| 亚洲色偷偷偷鲁综合| 乱系列中文字幕在线视频| 色135综合网| 婷婷色在线视频| 欧美精品xx| 欧美人与牲动交a欧美精品| 日日碰狠狠添天天爽| 无码丝袜人妻| 日韩欧美国产精品| 日韩中文无码av超清| 欧美色综合网站| 欧美久久网| 国产系列在线| 亚洲综合日韩精品| 无码中文字幕加勒比高清| 亚洲国产清纯| 国产精品第一区在线观看| 午夜啪啪福利| 国产乱人乱偷精品视频a人人澡 | 日本爱爱精品一区二区| 亚洲欧美激情另类| 精品国产美女福到在线不卡f| av午夜福利一片免费看| 在线人成精品免费视频| 日韩A∨精品日韩精品无码| 国产成人精品综合| 日韩AV无码免费一二三区| 成人在线第一页| 成人免费黄色小视频| 国产亚洲精品在天天在线麻豆| 人妻少妇久久久久久97人妻| 亚洲欧美日韩精品专区| 欧美精品导航| 久久黄色影院| 99精品在线视频观看| 久久国产精品麻豆系列| 久久一本日韩精品中文字幕屁孩| 欧美中文字幕无线码视频| 专干老肥熟女视频网站| 中文字幕免费视频| 青青青视频免费一区二区| 亚洲看片网| 99国产在线视频| 亚洲天堂在线视频| 2024av在线无码中文最新| 自慰高潮喷白浆在线观看| 人人爱天天做夜夜爽| 亚洲性色永久网址| 亚洲成aⅴ人片在线影院八| 久久国产精品国产自线拍| 在线人成精品免费视频| 国产另类视频|