對于 Holtek 八位元單片機來說,堆棧資源往往是有限的。例如,HT48R10A-1 就只有兩級堆棧。 本文將介紹如何利用軟件堆棧來解決這一問題。軟件堆棧是用通用數(shù)據(jù)寄存器來保存返回地址的, 現(xiàn)在,它已經(jīng)可以應用于HT48R10A-1、 HT48R30A-1、 HT48R50A-1、 HT48R70A-1 這幾款單片 機,而且,軟件堆棧也將很容易應用于其他單片機。
上傳時間: 2013-11-10
上傳用戶:無聊來刷下
為解決當前計算機串行通訊接口只有USB,難以滿足舊型號設備或某些單片機要求RS232通訊的問題,設計出兩款RS232/USB電路。采用CH341A與MAX223集成電路芯片構建標準9線RS232/USB通用接口轉(zhuǎn)換器,無需編程。采用CH341A與PIC16F877A構建單片機與計算機之間的USB通訊電路,軟件遵循RS232通訊協(xié)議,硬件進行電平轉(zhuǎn)換。實際使用表明,這兩款產(chǎn)品與計算機端Windows 操作系統(tǒng)下的串口應用程序完全兼容,且通訊過程中無握手失敗現(xiàn)象。 Abstract: To solve the problem that current computer serial communication only with USB interface can not satisfy with the old type equipments or MCU to communicate with RS232, two kinds of RS232/USB circuit were designed.CH341A and MAX223 integrated circuit chips were used to create a standard 9-line RS232/USB universal interface convertor without programme. CH341A and PIC16F877A chips were adopted to build the USB communication circuit between computers and MCU. The software follows RS232 communication protocol, and the hardware converts electrical levels. Actual practices indicate that the two manufactures are compatible with serial application program of Windows operation system completely,and get avoid of handshake lost.
上傳時間: 2013-11-03
上傳用戶:siying
在嵌入式系統(tǒng)中,嵌入式CPU往往要通過各種串行數(shù)據(jù)總線與“外界”進行通信。在應用中,異步的串行數(shù)據(jù)通信用得較多,而通用異步收發(fā)器UART(Universal Asynchronous Receiver Transmitter)在其中扮演著重要角色:完成數(shù)據(jù)的串并轉(zhuǎn)換,即把并行數(shù)據(jù)按照通信波特率轉(zhuǎn)化為通信協(xié)議中規(guī)定的串行數(shù)據(jù)流,也可從串行數(shù)據(jù)流中取出有用數(shù)據(jù)轉(zhuǎn)變?yōu)椴⑿袛?shù)據(jù)。而UART與CPU接口簡單,CPU只需通過執(zhí)行讀寫操作即可完成收發(fā)數(shù)據(jù),從而完成與外界的通信。有許多現(xiàn)成的芯片可以實現(xiàn)UART的功能,如常用的Intel8250/8251接口芯片就可以作為RS232、RS422串口的UART控制芯片。
上傳時間: 2013-11-25
上傳用戶:www240697738
概述 SC16C550是用于串行數(shù)據(jù)通信的通用異步收發(fā)器(UART)。它的基本功能是將并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù),反之亦然。UART可處理速率高達3Mbit/s的串行數(shù)據(jù)。 SC16C550的管腳與ST16C550、TL16C550和PC16C550兼容。上電后的功能等效于16C450。編程控制寄存器可使能SC16C550更多的特性。增加的特性包括:16字節(jié)接收和發(fā)送FIFO,自動硬件或軟件流控制和紅外編碼或解碼。在FIFO模式下,通過使用RTS輸出和CTS輸入信號自動控制串行數(shù)據(jù)流,可選的自動流控制的特性大大降低了軟件規(guī)模,提高了系統(tǒng)效率。SC16C550也通過FIFO觸發(fā)點和TXRDY和RXRDY信號來實現(xiàn)DMA模式數(shù)據(jù)傳輸。片內(nèi)的狀態(tài)寄存器為用戶提供錯誤指示,器件的工作狀態(tài)和調(diào)制解調(diào)器接口控制。可通過調(diào)整系統(tǒng)中斷來滿足用戶的要求。內(nèi)部的環(huán)回模式實現(xiàn)了片內(nèi)的故障診斷。 SC16C550可工作在5V,3.3V和2.5V的電壓下和工業(yè)級溫度范圍內(nèi),含有塑料DIP40、PLCC44和LQFP48這三種封裝形式。
上傳時間: 2013-12-06
上傳用戶:hj_18
AVR單片機技術原理 AVR單片機介紹 單片機又稱單片微控制器,它是把一個計算機系統(tǒng)集成到一個芯片上,概括的講:一塊芯片就成了一臺計算機。單片機技術是計算機技術的一個分支,是簡易機器人的核心元件。 1997年,由ATMEL公司挪威設計中心的A先生與V先生利用ATMEL公司的Flash新技術, 共同研發(fā)出RISC精簡指令集的高速8位單片機,簡稱AVR。[編輯本段]AVR單片機的優(yōu)勢特征 單片機已廣泛地應用于軍事、工業(yè)、家用電器、智能玩具、便攜式智能儀表和機器人制作等領域,使產(chǎn)品功能、精度和質(zhì)量大幅度提升,且電路簡單,故障率低,可靠性高,成本低廉。單片機種類很多,在簡易機器人制作和創(chuàng)新中,為什么選用AVR單片機呢? 一、簡便易學,費用低廉 首先,對于非專業(yè)人員來說,選擇AVR單片機的最主要原因,是進入AVR單片機開發(fā)的門檻非常低,只要會操作電腦就可以學習AVR單片機的開發(fā)。單片機初學者只需一條ISP下載線,把編輯、調(diào)試通過的軟件程序直接在線寫入AVR單片機,即可以開發(fā)AVR單片機系列中的各種封裝的器件。AVR單片機因此在業(yè)界號稱“一線打天下”。 其次,AVR單片機便于升級。AVR程序?qū)懭胧侵苯釉陔娐钒迳线M行程序修改、燒錄等操作,這樣便于產(chǎn)品升級。 再次,AVR單片機費用低廉。學習AVR單片機可使用ISP在線下載編程方式(即把PC機上編譯好的程序?qū)懙絾纹瑱C的程序存儲器中),不需購買仿真器、編程器、擦抹器和芯片適配器等,即可進行所有AVR單片機的開發(fā)應用,這可節(jié)省很多開發(fā)費用。程序存儲器擦寫可達10000次以上,不會產(chǎn)生報廢品。 二、高速、低耗、保密 首先,AVR單片機是高速嵌入式單片機: 1、AVR單片機具有預取指令功能,即在執(zhí)行一條指令時,預先把下一條指令取進來,使得指令可以在一個時鐘周期內(nèi)執(zhí)行。 2、多累加器型,數(shù)據(jù)處理速度快。AVR單片機具有32個通用工作寄存器,相當于有32條立交橋,可以快速通行。 3、中斷響應速度快。AVR單片機有多個固定中斷向量入口地址,可快速響應中斷。 其次,AVR單片機耗能低。對于典型功耗情況,WDT關閉時為100nA,更適用于電池供電的應用設備。有的器件最低1.8 V即可工作。 再次,AVR單片機保密性能好。它具有不可破解的位加密鎖Lock Bit技術,保密位單元深藏于芯片內(nèi)部,無法用電子顯微鏡看到。 三、I/O口功能強,具有A/D轉(zhuǎn)換等電路 1. AVR單片機的I/O口是真正的I/O口,能正確反映I/O口輸入/輸出的真實情況。工業(yè)級產(chǎn)品,具有大電流(灌電流)10~40 mA,可直接驅(qū)動可控硅SCR或繼電器,節(jié)省了外圍驅(qū)動器件。 2. AVR單片機內(nèi)帶模擬比較器,I/O口可用作A/D轉(zhuǎn)換,可組成廉價的A/D轉(zhuǎn)換器。ATmega48/8/16等器件具有8路10位A/D。 3. 部分AVR單片機可組成零外設元件單片機系統(tǒng),使該類單片機無外加元器件即可工作,簡單方便,成本又低。 4. AVR單片機可重設啟動復位,以提高單片機工作的可靠性。有看門狗定時器實行安全保護,可防止程序走亂(飛),提高了產(chǎn)品的抗干擾能力。 四、有功能強大的定時器/計數(shù)器及通訊接口 定時/計數(shù)器T/C有8位和16位,可用作比較器。計數(shù)器外部中斷和PWM(也可用作D/A)用于控制輸出,某些型號的AVR單片機有3~4個PWM,是作電機無級調(diào)速的理想器件。 AVR單片機有串行異步通訊UART接口,不占用定時器和SPI同步傳輸功能,因其具有高速特性,故可以工作在一般標準整數(shù)頻率下,而波特率可達576K。
上傳時間: 2013-10-18
上傳用戶:二十八號
PC機之間串口通信的實現(xiàn)一、實驗目的 1.熟悉微機接口實驗裝置的結(jié)構和使用方法。 2.掌握通信接口芯片8251和8250的功能和使用方法。 3.學會串行通信程序的編制方法。 二、實驗內(nèi)容與要求 1.基本要求主機接收開關量輸入的數(shù)據(jù)(二進制或十六進制),從鍵盤上按“傳輸”鍵(可自行定義),就將該數(shù)據(jù)通過8251A傳輸出去。終端接收后在顯示器上顯示數(shù)據(jù)。具體操作說明如下:(1)出現(xiàn)提示信息“start with R in the board!”,通過調(diào)整乒乓開關的狀態(tài),設置8位數(shù)據(jù);(2)在小鍵盤上按“R”鍵,系統(tǒng)將此時乒乓開關的狀態(tài)讀入計算機I中,并顯示出來,同時顯示經(jīng)串行通訊后,計算機II接收到的數(shù)據(jù);(3)完成后,系統(tǒng)提示“do you want to send another data? Y/N”,根據(jù)用戶需要,在鍵盤按下“Y”鍵,則重復步驟(1),進行另一數(shù)據(jù)的通訊;在鍵盤按除“Y”鍵外的任意鍵,將退出本程序。2.提高要求 能夠進行出錯處理,例如采用奇偶校驗,出錯重傳或者采用接收方回傳和發(fā)送方確認來保證發(fā)送和接收正確。 三、設計報告要求 1.設計目的和內(nèi)容 2.總體設計 3.硬件設計:原理圖(接線圖)及簡要說明 4.軟件設計框圖及程序清單5.設計結(jié)果和體會(包括遇到的問題及解決的方法) 四、8251A通用串行輸入/輸出接口芯片由于CPU與接口之間按并行方式傳輸,接口與外設之間按串行方式傳輸,因此,在串行接口中,必須要有“接收移位寄存器”(串→并)和“發(fā)送移位寄存器”(并→串)。能夠完成上述“串←→并”轉(zhuǎn)換功能的電路,通常稱為“通用異步收發(fā)器”(UART:Universal Asynchronous Receiver and Transmitter),典型的芯片有:Intel 8250/8251。8251A異步工作方式:如果8251A編程為異步方式,在需要發(fā)送字符時,必須首先設置TXEN和CTS#為有效狀態(tài),TXEN(Transmitter Enable)是允許發(fā)送信號,是命令寄存器中的一位;CTS#(Clear To Send)是由外設發(fā)來的對CPU請求發(fā)送信號的響應信號。然后就開始發(fā)送過程。在發(fā)送時,每當CPU送往發(fā)送緩沖器一個字符,發(fā)送器自動為這個字符加上1個起始位,并且按照編程要求加上奇/偶校驗位以及1個、1.5個或者2個停止位。串行數(shù)據(jù)以起始位開始,接著是最低有效數(shù)據(jù)位,最高有效位的后面是奇/偶校驗位,然后是停止位。按位發(fā)送的數(shù)據(jù)是以發(fā)送時鐘TXC的下降沿同步的,也就是說這些數(shù)據(jù)總是在發(fā)送時鐘TXC的下降沿從8251A發(fā)出。數(shù)據(jù)傳輸?shù)牟ㄌ芈嗜Q于編程時指定的波特率因子,為發(fā)送器時鐘頻率的1、1/16或1/64。當波特率指定為16時,數(shù)據(jù)傳輸?shù)牟ㄌ芈示褪前l(fā)送器時鐘頻率的1/16。CPU通過數(shù)據(jù)總線將數(shù)據(jù)送到8251A的數(shù)據(jù)輸出緩沖寄存器以后,再傳輸?shù)桨l(fā)送緩沖器,經(jīng)移位寄存器移位,將并行數(shù)據(jù)變?yōu)榇袛?shù)據(jù),從TxD端送往外部設備。在8251A接收字符時,命令寄存器的接收允許位RxE(Receiver Enable)必須為1。8251A通過檢測RxD引腳上的低電平來準備接收字符,在沒有字符傳送時RxD端為高電平。8251A不斷地檢測RxD引腳,從RxD端上檢測到低電平以后,便認為是串行數(shù)據(jù)的起始位,并且啟動接收控制電路中的一個計數(shù)器來進行計數(shù),計數(shù)器的頻率等于接收器時鐘頻率。計數(shù)器是作為接收器采樣定時,當計數(shù)到相當于半個數(shù)位的傳輸時間時再次對RxD端進行采樣,如果仍為低電平,則確認該數(shù)位是一個有效的起始位。若傳輸一個字符需要16個時鐘,那么就是要在計數(shù)8個時鐘后采樣到低電平。之后,8251A每隔一個數(shù)位的傳輸時間對RxD端采樣一次,依次確定串行數(shù)據(jù)位的值。串行數(shù)據(jù)位順序進入接收移位寄存器,通過校驗并除去停止位,變成并行數(shù)據(jù)以后通過內(nèi)部數(shù)據(jù)總線送入接收緩沖器,此時發(fā)出有效狀態(tài)的RxRDY信號通知CPU,通知CPU8251A已經(jīng)收到一個有效的數(shù)據(jù)。一個字符對應的數(shù)據(jù)可以是5~8位。如果一個字符對應的數(shù)據(jù)不到8位,8251A會在移位轉(zhuǎn)換成并行數(shù)據(jù)的時候,自動把他們的高位補成0。 五、系統(tǒng)總體設計方案根據(jù)系統(tǒng)設計的要求,對系統(tǒng)設計的總體方案進行論證分析如下:1.獲取8位開關量可使用實驗臺上的8255A可編程并行接口芯片,因為只要獲取8位數(shù)據(jù)量,只需使用基本輸入和8位數(shù)據(jù)線,所以將8255A工作在方式0,PA0-PA7接實驗臺上的8位開關量。2.當使用串口進行數(shù)據(jù)傳送時,雖然同步通信速度遠遠高于異步通信,可達500kbit/s,但由于其需要有一個時鐘來實現(xiàn)發(fā)送端和接收端之間的同步,硬件電路復雜,通常計算機之間的通信只采用異步通信。3.由于8251A本身沒有時鐘,需要外部提供,所以本設計中使用實驗臺上的8253芯片的計數(shù)器2來實現(xiàn)。4:顯示和鍵盤輸入均使用DOS功能調(diào)用來實現(xiàn)。設計思路框圖,如下圖所示: 六、硬件設計硬件電路主要分為8位開關量數(shù)據(jù)獲取電路,串行通信數(shù)據(jù)發(fā)送電路,串行通信數(shù)據(jù)接收電路三個部分。1.8位開關量數(shù)據(jù)獲取電路該電路主要是利用8255并行接口讀取8位乒乓開關的數(shù)據(jù)。此次設計在獲取8位開關數(shù)據(jù)量時采用8255令其工作在方式0,A口輸入8位數(shù)據(jù),CS#接實驗臺上CS1口,對應端口為280H-283H,PA0-PA7接8個開關。2.串行通信電路串行通信電路本設計中8253主要為8251充當頻率發(fā)生器,接線如下圖所示。
上傳時間: 2013-12-19
上傳用戶:小火車啦啦啦
這是本人參與實驗室項目編寫的實現(xiàn)dvb-mpeg2碼流解復用中和碼流相關的源代碼,用c實現(xiàn),dsp是ti的5416,中間用到了,計時、中斷、時鐘鎖存寄存器設置,對于學習dsp編程很有幫助
上傳時間: 2015-05-10
上傳用戶:stampede
長高44b0xi BIOS源碼 FS44B0II BIOS具有啟動、引導,下載、燒寫,設置日期、時間,設置工作頻率等多種功能,並且支持各種參數(shù)的存儲和自動調(diào)用。 可以用flashpgm等軟件將BIOS燒寫到Flash中去,BIOS的自身駐留地址位于NOR FLASH的0x1f0000處,系統(tǒng)參數(shù)保存在0x1ff000以上區(qū)域中。所以在燒寫完BIOS,上電復位后先要執(zhí)一定要執(zhí)行backup命令把BIOS本身拷貝到NOR FLASH的高端1f0000去。
上傳時間: 2013-12-25
上傳用戶:ainimao
經(jīng)典UART程序,通用異步收發(fā)器設計的vhdl語言
上傳時間: 2014-07-18
上傳用戶:ztj182002
東芯IVSEP3203F50移動終端應用處理器用戶手冊 第1 章 東芯IV SEP3203F50 概述. 第2 章 ARM7TDMI 內(nèi)核 第3 章 EMI 外部存儲器接口 第4 章 片上SRAM 第5 章 時鐘與功耗管理模塊PMC 第6 章 LCD 控制器 第7 章 MMA 多媒體加速器 第8 章 DMA 控制器 第9 章 INTC 中斷控制器. 第10 章 RTC 實時時鐘控制器. 第11 章 TIMER 通用定時器 第12 章 UART 通用異步收發(fā)器. 第13 章 SPI 串行外設接口 第14 章 USB 設備接口 第15 章 PWM 脈沖調(diào)制器. 第16 章 多媒體卡控制器MMC/SD 第17 章 AC 97 控制器 第18 章 GPIO 通用輸入輸出.
上傳時間: 2014-01-23
上傳用戶:源碼3