摘要:自動計量分裝機是近幾年來廣泛使用的一種機器,它的控制系統是分裝機的核心部分。整個系統是由輸入電路、顯示電路及電氣控制電路等組成,并采用AT89C51單片機及串行外圍電路為主要部件:部分硬件功能采用軟件實現,使得該系統結構簡單,可靠性強,使用方便。該系統的主要功能包括參數設定、瞬時質量及分裝次數顯示、振蕩強度的連續調節、超差報警等。系統功能強大,同時還具有裝料、稱重、判別、顯示、統計、卸料控制等功能,在一定程度上滿足了生產的要求,是實現各種粉狀、顆粒狀物料的計量、分裝的專用分裝設備。下文將詳細介紹自動計量分裝機控制系統的系統功能、結構特點、設計方案、工作原理等。關健詞:自動計量分裝機 單片機 主控電路
上傳時間: 2013-11-12
上傳用戶:1047385479
拿到這本教程您首先就會想,什么是IAP教學法?是不是一種什么全新的教學方法?當然不是,我可沒有那么大的本事,其實這只是我杜撰的一個新名詞,意思就是InApplicationsProgram(在應用中編程),當然這只是針對單片機教學,說法是否正確,還得您說了算。 至于為什么要提這種說法,那我倒想說幾句。大家都知道,學習電子技術是一件非常無聊和枯燥的事情,為什么會有這種想法,就是因為我們傳統的教學方法只重理論而忽略了實踐,要一個人記住那些空洞而有無聊的理論知識實在不是一件容易的事,好在我們總算熬過來了,不管如何,也多多少少的學習了一些電子基礎知識。 接下來我們應該進一步掌握些什么知識呢,凡涉足此行的朋友都知道,那就是單片機。不過這可不是一件容易的事,倒不是因為單片機很難學,而實在是我們身邊很難找到一本專為單片機入門者而編寫的教材。翻一下傳統的單片機教材,都好象是為已經懂單片機的人而寫的,一般總是以單片機的結構為主線,先講硬件原理,然后是指令,接著講軟件編程,再是系統擴展和外圍器件,最后舉一些實例(隨便說一點:很多書中的實例都是有錯誤的),很少涉及單片機的基礎知識,如果按照此種學習方法,想進行產品開發,就必須先把所有的知識全部掌握了才可以進行實際應用。孰不知,單片機不象模擬電路和數字電路那樣,只要搞懂了電路原理,再按照產品要求設計好相應的電路就可以了。它是一種以簡單的硬件結構,復雜而有靈活的軟件系統來完成設計的通用性產品,不同的設計者只會使用其不同的功能,幾乎沒有人會把它的全部指令都使用起來,所以學習使用單片機只能靠循序漸進的積累,而不可能先把它全部掌握了再去做產品開發(當然天才就例外了*_*)。 基于以上原因,本人想嘗試一種全新的單片機教學方法,打破傳統的循序漸進式的教學方法,以單片機的應用為藍本,結合基本的工業控制系統和實踐工作中的具體應用,不分先后順序,將各條指令貫串于一個又一個的實驗中,通過所見即所得的實驗來講解各種指令的編程方法,順便講解相關的基本概念,使您盡快地熟悉單片機應用的基本步驟,掌握軟件編程的基本方法。
上傳時間: 2014-02-27
上傳用戶:shen_dafa
本使用指南介紹SH69P8XX系列單片機(SH69P801/SH69P802/SH69P822/SH69P842/SH69P862)的定時/計數器。SH69P8XX系列單片機具有2個8位定時/計數器T0,T1。T0和T1都是向上計數的自動重載入計數器,其計數的起始值可由外部來寫入,計數的值可以被讀出,計數溢出時能夠產生中斷。T0的時鐘源可以是內部系統時鐘(OSC/4),也可以是外部時鐘,而T1的時鐘源只能是內部系統時鐘(OSC/4)。當對內部系統時鐘的標準脈沖序列進行計數時即為定時器,對外部脈沖計數時就可作為計數器使用。當T0時鐘源為外部脈沖時,可以選擇脈沖的觸發方式,上升沿或者下降沿。為了擴大定時或計數范圍,可以設置定時器方式寄存器TM0和TM1,對定時器時鐘源分頻,分頻比可以選擇為:1:1、1:2、1:4、1:8、1:32、1:128、1:512或1:2048等。定時/計數器的內部結構見圖4-1。
上傳時間: 2013-10-21
上傳用戶:1477849018@qq.com
□基于來電顯示技術,識別主人,利用手機或固定電話實現免接通,免費用的絕密遙控關及撤防。□單芯片多功能可編程設計,MCU內核,有著十分靈活廣泛的應用(可定制特殊功能)。自動撥號的電話報警器方面:室內手動延時布防,手機或固定電話免接通遙控撤防;撥號報警+現場報警(可選)。電話遙控開關方面:用于開啟電控門鎖,保險柜電控鎖,車庫電動門,電器開關...等。更多應用......。□單芯片最多可存入6組電話號碼(6個主人)不重碼,最后一組號碼可刷新,掉電不丟失,可保100年。□非主人撥入無效,主人需20秒內連續撥通兩次遙控才有效(撤防或開關),操縱成功后會自動回撥遙控者電話一次,以表示遙控成功。絕不影響電話的正常使用。□循環撥打1-6組主人電話號碼報警15次,接聽報警時警聲提示,可同時選擇現場報警。無注冊用戶時,觸發報警將自動轉入連續現場報警1分鐘。□接警處理功能,接聽報警期間,手機或固定電話按"#"鍵退出報警。未接警的號碼繼續打報警。□僅設計兩按鈕實現用戶注冊、信息刪除、室那手動布防撤防、輸出開關控制、報警模式設定,報警期間無法手動撤防。□兩種反復可編程報警模式。掉電不丟失。模式1:報警完畢自動撤防;模式2:報警完畢保持布防。□兩種自適應電路模式:DTMF解碼器接入模式和DTMF解碼器不接入模式。自動實現不同的電路設計實現不同的輸出控制功能。同一電路設計,通過增減硬部件即可實現不同的輸出功能,QL310上電時自動識別DTMF解碼器是否存在。□兩路警聲輸出:其中一路輸出用于操作音提示及報警時加載到電話線路中供監聽用。另一路為現場報警使用(可根據需要選用,這路只有在報警時才有輸出,設計時可通過加大功率提高警聲)。□狀態記憶功能:布撤防狀態都有記憶功能(掉電不丟失)。可避免布撤防期間的偶然的停電再上電是狀態發生變化。比如,當前為布防狀態,掉電再上電后還是保持布防狀態。□手動布撤防提示音,布撤防LED指示燈。□上電開機報警模式提示音,模式1發一聲提示音;模式2發兩聲提示音。□觸發端的信號智能檢測,因此可適應任何觸發信號:或高電平,或低電平,或高/低脈沖信號;無源的開關信號,如繼電器,干簧管或門磁開關等(由于觸發端內部有上拉電阻)。標準的TTL電平,通過外接簡單的限幅電路可實現更高電平或脈沖的輸入(紅外探頭,防火探頭等)。特強抗干擾處理,長距離布線可抗強電磁干擾。□20腳PDIP封裝及20腳SOP封裝。□5V低功耗。使用3.58M晶振。□工業級設計,工作溫度:-40℃~+85℃
上傳時間: 2013-11-13
上傳用戶:lacsx
通訊設置項里的高級選項有:接收數據超時、傳送重試次數。這兩項與通訊循環時間有關系。如果通訊失敗,需要經過設定的時間后才進入OFFLINE方式。
標簽:
上傳時間: 2013-11-12
上傳用戶:suoyuan
【摘要】隨著單片機系統越來越廣泛地應用于消費類電子,醫療,工業自動化,智能化儀器儀表,航空航天等各領域,單片子系統面臨著電磁干擾(EMI)日益嚴重的威脅,電磁兼容的問題在稱重領域也日益突出,本文圍繞單片機系統的電磁兼容技術淺談一些筆者的經驗,與同行探討。 【關鍵詞】單片機 電磁干擾 電磁兼容硬件設計方法電磁兼容軟件設計方法
上傳時間: 2013-11-14
上傳用戶:anng
采用MSP430設計的12位心電(ECG)放大器 摘要:本文介紹了心電放大器的基本電路構成,以及采用公司的系列單片機對心電信號進行模數轉換處理的方法,還著重探討了采用帶硬件乘法器的系列單片機對心電信號進行濾波處理的方法,并給出了相應的實驗結果。人體心肌產生的電信號傳導到體表之后,由于在體表分布的不同而產生電位差,將這種電壓只有級別的電位差放大并繪制成圖,就得到了心電圖()。心電圖在心血管疾病的臨床診斷中有非常重要的作用。通常采用的心電圖按照導聯數分有單導聯,三導聯,五導聯以及十二導聯等等;按照精度分常用的有位和位精度等等。單導聯,精度低的心電圖常用于進行心電監控以及心率測量。位高精度的心電圖由于可以反映出心電的細微變化,被更加廣泛地應用于臨床診斷、心電分析等地方
上傳時間: 2014-12-27
上傳用戶:yeling1919
學習單片機總結寶典 基于本人學習單片機的痛苦經歷,特編寫本教程,以此獻給廣大 的單片機初學者,希望您能從中受益。 作者提示:本教程乃最通俗易懂之單片機教材也,如果您還是看 不懂,請千萬不要涉足此行,以免誤入歧途,耽誤您的前程*_* 拿到這本教程您首先就會想,什么是 IAP 教學法?是不是一種什么全新的教學方法?當然不是, 我可沒有那么大的本事,其實這只是我杜撰的一個新名詞,意思就是In Applications Program(在應 用中編程),當然這只是針對單片機教學,說法是否正確,還得您說了算。 至于為什么要提這種說法,那我倒想說幾句。大家都知道,學習電子技術是一件非常無聊和枯燥 的事情,為什么會有這種想法,就是因為我們傳統的教學方法只重理論而忽略了實踐,要一個人記住那 些空洞而有無聊的理論知識實在不是一件容易的事,好在我們總算熬過來了,不管如何,也多多少少的 學習了一些電子基礎知識。 接下來我們應該進一步掌握些什么知識呢,凡涉足此行的朋友都知道,那就是單片機。不過這可 不是一件容易的事,倒不是因為單片機很難學,而實在是我們身邊很難找到一本專為單片機入門者而編 寫的教材。翻一下傳統的單片機教材,都好象是為已經懂單片機的人而寫的,一般總是以單片機的結構 為主線,先講硬件原理,然后是指令,接著講軟件編程,再是系統擴展和外圍器件,最后舉一些實例(隨 便說一點:很多書中的實例都是有錯誤的),很少涉及單片機的基礎知識,如果按照此種學習方法,想 進行產品開發,就必須先把所有的知識全部掌握了才可以進行實際應用。孰不知,單片機不象模擬電路 和數字電路那樣,只要搞懂了電路原理,再按照產品要求設計好相應的電路就可以了。它是一種以簡單 的硬件結構,復雜而有靈活的軟件系統來完成設計的通用性產品,不同的設計者只會使用其不同的功能, 幾乎沒有人會把它的全部指令都使用起來,所以學習使用單片機只能靠循序漸進的積累,而不可能先把 它全部掌握了再去做產品開發(當然天才就例外了*_*)。
上傳時間: 2013-10-15
上傳用戶:小碼農lz
AVR單片機技術原理 AVR單片機介紹 單片機又稱單片微控制器,它是把一個計算機系統集成到一個芯片上,概括的講:一塊芯片就成了一臺計算機。單片機技術是計算機技術的一個分支,是簡易機器人的核心元件。 1997年,由ATMEL公司挪威設計中心的A先生與V先生利用ATMEL公司的Flash新技術, 共同研發出RISC精簡指令集的高速8位單片機,簡稱AVR。[編輯本段]AVR單片機的優勢特征 單片機已廣泛地應用于軍事、工業、家用電器、智能玩具、便攜式智能儀表和機器人制作等領域,使產品功能、精度和質量大幅度提升,且電路簡單,故障率低,可靠性高,成本低廉。單片機種類很多,在簡易機器人制作和創新中,為什么選用AVR單片機呢? 一、簡便易學,費用低廉 首先,對于非專業人員來說,選擇AVR單片機的最主要原因,是進入AVR單片機開發的門檻非常低,只要會操作電腦就可以學習AVR單片機的開發。單片機初學者只需一條ISP下載線,把編輯、調試通過的軟件程序直接在線寫入AVR單片機,即可以開發AVR單片機系列中的各種封裝的器件。AVR單片機因此在業界號稱“一線打天下”。 其次,AVR單片機便于升級。AVR程序寫入是直接在電路板上進行程序修改、燒錄等操作,這樣便于產品升級。 再次,AVR單片機費用低廉。學習AVR單片機可使用ISP在線下載編程方式(即把PC機上編譯好的程序寫到單片機的程序存儲器中),不需購買仿真器、編程器、擦抹器和芯片適配器等,即可進行所有AVR單片機的開發應用,這可節省很多開發費用。程序存儲器擦寫可達10000次以上,不會產生報廢品。 二、高速、低耗、保密 首先,AVR單片機是高速嵌入式單片機: 1、AVR單片機具有預取指令功能,即在執行一條指令時,預先把下一條指令取進來,使得指令可以在一個時鐘周期內執行。 2、多累加器型,數據處理速度快。AVR單片機具有32個通用工作寄存器,相當于有32條立交橋,可以快速通行。 3、中斷響應速度快。AVR單片機有多個固定中斷向量入口地址,可快速響應中斷。 其次,AVR單片機耗能低。對于典型功耗情況,WDT關閉時為100nA,更適用于電池供電的應用設備。有的器件最低1.8 V即可工作。 再次,AVR單片機保密性能好。它具有不可破解的位加密鎖Lock Bit技術,保密位單元深藏于芯片內部,無法用電子顯微鏡看到。 三、I/O口功能強,具有A/D轉換等電路 1. AVR單片機的I/O口是真正的I/O口,能正確反映I/O口輸入/輸出的真實情況。工業級產品,具有大電流(灌電流)10~40 mA,可直接驅動可控硅SCR或繼電器,節省了外圍驅動器件。 2. AVR單片機內帶模擬比較器,I/O口可用作A/D轉換,可組成廉價的A/D轉換器。ATmega48/8/16等器件具有8路10位A/D。 3. 部分AVR單片機可組成零外設元件單片機系統,使該類單片機無外加元器件即可工作,簡單方便,成本又低。 4. AVR單片機可重設啟動復位,以提高單片機工作的可靠性。有看門狗定時器實行安全保護,可防止程序走亂(飛),提高了產品的抗干擾能力。 四、有功能強大的定時器/計數器及通訊接口 定時/計數器T/C有8位和16位,可用作比較器。計數器外部中斷和PWM(也可用作D/A)用于控制輸出,某些型號的AVR單片機有3~4個PWM,是作電機無級調速的理想器件。 AVR單片機有串行異步通訊UART接口,不占用定時器和SPI同步傳輸功能,因其具有高速特性,故可以工作在一般標準整數頻率下,而波特率可達576K。
上傳時間: 2013-10-18
上傳用戶:二十八號
at91rm9200啟動過程教程 系統上電,檢測BMS,選擇系統的啟動方式,如果BMS為高電平,則系統從片內ROM啟動。AT91RM9200的ROM上電后被映射到了0x0和0x100000處,在這兩個地址處都可以訪問到ROM。由于9200的ROM中固化了一個BOOTLOAER程序。所以PC從0X0處開始執行這個BOOTLOAER(準確的說應該是一級BOOTLOADER)。這個BOOTLOER依次完成以下步驟: 1、PLL SETUP,設置PLLB產生48M時鐘頻率提供給USB DEVICE。同時DEBUG USART也被初始化為48M的時鐘頻率; 2、相應模式下的堆棧設置; 3、檢測主時鐘源(Main oscillator); 4、中斷控制器(AIC)的設置; 5、C 變量的初始化; 6、跳到主函數。 完成以上步驟后,我們可以認為BOOT過程結束,接下來的就是LOADER的過程,或者也可以認為是裝載二級BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、連接在外部總線上的8位并行FLASH的順序依次來找合法的BOOT程序。所謂合法的指的是在這些存儲設備的開始地址處連續的存放的32個字節,也就是8條指令必須是跳轉指令或者裝載PC的指令,其實這樣規定就是把這8條指令當作是異常向量表來處理。必須注意的是第6條指令要包含將要裝載的映像的大小。關于如何計算和寫這條指令可以參考用戶手冊。一旦合法的映像找到之后,則BOOT程序會把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超過16K-3K的大小。當BOOT程序完成了把合法的映像搬到SRAM的任務以后,接下來就進行存儲器的REMAP,經過REMAP之后,SRAM從映設前的0X200000地址處被映設到了0X0地址并且程序從0X0處開始執行。而ROM這時只能在0X100000這個地址處看到了。至此9200就算完成了一種形式的啟動過程。如果BOOT程序在以上所列的幾種存儲設備中找到合法的映像,則自動初始化DEBUG USART口和USB DEVICE口以準備從外部載入映像。對DEBUG口的初始化包括設置參數115200 8 N 1以及運行XMODEM協議。對USB DEVICE進行初始化以及運行DFU協議。現在用戶可以從外部(假定為PC平臺)載入你的映像了。在PC平臺下,以WIN2000為例,你可以用超級終端來完成這個功能,但是還是要注意你的映像的大小不能超過13K。一旦正確從外部裝載了映像,接下來的過程就是和前面一樣重映設然后執行映像了。我們上面講了BMS為高電平,AT91RM9200選擇從片內的ROM啟動的一個過程。如果BMS為低電平,則AT91RM9200會從片外的FLASH啟動,這時片外的FLASH的起始地址就是0X0了,接下來的過程和片內啟動的過程是一樣的,只不過這時就需要自己寫啟動代碼了,至于怎么寫,大致的內容和ROM的BOOT差不多,不同的硬件設計可能有不一樣的地方,但基本的都是一樣的。由于片外FLASH可以設計的大,所以這里編寫的BOOTLOADER可以一步到位,也就是說不用像片內啟動可能需要BOOT好幾級了,目前AT91RM9200上使用較多的bootloer是u-boot,這是一個開放源代碼的軟件,用戶可以自由下載并根據自己的應用配置。總的說來,筆者以為AT91RM9200的啟動過程比較簡單,ATMEL的服務也不錯,不但提供了片內啟動的功能,還提供了UBOOT可供下載。筆者寫了一個BOOTLODER從片外的FLASHA啟動,效果還可以。 uboot結構與使用uboot是一個龐大的公開源碼的軟件。他支持一些系列的arm體系,包含常見的外設的驅動,是一個功能強大的板極支持包。其代碼可以 http://sourceforge.net/projects/u-boot下載 在9200上,為了啟動uboot,還有兩個boot軟件包,分別是loader和boot。分別完成從sram和flash中的一級boot。其源碼可以從atmel的官方網站下載。 我們知道,當9200系統上電后,如果bms為高電平,則系統從片內rom啟動,這時rom中固化的boot程序初始化了debug口并向其發送'c',這時我們打開超級終端會看到ccccc...。這說明系統已經啟動,同時xmodem協議已經啟動,用戶可以通過超級終端下載用戶的bootloader。作為第一步,我們下載loader.bin.loader.bin將被下載到片內的sram中。這個loder完成的功能主要是初始化時鐘,sdram和xmodem協議,為下載和啟動uboot做準備。當下載了loader.bin后,超級終端會繼續打印:ccccc....。這時我們就可以下在uboot了。uboot將被下載到sdram中的一個地址后并把pc指針調到此處開始執行uboot。接著我們就可以在終端上看到uboot的shell啟動了,提示符uboot>,用戶可以uboot>help 看到命令列表和大概的功能。uboot的命令包含了對內存、flash、網絡、系統啟動等一些命令。 如果系統上電時bms為低電平,則系統從片外的flash啟動。為了從片外的flash啟動uboot,我們必須把boot.bin放到0x0地址出,使得從flash啟動后首先執行boot.bin,而要少些boot.bin,就要先完成上面我們講的那些步驟,首先開始從片內rom啟動uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz燒寫到flash中的目的,假如我們已經啟動了uboot,可以這樣操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系統復位,就可以看到系統先啟動boot,然后解壓縮uboot.gz,然后啟動uboot。注意,這里uboot必須壓縮成.gz文件,否則會出錯。 怎么編譯這三個源碼包呢,首先要建立一個arm的交叉編譯環境,關于如何建立,此處不予說明。建立好了以后,分別解壓源碼包,然后修改Makefile中的編譯器項目,正確填寫你的編譯器的所在路徑。 對loader和boot,直接make。對uboot,第一步:make_at91rm9200dk,第二步:make。這樣就會在當前目錄下分別生成*.bin文件,對于uboot.bin,我們還要壓縮成.gz文件。 也許有的人對loader和boot搞不清楚為什么要兩個,有什么區別嗎?首先有區別,boot主要完成從flash中啟動uboot的功能,他要對uboot的壓縮文件進行解壓,除此之外,他和loader并無大的區別,你可以把boot理解為在loader的基礎上加入了解壓縮.gz的功能而已。所以這兩個并無多大的本質不同,只是他們的使命不同而已。 特別說名的是這三個軟件包都是開放源碼的,所以用戶可以根據自己的系統的情況修改和配置以及裁減,打造屬于自己系統的bootloder。
上傳時間: 2013-10-27
上傳用戶:wsf950131