亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

編址技術(shù)

  • 波形發(fā)生器,含原理圖+電路圖+源程序

    含原理圖+電路圖+程序的波形發(fā)生器:在工作中,我們常常會用到波形發(fā)生器,它是使用頻度很高的電子儀器。現(xiàn)在的波形發(fā)生器都采用單片機來構成。單片機波形發(fā)生器是以單片機核心,配相應的外圍電路和功能軟件,能實現(xiàn)各種波形發(fā)生的應用系統(tǒng),它由硬件部分和軟件部分組成,硬件是系統(tǒng)的基礎,軟件則是在硬件的基礎上,對其合理的調配和使用,從而完成波形發(fā)生的任務。 波形發(fā)生器的技術指標:(1) 波形類型:方型、正弦波、三角波、鋸齒波;(2) 幅值電壓:1V、2V、3V、4V、5V;(3) 頻率值:10HZ、20HZ、50HZ、100HZ、200HZ、500HZ、1KHZ;(4) 輸出極性:雙極性操作設計1、 機器通電后,系統(tǒng)進行初始化,LED在面板上顯示6個0,表示系統(tǒng)處于初始狀態(tài),等待用戶輸入設置命令,此時,無任何波形信號輸出。2、 用戶按下“F”、“V”、“W”,可以分別進入頻率,幅值波形設置,使系統(tǒng)進入設置狀態(tài),相應的數(shù)碼管顯示“一”,此時,按其它鍵,無效;3、 在進入某一設置狀態(tài)后,輸入0~9等數(shù)字鍵,(數(shù)字鍵僅在設置狀態(tài)時,有效)為欲輸出的波形設置相應參數(shù),LED將參數(shù)顯示在面板上;4、 如果在設置中,要改變已設定的參數(shù),可按下“CL”鍵,清除所有已設定參數(shù),系統(tǒng)恢復初始狀態(tài),LED顯示6個0,等待重新輸入命令;5、 當必要的參數(shù)設定完畢后,所有參數(shù)顯示于LED上,用戶按下“EN”鍵,系統(tǒng)會將各波形參數(shù)傳遞到波形產生模塊中,以便控制波形發(fā)生,實現(xiàn)不同頻率,不同電壓幅值,不同類型波形的輸出;6、 用戶按下“EN”鍵后,波形發(fā)生器開始輸出滿足參數(shù)的波形信號,面板上相應類型的運行指示燈閃爍,表示波形正在輸出,LED顯示波形類型編號,頻率值、電壓幅值等波形參數(shù);7、 波形發(fā)生器在輸出信號時,按下任意一個鍵,就停止波形信號輸出,等待重新設置參數(shù),設置過程如上所述,如果不改變參數(shù),可按下“EN”鍵,繼續(xù)輸出原波形信號;8、 要停止波形發(fā)生器的使用,可按下復位按鈕,將系統(tǒng)復位,然后關閉電源。硬件組成部分通過綜合比較,決定選用獲得廣泛應用,性能價格高的常用芯片來構成硬件電路。單片機采用MCS-51系列的89C51(一塊),74LS244和74LS373(各一塊),反相驅動器 ULN2803A(一塊),運算放大器 LM324(一塊)  波形發(fā)生器的硬件電路由單片機、鍵盤顯示器接口電路、波形轉換(D/ A)電路和電源線路等四部分構成。1.單片機電路功能:形成掃描碼,鍵值識別,鍵功能處理,完成參數(shù)設置;形成顯示段碼,向LED顯示接口電路輸出;產生定時中斷;形成波形的數(shù)字編碼,并輸出到D/A接口電路;如電路原理圖所示: 89C51的P0口和P2口作為擴展I/O口,與8255、0832、74LS373相連接,可尋址片外的寄存器。單片機尋址外設,采用存儲器映像方式,外部接口芯片與內部存儲器統(tǒng)一編址,89C51提供16根地址線P0(分時復用)和P2,P2口提供高8位地址線,P0口提供低8位地址線。P0口同時還要負責與8255,0832的數(shù)據傳遞。P2.7是8255的片選信號,P2.6是0832(1)的片選,P2.5是0832(2)的片選,低電平有效,P0.0、P0.1經過74LS373鎖存后,送到8255的A1、A2作,片內A口,B口,C口,控制口等寄存器的字選。89C51的P1口的低4位連接4只發(fā)光三極管,作為波形類型指示燈,表示正在輸出的波形是什么類型。單片機89C51內部有兩個定時器/計數(shù)器,在波形發(fā)生器中使用T0作為中斷源。不同的頻率值對應不同的定時初值,定時器的溢出信號作為中斷請求。控制定時器中斷的特殊功能寄存器設置如下:定時控制寄存器TCON=(00010000)工作方式選擇寄存器(TMOD)=(00000000)中斷允許控制寄存器(IE)=(10000010)2、鍵盤顯示器接口電路功能:驅動6位數(shù)碼管動態(tài)顯示;           提供響應界面;           掃面鍵盤;           提供輸入按鍵。由并口芯片8255,鎖存器74LS273,74LS244,反向驅動器ULN2803A,6位共陰極數(shù)碼管(LED)和4×4行列式鍵盤組成。8255的C口作為鍵盤的I/O接口,C口的低4位輸出到掃描碼,高4位作為輸入行狀態(tài),按鍵的分布如圖所示。8255的A口作為LED段碼輸出口,與74LS244相連接,B口作為LED的位選信號輸出口,與ULN2803A相連接。8255內部的4個寄存器地址分配如下:控制口:7FFFH , A口:7FFFCH , B口:7FFDH ,  C口:7FFEH    3、D/A電路功能:將波形樣值的數(shù)字編碼轉換成模擬值;完成單極性向雙極性的波形輸出;構成由兩片0832和一塊LM324運放組成。0832(1)是參考電壓提供者,單片機向0832(1)內的鎖存器送數(shù)字編碼,不同的編碼會產生不同的輸出值,在本發(fā)生器中,可輸出1V、2V、3V、4V、5V等五個模擬值,這些值作為0832(2)的參考電壓,使0832(2)輸出波形信號時,其幅度是可調的。0832(2)用于產生各種波形信號,單片機在波形產生程序的控制下,生成波形樣值編碼,并送到0832(2)中的鎖存器,經過D/A轉換,得到波形的模擬樣值點,假如N個點就構成波形的一個周期,那么0832(2)輸出N個樣值點后,樣值點形成運動軌跡,就是波形信號的一個周期。重復輸出N個點后,由此成第二個周期,第三個周期……。這樣0832(2)就能連續(xù)的輸出周期變化的波形信號。運放A1是直流放大器,運放A2是單極性電壓放大器,運放A3是雙極性驅動放大器,使波形信號能帶得起負載。地址分配:0832(1):DFFFH ,0832(2):BFFFH4、電源電路:功能:為波形發(fā)生器提供直流能量;構成由變壓器、整流硅堆,穩(wěn)壓塊7805組成。220V的交流電,經過開關,保險管(1.5A/250V),到變壓器降壓,由220V降為10V,通過硅堆將交流電變成直流電,對于諧波,用4700μF的電解電容給予濾除。為保證直流電壓穩(wěn)定,使用7805進行穩(wěn)壓。最后,+5V電源配送到各用電負載。

    標簽: 波形發(fā)生器 原理圖 電路圖 源程序

    上傳時間: 2013-11-08

    上傳用戶:685

  • 微型機算計發(fā)展概述

    微型機算計發(fā)展概述人類從原始社會學會使用工具以來到現(xiàn)代社會經歷了三次大的產業(yè)革命:農業(yè)革命、工業(yè)革命、信息革命。而信息革命是以計算機技術和通信技術的發(fā)展和普及為代表的。人類已進入了高速發(fā)展的現(xiàn)代時期。其中計算機科學和技術發(fā)展之快,是任何其他技術都無法相提并論的自從1946年美國賓夕法尼亞大學研制成功的世界上第一臺電子計算機到現(xiàn)在已50多年的歷史。計算機的發(fā)展經歷了四代:第一代:電子管電路計算機,電子管數(shù):18800個;繼電器數(shù)量:5000個;耗電量:150KW;重量:30t;占地面積:150平方米;運算速度:5000次加法運算/s。第二代:晶體管電路計算機(60年代初)第三代:小規(guī)模集成電路計算機。第四代:大規(guī)模(LSI)和超大規(guī)模(VSLI)集成電路計算機。第四代計算機基本情況:運算速度為每秒幾千億次到幾萬億次;從數(shù)值計算和數(shù)據處理到目前進行知識處理的人工智能階段;計算機不僅可以處理文字、字符、圖形圖象信息,而且可以處理音頻、視頻等多媒體信息;計算機正朝著智能化和多媒體化方向發(fā)展。微型計算機的定義:以微處理器為核心,再配上半導體存儲器、輸入/輸出接口電路、系統(tǒng)總線及其它支持邏輯電路組成的計算機稱微型計算機。在1971年美國Intel公司首先研制成功世界上第一塊微處理器芯片4004以來,差不多每隔2~3年就推出一代新的微處理器產品;如今已推出了第五代微處理器。因為微處理器是微型計算機的核心部件,它的性能在很大程度上決定了微型計算機的性能,所以微型計算機的發(fā)展是以微處理器的發(fā)展而更新?lián)Q代的。微處理器和微型計算機的發(fā)展:1.第一代微處理器和微型計算機:(1971~1973年)——4位CPU和低檔8位處理器,典型的產品有:Intel 4004、改進型的4040,是4位處理器,以它為核心構成的微機是MCS-4。Intel 8008是8位通用微處理器,以它為核心所構的微機是MCS-8。參數(shù):芯片采用PMOS工藝;集成度為2000管/片;時鐘頻率1MHz;平均指令執(zhí)行時間為20μs。2.第二代微處理器和微型計算機(1973~1978年)——成熟的8位CPU,典型的產品有:Intel 8080(1973年由Intel公司推出)MC6800 (1974年由美國Motorola推出。Z-80 (1975年由Zilog公司推出。Intel 8085 (1976年由Intel公司推出,是Intel 8080的改進型。MOS 6502,由MOS公司推出,它是IBM PC機問世之前世界上最流行的微型計算機Apple2(蘋果機)的CPU。第二代微處理器的參數(shù):芯片工藝采用NMOS工藝,集成度達到5000~9000管/片;時鐘頻率2~4MHz;平均指令執(zhí)行時間為1~2μs;具有多種尋址方式,指令系統(tǒng)完善,基本指令100多條。特點:具有中斷、DMA等控制功能;也考慮了兼容性、接口標準化和通用性、配套的外圍電路功能和種類齊全。在軟件方面:主要是匯編,還有一些簡單的高級語言和操作系統(tǒng)。

    標簽: 微型機 發(fā)展

    上傳時間: 2013-11-24

    上傳用戶:蔣清華嗯

  • 用單片機制作多功能莫爾斯碼電路

    用單片機制作多功能莫爾斯碼電路:用單片機制作多功能莫爾斯碼電路莫爾斯電碼通信有著悠久的歷史,盡管它已被現(xiàn)代通信方式所取代,但在業(yè)余無線電通信和特殊的專業(yè)場合仍具有重要的地位,這是因為等幅電碼通信的抗干擾能力是其它任何一種通信方式都無法相比的。在短波波段用幾瓦的功率即可進行國際間的通信,收發(fā)射設備簡單易制成本低廉,所以深受業(yè)余無線電愛好者的喜愛,是業(yè)余無線電高手必備的技能。要想熟練掌握莫爾斯電碼的收發(fā)技術除了持之以恒的毅力外,還需要相關的設備。設計本電路的目的就是給愛好者提供一個實用和訓練的工具。  一、功能簡介    本電路可以配合自動鍵體和手動鍵體,產生莫爾斯碼控制信號,設有16種速度,從初學者到操作高手都能適用。監(jiān)聽音調也有16種,均可以通過功能鍵進行選擇。可以按程序中設定好的呼號自動呼叫,設有聽抄練習功能,聽抄練習有短碼和混合碼兩種模式,分別對10個數(shù)字和常用的38個混合碼模擬隨機取樣,產生分組報碼,供愛好者提高抄收水平之用,速度低4檔的聽抄練習是專為初學者所設,內容是時間間隔較長的單字符。設有PTT開關鍵,可以決定是否控制發(fā)射機工作,不需要反復通斷控制線。無論當前處于呼叫狀態(tài)還是聽抄狀態(tài)只要電鍵接點接通則自動轉到人工發(fā)報程序。4分鐘內不使用電路將自動關閉電源,只有按復位鍵才能重新開始工作。先按住聽抄練習鍵復位則進入短碼練習狀態(tài),其它功能不變。從開機到自動關機執(zhí)行每個功能都有不同的莫爾斯碼提示音。本電路具有較強的抗高低頻干擾的能力和使用方便的大電流開關接口,以適應不同的發(fā)射設備。    二、硬件電路原理硬件電路如圖1所示。設計電路的目的在于方便實用,以免在緊張的操作中失誤,所以除了聽抄練習鍵外其它鍵沒有定義復用功能。各鍵的作用在圖中已經標出。PTT控制在每次復位時處于關閉狀態(tài),每按動一次PTT功能鍵則改變一次狀態(tài),這樣可以使用軟件開關控制發(fā)射。 PTT處于控制狀態(tài)時發(fā)光二極管隨控制信號閃亮。考慮到自制設備及淘汰軍用設備與高檔設備控制電流的不同,PTT開關管采用了2SC2073,可以承受500mA的電流,同時還增加了無極性PTT開關電路,無論外部被控制的端口直流極性如何加到VT3的極性始終不變,供有興趣的愛好者實驗。應該注意,如果被控制的負載是感性,則電感兩端必須并聯(lián)續(xù)流二極管,除自制設備外成品機在這方面一般沒有什么問題。手動鍵只有一個接點,接通后產生連續(xù)的音頻和發(fā)射控制信號。在本電路中手動鍵的輸入端是P1.5 ,程序不斷檢測P1.5電平,當按鍵按下時P1.5電平為0,程序轉入手動鍵子程序。 自動鍵的接點分別接到P1.3和P1.4 ,同樣當程序檢測到有接點閉合時便自動產生“點”或“劃”。音頻信號從P輸出,經VT1放大后推動揚聲器發(fā)音。單片機的I/O口在輸入狀態(tài)下阻抗較高,容易受到高低頻信號干擾,所以在每個輸入端口和三極管的be端并聯(lián)電阻和高頻旁路電容,確保在較長的電鍵連線和大功率發(fā)射時電路工作穩(wěn)定。圖2是印刷電路版圖,尺寸為110mmX85mm,揚聲器用粘合劑直接粘接在電路版有銅箔的面。    三、軟件設計方法  “點”時間長度是莫爾斯電碼中的基本時間單位。按規(guī)定“劃”的時間長度不小于三個“點”,同字符中“點”與“劃”的間隔不小于一個“點”,字符之間不小于一個“劃”,詞與詞之間不應小于五個“點”。在本程序中用條件轉移指令來產生“點”時間長度。通過速度功能鍵功可以設置16種延時參數(shù)。用T0中斷產生監(jiān)聽音頻信號,并將中斷設為優(yōu)先級,保證在聽覺上純正悅耳。T1用于自動關機計時,如果不使用任何功能四分鐘后將向PCON 位寫1,單片機進入休眠狀態(tài),此時耗電量僅有幾個微安。自動鍵的“點”或“劃”以及手動鍵的連續(xù)發(fā)音都是子程序的反復調用。P1.2對地短接時自動呼叫可設定為另一內容。為了便于熟悉匯編語言的讀者對發(fā)音內容進行修改,這里介紹發(fā)音字符的編碼方法。莫爾斯碼的信息與計算機中二進制恰好相同,我們可以用0表示“點”,用1表示“劃”。提示音、自動呼叫、聽抄內容等字符是預先按一定編碼方式存儲在程序中的常數(shù)。每個字符的莫爾斯碼一般是由1至6位“點”、“劃”組成,也就是發(fā)音次數(shù)最多6次。程序中每個字符占用1個字節(jié),字符時間間隔不占用字節(jié),但更長的延時或發(fā)音結束信息占用一個字節(jié)。我們用字節(jié)的低三位表示字節(jié)的性質,對于5次及5次以下發(fā)音的字符我們用存儲器的高5位存儲發(fā)音信息,發(fā)音順序由高位至低位,用低3位存儲發(fā)音次數(shù),發(fā)音時將數(shù)據送入累加器A,先得到發(fā)音次數(shù),然后使A左環(huán)移,對E0進行位尋址,判斷是發(fā)“點”還是“劃”,環(huán)移次數(shù)由發(fā)音次數(shù)決定。對于6次發(fā)音的字符不能完全按照上述編碼規(guī)則,否則會出現(xiàn)信息重疊,如果是6次發(fā)音且最后一次是“劃”我們把發(fā)音次數(shù)定義為111B,因為這時第6次位尋址得到的是1。如果第6次發(fā)音是“點”,那么這個字符的低三位定義為000B。字符間隔時間由程序自動產生,更長的時間隔或結束標志由字節(jié)低三位110B來定義,高半字節(jié)表示字符間隔的倍數(shù),例如26H表示再加兩倍時間間隔。如果字節(jié)為06H則表示讀字符程序結束,返回主程序。更詳細的內容不再贅述,讀者可閱讀源程序。四、使用注意事項手動鍵的操作難度相對大一些,時間節(jié)拍全由人掌握,其特點是發(fā)出的電碼帶有“人情味”。自動鍵的“點”、“劃”靠電路產生,發(fā)音標準,容易操作,而且可以達到相當快的速度,長時間工作也不易疲勞。在干擾較大、信號微弱的條件下自動鍵碼的辨別程度好于手動鍵碼。初學者初次使用手動鍵練習發(fā)報要有老師指導,且不可我行我素,一旦養(yǎng)成不正確的手法則很難糾正。在電臺上時常聽到一些讓對方難以抄收的電碼,這可能會使對方反感而拒絕回答。使用自動鍵也應在一定的聽抄基礎上再去練習。在暫時找不老師的情況下可多練習聽力,這對于今后能夠發(fā)出標準正確的電碼非常有益。

    標簽: 用單片機 多功能 莫爾斯 電路

    上傳時間: 2013-10-31

    上傳用戶:sdq_123

  • 用51單片機實現(xiàn)公歷與農歷星期的轉換

    實現(xiàn)公歷與農歷的轉換一般采用查表法,按日查表是速度最快的方法但51 單片機尋址能力有限不可能采用按日查表的方法除按日查外,我們可以通過按月查表和按年查表的方法再通過適當?shù)挠嬎銇泶_定公歷日所對應的農歷日期,本文采用的是按年查表法最大限度地減少表格所占的程序空間。

    標簽: 51單片機 農歷 轉換

    上傳時間: 2013-11-25

    上傳用戶:ouyangmark

  • 微機總線與接口標準

    3.1 總線與接口概述 3.1.1 總線和接口及其標準的概念  總線:是在模塊和模塊之間或設備與設備之間的一組進行互連和傳輸信息的信號線,信息包括指令、數(shù)據和地址。   總線標準     指芯片之間、擴展卡之間以及系統(tǒng)之間,通過總線進行連接和傳輸信息時,應該遵守的一些協(xié)議與規(guī)范。  接口標準    外設接口的規(guī)范,涉及接口信號線定義、信號傳輸速率、傳輸方向和拓撲結構,以及電氣特性和機械特性等多個方面。 3.1.2 總線的分類 1) 按總線功能或信號類型劃分為: 數(shù)據總線:雙向三態(tài)邏輯,線寬表示了總線數(shù)據傳輸?shù)哪芰Α5刂房偩€:單向三態(tài)邏輯,線寬決定了系統(tǒng)的尋址能力。控制總線:就某根來說是單向或雙向。控制總線最能體現(xiàn)總線特點,決定總線功能的強弱和適應性。2) 按總線的層次結構分為: CPU總線:微機系統(tǒng)中速度最快的總線,主要在CPU內部,連接CPU內部部件,在CPU周圍的小范圍內也分布該總線,提供系統(tǒng)原始的控制和命令。局部總線:在系統(tǒng)總線和CPU總線之間的一級總線,提供CPU和主板器件之間以及CPU到高速外設之間的快速信息通道。系統(tǒng)總線:也稱為I/O總線,是傳統(tǒng)的通過總線擴展卡連接外部設備的總線。由于速度慢,其功能已經被局部總線替代。通信總線:也稱為外部總線,是微機與微機,微機與外設之間進行通信的總線。3.1.3 總線的主要性能參數(shù)1.總線頻率:MHz表示的工作頻率,是總線速率的一個重要參數(shù)。2.總線寬度:指數(shù)據總線的位數(shù)。3.總線的數(shù)據傳輸率   總線的數(shù)據傳輸率=(總線寬度/8位)×總線頻率 例:PCI總線的總線頻率為33.3MHz,總線寬度為64位的情況下,總線數(shù)據傳輸率為266MB/s 。

    標簽: 微機 總線 接口標準

    上傳時間: 2013-11-17

    上傳用戶:shen954166632

  • 改善基于微控制器的應用的瞬態(tài)免疫性能

    家電制造業(yè)的競爭日益激烈,市場調整壓力越來越大,原始設備制造商們(OEM)為了面對這一挑戰(zhàn),必須在滿足電磁兼容性的條件下,不斷降低產品的成本。由于強調成本控制,為防止由電源和信號線的瞬變所產生的電器故障而實施必要的瞬態(tài)免疫保護,對于家電設計者來說變得更具挑戰(zhàn)性。由于傳統(tǒng)的電源設計和電磁干擾(EMI)控制措施為節(jié)約成本讓路,家電設計者必須開發(fā)出新的技術來滿足不斷調整的電磁兼容(EMC)需求。本應用筆記探討了瞬態(tài)電氣干擾對嵌入式微控制器(MCU)的影響,并提供了切實可行的硬件和軟件設計技術,這些技術可以為電快速瞬變(EFT)、靜電放電(ESD)以及其它電源線或信號線的短時瞬變提供低成本的保護措施。雖然這種探討是主要針對家電制造商,但是也適用于消費電子、工業(yè)以及汽車電子方面的應用。

    標簽: 微控制器 瞬態(tài)免疫 性能

    上傳時間: 2013-11-22

    上傳用戶:csgcd001

  • keil c51中文說明

    Keil C51 中文說明:8051 系列微處理器基于簡化的嵌入式控制系統(tǒng)結構被廣泛應用于從軍事到自動控制再到PC 機上的鍵盤上的各種應用系統(tǒng)上僅次于Motorola 68HC11 在 8 位微控制器市場上的銷量很多制造商都可提供8051 系列單片機像Intel Philips Siemens 等這些制造商給51 系列單片機加入了大量的性能和外部功能像I2C 總線接口模擬量到數(shù)字量的轉換看門狗PWM 輸出等不少芯片的工作頻率達到40M 工作電壓下降到1.5V 基于一個內核的這些功能使得8051 單片機很適合作為廠家產品的基本構架它能夠運行各種程序而且開發(fā)者只需要學習這一個平臺8051 系列的基本結構如下1 一個8 位算術邏輯單元2 32 個I/O 口4 組8 位端口可單獨尋址3 兩個16 位定時計數(shù)器4 全雙工串行通信5 6 個中斷源兩個中斷優(yōu)先級6 128 字節(jié)內置RAM7 獨立的64K 字節(jié)可尋址數(shù)據和代碼區(qū)每個8051 處理周期包括12 個振蕩周期每12 個振蕩周期用來完成一項操作如取指令和計算指令執(zhí)行時間可把時鐘頻率除以12 取倒數(shù)然后指令執(zhí)行所須的周期數(shù)因此如果你的系統(tǒng)時鐘是11.059MHz 除以12 后就得到了每秒執(zhí)行的指令個數(shù)為921583條指令取倒數(shù)將得到每條指令所須的時間1.085ms.

    標簽: keil c51

    上傳時間: 2013-10-24

    上傳用戶:xauthu

  • 微型計算機課程設計論文—通用微機發(fā)聲程序的匯編設計

    微型計算機課程設計論文—通用微機發(fā)聲程序的匯編設計 本文講述了在微型計算機中利用可編程時間間隔定時器的通用發(fā)聲程序設計,重點講述了程序的發(fā)聲原理,節(jié)拍的產生,按節(jié)拍改變的動畫程序原理,并以設計一個簡單的樂曲評分程序為引子,分析程序設計的細節(jié)。關鍵字:微機 8253 通用發(fā)聲程序 動畫技術 直接寫屏 1. 可編程時間間隔定時器8253在通用個人計算機中,有一個可編程時間間隔定時器8253,它能夠根據程序提供的計數(shù)值和工作方式,產生各種形狀和各種頻率的計數(shù)/定時脈沖,提供給系統(tǒng)各個部件使用。本設計是利用計算機控制發(fā)聲的原理,編寫演奏樂曲的程序。    在8253/54定時器內部有3個獨立工作的計數(shù)器:計數(shù)器0,計數(shù)器1和計數(shù)器2,每個計數(shù)器都分配有一個斷口地址,分別為40H,41H和42H.8253/54內部還有一個公用的控制寄存器,端地址為43H.端口地址輸入到8253/54的CS,AL,A0端,分別對3個計數(shù)器和控制器尋址.     對8353/54編程時,先要設定控制字,以選擇計數(shù)器,確定工作方式和計數(shù)值的格式.每計數(shù)器由三個引腳與外部聯(lián)系,見教材第320頁圖9-1.CLK為時鐘輸入端,GATE為門控信號輸入端,OUT為計數(shù)/定時信號輸入端.每個計數(shù)器中包含一個16位計數(shù)寄存器,這個計數(shù)器時以倒計數(shù)的方式計數(shù)的,也就是說,從計數(shù)初值逐次減1,直到減為0為止.     8253/54的三個計數(shù)器是分別編程的,在對任一個計數(shù)器編程時,必須首先講控制字節(jié)寫入控制寄存器.控制字的作用是告訴8253/54選擇哪個計數(shù)器工作,要求輸出什么樣的脈沖波形.另外,對8253/54的初始化工作還包括,向選定的計數(shù)器輸入一個計數(shù)初值,因為這個計數(shù)值可以是8為的,也可以是16為的,而8253/5的數(shù)據總線是8位的,所以要用兩條輸出指令來寫入初值.下面給出8253/54初始化程序段的一個例子,將計數(shù)器2設定為方式3,(關于計數(shù)器的工作方式參閱教材第325—330頁)計數(shù)初值為65536.    MOV   AL,10110110B ;選擇計數(shù)器2,按方式3工作,計數(shù)值是二進制格式    OUT   43H,AL      ; j將控制字送入控制寄存器    MOV   AL,0        ;計數(shù)初值為0    OUT   42H,AL      ;將計數(shù)初值的低字節(jié)送入計數(shù)器2    OUT   42H,AL      ;將計數(shù)初值的高字節(jié)送入計數(shù)器2    在IBM PC中8253/54的三個時鐘端CLK0,CLK1和CLK2的輸入頻率都是1.1931817MHZ. PC機上的大多數(shù)I/O都是由主板上的8255(或8255A)可編程序外圍接口芯片(PPI)管理的.關于8255A的結構和工作原理及應用舉例參閱教材第340—373頁.教材第364頁的”PC/XT機中的揚聲器接口電路”一節(jié)介紹了揚聲器的驅動原理,并給出了通用發(fā)聲程序.本設計正是基于這個原理,通過編程,控制加到揚聲器上的信號的頻率,奏出樂曲的.2.發(fā)聲程序的設計下面是能產生頻率為f的通用發(fā)聲程序:MOV      AL, 10110110B   ;8253控制字:通道2,先寫低字節(jié),后寫高字節(jié)        ;方式3,二進制計數(shù)OUT      43H, AL                  ;寫入控制字MOV      DX, 0012H               ;被除數(shù)高位MOV      AX, 35DEH              ;被除數(shù)低位 DIV      ID      ;求計數(shù)初值n,結果在AX中OUT      42H, AL     ;送出低8位MOV      AL, AHOUT      42H,AL     ;送出高8位IN      AL, 61H     ;讀入8255A端口B的內容MOV      AH, AL                  ;保護B口的原狀態(tài)OR  AL, 03H     ;使B口后兩位置1,其余位保留OUT 61H,AL     ;接通揚聲器,使它發(fā)聲

    標簽: 微型計算機 發(fā)聲程序 論文 微機

    上傳時間: 2013-10-17

    上傳用戶:sunjet

  • 用C51寫的普通拼音輸入法源程序代碼

    用C51寫的普通拼音輸入法源程序代碼:原作使用了一個二維數(shù)組用以查表,我認為這樣比較的浪費空間,而且每個字表的索引地址要手工輸入,效率不高。所以我用結構體將其改寫了一下。就是大家現(xiàn)在看到的這個。  因為代碼比較的大,共有6,000多漢字,這樣就得要12,000 byte來存放GB內碼,所以也是沒辦法的.編譯結果約為3000h,因為大部分是索引表,代碼優(yōu)化幾乎無效。    在Keil C里仿真芯片選用的是華邦的W77E58,它有32k ROM, 256B on-chip RAM, 1K on-chip SRAM (用DPTR1指針尋址,相當于有1K的片上xdata)。條件有限,沒有上片試驗,仿真而已。  打算將其移植到AVR上,但CodeAVRC與IAR EC++在結構體、指針的定義使用上似乎與C51不太一樣,現(xiàn)在還未搞定。還希望在這方面有經驗的網友能給予指導。 #include<stdio.h> char * py_ime(char *); void main(void){ while(1)    {     char input_string[]="yI";     xdata char chinese_string[255];     sprintf(chinese_string,"%s",py_ime(input_string));    }}

    標簽: C51 拼音輸入法 代碼 源程序

    上傳時間: 2013-10-30

    上傳用戶:cainaifa

  • 24c16讀寫驅動程序

    24c16讀寫驅動程序,//=-------------------------------------------------------------------------------/*模塊調用:讀數(shù)據:read(unsigned int address)寫數(shù)據:write(unsigned int address,unsigned char dd)   dd為要寫的 數(shù)據字節(jié)*///------------------------------------------------------------------------------ sbit sda=P3^0;sbit scl=P3^1; sbit a0=ACC^0;                  //定義ACC的位,利用ACC操作速度最快sbit a1=ACC^1;sbit a2=ACC^2;sbit a3=ACC^3;sbit a4=ACC^4;sbit a5=ACC^5;sbit a6=ACC^6;sbit a7=ACC^7; //------------------------------------------------------------------------------#pragma disablevoid s24(void)                 //起始函數(shù){_nop_();    scl=0;     sda=1;    scl=1;    _nop_();    sda=0;    _nop_();    _nop_();    scl=0;     _nop_();    _nop_();    sda=1;} //------------------------------------------------------------------------------#pragma disablevoid p24(void)                 //停止函數(shù){sda=0;    scl=1;    _nop_();    _nop_();    sda=1;} //-----------------------------------------------------------------------------#pragma disableunsigned char rd24(void) /////////////////從24c16讀一字節(jié)數(shù)據{       ACC=0x00;sda=1;scl=1;a7=sda;_nop_();_nop_();_nop_();_nop_();scl=0;scl=1;a6=sda;_nop_();_nop_();_nop_();_nop_();scl=0;scl=1;a5=sda;_nop_();_nop_();_nop_();_nop_();scl=0;scl=1;a4=sda;_nop_();_nop_();_nop_();_nop_();scl=0;scl=1;a3=sda;_nop_();_nop_();_nop_();_nop_();scl=0;scl=1;a2=sda;_nop_();_nop_();_nop_();_nop_();scl=0;scl=1;a1=sda;_nop_();_nop_();_nop_();_nop_();scl=0;scl=1;a0=sda;_nop_();_nop_();_nop_();_nop_();scl=0;sda=1;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0; /// ///////////////24c16的一位回答位。return(ACC);}//------------------------------------------------------------------------------#pragma disablevoid wd24(unsigned char dd) ////////////////向24c16寫一字節(jié)數(shù)據{      sda=1;ACC=dd;sda=a7;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;sda=a6;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;sda=a5;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;sda=a4;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;sda=a3;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;sda=a2;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;sda=a1;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;sda=a0;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;sda=0;scl=1;//scl=0;(在下面程序中)}//---------------------------------------------------------------------------#pragma disableunsigned char read(unsigned int address){unsigned char dd;    s24();                        ////////////////////////開始條件    wd24(0xa0);                /////////////////////////寫器件地址(寫命令)     _nop_();_nop_();_nop_();_nop_();      scl=0;                        ///////////////////////////////////接收器件地址確認信號    wd24(address);                //////////////////////////// 寫數(shù)據地址    _nop_();_nop_();_nop_();_nop_();    scl=0;s24();                             ///////////////////////////////////開始條件    wd24(0xa1);                 /////////////////////////////寫器件地址(讀命令)    scl=0;    dd=rd24();              //////////////////////////////////讀 一字節(jié)    p24();                   ////////////////////////////////////停止條件    return(dd);}//------------------------------------------------------------------------------#pragma disablevoid write(unsigned int address,unsigned char dd){s24();                        /////////////////開始條件    wd24(0xa0);            ////////////////////////寫器件地址;    scl=0;     wd24(address);              /////////////////////寫數(shù)據地址    scl=0;    wd24(dd);                  //////////////////////////寫dd數(shù)據    scl=0;    p24();                      /////////////////////////停止條件;  }          

    標簽: 24c16 讀寫 驅動程序

    上傳時間: 2013-11-18

    上傳用戶:墻角有棵樹

主站蜘蛛池模板: 视频| 通海县| 台东县| 会同县| 大石桥市| 江津市| 江孜县| 于田县| 玉溪市| 雅江县| 明溪县| 凤台县| 兴安县| 哈密市| 鲁甸县| 南涧| 武川县| 花垣县| 嵊泗县| 教育| 蒙山县| 金乡县| 新田县| 泸定县| 老河口市| 屏东县| 泌阳县| 景泰县| 濉溪县| 鄂托克前旗| 泸水县| 寻甸| 阿拉善右旗| 昆山市| 遂昌县| 成都市| 万年县| 江川县| 女性| 雷波县| 桂阳县|