數(shù)字I/O腳有專用和復(fù)用。數(shù)字I/O腳的功能通過9個(gè)16位控制寄存器來控制。控制寄存器分為兩類:(1)I/O復(fù)用控制寄存器(MCRX),來選擇I/O腳是外設(shè)功能還是I/O功能。(2)數(shù)據(jù)方向控制寄存器(PXDATDIR):控制雙向I/O腳的數(shù)據(jù)和數(shù)據(jù)方向。注意:數(shù)字I/O腳是通過映射在數(shù)據(jù)空間的控制寄存器來控制的,與器件的I/O空間無任何關(guān)系。240X/240XA多達(dá)41只數(shù)字I/O腳,多數(shù)具有復(fù)用功能。
標(biāo)簽: 數(shù)字
上傳時(shí)間: 2013-10-31
上傳用戶:qimingxing130
《微機(jī)原理及應(yīng)用》課程教案目 錄 下載WORD文檔前 言 下載WORD文檔第一章 51系列單片機(jī)概述 下載WORD文檔 第一節(jié) 概述 第二節(jié) 51系列單片機(jī)分類 思考題與習(xí)題 第二章 MCS-51系列單片機(jī)組成及工作原理 下載WORD文檔 第一節(jié) MCS-51系列單片機(jī)組成 第二節(jié) 8051的內(nèi)部數(shù)據(jù)存儲器(內(nèi)部RAM) 第三節(jié) 8051的內(nèi)部程序存儲器(內(nèi)部ROM) 第四節(jié) MCS-51系列單片機(jī)典型芯片的外部引腳功能 第五節(jié) 并行輸入/輸出口 第六節(jié) CPU的時(shí)鐘電路和時(shí)序定時(shí)單位 第七節(jié) 單片機(jī)指令執(zhí)行的過程 思考題與習(xí)題 第三章 指令系統(tǒng) 下載WORD文檔 第一節(jié) 指令格式和尋址方式 第二節(jié) 指令系統(tǒng) 思考題與習(xí)題 第四章 算法與結(jié)構(gòu)程序設(shè)計(jì) 下載WORD文檔 第一節(jié) 算法 第二節(jié) 程序基本結(jié)構(gòu) 第三節(jié) 結(jié)構(gòu)化程序設(shè)計(jì) 第四節(jié) 匯編語言程序設(shè)計(jì)舉例 思考題與習(xí)題 第五章 中斷 下載WORD文檔 第一節(jié) 中斷技術(shù)概述 第二節(jié) 8051中斷系統(tǒng) 第三節(jié) 中斷控制 第四節(jié) 中斷響應(yīng) 第五節(jié) 中斷系統(tǒng)應(yīng)用舉例 思考題與習(xí)題 第六章 定時(shí)器/計(jì)數(shù)器 下載WORD文檔 第一節(jié) 概述 第二節(jié) 定時(shí)器/計(jì)數(shù)器基本結(jié)構(gòu) 工作方式及應(yīng)用 思考題與習(xí)題 第七章 8051單片機(jī)系統(tǒng)擴(kuò)展與接口技術(shù) 下載WORD文檔 第一節(jié) 8051單片機(jī)系統(tǒng)擴(kuò)展概述 第二節(jié) 單片機(jī)外部存儲器擴(kuò)展 第三節(jié) 單片機(jī)輸入/輸出(I/O)口擴(kuò)展 第四節(jié) LED顯示器接口電路及顯示程序 第五節(jié) 單片機(jī)鍵盤接口技術(shù) 第六節(jié) 單片機(jī)與數(shù)模(D/A)及模數(shù)(A/D)轉(zhuǎn)換器的接口及應(yīng)用 思考題與習(xí)題 第八章 8051單片機(jī)的異步串行通信技術(shù) 下載WORD文檔 第一節(jié) 概述 第二節(jié) 8051串行口基本結(jié)構(gòu) 第三節(jié) 8051串行通信工作方式及應(yīng)用 第四節(jié) 多機(jī)通信原理 下載WORD文檔 思考題與習(xí)題 第九章 單片機(jī)應(yīng)用舉例 下載WORD文檔 第一節(jié) 單片機(jī)數(shù)據(jù)采集系統(tǒng) 第二節(jié) 電機(jī)轉(zhuǎn)速測量 第三節(jié) 步進(jìn)電機(jī)控制系統(tǒng) 第四節(jié) 機(jī)器人三覺機(jī)械手信號處理及控制算法 思考題與習(xí)題 第十章 單片機(jī)與字符式液晶顯示模塊連接技術(shù) 下載WORD文檔 第一節(jié) 字符式液晶顯示模塊簡介 第二節(jié) 模塊指令系統(tǒng) 第三節(jié) 模塊與8051單片機(jī)的接口 第四節(jié) 模塊字符顯示舉例 第五節(jié) 自定義字符顯示 思考題與習(xí)題 附錄一 計(jì)算機(jī)數(shù)的運(yùn)算基礎(chǔ) 下載WORD文檔 第一節(jié) 進(jìn)位計(jì)數(shù)制及相互轉(zhuǎn)換 第二節(jié) 計(jì)算機(jī)中數(shù)和字符的表示附錄二 美國標(biāo)準(zhǔn)信息交換碼(ASCII)字符表附錄三 MCS-51指令表 下載WORD文檔
上傳時(shí)間: 2014-04-16
上傳用戶:hhkpj
介紹用PIC16C73 自帶的八位A/D 轉(zhuǎn)換器擴(kuò)展為十二位A/D 轉(zhuǎn)換器,給出了具體的設(shè)計(jì)方案和程序流程。它是用以 PIC16C73 為MCU 構(gòu)成的海水有機(jī)磷測控儀A/D 轉(zhuǎn)換部分的一種解決方案。為監(jiān)測海洋生態(tài)環(huán)境,研制了用于海水有機(jī)磷農(nóng)藥現(xiàn)場監(jiān)測的生物傳感器。為測定生物傳感器的信號,使傳感器可用于船載及臺站的海洋生態(tài)環(huán)境現(xiàn)場自動(dòng)監(jiān)測,需要對整個(gè)的采樣和排液裝置進(jìn)行控制以及對傳感器來的信號進(jìn)行實(shí)時(shí)采集處理,形成有機(jī)磷的濃度傳給上位機(jī)。為此,開發(fā)了以PIC16C73 單片機(jī)為核心的小型測控儀器,很好的完成了上述功能。PIC1673 單片機(jī)自帶8 位的A/D 轉(zhuǎn)換器,但不能滿足系統(tǒng)對精度的要求,本設(shè)計(jì)在單片機(jī)自帶8 位A/D 基礎(chǔ)上加少量的硬件和軟件開銷,使其擴(kuò)展為十二位A/D 轉(zhuǎn)換器,滿足了系統(tǒng)的要求。
上傳時(shí)間: 2013-10-30
上傳用戶:a296386173
含原理圖+電路圖+程序的波形發(fā)生器:在工作中,我們常常會(huì)用到波形發(fā)生器,它是使用頻度很高的電子儀器。現(xiàn)在的波形發(fā)生器都采用單片機(jī)來構(gòu)成。單片機(jī)波形發(fā)生器是以單片機(jī)核心,配相應(yīng)的外圍電路和功能軟件,能實(shí)現(xiàn)各種波形發(fā)生的應(yīng)用系統(tǒng),它由硬件部分和軟件部分組成,硬件是系統(tǒng)的基礎(chǔ),軟件則是在硬件的基礎(chǔ)上,對其合理的調(diào)配和使用,從而完成波形發(fā)生的任務(wù)。 波形發(fā)生器的技術(shù)指標(biāo):(1) 波形類型:方型、正弦波、三角波、鋸齒波;(2) 幅值電壓:1V、2V、3V、4V、5V;(3) 頻率值:10HZ、20HZ、50HZ、100HZ、200HZ、500HZ、1KHZ;(4) 輸出極性:雙極性操作設(shè)計(jì)1、 機(jī)器通電后,系統(tǒng)進(jìn)行初始化,LED在面板上顯示6個(gè)0,表示系統(tǒng)處于初始狀態(tài),等待用戶輸入設(shè)置命令,此時(shí),無任何波形信號輸出。2、 用戶按下“F”、“V”、“W”,可以分別進(jìn)入頻率,幅值波形設(shè)置,使系統(tǒng)進(jìn)入設(shè)置狀態(tài),相應(yīng)的數(shù)碼管顯示“一”,此時(shí),按其它鍵,無效;3、 在進(jìn)入某一設(shè)置狀態(tài)后,輸入0~9等數(shù)字鍵,(數(shù)字鍵僅在設(shè)置狀態(tài)時(shí),有效)為欲輸出的波形設(shè)置相應(yīng)參數(shù),LED將參數(shù)顯示在面板上;4、 如果在設(shè)置中,要改變已設(shè)定的參數(shù),可按下“CL”鍵,清除所有已設(shè)定參數(shù),系統(tǒng)恢復(fù)初始狀態(tài),LED顯示6個(gè)0,等待重新輸入命令;5、 當(dāng)必要的參數(shù)設(shè)定完畢后,所有參數(shù)顯示于LED上,用戶按下“EN”鍵,系統(tǒng)會(huì)將各波形參數(shù)傳遞到波形產(chǎn)生模塊中,以便控制波形發(fā)生,實(shí)現(xiàn)不同頻率,不同電壓幅值,不同類型波形的輸出;6、 用戶按下“EN”鍵后,波形發(fā)生器開始輸出滿足參數(shù)的波形信號,面板上相應(yīng)類型的運(yùn)行指示燈閃爍,表示波形正在輸出,LED顯示波形類型編號,頻率值、電壓幅值等波形參數(shù);7、 波形發(fā)生器在輸出信號時(shí),按下任意一個(gè)鍵,就停止波形信號輸出,等待重新設(shè)置參數(shù),設(shè)置過程如上所述,如果不改變參數(shù),可按下“EN”鍵,繼續(xù)輸出原波形信號;8、 要停止波形發(fā)生器的使用,可按下復(fù)位按鈕,將系統(tǒng)復(fù)位,然后關(guān)閉電源。硬件組成部分通過綜合比較,決定選用獲得廣泛應(yīng)用,性能價(jià)格高的常用芯片來構(gòu)成硬件電路。單片機(jī)采用MCS-51系列的89C51(一塊),74LS244和74LS373(各一塊),反相驅(qū)動(dòng)器 ULN2803A(一塊),運(yùn)算放大器 LM324(一塊) 波形發(fā)生器的硬件電路由單片機(jī)、鍵盤顯示器接口電路、波形轉(zhuǎn)換(D/ A)電路和電源線路等四部分構(gòu)成。1.單片機(jī)電路功能:形成掃描碼,鍵值識別,鍵功能處理,完成參數(shù)設(shè)置;形成顯示段碼,向LED顯示接口電路輸出;產(chǎn)生定時(shí)中斷;形成波形的數(shù)字編碼,并輸出到D/A接口電路;如電路原理圖所示: 89C51的P0口和P2口作為擴(kuò)展I/O口,與8255、0832、74LS373相連接,可尋址片外的寄存器。單片機(jī)尋址外設(shè),采用存儲器映像方式,外部接口芯片與內(nèi)部存儲器統(tǒng)一編址,89C51提供16根地址線P0(分時(shí)復(fù)用)和P2,P2口提供高8位地址線,P0口提供低8位地址線。P0口同時(shí)還要負(fù)責(zé)與8255,0832的數(shù)據(jù)傳遞。P2.7是8255的片選信號,P2.6是0832(1)的片選,P2.5是0832(2)的片選,低電平有效,P0.0、P0.1經(jīng)過74LS373鎖存后,送到8255的A1、A2作,片內(nèi)A口,B口,C口,控制口等寄存器的字選。89C51的P1口的低4位連接4只發(fā)光三極管,作為波形類型指示燈,表示正在輸出的波形是什么類型。單片機(jī)89C51內(nèi)部有兩個(gè)定時(shí)器/計(jì)數(shù)器,在波形發(fā)生器中使用T0作為中斷源。不同的頻率值對應(yīng)不同的定時(shí)初值,定時(shí)器的溢出信號作為中斷請求。控制定時(shí)器中斷的特殊功能寄存器設(shè)置如下:定時(shí)控制寄存器TCON=(00010000)工作方式選擇寄存器(TMOD)=(00000000)中斷允許控制寄存器(IE)=(10000010)2、鍵盤顯示器接口電路功能:驅(qū)動(dòng)6位數(shù)碼管動(dòng)態(tài)顯示; 提供響應(yīng)界面; 掃面鍵盤; 提供輸入按鍵。由并口芯片8255,鎖存器74LS273,74LS244,反向驅(qū)動(dòng)器ULN2803A,6位共陰極數(shù)碼管(LED)和4×4行列式鍵盤組成。8255的C口作為鍵盤的I/O接口,C口的低4位輸出到掃描碼,高4位作為輸入行狀態(tài),按鍵的分布如圖所示。8255的A口作為LED段碼輸出口,與74LS244相連接,B口作為LED的位選信號輸出口,與ULN2803A相連接。8255內(nèi)部的4個(gè)寄存器地址分配如下:控制口:7FFFH , A口:7FFFCH , B口:7FFDH , C口:7FFEH 3、D/A電路功能:將波形樣值的數(shù)字編碼轉(zhuǎn)換成模擬值;完成單極性向雙極性的波形輸出;構(gòu)成由兩片0832和一塊LM324運(yùn)放組成。0832(1)是參考電壓提供者,單片機(jī)向0832(1)內(nèi)的鎖存器送數(shù)字編碼,不同的編碼會(huì)產(chǎn)生不同的輸出值,在本發(fā)生器中,可輸出1V、2V、3V、4V、5V等五個(gè)模擬值,這些值作為0832(2)的參考電壓,使0832(2)輸出波形信號時(shí),其幅度是可調(diào)的。0832(2)用于產(chǎn)生各種波形信號,單片機(jī)在波形產(chǎn)生程序的控制下,生成波形樣值編碼,并送到0832(2)中的鎖存器,經(jīng)過D/A轉(zhuǎn)換,得到波形的模擬樣值點(diǎn),假如N個(gè)點(diǎn)就構(gòu)成波形的一個(gè)周期,那么0832(2)輸出N個(gè)樣值點(diǎn)后,樣值點(diǎn)形成運(yùn)動(dòng)軌跡,就是波形信號的一個(gè)周期。重復(fù)輸出N個(gè)點(diǎn)后,由此成第二個(gè)周期,第三個(gè)周期……。這樣0832(2)就能連續(xù)的輸出周期變化的波形信號。運(yùn)放A1是直流放大器,運(yùn)放A2是單極性電壓放大器,運(yùn)放A3是雙極性驅(qū)動(dòng)放大器,使波形信號能帶得起負(fù)載。地址分配:0832(1):DFFFH ,0832(2):BFFFH4、電源電路:功能:為波形發(fā)生器提供直流能量;構(gòu)成由變壓器、整流硅堆,穩(wěn)壓塊7805組成。220V的交流電,經(jīng)過開關(guān),保險(xiǎn)管(1.5A/250V),到變壓器降壓,由220V降為10V,通過硅堆將交流電變成直流電,對于諧波,用4700μF的電解電容給予濾除。為保證直流電壓穩(wěn)定,使用7805進(jìn)行穩(wěn)壓。最后,+5V電源配送到各用電負(fù)載。
標(biāo)簽: 波形發(fā)生器 原理圖 電路圖 源程序
上傳時(shí)間: 2013-11-08
上傳用戶:685
介紹用PIC16F84單片機(jī)制作的電子密碼鎖。PIC16F84單片機(jī)共18個(gè)引腳,13個(gè)可用I/O接口。芯片內(nèi)有1K×14的FLASHROM程序存儲器,36×8的靜態(tài)RAM的通用寄存器,64×8的EEPROM的數(shù)據(jù)存儲器,8級深度的硬堆棧。 用PIC單片機(jī)設(shè)計(jì)的電子密碼鎖微芯公司生產(chǎn)的PIC8位COMS單片機(jī),采用類RISC指令集和哈弗總線結(jié)構(gòu),以及先進(jìn)的流水線時(shí)序,與傳統(tǒng)51單片機(jī)相比其在速度和性能方面更具優(yōu)越性和先進(jìn)性。PIC單片機(jī)的另一個(gè)優(yōu)點(diǎn)是片上硬件資源豐富,集成常見的EPROM、DAC、PWM以及看門狗電路。這使得硬件電路的設(shè)計(jì)更加簡單,節(jié)約設(shè)計(jì)成本,提高整機(jī)性能。因此PIC單片機(jī)已成為產(chǎn)品開發(fā),尤其是產(chǎn)品設(shè)計(jì)和研制階段的首選控制器。本文介紹用PIC16F84單片機(jī)制作的電子密碼鎖。PIC16F84單片機(jī)共18個(gè)引腳,13個(gè)可用I/O接口。芯片內(nèi)有1K×14的FLASHROM程序存儲器,36×8的靜態(tài)RAM的通用寄存器,64×8的EEPROM的數(shù)據(jù)存儲器,8級深度的硬堆棧。硬件設(shè)計(jì) 電路原理見圖1。Xx8位數(shù)據(jù)線接4x4鍵盤矩陣電路,面板布局見表1,A、B、C、D為備用功能鍵。RA0、RA7輸出4組編碼二進(jìn)制數(shù)據(jù),經(jīng)74LS139譯碼后輸出逐行掃描信號,送RB4-RB7列信號輸入端。余下半個(gè)139譯碼器動(dòng)揚(yáng)聲器。RB2接中功率三極管基極,驅(qū)動(dòng)繼電器動(dòng)作。有效密碼長度為4位,根據(jù)實(shí)際情況,可通過修改源程序增加密碼位數(shù)。產(chǎn)品初始密碼為3345,這是一隨機(jī)數(shù),無特殊意義,目的是為防止被套解。用戶可按*號鍵修改密碼,按#號鍵結(jié)束。輸入密碼并按#號確認(rèn)之后,腳輸出RB2腳輸出高電平,繼電器閉合,執(zhí)行一次開鎖動(dòng)作。 若用戶輸入的密碼正確,揚(yáng)聲器發(fā)出一聲稍長的“滴”提示聲,若輸入的密碼與上次修改的不符,則發(fā)出短促的“滴”聲。連續(xù)3次輸入密碼錯(cuò)誤之后,程序鎖死,揚(yáng)聲器報(bào)警。直到CPU被復(fù)位或從新上電。軟件設(shè)計(jì) 軟件流程圖見圖3。CPU上電或復(fù)位之后將最近一次修改并保存到EEPROM的密碼讀出,最為參照密匙。然后等待用戶輸入開鎖密碼。若5分鐘以內(nèi)沒有接受到用戶的任何輸入,CPU自動(dòng)轉(zhuǎn)入掉電模式,用戶輸入任意值可喚醒CPU。每次修改密碼之后,CPU將新的密碼存入內(nèi)部4個(gè)連續(xù)的EEPROM單元,掉電后該數(shù)據(jù)任有效。每執(zhí)行一次開鎖指令,CPU將當(dāng)前輸入密碼與該值比較,看是否真確,并給出相應(yīng)的提示和控制。布 局 所有元件均使用SMD表貼封裝,縮小體積,便于產(chǎn)品安裝,60X60雙面PCB板,頂層是一體化輸入鍵盤,底層是元件層。成型后的產(chǎn)品體積小巧,能很方便的嵌入防盜鐵門、保險(xiǎn)箱柜。
標(biāo)簽: PIC 單片機(jī)設(shè)計(jì) 電子密碼鎖
上傳時(shí)間: 2013-10-31
上傳用戶:uuuuuuu
單片機(jī)音樂中音調(diào)和節(jié)拍的確定方法:調(diào)號-音樂上指用以確定樂曲主音高度的符號。很明顯一個(gè)八度就有12個(gè)半音。A、B、C、D、E、F、G。經(jīng)過聲學(xué)家的研究,全世界都用這些字母來表示固定的音高。比如,A這個(gè)音,標(biāo)準(zhǔn)的音高為每秒鐘振動(dòng)440周。 升C調(diào):1=#C,也就是降D調(diào):1=BD;277(頻率)升D調(diào):1=#D,也就是降E調(diào):1=BE;311升F調(diào):1=#F,也就是降G調(diào):1=BG;369升G調(diào):1=#G,也就是降A(chǔ)調(diào):1=BA;415升A調(diào):1=#A,也就是降B調(diào):1=BB。466,C 262 #C277 D 294 #D(bE)311 E 330 F 349 #F369 G 392 #G415A 440. #A466 B 494 所謂1=A,就是說,這首歌曲的“導(dǎo)”要唱得同A一樣高,人們也把這首歌曲叫做A調(diào)歌曲,或叫“唱A調(diào)”。1=C,就是說,這首歌曲的“導(dǎo)”要唱得同C一樣高,或者說“這歌曲唱C調(diào)”。同樣是“導(dǎo)”,不同的調(diào)唱起來的高低是不一樣的。各調(diào)的對應(yīng)的標(biāo)準(zhǔn)頻率為: 單片機(jī)演奏音樂時(shí)音調(diào)和節(jié)拍的確定方法 經(jīng)常看到一些剛學(xué)單片機(jī)的朋友對單片機(jī)演奏音樂比較有興趣,本人也曾是這樣。在此,本人將就這方面的知識做一些簡介,但愿能對單片機(jī)演奏音樂比較有興趣而又不知其解的朋友能有所啟迪。 一般說來,單片機(jī)演奏音樂基本都是單音頻率,它不包含相應(yīng)幅度的諧波頻率,也就是說不能象電子琴那樣能奏出多種音色的聲音。因此單片機(jī)奏樂只需弄清楚兩個(gè)概念即可,也就是“音調(diào)”和“節(jié)拍”。音調(diào)表示一個(gè)音符唱多高的頻率,節(jié)拍表示一個(gè)音符唱多長的時(shí)間。 在音樂中所謂“音調(diào)”,其實(shí)就是我們常說的“音高”。在音樂中常把中央C上方的A音定為標(biāo)準(zhǔn)音高,其頻率f=440Hz。當(dāng)兩個(gè)聲音信號的頻率相差一倍時(shí),也即f2=2f1時(shí),則稱f2比f1高一個(gè)倍頻程, 在音樂中1(do)與 ,2(來)與 ……正好相差一個(gè)倍頻程,在音樂學(xué)中稱它相差一個(gè)八度音。在一個(gè)八度音內(nèi),有12個(gè)半音。以1—i八音區(qū)為例, 12個(gè)半音是:1—#1、#1—2、2—#2、#2—3、3—4、4—#4,#4—5、5一#5、#5—6、6—#6、#6—7、7—i。這12個(gè)音階的分度基本上是以對數(shù)關(guān)系來劃分的。如果我們只要知道了這十二個(gè)音符的音高,也就是其基本音調(diào)的頻率,我們就可根據(jù)倍頻程的關(guān)系得到其他音符基本音調(diào)的頻率。 知道了一個(gè)音符的頻率后,怎樣讓單片機(jī)發(fā)出相應(yīng)頻率的聲音呢?一般說來,常采用的方法就是通過單片機(jī)的定時(shí)器定時(shí)中斷,將單片機(jī)上對應(yīng)蜂鳴器的I/O口來回取反,或者說來回清零,置位,從而讓蜂鳴器發(fā)出聲音,為了讓單片機(jī)發(fā)出不同頻率的聲音,我們只需將定時(shí)器予置不同的定時(shí)值就可實(shí)現(xiàn)。那么怎樣確定一個(gè)頻率所對應(yīng)的定時(shí)器的定時(shí)值呢?以標(biāo)準(zhǔn)音高A為例: A的頻率f = 440 Hz,其對應(yīng)的周期為:T = 1/ f = 1/440 =2272μs 由上圖可知,單片機(jī)上對應(yīng)蜂鳴器的I/O口來回取反的時(shí)間應(yīng)為:t = T/2 = 2272/2 = 1136μs這個(gè)時(shí)間t也就是單片機(jī)上定時(shí)器應(yīng)有的中斷觸發(fā)時(shí)間。一般情況下,單片機(jī)奏樂時(shí),其定時(shí)器為工作方式1,它以振蕩器的十二分頻信號為計(jì)數(shù)脈沖。設(shè)振蕩器頻率為f0,則定時(shí)器的予置初值由下式來確定: t = 12 *(TALL – THL)/ f0 式中TALL = 216 = 65536,THL為定時(shí)器待確定的計(jì)數(shù)初值。因此定時(shí)器的高低計(jì)數(shù)器的初值為: TH = THL / 256 = ( TALL – t* f0/12) / 256 TL = THL % 256 = ( TALL – t* f0/12) %256 將t=1136μs代入上面兩式(注意:計(jì)算時(shí)應(yīng)將時(shí)間和頻率的單位換算一致),即可求出標(biāo)準(zhǔn)音高A在單片機(jī)晶振頻率f0=12Mhz,定時(shí)器在工作方式1下的定時(shí)器高低計(jì)數(shù)器的予置初值為 : TH440Hz = (65536 – 1136 * 12/12) /256 = FBH TL440Hz = (65536 – 1136 * 12/12)%256 = 90H根據(jù)上面的求解方法,我們就可求出其他音調(diào)相應(yīng)的計(jì)數(shù)器的予置初值。 音符的節(jié)拍我們可以舉例來說明。在一張樂譜中,我們經(jīng)常會(huì)看到這樣的表達(dá)式,如1=C 、1=G …… 等等,這里1=C,1=G表示樂譜的曲調(diào),和我們前面所談的音調(diào)有很大的關(guān)聯(lián), 、 就是用來表示節(jié)拍的。以 為例加以說明,它表示樂譜中以四分音符為節(jié)拍,每一小結(jié)有三拍。比如: 其中1 、2 為一拍,3、4、5為一拍,6為一拍共三拍。1 、2的時(shí)長為四分音符的一半,即為八分音符長,3、4的時(shí)長為八分音符的一半,即為十六分音符長,5的時(shí)長為四分音符的一半,即為八分音符長,6的時(shí)長為四分音符長。那么一拍到底該唱多長呢?一般說來,如果樂曲沒有特殊說明,一拍的時(shí)長大約為400—500ms 。我們以一拍的時(shí)長為400ms為例,則當(dāng)以四分音符為節(jié)拍時(shí),四分音符的時(shí)長就為400ms,八分音符的時(shí)長就為200ms,十六分音符的時(shí)長就為100ms。可見,在單片機(jī)上控制一個(gè)音符唱多長可采用循環(huán)延時(shí)的方法來實(shí)現(xiàn)。首先,我們確定一個(gè)基本時(shí)長的延時(shí)程序,比如說以十六分音符的時(shí)長為基本延時(shí)時(shí)間,那么,對于一個(gè)音符,如果它為十六分音符,則只需調(diào)用一次延時(shí)程序,如果它為八分音符,則只需調(diào)用二次延時(shí)程序,如果它為四分音符,則只需調(diào)用四次延時(shí)程序,依次類推。通過上面關(guān)于一個(gè)音符音調(diào)和節(jié)拍的確定方法,我們就可以在單片機(jī)上實(shí)現(xiàn)演奏音樂了。具體的實(shí)現(xiàn)方法為:將樂譜中的每個(gè)音符的音調(diào)及節(jié)拍變換成相應(yīng)的音調(diào)參數(shù)和節(jié)拍參數(shù),將他們做成數(shù)據(jù)表格,存放在存儲器中,通過程序取出一個(gè)音符的相關(guān)參數(shù),播放該音符,該音符唱完后,接著取出下一個(gè)音符的相關(guān)參數(shù)……,如此直到播放完畢最后一個(gè)音符,根據(jù)需要也可循環(huán)不停地播放整個(gè)樂曲。另外,對于樂曲中的休止符,一般將其音調(diào)參數(shù)設(shè)為FFH,F(xiàn)FH,其節(jié)拍參數(shù)與其他音符的節(jié)拍參數(shù)確定方法一致,樂曲結(jié)束用節(jié)拍參數(shù)為00H來表示。下面給出部分音符(三個(gè)八度音)的頻率以及以單片機(jī)晶振頻率f0=12Mhz,定時(shí)器在工作方式1下的定時(shí)器高低計(jì)數(shù)器的予置初值 : C調(diào)音符 頻率Hz 262 277 293 311 329 349 370 392 415 440 466 494TH/TL F88B F8F2 F95B F9B7 FA14 FA66 FAB9 FB03 FB4A FB8F FBCF FC0BC調(diào)音符 1 1# 2 2# 3 4 4# 5 5# 6 6# 7頻率Hz 523 553 586 621 658 697 739 783 830 879 931 987TH/TL FC43 FC78 FCAB FCDB FD08 FD33 FD5B FD81 FDA5 FDC7 FDE7 FE05C調(diào)音符 頻率Hz 1045 1106 1171 1241 1316 1393 1476 1563 1658 1755 1860 1971TH/TL FB21 FE3C FE55 FE6D FE84 FE99 FEAD FEC0 FE02 FEE3 FEF3 FF02
上傳時(shí)間: 2013-10-20
上傳用戶:哈哈haha
AVR單片機(jī)GCC程序設(shè)計(jì):第一章 概述1.1 AVR 單片機(jī)GCC 開發(fā)概述1.2 一個(gè)簡單的例子1.3 用MAKEFILE 管理項(xiàng)目1.4 開發(fā)環(huán)境的配置1.5 實(shí)驗(yàn)板CA-M8第二章 存儲器操作編程2.1 AVR 單片機(jī)存儲器組織結(jié)構(gòu)2.2 I/O 寄存器操作2.3 SRAM 內(nèi)變量的使用2.4 在程序中訪問FLASH 程序存儲器2.5 EEPROM 數(shù)據(jù)存儲器操作2.6 avr-gcc 段結(jié)構(gòu)與再定位2.7 外部RAM 存儲器操作2.8 堆應(yīng)用第三章 GCC C 編譯器的使用3.1 編譯基礎(chǔ)3.2 生成靜態(tài)連接庫第四章 AVR 功能模塊應(yīng)用實(shí)驗(yàn)4.1 中斷服務(wù)程序4.2 定時(shí)器/計(jì)數(shù)器應(yīng)用4.3 看門狗應(yīng)用4.4 UART 應(yīng)用4.5 PWM 功能編程4.6 模擬比較器4.7 A/D 轉(zhuǎn)換模塊編程4.8 數(shù)碼管顯示程序設(shè)計(jì)4.9 鍵盤程序設(shè)計(jì)4.10 蜂鳴器控制第五章 使用C 語言標(biāo)準(zhǔn)I/O 流調(diào)試程序5.1 avr-libc 標(biāo)準(zhǔn)I/O 流描述5.2 利用標(biāo)準(zhǔn)I/0 流調(diào)試程序5.3 最小化的格式化的打印函數(shù)第六章 CA-M8 上實(shí)現(xiàn)AT89S52 編程器的實(shí)現(xiàn)6.1 編程原理6.2 LuckyProg2004 概述6.3 AT989S52 isp 功能簡介6.4 下位機(jī)程序設(shè)計(jì)第七章 硬件TWI 端口編程7.1 TWI 模塊概述7.2 主控模式操作實(shí)時(shí)時(shí)鐘DS13077.3 兩個(gè)Mega8 間的TWI 通信第八章 BootLoader 功能應(yīng)用8.1 BootLoader 功能介紹8.2 avr-libc 對BootLoader 的支持8.3 BootLoader 應(yīng)用實(shí)例8.4 基于LuckyProg2004 的BootLoader 程序第九章 匯編語言支持9.1 C 代碼中內(nèi)聯(lián)匯編程序9.2 獨(dú)立的匯編語言支持9.3 C 與匯編混合編程第十章 C++語言支持附錄 1 avr-gcc 選項(xiàng)附錄 2 Intel HEX 文件格式描述
上傳時(shí)間: 2014-04-03
上傳用戶:ligi201200
新穎實(shí)用的單片機(jī)雙積分A/D轉(zhuǎn)換電路和軟件:摘 要: 通過對雙積分A/ D 轉(zhuǎn)換過程及其原理的分析,結(jié)合8031 單片機(jī)定時(shí)計(jì)數(shù)器的特點(diǎn),設(shè)計(jì)出一種新的A/ D 轉(zhuǎn)換電路. 詳細(xì)介紹了這種轉(zhuǎn)換電路的硬件原理及工作過程,給出了實(shí)用的硬件電路與軟件設(shè)計(jì)框圖. 通過比較分析,可以看出這種A/ D 轉(zhuǎn)換電路性能價(jià)格比較高,軟件編程簡單,并且轉(zhuǎn)換速度和精度優(yōu)于一般的A/ D 轉(zhuǎn)換電路. 這種設(shè)計(jì)思路為數(shù)模轉(zhuǎn)換器(A/ D) 的升級提高指出一個(gè)明確的方向.關(guān)鍵詞:單片機(jī); 定時(shí)/ 計(jì)數(shù)器; A/ D 轉(zhuǎn)換; 雙積分 雙積分A/ D 及定時(shí)計(jì)數(shù)器原理:我們先分析雙積分A/ D 轉(zhuǎn)換的工作原理. 如圖1 所示,積分器先以固定時(shí)間T 對待測的輸入模擬電壓Vi 進(jìn)行正向積分,積分電容C 積累的電荷為
標(biāo)簽: 單片機(jī) 雙積分 轉(zhuǎn)換電路 軟件
上傳時(shí)間: 2014-01-18
上傳用戶:hewenzhi
單片機(jī)系統(tǒng)常用軟件抗干擾措施:可靠性設(shè)計(jì)是一項(xiàng)系統(tǒng)工程,單片機(jī)系統(tǒng)的可靠性必須從軟件、硬件以及結(jié)構(gòu)設(shè)計(jì)等方面全面考慮。硬件系統(tǒng)的可靠性設(shè)計(jì)是單片機(jī)系統(tǒng)可靠性的根本,而軟件系統(tǒng)的可靠性設(shè)計(jì)起到抑制外來干擾的作用。軟件系統(tǒng)的可靠性設(shè)計(jì)的主要方法有:開機(jī)自檢、軟件陷阱(進(jìn)行程序“跑飛”檢測)、設(shè)置程序運(yùn)行狀態(tài)標(biāo)記、輸出端口刷新、輸入多次采樣、軟件“看門狗”等。通過軟件系統(tǒng)的可靠性設(shè)計(jì),達(dá)到最大限度地降低干擾對系統(tǒng)工作的影響,確保單片機(jī)及時(shí)發(fā)現(xiàn)因干擾導(dǎo)致程序出現(xiàn)的錯(cuò)誤,并使系統(tǒng)恢復(fù)到正常工作狀態(tài)或及時(shí)報(bào)警的目的。一、開機(jī)自檢開機(jī)后首先對單片機(jī)系統(tǒng)的硬件及軟件狀態(tài)進(jìn)行檢測,一旦發(fā)現(xiàn)不正常,就進(jìn)行相應(yīng)的處理。開機(jī)自檢程序通常包括對RAM、ROM、I/O口狀態(tài)等的檢測。1 檢測RAM檢查RAM讀寫是否正常,實(shí)際操作是向RAM單元寫“00H”,讀出也應(yīng)為“00H”,再向其寫“FFH”,讀出也應(yīng)為“FFH”。如果RAM單元讀寫出錯(cuò),應(yīng)給出RAM出錯(cuò)提示(聲光或其它形式),等待處理。2 檢查ROM單元的內(nèi)容對ROM單元的檢測主要是檢查ROM單元的內(nèi)容的校驗(yàn)和。所謂ROM的校驗(yàn)和是將ROM的內(nèi)容逐一相加后得到一個(gè)數(shù)值,該值便稱校驗(yàn)和。ROM單元存儲的是程序、常數(shù)和表格。一旦程序編寫完成,ROM中的內(nèi)容就確定了,其校驗(yàn)和也就是唯一的。若ROM校驗(yàn)和出錯(cuò),應(yīng)給出ROM出錯(cuò)提示(聲光或其它形式),等待處理。3 檢查I/O口狀態(tài)首先確定系統(tǒng)的I/O口在待機(jī)狀態(tài)應(yīng)處的狀態(tài),然后檢測單片機(jī)的I/O口在待機(jī)狀態(tài)下的狀態(tài)是否正常(如是否有短路或開路現(xiàn)象等)。若不正常,應(yīng)給出出錯(cuò)提示(聲光或其它形式),等待處理。4 其它接口電路檢測除了對上述單片機(jī)內(nèi)部資源進(jìn)行檢測外,對系統(tǒng)中的其它接口電路,比如擴(kuò)展的E2PROM、A/D轉(zhuǎn)換電路等,又如數(shù)字測溫儀中的555單穩(wěn)測溫電路,均應(yīng)通過軟件進(jìn)行檢測,確定是否有故障。只有各項(xiàng)檢查均正常,程序方能繼續(xù)執(zhí)行,否則應(yīng)提示出錯(cuò)。
標(biāo)簽: 單片機(jī)系統(tǒng) 軟件 抗干擾措施
上傳時(shí)間: 2013-11-02
上傳用戶:名爵少年
P C B 可測性設(shè)計(jì)布線規(guī)則之建議― ― 從源頭改善可測率PCB 設(shè)計(jì)除需考慮功能性與安全性等要求外,亦需考慮可生產(chǎn)與可測試。這里提供可測性設(shè)計(jì)建議供設(shè)計(jì)布線工程師參考。1. 每一個(gè)銅箔電路支點(diǎn),至少需要一個(gè)可測試點(diǎn)。如無對應(yīng)的測試點(diǎn),將可導(dǎo)致與之相關(guān)的開短路不可檢出,并且與之相連的零件會(huì)因無測試點(diǎn)而不可測。2. 雙面治具會(huì)增加制作成本,且上針板的測試針定位準(zhǔn)確度差。所以Layout 時(shí)應(yīng)通過Via Hole 盡可能將測試點(diǎn)放置于同一面。這樣就只要做單面治具即可。3. 測試選點(diǎn)優(yōu)先級:A.測墊(Test Pad) B.通孔(Through Hole) C.零件腳(Component Lead) D.貫穿孔(Via Hole)(未Mask)。而對于零件腳,應(yīng)以AI 零件腳及其它較細(xì)較短腳為優(yōu)先,較粗或較長的引腳接觸性誤判多。4. PCB 厚度至少要62mil(1.35mm),厚度少于此值之PCB 容易板彎變形,影響測點(diǎn)精準(zhǔn)度,制作治具需特殊處理。5. 避免將測點(diǎn)置于SMT 之PAD 上,因SMT 零件會(huì)偏移,故不可靠,且易傷及零件。6. 避免使用過長零件腳(>170mil(4.3mm))或過大的孔(直徑>1.5mm)為測點(diǎn)。7. 對于電池(Battery)最好預(yù)留Jumper,在ICT 測試時(shí)能有效隔離電池的影響。8. 定位孔要求:(a) 定位孔(Tooling Hole)直徑最好為125mil(3.175mm)及其以上。(b) 每一片PCB 須有2 個(gè)定位孔和一個(gè)防呆孔(也可說成定位孔,用以預(yù)防將PCB反放而導(dǎo)致機(jī)器壓破板),且孔內(nèi)不能沾錫。(c) 選擇以對角線,距離最遠(yuǎn)之2 孔為定位孔。(d) 各定位孔(含防呆孔)不應(yīng)設(shè)計(jì)成中心對稱,即PCB 旋轉(zhuǎn)180 度角后仍能放入PCB,這樣,作業(yè)員易于反放而致機(jī)器壓破板)9. 測試點(diǎn)要求:(e) 兩測點(diǎn)或測點(diǎn)與預(yù)鉆孔之中心距不得小于50mil(1.27mm),否則有一測點(diǎn)無法植針。以大于100mil(2.54mm)為佳,其次是75mil(1.905mm)。(f) 測點(diǎn)應(yīng)離其附近零件(位于同一面者)至少100mil,如為高于3mm 零件,則應(yīng)至少間距120mil,方便治具制作。(g) 測點(diǎn)應(yīng)平均分布于PCB 表面,避免局部密度過高,影響治具測試時(shí)測試針壓力平衡。(h) 測點(diǎn)直徑最好能不小于35mil(0.9mm),如在上針板,則最好不小于40mil(1.00mm),圓形、正方形均可。小于0.030”(30mil)之測點(diǎn)需額外加工,以導(dǎo)正目標(biāo)。(i) 測點(diǎn)的Pad 及Via 不應(yīng)有防焊漆(Solder Mask)。(j) 測點(diǎn)應(yīng)離板邊或折邊至少100mil。(k) 錫點(diǎn)被實(shí)踐證實(shí)是最好的測試探針接觸點(diǎn)。因?yàn)殄a的氧化物較輕且容易刺穿。以錫點(diǎn)作測試點(diǎn),因接觸不良導(dǎo)致誤判的機(jī)會(huì)極少且可延長探針使用壽命。錫點(diǎn)尤其以PCB 光板制作時(shí)的噴錫點(diǎn)最佳。PCB 裸銅測點(diǎn),高溫后已氧化,且其硬度高,所以探針接觸電阻變化而致測試誤判率很高。如果裸銅測點(diǎn)在SMT 時(shí)加上錫膏再經(jīng)回流焊固化為錫點(diǎn),雖可大幅改善,但因助焊劑或吃錫不完全的緣故,仍會(huì)出現(xiàn)較多的接觸誤判。
標(biāo)簽: PCB 可測性設(shè)計(jì) 布線規(guī)則
上傳時(shí)間: 2014-01-14
上傳用戶:cylnpy
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1