keil c51語(yǔ)言使用技巧及實(shí)戰(zhàn)第一章 介紹這是一本關(guān)于Intel 80C51 以及廣大的51 系列單片機(jī)的書(shū)這本書(shū)介紹給讀者一些新的技術(shù)使你的8051 工程和開(kāi)發(fā)過(guò)程變得簡(jiǎn)單請(qǐng)注意這本書(shū)的目的可不是教你各種8051 嵌入式系統(tǒng)的解決方法為使問(wèn)題討論更加清晰在適當(dāng)?shù)牡胤浇o出了程序代碼我們以討論項(xiàng)目的方法來(lái)說(shuō)明每章碰到的問(wèn)題所有的代碼都可在附帶的光盤(pán)上找到你必須熟系C 和8051 匯編因?yàn)楸緯?shū)不是一本C 和匯編的指導(dǎo)書(shū)你可以買(mǎi)到不少關(guān)于ANSI C 的書(shū)最佳選擇當(dāng)然是Intel的數(shù)據(jù)書(shū)可從你的芯片供應(yīng)商處免費(fèi)索取和隨編譯工具附送的手冊(cè)附送光盤(pán)中有我為這本書(shū)編寫(xiě)和收集的程序這些程序已經(jīng)通過(guò)測(cè)試這并不意味著你可以隨時(shí)把這些程序加到你的應(yīng)用系統(tǒng)或工程中有些地方必須首先經(jīng)過(guò)修改才能結(jié)合到你的程序中這本書(shū)將教你充分使用你的工具如果你只有8051 的匯編程序你也可以學(xué)習(xí)該書(shū)和使用這些例子但是你必須把C 語(yǔ)言的程序裝入你的匯編程序中這對(duì)懂得C 語(yǔ)言和8051匯編程序指令的人來(lái)說(shuō)并不是一件困難的事如果你有C 編譯器的話那恭喜你使用C 語(yǔ)言進(jìn)行開(kāi)發(fā)是一個(gè)好的決定你會(huì)發(fā)現(xiàn)使用C 進(jìn)行開(kāi)發(fā)將使你的工程開(kāi)發(fā)和維護(hù)的時(shí)間大大減少如果你已經(jīng)擁有Keil C51 那你已經(jīng)選擇了一個(gè)非常好的開(kāi)發(fā)工具我發(fā)現(xiàn)Keil 軟件包能夠提供最好的支持本書(shū)支持Keil C 的擴(kuò)展如果你有其它的開(kāi)發(fā)工具像Archimedes 和Avocet 這本書(shū)也能很好地為你服務(wù)但你必須根據(jù)你所用的開(kāi)發(fā)工具改變一些Keil 的特殊指令在書(shū)的一些地方有硬件圖實(shí)例程序在這些硬件上運(yùn)行這些圖繪制地不是很詳細(xì)主要是方框圖但足以使讀者明白軟件和硬件之間的接口讀者應(yīng)該把這本書(shū)看成工具書(shū)而不是用來(lái)學(xué)習(xí)各種系統(tǒng)設(shè)計(jì)通過(guò).
標(biāo)簽: keil c51 語(yǔ)言 使用技巧
上傳時(shí)間: 2013-11-03
上傳用戶:hfnishi
熱敏微打控制模塊(ThermalPrinter-376T)采用美國(guó)TI公司的32 ARM微控制器LM3S600(原流明諾瑞公司)作為主控芯片,外加輸入電壓檢測(cè)、RS232通訊、字庫(kù)擴(kuò)展、打印電壓控制、步進(jìn)電機(jī)控制以及熱敏打印機(jī)芯控制。其中熱敏打印機(jī)芯控制增加過(guò)溫保護(hù)和缺紙檢測(cè)使系統(tǒng)更穩(wěn)定。
標(biāo)簽: ThermalPrinter 376 熱敏微打 控制板
上傳時(shí)間: 2013-11-23
上傳用戶:a67818601
Keil C51語(yǔ)言使用技巧及實(shí)戰(zhàn)(周立功) 這是一本關(guān)于Intel 80C51 以及廣大的51 系列單片機(jī)的書(shū)這本書(shū)介紹給讀者一些新的技術(shù)使你的8051 工程和開(kāi)發(fā)過(guò)程變得簡(jiǎn)單請(qǐng)注意這本書(shū)的目的可不是教你各種8051 嵌入式系統(tǒng)的解決方法為使問(wèn)題討論更加清晰在適當(dāng)?shù)牡胤浇o出了程序代碼我們以討論項(xiàng)目的方法來(lái)說(shuō)明每章碰到的問(wèn)題所有的代碼都可在附帶的光盤(pán)上找到你必須熟系C 和8051 匯編因?yàn)楸緯?shū)不是一本C 和匯編的指導(dǎo)書(shū)你可以買(mǎi)到不少關(guān)于ANSI C 的書(shū)最佳選擇當(dāng)然是Intel的數(shù)據(jù)書(shū)可從你的芯片供應(yīng)商處免費(fèi)索取和隨編譯工具附送的手冊(cè)
標(biāo)簽: Keil C51 語(yǔ)言 使用技巧
上傳時(shí)間: 2014-12-27
上傳用戶:lhw888
這是一本關(guān)于Intel 80C51 以及廣大的51 系列單片機(jī)的書(shū)這本書(shū)介紹給讀者一些新的技術(shù)使你的8051 工程和開(kāi)發(fā)過(guò)程變得簡(jiǎn)單請(qǐng)注意這本書(shū)的目的可不是教你各種8051 嵌入式系統(tǒng)的解決方法.為使問(wèn)題討論更加清晰在適當(dāng)?shù)牡胤浇o出了程序代碼我們以討論項(xiàng)目的方法來(lái)說(shuō)明每章碰到的問(wèn)題所有的代碼都可在附帶的光盤(pán)上找到你必須熟系C 和8051 匯編因?yàn)楸緯?shū)不是一本C 和匯編的指導(dǎo)書(shū)你可以買(mǎi)到不少關(guān)于ANSI C 的書(shū)最佳選擇當(dāng)然是Intel的數(shù)據(jù)書(shū)可從你的芯片供應(yīng)商處免費(fèi)索取和隨編譯工具附送的手冊(cè)
標(biāo)簽: C51 單片機(jī)語(yǔ)言 程序設(shè)計(jì)
上傳時(shí)間: 2014-01-14
上傳用戶:honyeal
在本方案中重點(diǎn)就是討論設(shè)計(jì)一種全數(shù)字化三相PWM逆變電源。這其中三相SPWM發(fā)生器是逆變電源的核心部分,他的性能的好壞,直接關(guān)系到整個(gè)逆變電源的工作狀況。因此在本方案中我們選用了流明諾瑞公司推出的這個(gè)帶有硬件死區(qū)PWM的Cortex-M3內(nèi)核的32位ARM單片機(jī)LM3S136作為波形發(fā)生器
上傳時(shí)間: 2013-11-11
上傳用戶:wlcaption
本設(shè)計(jì)是基于EasyFPGA030的模擬開(kāi)小車(chē)的設(shè)計(jì),用EasyFPGA030開(kāi)發(fā)套件,用6個(gè)發(fā)光二極管模擬6個(gè)汽車(chē)尾燈(汽車(chē)尾燈左右各3個(gè)),用2個(gè)開(kāi)關(guān)作為轉(zhuǎn)彎控制信號(hào),一個(gè)左轉(zhuǎn),一個(gè)右轉(zhuǎn)。當(dāng)汽車(chē)前進(jìn)時(shí),6個(gè)燈全滅,右轉(zhuǎn),右邊3個(gè)尾燈從左到右循環(huán)點(diǎn)亮,左邊3個(gè)燈全滅,左轉(zhuǎn)彎時(shí),左邊3個(gè)燈從左到右循環(huán)點(diǎn)亮,右邊3個(gè)全滅,當(dāng)汽車(chē)需要停止和緊急剎車(chē)時(shí),6個(gè)尾燈同時(shí)明,暗閃爍。
標(biāo)簽: EasyFPGA 030 模擬開(kāi)小車(chē)
上傳時(shí)間: 2013-11-11
上傳用戶:jesuson
深入淺出AVR單片機(jī)思路清晰,以AVR單片機(jī)為載體,介紹了初學(xué)單片機(jī)所必須掌握的專(zhuān)業(yè)知識(shí)。書(shū)中語(yǔ)言嚴(yán)謹(jǐn)?shù)环τ哪L(fēng)趣,配以大量的照片、圖示和實(shí)例程序,使讀者在愉悅中完成專(zhuān)業(yè)知識(shí)的學(xué)習(xí),并培養(yǎng)了學(xué)習(xí)嵌入式系統(tǒng)的興趣。本書(shū)在講述AVR單片機(jī)的同時(shí),更注重于對(duì)讀者學(xué)習(xí)和設(shè)計(jì)能力的啟發(fā)、培養(yǎng),幫助他們養(yǎng)成“從實(shí)踐中來(lái),到實(shí)踐中去”的科學(xué)方法論,為進(jìn)一步的學(xué)習(xí)創(chuàng)造了基礎(chǔ)。 本書(shū)講述淺顯、內(nèi)容豐富、編排合理、實(shí)例詳盡。首先介紹了如何閱讀器件資料的方法,然后熟悉ICCAVR集成開(kāi)發(fā)環(huán)境并搭建實(shí)驗(yàn)開(kāi)發(fā)裝置,接著從實(shí)際應(yīng)用出發(fā),啟發(fā)式地介紹AVR單片機(jī)的常用資源和對(duì)應(yīng)軟件方法,最后較為全面地補(bǔ)充了從事嵌入式系統(tǒng)開(kāi)發(fā)要擴(kuò)展的軟件知識(shí)。 第1篇 Are you ready? 第1章 學(xué)會(huì)閱讀Datasheet 1.1 如何閱讀PDF文件,如何獲得Datasheet文件 1.2 Datasheet告訴我們些什么 1.3 如何看懂AVR的Datasheet 1.4 如何得到幫助 1.5 匯編語(yǔ)言執(zhí)行時(shí)間的計(jì)算方法 1.6 ATmega48/88/168常用熔絲的作用及其配置方法 1.7 對(duì)誤燒寫(xiě)為外部時(shí)鐘模式的解鎖方法 實(shí)例1 閱讀74HC595 Datasheet 第2章 深入開(kāi)發(fā)環(huán)境 2.1 認(rèn)識(shí)ICC編譯環(huán)境 2.2 事半功倍的代碼生成器 2.3 ICC之不得不說(shuō)的故事 2.4 AVR最小系統(tǒng)和下載線DIY 實(shí)例2 AVR最小系統(tǒng)DIY第2篇 Let\'s go! 第3章 從跑馬燈開(kāi)始 3.1 輸入/輸出界面 3.1.1 單片機(jī)的輸入/輸出設(shè)備——引腳 3.1.2 “芯”里有數(shù)——數(shù)碼管顯示 3.1.3 單片機(jī)的輸入/輸出設(shè)備——從按鍵到鍵盤(pán) 3.2 用ATmega48/88/168單片機(jī)端口驅(qū)動(dòng)數(shù)碼管 3.3 操縱ATmega48/88/168單片機(jī)端口 3.4 端口內(nèi)建上拉電阻的使用 3.5 端口位操作 實(shí)例3 跑馬燈 實(shí)例4 數(shù)碼管的顯示(上) 實(shí)例5 數(shù)碼管的顯示(下) 實(shí)例6 矩陣鍵盤(pán) 第4章 對(duì)不起接個(gè)電話 4.1 十萬(wàn)火急——中斷 4.2 中斷的特性 4.3 使用中斷時(shí)的注意事項(xiàng) 4.4 ATmega48/88/168單片機(jī)有哪些中斷源 4.5 如何編寫(xiě)一個(gè)中斷的服務(wù)程序代碼 4.6 ATmega48/88/168單片機(jī)中斷的開(kāi)關(guān)控制 4.7 ATmega48/88/168中斷標(biāo)志位 4.8 ATmega48/88/168中斷優(yōu)先級(jí) 4.9 ATmega48/88/168單片機(jī)中斷向量 4.10 中斷與查詢之爭(zhēng) 4.11 用查詢方式響應(yīng)外設(shè)中斷 4.12 中斷誤觸發(fā) 4.13 前后臺(tái)與原子操作 實(shí)例7 中斷喚醒的鍵盤(pán)掃描 實(shí)例8 旋轉(zhuǎn)編碼器 第5章 一秒究竟有多長(zhǎng) 5.1 單片機(jī)與時(shí)間 5.2 軟件延時(shí) 5.3 不需要加載的“自由計(jì)時(shí)器” 5.4 通過(guò)重加載控制定時(shí)中斷周期 5.5 使用代碼生成器生成定時(shí)器1初始化代碼 5.6 定時(shí)器的其他工作模式 5.7 PWM波及其應(yīng)用簡(jiǎn)介 5.8 人類(lèi)能看懂的電子時(shí)鐘——實(shí)時(shí)時(shí)鐘簡(jiǎn)介 實(shí)例9 閃爍的燈 實(shí)例10 漸明漸暗的燈 實(shí)例11 復(fù)雜閃爍控制 第6章 電量低 6.1 從猜數(shù)游戲到A/D轉(zhuǎn)換器 6.2 ATmega48/88/168的A/D轉(zhuǎn)換器 6.3 ATmega48/88/168單片機(jī)中與A/D相關(guān)的引腳 6.4 ATmega48/88/168單片機(jī)中與A/D相關(guān)的寄存器 6.5 使用A/D時(shí)需要注意些什么 6.6 怎樣知道A/D轉(zhuǎn)換完成 6.7 讀取A/D的轉(zhuǎn)換結(jié)果 6.8 使用代碼生成器生成ADC初始化代碼 6.9 書(shū)寫(xiě)具有工程結(jié)構(gòu)的初始化代碼 6.10 電量計(jì)原理概述 …… 第7章 正在過(guò)收費(fèi)站 第8章 包裝的學(xué)問(wèn) 第9章 傻孩子求職記 第10章 MISSION UPDATE第3篇 Code Name C 第11章 朝花夕拾 第12章 指針都是紙老虎 第13章 來(lái)自身邊的啟示 第14章 初識(shí)嵌入式系統(tǒng)
上傳時(shí)間: 2014-05-05
上傳用戶:佳期如夢(mèng)
基于單片機(jī)的汽車(chē)多功能報(bào)警系統(tǒng)設(shè)計(jì)The Design of Automobile Multi-function AlarmingBased on Single Chip Computer劉法治趙明富寧睡達(dá)(河 南 科 技 學(xué) 院 ,新 鄉(xiāng) 453 00 3)摘要介紹了一種基于單片機(jī)控制的汽車(chē)多功能報(bào)警系統(tǒng),它能對(duì)汽車(chē)的潤(rùn)滑系統(tǒng)油壓、制動(dòng)系統(tǒng)氣壓、冷卻系統(tǒng)溫度、輪胎欠壓及防盜進(jìn)行自動(dòng)檢測(cè),并在發(fā)現(xiàn)異常情況時(shí),發(fā)出聲光報(bào)警。闡述了該報(bào)警系統(tǒng)的硬件組成及軟件設(shè)計(jì)方法。關(guān)鍵詞單片機(jī)傳感器數(shù)模轉(zhuǎn)換報(bào)警Abstract Am ulti-fimctiona utomobilea larnungs ystemb asedo ns inglec hipc omputerco ntorlis in torducedin th isp aper.Th eo ilpr essuero flu bricatesystem, air pressure of braking system, temperature of cooling system, under pressure of tyre and guard against theft, detected automaticaly場(chǎng)thesystem. Audio and visual alarms wil be provided under abnormal conditions廠The hardware composition and software design of the system, described.Keywords Singlec hipc omputer Sensor Digital-t-oanaloguec onversion Alarmin 汽車(chē)多功能報(bào)苦器硬件系統(tǒng)設(shè)計(jì)根據(jù) 系 統(tǒng) 實(shí)際需要和產(chǎn)品性價(jià)比,選用ATMEL公司新生產(chǎn)的采用CMOs工藝的低功耗、高性能8位單片機(jī)AT89S52作為系統(tǒng)的控制器。AT89S52的片內(nèi)有8k Bytes LSP Flash閃爍存儲(chǔ)器,可進(jìn)行100(〕次寫(xiě)、擦除操作;256Bytes內(nèi)部數(shù)據(jù)存儲(chǔ)器(RAM);3 2 根可編程輸N輸出線;2個(gè)可編程全雙工串行通道;看門(mén)狗(WTD)電路等。系統(tǒng)由傳感器、單片機(jī)、模數(shù)轉(zhuǎn)換器、無(wú)線信號(hào)發(fā)射電路、指示燈驅(qū)動(dòng)電路、聲光報(bào)警驅(qū)動(dòng)電KD一9563,發(fā)出三聲二閃光。并觸發(fā)一個(gè)高電平,驅(qū)動(dòng)無(wú)線信號(hào)發(fā)射電路。
標(biāo)簽: 單片機(jī) 汽車(chē) 多功能 報(bào)警
上傳時(shí)間: 2013-11-09
上傳用戶:gxmm
三種方法讀取鍵值 使用者設(shè)計(jì)行列鍵盤(pán)介面,一般常採(cǎi)用三種方法讀取鍵值。 中斷式 在鍵盤(pán)按下時(shí)產(chǎn)生一個(gè)外部中斷通知CPU,並由中斷處理程式通過(guò)不同位址讀資料線上的狀態(tài)判斷哪個(gè)按鍵被按下。 本實(shí)驗(yàn)採(cǎi)用中斷式實(shí)現(xiàn)使用者鍵盤(pán)介面。 掃描法 對(duì)鍵盤(pán)上的某一行送低電位,其他為高電位,然後讀取列值,若列值中有一位是低,表明該行與低電位對(duì)應(yīng)列的鍵被按下。否則掃描下一行。 反轉(zhuǎn)法 先將所有行掃描線輸出低電位,讀列值,若列值有一位是低表明有鍵按下;接著所有列掃描線輸出低電位,再讀行值。 根據(jù)讀到的值組合就可以查表得到鍵碼。4x4鍵盤(pán)按4行4列組成如圖電路結(jié)構(gòu)。按鍵按下將會(huì)使行列連成通路,這也是見(jiàn)的使用者鍵盤(pán)設(shè)計(jì)電路。 //-----------4X4鍵盤(pán)程序--------------// uchar keboard(void) { uchar xxa,yyb,i,key; if((PINC&0x0f)!=0x0f) //是否有按鍵按下 {delayms(1); //延時(shí)去抖動(dòng) if((PINC&0x0f)!=0x0f) //有按下則判斷 { xxa=~(PINC|0xf0); //0000xxxx DDRC=0x0f; PORTC=0xf0; delay_1ms(); yyb=~(PINC|0x0f); //xxxx0000 DDRC=0xf0; //復(fù)位 PORTC=0x0f; while((PINC&0x0f)!=0x0f) //按鍵是否放開(kāi) { display(data); } i=4; //計(jì)算返回碼 while(xxa!=0) { xxa=xxa>>1; i--; } if(yyb==0x80) key=i; else if(yyb==0x40) key=4+i; else if(yyb==0x20) key=8+i; else if(yyb==0x10) key=12+i; return key; //返回按下的鍵盤(pán)碼 } } else return 17; //沒(méi)有按鍵按下 }
上傳時(shí)間: 2013-11-12
上傳用戶:a673761058
這是一本關(guān)于Intel 80C51 以及廣大的51 系列單片機(jī)的書(shū)這本書(shū)介紹給讀者一些新的技術(shù)使你的8051 工程和開(kāi)發(fā)過(guò)程變得簡(jiǎn)單請(qǐng)注意這本書(shū)的目的可不是教你各種8051 嵌入式系統(tǒng)的解決方法為使問(wèn)題討論更加清晰在適當(dāng)?shù)牡胤浇o出了程序代碼我們以討論項(xiàng)目的方法來(lái)說(shuō)明每章碰到的問(wèn)題所有的代碼都可在附帶的光盤(pán)上找到你必須熟系C 和8051 匯編因?yàn)楸緯?shū)不是一本C 和匯編的指導(dǎo)書(shū)你可以買(mǎi)到不少關(guān)于ANSI C 的書(shū)最佳選擇當(dāng)然是Intel的數(shù)據(jù)書(shū)可從你的芯片供應(yīng)商處免費(fèi)索取和隨編譯工具附送的手冊(cè)附送光盤(pán)中有我為這本書(shū)編寫(xiě)和收集的程序這些程序已經(jīng)通過(guò)測(cè)試這并不意味著你可以隨時(shí)把這些程序加到你的應(yīng)用系統(tǒng)或工程中有些地方必須首先經(jīng)過(guò)修改才能結(jié)合到你的程序中這本書(shū)將教你充分使用你的工具如果你只有8051 的匯編程序你也可以學(xué)習(xí)該書(shū)和使用這些例子但是你必須把C 語(yǔ)言的程序裝入你的匯編程序中這對(duì)懂得C 語(yǔ)言和8051匯編程序指令的人來(lái)說(shuō)并不是一件困難的事如果你有C 編譯器的話那恭喜你使用C 語(yǔ)言進(jìn)行開(kāi)發(fā)是一個(gè)好的決定你會(huì)發(fā)現(xiàn)使用C 進(jìn)行開(kāi)發(fā)將使你的工程開(kāi)發(fā)和維護(hù)的時(shí)間大大減少如果你已經(jīng)擁有Keil C51 那你已經(jīng)選擇了一個(gè)非常好的開(kāi)發(fā)工具我發(fā)現(xiàn)Keil 軟件包能夠提供最好的支持本書(shū)支持Keil C 的擴(kuò)展如果你有其它的開(kāi)發(fā)工具像Archimedes 和Avocet 這本書(shū)也能很好地為你服務(wù)但你必須根據(jù)你所用的開(kāi)發(fā)工具改變一些Keil 的特殊指令在書(shū)的一些地方有硬件圖實(shí)例程序在這些硬件上運(yùn)行這些圖繪制地不是很詳細(xì)主要是方框圖但足以使讀者明白軟件和硬件之間的接口讀者應(yīng)該把這本書(shū)看成工具書(shū)而不是用來(lái)學(xué)習(xí)各種系統(tǒng)設(shè)計(jì)通過(guò)本書(shū)你可以了解給定一定的硬件和軟件設(shè)計(jì)之后8051 的各種性能希望你能從本書(shū)中獲取靈感并有助于你的設(shè)計(jì)使你豁然開(kāi)朗當(dāng)然我希望你也能夠從本書(shū)中學(xué)到有用的知識(shí)使之能夠提升你的設(shè)計(jì) 8051 系列微處理器基于簡(jiǎn)化的嵌入式控制系統(tǒng)結(jié)構(gòu)被廣泛應(yīng)用于從軍事到自動(dòng)控制再到PC 機(jī)上的鍵盤(pán)上的各種應(yīng)用系統(tǒng)上僅次于Motorola 68HC11 在 8 位微控制器市場(chǎng)上的銷(xiāo)量很多制造商都可提供8051 系列單片機(jī)像Intel Philips Siemens 等這些制造商給51 系列單片機(jī)加入了大量的性能和外部功能像I2C 總線接口模擬量到數(shù)字量的轉(zhuǎn)換看門(mén)狗PWM 輸出等不少芯片的工作頻率達(dá)到40M 工作電壓下降到1.5V 基于一個(gè)內(nèi)核的這些功能使得8051 單片機(jī)很適合作為廠家產(chǎn)品的基本構(gòu)架它能夠運(yùn)行各種程序而且開(kāi)發(fā)者只需要學(xué)習(xí)這一個(gè)平臺(tái)8051 系列的基本結(jié)構(gòu)如下1 一個(gè)8 位算術(shù)邏輯單元2 32 個(gè)I/O 口4 組8 位端口可單獨(dú)尋址3 兩個(gè)16 位定時(shí)計(jì)數(shù)器4 全雙工串行通信5 6 個(gè)中斷源兩個(gè)中斷優(yōu)先級(jí)6 128 字節(jié)內(nèi)置RAM7 獨(dú)立的64K 字節(jié)可尋址數(shù)據(jù)和代碼區(qū)每個(gè)8051 處理周期包括12 個(gè)振蕩周期每12 個(gè)振蕩周期用來(lái)完成一項(xiàng)操作如取指令和計(jì)算指令執(zhí)行時(shí)間可把時(shí)鐘頻率除以12 取倒數(shù)然后指令執(zhí)行所須的周期數(shù)因此如果你的系統(tǒng)時(shí)鐘是11.059MHz 除以12 后就得到了每秒執(zhí)行的指令個(gè)數(shù)為921583條指令取倒數(shù)將得到每條指令所須的時(shí)間1.085ms
上傳時(shí)間: 2013-11-09
上傳用戶:chenlong
蟲(chóng)蟲(chóng)下載站版權(quán)所有 京ICP備2021023401號(hào)-1