/**************************************TLC2543驅(qū)動(dòng)程序*************************************/#include #include /**************************************2543控制引腳宏定義*********************************
52本身有256B的數(shù)據(jù)存儲(chǔ)區(qū),如果沒(méi)在意一些細(xì)節(jié),很容易出現(xiàn)RAM超過(guò)128就報(bào)錯(cuò)的情況?,F(xiàn)講其問(wèn)題解釋如下: 最常見(jiàn)的是以下兩種: ① 超過(guò)變量128后必須使用compact模式編譯,實(shí)際的情況是只要內(nèi)存占用量不
與非網(wǎng)資深博主駱駝,有著多年的單片機(jī)開(kāi)發(fā)經(jīng)驗(yàn)。結(jié)合他的從業(yè)經(jīng)驗(yàn),駱駝為廣大網(wǎng)友奉獻(xiàn)了很多了單片機(jī)學(xué)習(xí)的案例分享博文,相信對(duì)于有志于學(xué)好單片機(jī)的網(wǎng)友來(lái)說(shuō),這篇集錦肯定會(huì)受益匪淺的!
位運(yùn)算應(yīng)用口訣:清零取位要用與,某位置一可用或,若要取反和交換,輕輕松松用異或!移位運(yùn)算要點(diǎn)1 它們都是雙目運(yùn)算符,兩個(gè)運(yùn)算分量都是整形,結(jié)果也是整形。2 "<<" 左移:右邊空出的位上補(bǔ)0,左邊的位將從字頭擠
c語(yǔ)言和c51大部分的地方都是相同的,他們的語(yǔ)句,結(jié)構(gòu),順序都是很相似的,只是c51相比與c語(yǔ)言,多了很多變量類型和其他的東西,下面是總結(jié)c語(yǔ)言和c51的一些不同之處。變量類型位變量聲明 bit c51中特有的一種變量聲明,b
單片機(jī)空間分配看*.M51文件,ARM,DSP空間分配看*.map文件1、函數(shù)定位:假如要把C源文件 tools.c 中的函數(shù)int BIN2HEX(int xx){...}放在CODE MEMORY的0x1000處,先編譯該工程,然后打開(kāi)該工程的M51文件,在* * * C
方法1:在keil C51中,直接調(diào)用庫(kù)函數(shù):#include // 聲明了void _nop_(void);_nop_(); // 產(chǎn)生一條NOP指令作用:對(duì)于延時(shí)很短的,要求在us級(jí)的,采用“_nop_”函數(shù),這個(gè)函數(shù)相當(dāng)匯編NOP指令,延時(shí)幾微秒
概述進(jìn)行C/C++開(kāi)發(fā)的時(shí)候我們都會(huì)需要打印調(diào)試信息,打印調(diào)試信息時(shí)我們習(xí)慣使用printf函數(shù),但是在Keil C51環(huán)境下,由于我們的程序是下載到單片機(jī)里,使用printf函數(shù)時(shí)不能直接打印到串口上,這個(gè)時(shí)候就需要我們對(duì)
單片機(jī)接收PC機(jī)發(fā)來(lái)的指令信號(hào),然后單片機(jī)又向PC機(jī)發(fā)送字符串。具體要求如下:當(dāng)接收指令信號(hào)為:'go',單片機(jī)向PC機(jī)發(fā)送字符串:WELCOME TO CHINA!;當(dāng)接收指令信號(hào)為:'who',單片機(jī)向PC機(jī)發(fā)送字符串:MY NAME IS
C51編程經(jīng)驗(yàn)三則在單片機(jī)的開(kāi)發(fā)應(yīng)用中,已逐漸開(kāi)始引入高級(jí)語(yǔ)言,C語(yǔ)言就是其中的一種。用慣了匯編的人,總覺(jué)得高級(jí)語(yǔ)言“可控性”不好,不如匯編那樣隨心所欲。以下是筆者在C51編程中的幾點(diǎn)經(jīng)驗(yàn),希望對(duì)
在單片機(jī)中有兩個(gè)特殊功能寄存器與定時(shí)/計(jì)數(shù)有關(guān),這就是TMOD和TCON。順便說(shuō)一下,TMOD和TCON是名稱,我們?cè)趯懗绦驎r(shí)就能直接用這個(gè)名稱來(lái)指定它們,當(dāng)然也能直接用它們的地址89H和88H來(lái)指定它們
HMI(人機(jī)界面)以其體積小,高性能,強(qiáng)實(shí)時(shí)等特點(diǎn),越來(lái)越多的應(yīng)用于工業(yè)自動(dòng)化系統(tǒng)和設(shè)備中。它有字母、漢字、圖形和圖片等不同的顯示,界面簡(jiǎn)單友好。配有長(zhǎng)壽命的薄膜按鈕鍵盤,操作簡(jiǎn)單。它一般采用具有集成度高、速度快、高可靠且價(jià)格低等優(yōu)點(diǎn)的單片機(jī)[1]作為其核心控制器,以實(shí)現(xiàn)實(shí)時(shí)快速處理。PLC和單片機(jī)結(jié)合不僅可以提PLC的數(shù)據(jù)處理能力,還可以給用戶帶來(lái)友好簡(jiǎn)潔的界面。本文以Modbus通訊協(xié)議為例,詳細(xì)討論了一個(gè)人機(jī)系統(tǒng)中,如何用C51實(shí)現(xiàn)單片機(jī)和PLC之間通訊的實(shí)例。
從Keil C51的內(nèi)存空間管理方式入手,著重討論實(shí)時(shí)操作系統(tǒng)在任務(wù)調(diào)度時(shí)的重入問(wèn)題,分析一些解決重入的基本方式與方法:分析實(shí)時(shí)操作系統(tǒng)任務(wù)調(diào)度的占先性,提出非占先的任務(wù)調(diào)度是能更適合于Keil C51的一種調(diào)度方式。為此,構(gòu)造這一實(shí)時(shí)操作系統(tǒng),并有針對(duì)性地介紹此系統(tǒng)的堆管理方法、任務(wù)的建立以廈任務(wù)的切換等。
這里講述一些初學(xué)者學(xué)習(xí)C51的一些誤區(qū)和注意事項(xiàng)。高手的特別應(yīng)用不包括在內(nèi)。1)C忌諱絕對(duì)定位。常看見(jiàn)初學(xué)者要求使用_at_,這是一種謬誤,把C當(dāng)作ASM看待了。在C中變量的定位是編譯器的事情,初學(xué)者只要定義變量和變
從業(yè)十年,教你單片機(jī)入門 第19講:在開(kāi)始本節(jié)內(nèi)容之前,先告訴大家前面第十一節(jié)內(nèi)容有一處筆誤,unsigned long的數(shù)據(jù)長(zhǎng)度應(yīng)該是4個(gè)字節(jié),而不是3個(gè)字節(jié)。上一節(jié)提到了一個(gè)“隱藏中間變量”的概念,兩個(gè)加
從業(yè)十年,教你單片機(jī)入門基礎(chǔ) 第4講:C語(yǔ)言代碼寫在哪里,誰(shuí)負(fù)責(zé)把它翻譯成Hex格式機(jī)器碼?這就涉及到編輯和編譯,從而誕生了平臺(tái)和編譯這兩種軟件。平臺(tái)軟件負(fù)責(zé)編輯源代碼,編譯軟件負(fù)責(zé)把源代碼翻譯成Hex格式的機(jī)
bit和sbit都是C51擴(kuò)展的變量類型。bit和int char之類的差不多,只不過(guò)char=8位, bit=1位而已。都是變量,編譯器在編譯過(guò)程中分配地址。除非你指定,否則這個(gè)地址是隨機(jī)的。這個(gè)地址是整個(gè)可尋址空間,RAM+FLASH+擴(kuò)展
說(shuō)明: 拼音輸入法杳詢函數(shù): unsigned char code * py_ime(unsigned char input_py_val[]); input_py_val為已輸入的拼音碼字符串頭指針, 反回值為中文的起始地址,當(dāng)為0時(shí),杳詢失敗 應(yīng)用舉例: { unsigned char
全球領(lǐng)先的設(shè)備軟件優(yōu)化(DSO)廠商風(fēng)河系統(tǒng)公司(Wind River)與飛思卡爾半導(dǎo)體(Freescale)日前共同推出全新的enablement平臺(tái),以滿足嵌入式市場(chǎng)不斷增長(zhǎng)的發(fā)展需求。本次推出
摘要:首先介紹了光幕測(cè)量高度的原理,給出了高度測(cè)量光幕的一種實(shí)現(xiàn)方法,分析了由該方法設(shè)計(jì)的系統(tǒng)結(jié)構(gòu)和主要性能。從而徹底解決了相鄰?fù)烽g的干擾,提高了測(cè)量精度。 關(guān)鍵詞:?jiǎn)纹瑱C(jī);測(cè)量光幕;分級(jí) 1 引言 光