RAM是用來存放各種數(shù)據(jù)的,MCS-51系列8位單片機(jī)內(nèi)部有128 B RAM存儲器,CPU對內(nèi)部RAM具有豐富的操作指令。但是,當(dāng)單片機(jī)用于實(shí)時(shí)數(shù)據(jù)采集或處理大批量數(shù)據(jù)時(shí),僅靠片內(nèi)提供的RAM是遠(yuǎn)遠(yuǎn)不夠的。此時(shí),我們可以利用單
RAM是用來存放各種數(shù)據(jù)的,MCS-51系列8位單片機(jī)內(nèi)部有128 B RAM存儲器,CPU對內(nèi)部RAM具有豐富的操作指令。但是,當(dāng)單片機(jī)用于實(shí)時(shí)數(shù)據(jù)采集或處理大批量數(shù)據(jù)時(shí),僅靠片內(nèi)提供的RAM是遠(yuǎn)遠(yuǎn)不夠的。此時(shí),我們可以利用單
擴(kuò)展程序存儲器常用的芯片是EPROM(Erasable Programmable Read Only Memory)型(紫外線可擦除型), 如2716(2K×8)、2732(4K×8)、2764(8K×8)、27128(16K×8)、27256(32K×8)、27512(64K&ti
擴(kuò)展程序存儲器常用的芯片是EPROM(Erasable Programmable Read Only Memory)型(紫外線可擦除型), 如2716(2K×8)、2732(4K×8)、2764(8K×8)、27128(16K×8)、27256(32K×8)、27512(64K&ti
所謂可編程的接口芯片是指其功能可由微處理機(jī)的指令來加以改變的接口芯片,利用編程的方法,可以使一個(gè)接口芯片執(zhí)行不同的接口功能。目前,各生產(chǎn)廠家已提供了很多系列的可編程接口,MCS-51單片機(jī)常用的兩種接口芯片
所謂可編程的接口芯片是指其功能可由微處理機(jī)的指令來加以改變的接口芯片,利用編程的方法,可以使一個(gè)接口芯片執(zhí)行不同的接口功能。目前,各生產(chǎn)廠家已提供了很多系列的可編程接口,MCS-51單片機(jī)常用的兩種接口芯片
51系列單片機(jī)內(nèi)部有4個(gè)雙向的并行I/O端口:P0~P3,共占32根引腳。P0口的每一位可以驅(qū)動(dòng)8個(gè)TTL負(fù)載,P1~P3口的負(fù)載能力為三個(gè)TTL負(fù)載。有關(guān)4個(gè)端口的結(jié)構(gòu)及詳細(xì)說明,在前面的有關(guān)章節(jié)中已作過介紹,這里不再贅述。
盛群推全新系列的TinyPower液晶(LCD)快閃記憶體(Flash)微控制器(MCU),全系列包含HT69F30A、HT69F40A及HT69F50A三個(gè)微控制器,符合工業(yè)上-40°C~85°C工作溫度與高抗雜訊之性能要求,且提供48~80接腳的不同封
應(yīng)用單片機(jī)的時(shí)候,經(jīng)常會(huì)遇到需要短時(shí)間延時(shí)的情況。需要的延時(shí)時(shí)間很短,一般都是幾十到幾百微妙(us)。有時(shí)候還需要很高的精度,比如用單片機(jī)驅(qū)動(dòng) DS18B20的時(shí)候,誤差容許的范圍在十幾u(yù)s以內(nèi),不然很容易出錯(cuò)。這
在C 中,內(nèi)存分成5個(gè)區(qū),他們分別是堆、棧、自由存儲區(qū)、全局/靜態(tài)存儲區(qū)和常量存儲區(qū)。棧,就是那些由編譯器在需要的時(shí)候分配,在不需要的時(shí)候自動(dòng)清楚的變量的存儲區(qū)。里面的變量通常是局部變量、函數(shù)參數(shù)等。堆,
1、選擇合適的算法和數(shù)據(jù)結(jié)構(gòu)應(yīng)該熟悉算法語言,知道各種算法的優(yōu)缺點(diǎn),具體資料請參見相應(yīng)的參考資料,有很多計(jì)算機(jī)書籍上都有介紹。將比較慢的順序查找法用較快的二分查找或亂序查找法代替,插入排序或冒泡排序法用
在前面的文章中分別介紹了兩種用普通單片機(jī)實(shí)現(xiàn)低成本A/D轉(zhuǎn)換的方法,這兩種方法中在單片機(jī)的外部都要使用到一個(gè)比較器,在本文中繼續(xù)向大家介紹低成本的A/D轉(zhuǎn)換的一種方法,只是這種方法成本會(huì)更低,而且外部無需使
1)auto這個(gè)關(guān)鍵字用于聲明變量的生存期為自動(dòng),即將不在任何類、結(jié)構(gòu)、枚舉、聯(lián)合和函數(shù)中定義的變量視為全局變量,而在函數(shù)中定義的變量視為局部變量。這個(gè)關(guān)鍵字不怎么多寫,因?yàn)樗械淖兞磕J(rèn)就是auto的。(2)reg
//ADS1.2下編譯使用void TestFun(char* fmt,...){int ch;char selch = 0;va_list ap = NULL;va_start(ap, fmt);do{selch = *fmt;if (selch!='%'){putchar(*fmt);}else{selch = *++fmt;switch(selch){case 'c':ch = v
寫這個(gè)8*8按鍵程序的過程中,不管是在自己寫還是參考別人程序的過程中,發(fā)現(xiàn)自己對C語言有些基本知識點(diǎn)和編程規(guī)范有很多不懂的地方,有些是自己以前的編程習(xí)慣不好,有些就是基礎(chǔ)知識不扎實(shí)的表現(xiàn),所以總結(jié)出來。一