實(shí)用性低成本電子計(jì)價(jià)秤系統(tǒng)設(shè)計(jì) 介紹了一種基于AT89S52 單片機(jī)的電子計(jì)價(jià)秤的軟硬件設(shè)計(jì)方法。該系統(tǒng)采用雙積分電路替代現(xiàn)在價(jià)格昂貴的A/D芯片作為數(shù)據(jù)采集系統(tǒng),同時(shí)采用一片LM324芯片設(shè)計(jì)模擬A/D,用以開機(jī)讀取蓄電池當(dāng)前電壓值,判斷低電壓。該系統(tǒng)是由應(yīng)變片式傳感器組成的全橋電路感應(yīng)物料重量后轉(zhuǎn)換成與之成線性關(guān)系的電壓, 再通過雙積分電路、輸入AT89S52單片機(jī)進(jìn)行處理, 且通過16 位LCD 液晶時(shí)時(shí)顯示。同時(shí)由語(yǔ)音報(bào)價(jià)電路實(shí)現(xiàn)單價(jià)以及總價(jià)和找零的語(yǔ)音報(bào)價(jià)。該電子計(jì)價(jià)秤硬件電路包括液晶驅(qū)動(dòng)芯片HT1621B、 低電壓檢測(cè)電路、語(yǔ)音驅(qū)動(dòng)電路等, 達(dá)到了高效、可靠、精確的電子計(jì)價(jià)秤的設(shè)計(jì)目的。
標(biāo)簽: 電子計(jì)價(jià)秤 系統(tǒng)設(shè)計(jì)
上傳時(shí)間: 2013-12-18
上傳用戶:wxqman
NEC78K0/KF1用戶手冊(cè) 8位單片微控制器 本手冊(cè)適用于那些希望了解78K0/KF1產(chǎn)品功能,并設(shè)計(jì)開發(fā)相關(guān)應(yīng)用系統(tǒng)和程序的用戶。主要產(chǎn)品如下。78K0/KF1: μPD780143,780144,780146,780148,78F0148,780143(A),780144(A),780146(A),780148(A),78F0148(A),780143(A1),780144(A1),780146(A1),780148(A1),78F0148(A1),780143(A2),780144(A2),780146(A2)和780148(A2)
上傳時(shí)間: 2014-12-27
上傳用戶:魚哥哥你好
MCS-51.96系列單片機(jī)原理及應(yīng)用 本書詳細(xì)介紹MCS-51系列單片微型計(jì)算機(jī)的硬件結(jié)構(gòu)、組成原理和指 令系統(tǒng)。結(jié)合應(yīng)用實(shí)例簡(jiǎn)述系統(tǒng)的擴(kuò)展和組成方法,并有較完整的應(yīng)用系統(tǒng) 例子供讀者參考。書中的實(shí)用...
上傳時(shí)間: 2014-12-27
上傳用戶:agent
Keil C硬件編程指南 這是一本關(guān)于Intel 80C51 以及廣大的51 系列單片機(jī)的書這本書介紹給讀者一些新的技術(shù)使你的8051 工程和開發(fā)過程變得簡(jiǎn)單請(qǐng)注意這本書的目的可不是教你各種8051 嵌入式系統(tǒng)的解決方法為使問題討論更加清晰在適當(dāng)?shù)牡胤浇o出了程序代碼我們以討論項(xiàng)目的方法來(lái)說(shuō)明每章碰到的問題所有的代碼都可在附帶的光盤上找到.
上傳時(shí)間: 2013-11-01
上傳用戶:cylnpy
at91rm9200啟動(dòng)過程教程 系統(tǒng)上電,檢測(cè)BMS,選擇系統(tǒng)的啟動(dòng)方式,如果BMS為高電平,則系統(tǒng)從片內(nèi)ROM啟動(dòng)。AT91RM9200的ROM上電后被映射到了0x0和0x100000處,在這兩個(gè)地址處都可以訪問到ROM。由于9200的ROM中固化了一個(gè)BOOTLOAER程序。所以PC從0X0處開始執(zhí)行這個(gè)BOOTLOAER(準(zhǔn)確的說(shuō)應(yīng)該是一級(jí)BOOTLOADER)。這個(gè)BOOTLOER依次完成以下步驟: 1、PLL SETUP,設(shè)置PLLB產(chǎn)生48M時(shí)鐘頻率提供給USB DEVICE。同時(shí)DEBUG USART也被初始化為48M的時(shí)鐘頻率; 2、相應(yīng)模式下的堆棧設(shè)置; 3、檢測(cè)主時(shí)鐘源(Main oscillator); 4、中斷控制器(AIC)的設(shè)置; 5、C 變量的初始化; 6、跳到主函數(shù)。 完成以上步驟后,我們可以認(rèn)為BOOT過程結(jié)束,接下來(lái)的就是LOADER的過程,或者也可以認(rèn)為是裝載二級(jí)BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、連接在外部總線上的8位并行FLASH的順序依次來(lái)找合法的BOOT程序。所謂合法的指的是在這些存儲(chǔ)設(shè)備的開始地址處連續(xù)的存放的32個(gè)字節(jié),也就是8條指令必須是跳轉(zhuǎn)指令或者裝載PC的指令,其實(shí)這樣規(guī)定就是把這8條指令當(dāng)作是異常向量表來(lái)處理。必須注意的是第6條指令要包含將要裝載的映像的大小。關(guān)于如何計(jì)算和寫這條指令可以參考用戶手冊(cè)。一旦合法的映像找到之后,則BOOT程序會(huì)把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超過16K-3K的大小。當(dāng)BOOT程序完成了把合法的映像搬到SRAM的任務(wù)以后,接下來(lái)就進(jìn)行存儲(chǔ)器的REMAP,經(jīng)過REMAP之后,SRAM從映設(shè)前的0X200000地址處被映設(shè)到了0X0地址并且程序從0X0處開始執(zhí)行。而ROM這時(shí)只能在0X100000這個(gè)地址處看到了。至此9200就算完成了一種形式的啟動(dòng)過程。如果BOOT程序在以上所列的幾種存儲(chǔ)設(shè)備中找到合法的映像,則自動(dòng)初始化DEBUG USART口和USB DEVICE口以準(zhǔn)備從外部載入映像。對(duì)DEBUG口的初始化包括設(shè)置參數(shù)115200 8 N 1以及運(yùn)行XMODEM協(xié)議。對(duì)USB DEVICE進(jìn)行初始化以及運(yùn)行DFU協(xié)議。現(xiàn)在用戶可以從外部(假定為PC平臺(tái))載入你的映像了。在PC平臺(tái)下,以WIN2000為例,你可以用超級(jí)終端來(lái)完成這個(gè)功能,但是還是要注意你的映像的大小不能超過13K。一旦正確從外部裝載了映像,接下來(lái)的過程就是和前面一樣重映設(shè)然后執(zhí)行映像了。我們上面講了BMS為高電平,AT91RM9200選擇從片內(nèi)的ROM啟動(dòng)的一個(gè)過程。如果BMS為低電平,則AT91RM9200會(huì)從片外的FLASH啟動(dòng),這時(shí)片外的FLASH的起始地址就是0X0了,接下來(lái)的過程和片內(nèi)啟動(dòng)的過程是一樣的,只不過這時(shí)就需要自己寫啟動(dòng)代碼了,至于怎么寫,大致的內(nèi)容和ROM的BOOT差不多,不同的硬件設(shè)計(jì)可能有不一樣的地方,但基本的都是一樣的。由于片外FLASH可以設(shè)計(jì)的大,所以這里編寫的BOOTLOADER可以一步到位,也就是說(shuō)不用像片內(nèi)啟動(dòng)可能需要BOOT好幾級(jí)了,目前AT91RM9200上使用較多的bootloer是u-boot,這是一個(gè)開放源代碼的軟件,用戶可以自由下載并根據(jù)自己的應(yīng)用配置。總的說(shuō)來(lái),筆者以為AT91RM9200的啟動(dòng)過程比較簡(jiǎn)單,ATMEL的服務(wù)也不錯(cuò),不但提供了片內(nèi)啟動(dòng)的功能,還提供了UBOOT可供下載。筆者寫了一個(gè)BOOTLODER從片外的FLASHA啟動(dòng),效果還可以。 uboot結(jié)構(gòu)與使用uboot是一個(gè)龐大的公開源碼的軟件。他支持一些系列的arm體系,包含常見的外設(shè)的驅(qū)動(dòng),是一個(gè)功能強(qiáng)大的板極支持包。其代碼可以 http://sourceforge.net/projects/u-boot下載 在9200上,為了啟動(dòng)uboot,還有兩個(gè)boot軟件包,分別是loader和boot。分別完成從sram和flash中的一級(jí)boot。其源碼可以從atmel的官方網(wǎng)站下載。 我們知道,當(dāng)9200系統(tǒng)上電后,如果bms為高電平,則系統(tǒng)從片內(nèi)rom啟動(dòng),這時(shí)rom中固化的boot程序初始化了debug口并向其發(fā)送'c',這時(shí)我們打開超級(jí)終端會(huì)看到ccccc...。這說(shuō)明系統(tǒng)已經(jīng)啟動(dòng),同時(shí)xmodem協(xié)議已經(jīng)啟動(dòng),用戶可以通過超級(jí)終端下載用戶的bootloader。作為第一步,我們下載loader.bin.loader.bin將被下載到片內(nèi)的sram中。這個(gè)loder完成的功能主要是初始化時(shí)鐘,sdram和xmodem協(xié)議,為下載和啟動(dòng)uboot做準(zhǔn)備。當(dāng)下載了loader.bin后,超級(jí)終端會(huì)繼續(xù)打印:ccccc....。這時(shí)我們就可以下在uboot了。uboot將被下載到sdram中的一個(gè)地址后并把pc指針調(diào)到此處開始執(zhí)行uboot。接著我們就可以在終端上看到uboot的shell啟動(dòng)了,提示符uboot>,用戶可以u(píng)boot>help 看到命令列表和大概的功能。uboot的命令包含了對(duì)內(nèi)存、flash、網(wǎng)絡(luò)、系統(tǒng)啟動(dòng)等一些命令。 如果系統(tǒng)上電時(shí)bms為低電平,則系統(tǒng)從片外的flash啟動(dòng)。為了從片外的flash啟動(dòng)uboot,我們必須把boot.bin放到0x0地址出,使得從flash啟動(dòng)后首先執(zhí)行boot.bin,而要少些boot.bin,就要先完成上面我們講的那些步驟,首先開始從片內(nèi)rom啟動(dòng)uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz燒寫到flash中的目的,假如我們已經(jīng)啟動(dòng)了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 然后系統(tǒng)復(fù)位,就可以看到系統(tǒng)先啟動(dòng)boot,然后解壓縮uboot.gz,然后啟動(dòng)uboot。注意,這里uboot必須壓縮成.gz文件,否則會(huì)出錯(cuò)。 怎么編譯這三個(gè)源碼包呢,首先要建立一個(gè)arm的交叉編譯環(huán)境,關(guān)于如何建立,此處不予說(shuō)明。建立好了以后,分別解壓源碼包,然后修改Makefile中的編譯器項(xiàng)目,正確填寫你的編譯器的所在路徑。 對(duì)loader和boot,直接make。對(duì)uboot,第一步:make_at91rm9200dk,第二步:make。這樣就會(huì)在當(dāng)前目錄下分別生成*.bin文件,對(duì)于uboot.bin,我們還要壓縮成.gz文件。 也許有的人對(duì)loader和boot搞不清楚為什么要兩個(gè),有什么區(qū)別嗎?首先有區(qū)別,boot主要完成從flash中啟動(dòng)uboot的功能,他要對(duì)uboot的壓縮文件進(jìn)行解壓,除此之外,他和loader并無(wú)大的區(qū)別,你可以把boot理解為在loader的基礎(chǔ)上加入了解壓縮.gz的功能而已。所以這兩個(gè)并無(wú)多大的本質(zhì)不同,只是他們的使命不同而已。 特別說(shuō)名的是這三個(gè)軟件包都是開放源碼的,所以用戶可以根據(jù)自己的系統(tǒng)的情況修改和配置以及裁減,打造屬于自己系統(tǒng)的bootloder。
上傳時(shí)間: 2013-10-27
上傳用戶:wsf950131
介紹了Maxim公司推出的MAX6675器件的特點(diǎn)、工作原理,該器件是具有冷端補(bǔ)償?shù)膯纹琄型熱電偶放大器與數(shù)字轉(zhuǎn)換器。詳細(xì)描述了其與單片機(jī)AT89C52構(gòu)成的數(shù)字化溫度測(cè)量?jī)x的硬件連接電路及軟件實(shí)現(xiàn)方法。
上傳時(shí)間: 2013-10-27
上傳用戶:zhaiyanzhong
TLC5510 是美國(guó)德州儀器公司生產(chǎn)的8位閃速結(jié)構(gòu)模數(shù)轉(zhuǎn)換器,采用CMOS 工藝制造,采樣速率高達(dá)20MSPS。廣泛用于數(shù)字TV、醫(yī)學(xué)圖像、視頻會(huì)議、高速數(shù)據(jù)轉(zhuǎn)換以及QAM解調(diào)器等方面。本文介紹了TLC5510 的性能指標(biāo)、引腳功能、內(nèi)部結(jié)構(gòu)和操作時(shí)序,給出了TLC5510 與MCS-51 單片微機(jī)的接口應(yīng)用電路設(shè)計(jì)、軟件設(shè)計(jì)及參考電壓的配置方法。
標(biāo)簽: 5510 TLC 閃速 AD轉(zhuǎn)換器
上傳時(shí)間: 2013-11-13
上傳用戶:wangzhen1990
以典型的9S08 系列為例,當(dāng)你選擇了一個(gè)MCU 型號(hào)后,在圖1-4 右側(cè)會(huì)顯示出所有針對(duì)該型號(hào)芯片可用的項(xiàng)目調(diào)試場(chǎng)景。其中:Full Chip Simulator是芯片全功能模擬仿真,即無(wú)需任何目標(biāo)系統(tǒng)的硬件資源,直接在你的PC 機(jī)上模擬運(yùn)行單片機(jī)的程序,在模擬運(yùn)行過程中可以觀察調(diào)試程序的各項(xiàng)控制和運(yùn)行流程,分析代碼運(yùn)行的時(shí)間,觀察各種變量,等等。CW 提供了功能強(qiáng)大的模擬激勵(lì)功能,可以在模擬運(yùn)行時(shí)模擬一些外部事件的輸入,配合程序調(diào)試;P&E Multilink/Cyclone Pro是基于P&E 公司的硬件調(diào)試工具實(shí)現(xiàn)實(shí)時(shí)在線硬件調(diào)試。實(shí)際就是我們經(jīng)常說(shuō)的BDM 調(diào)試。BDM 調(diào)試是基于芯片本身內(nèi)含的在線調(diào)試功能,可實(shí)現(xiàn)程序下載,單步/全速運(yùn)行,可以設(shè)若干個(gè)斷點(diǎn),可以觀察和修改任意寄存器或RAM 內(nèi)存空間。BDM 幾乎是開發(fā)飛思卡爾8 位(9S08 和RS08 系列)、16 位(9S12 系列)和32 位(Coldfire V1 系列)單片機(jī)的標(biāo)準(zhǔn)調(diào)試模式,運(yùn)用最為廣泛;SofTec HCS08是另外一家SofTec 公司提供的硬件調(diào)試工具,國(guó)內(nèi)使用較少;HCS08 Serial Monitor是基于芯片串口的監(jiān)控調(diào)試開發(fā)模式。由于開發(fā)效率較低,現(xiàn)在幾乎無(wú)人使用。
標(biāo)簽: FSL 08 C語(yǔ)言編程 單片機(jī)開發(fā)
上傳時(shí)間: 2013-10-10
上傳用戶:alex wang
P89C51Rx2xx是具有ISP功能的FLASH單片機(jī),使用ISP功能可以實(shí)現(xiàn)在系統(tǒng)中更新應(yīng)用程序。進(jìn)入ISP的前提是芯片的向量字為0FCH,這是指明ISP的入口地址為0FC00H。另外還有一個(gè)狀態(tài)字用于指明復(fù)位后是運(yùn)行用戶程序還是直接進(jìn)入ISP,若狀態(tài)字為0則運(yùn)行用戶程序,否則進(jìn)入ISP。當(dāng)狀態(tài)字為0時(shí),進(jìn)入ISP需要硬件觸發(fā),即PSEN腳接地,復(fù)位系統(tǒng)即進(jìn)入ISP。
上傳時(shí)間: 2013-10-23
上傳用戶:透明的心情
I2C BUS(Inter IC BUS)是NXP 推出的芯片間串行傳輸總線,它以2 根連線實(shí)現(xiàn)了完善的雙向同步數(shù)據(jù)傳送,可以極方便地構(gòu)成多機(jī)系統(tǒng)和外圍器件擴(kuò)展系統(tǒng)。I2C 總線采用了器件地址的硬件設(shè)置方法,通過軟件尋址完全避免了器件的片選線尋址方法,從而使硬件系統(tǒng)具有最簡(jiǎn)單而靈活的擴(kuò)展方法。I2C 總線的2 根線(串行數(shù)據(jù)——SDA,串行時(shí)鐘——SCL)連接到總線上的任何一個(gè)器件,每個(gè)器件都應(yīng)有一個(gè)唯一的地址,而且都可以作為一個(gè)發(fā)送器或接收器。此外,器件在執(zhí)行數(shù)據(jù)傳輸時(shí)也可以被看作是主機(jī)或從機(jī)。
上傳時(shí)間: 2013-11-05
上傳用戶:qb1993225
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1