日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

免電源的電話使用計時器設(shè)計

出處:互聯(lián)網(wǎng) 發(fā)布于:2011-09-03 22:22:37

  電話通信是通過聲能與電能相互轉(zhuǎn)換、并利用"電"這個媒介來傳輸語言的一種通信技術(shù)。兩個用戶要進行通信,簡單的形式就是將兩部電話機用一對線路連接起來。在通訊溝通頻繁的今日,相信家家戶戶都有一臺以上的電話機,您家必定發(fā)生過打完電話后未掛好而造成電話無法打進的困擾吧。或者您的家人或同事或朋友打電話一打就打了許久又不自知吧。

  下面為您介紹一款DIY制作:免電源電話使用計時器

  特點說明:

  DIY制作基本上要有著三個特點:

  一看就懂:指電路簡單明了。

  一買就有:指電路容易取得。

  一做就成:指制作成功率高。

  免用外部電源,整個DIY電子產(chǎn)品是利用電話線電壓來工作的。對通話品質(zhì)無影響,所謂的無影響其實有著二個含意,一為無雜訊干擾,一為通話音量不增減。大家都知道多位數(shù)的LED七段顯示得用掃描方式,如此一來會有脈沖電流雜訊產(chǎn)生,這點對聽覺靈敏的耳朵而言是不可忽視的。另外整個電路的AC阻抗得非常的低,以免除聲音的衰減。針對這二個要求,這里介紹一個簡單又實用的電源取得電路供您參考。

  LED顯示采用省元件的互補式,即一個LED七段顯示器為共陰,另一為共陽,如此即可直接用單片機四個I/O直接推動而得到亮度了。

  利用OTP型單片機EM78P156來做控制,整個程序小小的,若您想更改或增加功能都是非常容易的。

  功能說明:當(dāng)您的電話使用后沒有放置好,或者是打電話聊長天的時候給您顯示通話使用時間給予心理壓力。基本上可算是有提醒指示及顯示二大功能。

  提醒指示:只要LED七段顯示器點亮則表示電話線正被使用,此時不是您正在打電話就是話筒未被放置好。

  顯示:只要話筒一被拿起,電話回路被建立后單片機開始做計時及顯示動作,以分為單位,可顯示99分,之后又從0開始。若您要有精準的計時時可在電話通之后按CLR鍵,此時單片機清除計數(shù)從新開始計數(shù)顯示。線路圖如圖1所示。

