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