接觸單片機(jī)快兩年了,不過(guò)只是非常業(yè)余的興趣,實(shí)踐卻不多,到現(xiàn)在還算是個(gè)初學(xué)者吧。這幾天給自己的任務(wù)就是搞定步進(jìn)電機(jī)的單片機(jī)控制。以前曾看過(guò)有關(guān)步進(jìn)電機(jī)原理和控制的資料,畢竟自己沒(méi)有做過(guò),對(duì)其具體原理還
在嵌入式系統(tǒng)中,延時(shí)是經(jīng)常需要使用的一種手段,延時(shí)的方法可以通過(guò)使用類似于"NOP"的指令來(lái)實(shí)現(xiàn),但是如果延時(shí)的時(shí)間比較 長(zhǎng),如果使用太多的"NOP"指令則會(huì)消耗過(guò)多的儲(chǔ)存空間,最好的方法是使用子程序(匯編語(yǔ)言中)或子函數(shù)(高級(jí)語(yǔ)言中)。
上一文中擴(kuò)展了單片機(jī)的程序存儲(chǔ)器,4KB存儲(chǔ)空間提升到64KB。其實(shí),4K的代碼空間還湊合,但是51自帶的256B數(shù)據(jù)存儲(chǔ)空間使用起來(lái)還真緊張,其中留給用戶的連128B都不到,所以不得不擴(kuò)展片外RAM。擴(kuò)展RAM方法和擴(kuò)展RO
源于一年前想自己動(dòng)手給51寫個(gè)OS,編譯選Large模式,調(diào)試時(shí)整個(gè)流程都跑的好好的,可是燒寫到片上后得不到預(yù)期的效果,后來(lái)查書才知道51單片機(jī)片上只有4KRom,如果沒(méi)有擴(kuò)展片外Rom,當(dāng)訪問(wèn)4K以外的程序空間,程序指針
最開始學(xué)習(xí)C語(yǔ)言時(shí),使用printf和scanf進(jìn)行格式化輸入輸出十分方便。學(xué)習(xí)單片機(jī)有很長(zhǎng)時(shí)間了,之前要再屏幕上顯示一個(gè)變量或者通過(guò)串口傳出一些變量值觀測(cè)的話,需要進(jìn)行一系列的取余取整運(yùn)算,很是麻煩。最近又研究
單片機(jī)簡(jiǎn)介單片微型計(jì)算機(jī)簡(jiǎn)稱單片機(jī),簡(jiǎn)單來(lái)說(shuō)就是集CPU(運(yùn)算、控制)、RAM(數(shù)據(jù)存儲(chǔ)-內(nèi)存)、ROM(程序存儲(chǔ))、輸入輸出設(shè)備(串口、并口等)和中斷系統(tǒng)處于同一芯片的器件,在我們自己的個(gè)人電腦中,CPU、RAM、ROM、I/
一、填空題1、51單片機(jī)的定時(shí)器T1工作在工作方式0計(jì)數(shù)模式下,定時(shí)器T0工作在工作方式1定時(shí)模式下。則TMOD的值應(yīng)為 0x41 。2、AT89S51單片機(jī)定時(shí)器的四種工作方式中,可自動(dòng)裝載初始值的是方式 2 ,該工作方式是 8
特點(diǎn):哈佛結(jié)構(gòu),程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器分開,兩者各有一個(gè)相互獨(dú)立的64K(0x0000 ~ 0xFFFF)的尋址空間(準(zhǔn)確地說(shuō),內(nèi)部數(shù)據(jù)存儲(chǔ)器與外部數(shù)據(jù)存儲(chǔ)器不是一回事)。程序存儲(chǔ)器:① 用于存放程序(可執(zhí)行的二進(jìn)制代碼映像
存儲(chǔ)器分為程序存儲(chǔ)器(ROM)和數(shù)據(jù)存儲(chǔ)器(RAM),兩種又都可以分為片內(nèi)和片外,片外即需要自己在單片機(jī)外部擴(kuò)展。8051單片機(jī)的片內(nèi)程序存儲(chǔ)器有4K,片內(nèi)數(shù)據(jù)存儲(chǔ)器有256個(gè)字節(jié),其中又分為高128字節(jié)位特殊功能寄存器區(qū)
一般編譯器的堆棧用于保存局部變量、函數(shù)的參數(shù)、函數(shù)的返回值、中斷上下文信息等。但Keil對(duì)局部變量、函數(shù)參數(shù)預(yù)先分配空間(放在靜態(tài)全局變量區(qū)),Keil的堆棧只是用于保存函數(shù)嵌套調(diào)用的PC、中斷上下文信息。從主程
(1)以直接地址為目的操作數(shù)的指令MOV direct,A 例: MOV 20H,AMOV direct,Rn MOV 20H,R1MOV direct1,direct2 MOV 20H,30HMOV direct,@Ri MOV 20H,@R1MOV direct,#data MOV 20H,#34H(2)以間接地址為目的操作數(shù)的指
單片機(jī)簡(jiǎn)介單片微型計(jì)算機(jī)簡(jiǎn)稱單片機(jī),簡(jiǎn)單來(lái)說(shuō)就是集CPU(運(yùn)算、控制)、RAM(數(shù)據(jù)存儲(chǔ)-內(nèi)存)、ROM(程序存儲(chǔ))、輸入輸出設(shè)備(串口、并口等)和中斷系統(tǒng)處于同一芯片的器件,在我們自己的個(gè)人電腦中,CPU、RAM、ROM、I/
單片機(jī)定時(shí)器的使用可以說(shuō)非常簡(jiǎn)單,只要掌握原理,有一點(diǎn)的C語(yǔ)言基礎(chǔ)就行了。要點(diǎn)有以下幾個(gè):1. 一定要知道英文縮寫的原形,這樣寄存器的名字就不用記了。理解是最好的記憶方法。好的教材一定會(huì)給出所有英文縮寫的
上一篇說(shuō)了一點(diǎn)點(diǎn)關(guān)于8X8點(diǎn)陣的驅(qū)動(dòng)編寫技巧以及寫LED燈時(shí)應(yīng)注意的一些小細(xì)節(jié),那么這次我就繼續(xù)補(bǔ)上上次挖的坑吧,說(shuō)一下16X16點(diǎn)陣的編寫技巧,主要講一下思路,因?yàn)樵趯?6X16點(diǎn)陣驅(qū)動(dòng)時(shí),很多人一上來(lái)大腦一片空白
首先點(diǎn)陣:(以最簡(jiǎn)單的8X8為例,16X16的以后再說(shuō)) 8X8點(diǎn)陣個(gè)人感覺(jué)點(diǎn)陣需要注意的地方有:第一個(gè)就是驅(qū)動(dòng)點(diǎn)陣的方式我認(rèn)為8X8點(diǎn)陣的驅(qū)動(dòng)程序分為行掃描和列掃描兩種。比如行掃描就是用一層for循環(huán):先選中第一行,
這次我接著上次的說(shuō),講一下 復(fù)合按鍵和 矩陣鍵盤。先說(shuō)矩陣鍵盤,因?yàn)槲覍懙慕M合鍵代碼是在矩陣鍵盤的基礎(chǔ)上寫的,當(dāng)然在獨(dú)立按鍵上寫組合鍵更簡(jiǎn)單一些。所以當(dāng)你矩陣鍵盤的組合鍵會(huì)寫的時(shí)候,你在獨(dú)立按鍵上的組合
說(shuō)明一下,我下面要說(shuō)的LCD1602的芯片驅(qū)動(dòng)是HD44780,如果你們的LCD1602驅(qū)動(dòng)芯片不是HD44780,那么下面的內(nèi)容是不適用的。我對(duì)LCD1602的整體理解這里說(shuō)一下我對(duì)LCD1602的整體理解哈,LCD1602是一個(gè)可以顯示兩行字符的
上次說(shuō)的LCD1602的編程挺復(fù)雜的,這次我說(shuō)一個(gè)簡(jiǎn)單一點(diǎn)的:步進(jìn)電機(jī)。這里不說(shuō)步進(jìn)電機(jī)的 "細(xì)分" 實(shí)驗(yàn),只說(shuō)一下有關(guān)步進(jìn)電機(jī)的基礎(chǔ)概念以及步進(jìn)電機(jī)的三種工作方式——單拍、雙拍、單雙拍,現(xiàn)在步進(jìn)電機(jī)
一、PWMPulse Width Modulation脈沖寬度調(diào)制,簡(jiǎn)稱PWM。PWM(脈沖寬度調(diào)制)對(duì)模擬信號(hào)電平進(jìn)行數(shù)字編碼的方法,計(jì)算機(jī)只能輸出0或5V的數(shù)字電壓值而不能輸出模擬電壓,而我們?nèi)绻氆@得一個(gè)模擬電壓值,則需通過(guò)使用高
這個(gè)是我大二才學(xué)51單片機(jī)的時(shí)候做的一個(gè)項(xiàng)目,其實(shí)這個(gè)項(xiàng)目比較簡(jiǎn)單,只不過(guò)是我們自己把它想得太難了,下面我來(lái)總結(jié)一下具體設(shè)計(jì)過(guò)程,我會(huì)上傳代碼和研究報(bào)告:點(diǎn)擊這里!首先買一個(gè)藍(lán)牙模塊,我買的是HC-06,在手