圖1

  圖1線路說明:整個線路說實在的,太小了,不過增一分則肥,減一分則瘦。還是老老實實的交待清楚吧,那么您要購買或更換電路時才不會走冤枉路。

  直接從電話線路取得工作電源,如圖2所示。

  圖2

  為一簡單的檢波器π型濾波器及基納穩(wěn)壓器所構(gòu)成,經(jīng)過這5個元件的打點而得到從電話端看到的是一個AC低阻抗,同時隔離了單片機掃描LED七段顯示器所衍生的雜音。另外5V的穩(wěn)壓二極管更提供了很穩(wěn)定的電源供電路使用。有二個地方需注意的是5V穩(wěn)壓二極管得選購5W以上的比較不會過熱,同時電感得選購直流內(nèi)阻低的,愈低愈不會發(fā)熱。

  LED七段顯示器采用一共陰極,一共陽極的,故顏色及亮度選相近的。如圖3所示。

  圖3

  當(dāng)PORT5輸出為HIGH時,共陽極的LED七段顯示器被選到,此時PORT6輸出為LOW時LED被點亮,反之LED不會亮。當(dāng)PORT5輸出為LOW時,共陽極的LED七段顯示器被選到,此時PORT6輸出為HIGH時LED被點亮,反之LED不會亮。之所以要四個I/O都并聯(lián)在一起是要保證有50mA的輸出顯示電流,不是四個并聯(lián)使用的話則顯示亮度會打折扣。

  單片機部份,見圖4。

  圖4

  選用臺灣EMC公司的EM78P156OTP或8位單片機,不但指令少,程序撰寫容易外,所需外部元件也是精簡得很,我們不妨看看只需一個32768Hz的石英晶體及一個助振電容就行了,另外的1K電阻是關(guān)機泄放電流用的,可避免重置失效,而CLR按鍵是用來清除顯示時間的。若您不再乎那撥號時間的誤差則可以不用此元件的。

  程序列:

  程序說明

  DIY制作的軟件程序長度僅有78個指令,整個程序可以分成5個段落來做說明,寄存器使用說明:

  DL-----子程序用寄存器

  MIN-----存放分鐘資料寄存器

  SEC-----存放秒鐘資料寄存器

  DD-----存放顯示位數(shù)資料寄存器

  DDH-----存放顯示資料寄存器

  AB-----存放ACC的副本

  RFB-----存放STATUS的副本

  ⑴ TCC中斷子程序

  從0000--001B行為每秒發(fā)生的TCC中斷子程序,其中0008--000B及0017--0019行為進入及離開中斷子程序的ACC及STATUS保留動作。其中000C為每進入中斷子程序就將SEC這寄存器予以進位。其中000D--0012為判斷SEC寄存器是否大于59,是則將MIN寄存器予以進位并清除SEC寄存器。其中0013--0016為判斷MIN寄存器是否大于99,是則將MIN寄存器予以清除,其中001A為清除TCC中斷旗標(biāo)。

  ⑵ LED字型轉(zhuǎn)換程序

  從001C--0026行存放了字型轉(zhuǎn)換表,可將0--9的數(shù)字轉(zhuǎn)成相對的LED七字顯示器的資料。

  ⑶ 顯示時間長度延遲程序

  從0028--002B延遲程序,而0027及002C--002D為啟動顯示及關(guān)掉顯示之指令。

  ⑷ 微控制器啟始設(shè)定程序

  從002F--0039行對微控制器內(nèi)部相關(guān)硬件做了必要性的設(shè)定動作。值得特別一提的是0035--0039行對TCC中斷記數(shù)器予以設(shè)定成每秒中斷。計算式如下:

  系統(tǒng)時基/(2周期模式×1秒×256進位)而得預(yù)除數(shù)為64.

  ⑸ LED七字顯示器掃描主程序

  從003A--004E行為本軟件程序之主程序部份,又可分三部份。003C--0040行為取得MIN的拾位數(shù)之值。0042--0046行顯示MIN的個位數(shù)資料到共陽極的LED七字顯示器上。0047--004D行為顯示MIN的拾位數(shù)資料到共陰極的LED七字顯示器上。希望這短短的程序難不倒您才是。

  程序撰寫步驟:

  許多人習(xí)慣上撰寫程序的過程是依照「先小而大」,「先難后繁」,「邊測邊寫」等三項原則來從事的,底下便將電話使用計時器程序分成六個段落來完成。

  1 先給予心跳

  一般撰寫程序碰到計時的工作時不外乎三個方式來解決:

  ①用TIMER計數(shù)器來產(chǎn)生中斷來計時;②用POLLINGTIMER計數(shù)器來計時;③用計算程序指令個數(shù)來計時。

  這三個方式中以方式一為簡單也為準確,故這里打算重要之秒的進位問題就交給TIMER計數(shù)器中斷方式來解決了。

  這程序的目的是欲了解TCC中斷能否滿足秒的進位問題。

  程序說明:

  ⑴ 中斷子程序

  從0008--000A行為簡單的中斷子程序,每做就將PORT6反向,離開前順便清除中斷FLAG.

  ⑵ 微控制器起始設(shè)定程序

  起始設(shè)定是每個程序一開始必須做的,主要功能是將一些會用到的硬件部份做一起始狀態(tài)的設(shè)定以發(fā)揮充分的掌控能力。

  ⑶ 從000B~0013行為起始設(shè)定程序

  在EM78系列中有所謂的MEMORY及I/O兩大空間,一些MEMORY空間的寄存器處理時可用MOV、BS、BC、XOR、OR……等指令,而另一些I/O空間的控制寄存器處理時可用IOW、IOR等指令,這點不要弄混了才是。

  0010MOVA,@0x01;將A內(nèi)放置1

  0011IOW0x0F;僅致能TCC中斷能力

  在EM78156中原本能有WDT中斷、外部中斷及TCC中斷等三種能力,如今我們只保留TCC中斷來使用。

  0012MOVA,@0x05;將A內(nèi)放置5

  0013CONTW;設(shè)定TCC控制寄存器

  0014ENI;啟動中斷能力

  TCC是一個很好用也很復(fù)雜的硬件線路,下面僅列出局部有關(guān)的地方于附錄供大家參考。由于系統(tǒng)時基是采用32768Hz的石英晶體,故本制作之準確度應(yīng)該不被懷疑才是。當(dāng)選用2CYCLE及2CLOCK的狀態(tài)時,若再將TCC設(shè)成除以64,那剛好每一秒鐘TCC發(fā)生溢位中斷。

  掃描程序:從0015--0015行,總共1行,僅做跳躍自身之用。

  效果觀察:程序?qū)懙酱藭r,倘若您手上的線路沒焊錯的話,那么您將會看到七字顯示屏幕顯示8并且以1秒亮1秒滅的速度亮滅著。

  2 具有七段顯示能力

  接下來就是加強掃描能力,使它有著正確的顯示數(shù)字的能力。

  整個程序與TC0.ICE的差異就是增加了SEC計數(shù)的顯示能力,故有三處改動:

  ⑴ 中斷子程序中有了INCSEC指令來做每秒進位的動作。

  ⑵ 掃描程序功能加強:從0020--0026行所做之事為重覆的將SEC數(shù)字經(jīng)過查表后丟到P6上。為了方便了解,此時僅對數(shù)字0有做顯示動作。

  ⑶ 效果觀察:程序到此時您會看到個位數(shù)的七字顯示屏幕從0→9每秒進位。到9以后程序?qū)e亂。

  3 具有二位數(shù)的顯示能力

  能夠做七段顯示之后,各位想看到的當(dāng)然是二位數(shù)字的顯示了,由于這里采用一共陰、一共陽的七段顯示器,故處理起來還得稍費腦筋。

  程序與TC1.ICE差異之處僅在掃描動作上不同罷了。若要掃共陽的位數(shù)時,必須將PORT5外設(shè)為高電位輸出,而要亮的字劃,在PORT6外設(shè)為低電位輸入即可。若要掃共陰的位數(shù)1時,必須將PORT5外設(shè)為低電位輸出即可,而要亮的字劃,在PORT6外設(shè)為高電位輸出即可。故有了0020--0025行,位數(shù)0的顯示處理及0026--002C行,位數(shù)1的顯示處理。

  效果觀察:程序到此時您會看到二位數(shù)的七字顯示屏幕,同時從0→9每秒進位,到9以后程序?qū)e亂。

  4 具有限數(shù)能力

    以上的程序?qū)EC(秒)都不予限數(shù),當(dāng)然會造成CALLTABLERETEW錯誤發(fā)生,故底下增加MIN(分)并對SEC、MIN做59及99的限數(shù)動作。

  程序與TC2.ICE差異之處有下:

  TCC中斷子程序部份增加了A,R3的暫存動作及SEC、MIN的限數(shù)動作。0008--000A及0016--0018行系對A及R3做暫存及復(fù)原的動作。

  000C--0011行系對秒做59的比較動作,SEC比59大則SEC=0,MIN=MIN+1.

  0012--0015行系對分做99的比較動作,若MIN比99大則MIN=0。

  在掃描程序部份增加了16進制變成10進制的動作。縱然二位數(shù)字來顯示MIN(分)的訊息是可行的,然將16進制變成10進制才能符合人類的習(xí)性。0033--0038行即在做16進制轉(zhuǎn)10進制的動作,將MIN的數(shù)值拆成個位數(shù)及拾位數(shù),并在0039--003D時顯示個位數(shù),而在003E--0044時顯示拾位數(shù)。

  效果觀察:程序到此為止,理論上已做完該完成的所有行為了。但執(zhí)行起來…為何…為何…忽好忽壞呢?

  完成正確功能:將TC3.ICE程序左看右看,上看下看,怎么看也看不出破綻出來,但為何程序跑起來很不穩(wěn)定,忽好忽壞的呢?答案是程序錯誤。

  原來問題就在中斷子程序的A及R3暫存及復(fù)原這部份。  

    原來程序在A及R3的暫存部份:

  錯就錯在0009時MOVA,RF指令會破壞ZEROFLAG的資料。新的程序在A及R3的暫存部份:

  新的程序在A及R3的復(fù)原部份:

  效果觀察:此時此刻的您一定是歡喜異常,眼睛看著分鐘一分一分的增加又不死機,剛才緊繃的心情頓時得到解脫,一切的心血總算有了回報了。

  再動手將秒的閃爍呈現(xiàn)在七段的小數(shù)點上以滿足動感要求。

  要如何增加小數(shù)點秒的閃爍呢?其實看結(jié)果一點也不困難。增加001D~0020這四行程序就可迎刃而解了。

  5 好上加好

  如果用示波器來看看制作成果的良好程度時,可以看到顯示周期比才近50%左右,讓人總覺得可惜,倘若能夠讓顯示周期比接近100%不亦快哉!

    再動手改吧.

  人的眼眼睛實在很容易被欺騙,只要掃描頻率大于30Hz其實已經(jīng)看不到閃爍的現(xiàn)象,故在不產(chǎn)生閃爍的現(xiàn)象中如何增加顯示周期比呢?

  增加顯示時之時間,故這里增加了一個DELAY子程序(002C--0033行所示)供掃描顯示時呼叫之用。固定的在個位數(shù)及拾位數(shù)顯示時各呼叫來增加顯示周期比。

  效果觀察:增加了DELAY子程序之后約可提升亮度一倍左右。

  6 要善始善終-----永不死機

    正當(dāng)要關(guān)掉ICE準備燒寫OTP的時候,仔細想想程序才那么小小的,留那么多的空白做什么?不妨拿來「增加穩(wěn)定度」之用。

  與TC6.ICE程序的差異之處:

  ⑴ 在每個程序的段落"加入JMPINIT"指令。

  ⑵ 在程序節(jié)結(jié)尾以后「加入JMPINIT」指令。

  這樣一來,不論IC何時死機錯亂都會跳到開始來執(zhí)行了。

  加入WATCHDOGTIMER:來避免程序的錯誤而造成死LOOP現(xiàn)象。

  加入錯誤偵測能力:利用剩余的寄存器來做引子,隨時去讀取這些寄存器,若和不為零則代表錯誤發(fā)生了,應(yīng)該重新開始。

  效果觀察:不論如何故意的去弄死機都會從頭開始正常執(zhí)行程序了,大功告成。可以加上您認為漂亮合適的外殼,投入使用了。

  附源程序

 



  
關(guān)鍵詞:電源

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!