有很多朋友在學(xué)習(xí)51單片機(jī)的時(shí)候,都會(huì)對其P0口上拉電阻阻值的取值問題而頭疼。其實(shí),P0口接不接上拉電阻,電阻值該選擇多大的都是根據(jù)不同的情況來選擇的。下面來簡單分析下如下的幾種情況:第一種:P0口作為共陽極
1. μC/OS-Ⅱ概述μC/OS-Ⅱ在特定處理器上的移植大部分工作集中在多任務(wù)切換的實(shí)現(xiàn)上,這部分代碼主要用來保存和恢復(fù)處理器的現(xiàn)場。但許多操作如讀/寫寄存器不能用C語言而只能用匯編來實(shí)現(xiàn)。將μC/OS-Ⅱ移植到ARM處理
一,為何51單片機(jī)愛用11.0592MHZ晶振? 其一:由于它能夠精確地劃分紅時(shí)鐘頻率,與UART(通用異步接納器/發(fā)送器)量常見的波特率有關(guān)。特別是較高的波特率(19600,19200),不論多么古怪的值,這些晶振都是精確,
共陽極數(shù)組0~9:display[]={0xC0,0xF9,0xA4,0xB0,0x91,0xA2,0x82,0xF8,0x80,0x90}共陽極數(shù)組A~F:display[]={0x88,0x83,0xA6,0xC1,0x86,0x8E}共陰極數(shù)組0~9:display[]={0x3F,0x06,0x5B,0x4F,0x6E,0x6D,0x7D,0x07,0x
#include void leddisplay(); // 數(shù)碼管顯示 void delayms(unsigned int k); // 延時(shí) n ms void USART_SEND(unsigned char dat); // 串口發(fā)送子程序 unsigned char data ledxs[8]={16,16,16,16,16,0,0,18}; // 數(shù)
在51單片機(jī)當(dāng)中,一般的at89s51就是兩個(gè)外部中斷源,其它加強(qiáng)型的我想應(yīng)該會(huì)多兩個(gè),但是依舊還是不是很多,某些時(shí)候需要對其進(jìn)行擴(kuò)展,一般用定時(shí)器/計(jì)數(shù)器作外部中斷,將其設(shè)定為計(jì)數(shù)器模式,并置初始化數(shù)為0xffH,這樣
接下來的幾節(jié),我們會(huì)帶著大家編寫第一個(gè)單片機(jī)程序。在此之前,我們先來了解一些 51 單片機(jī)特有的程序語法以及 Keil 軟件的基本操作步驟,請大家一定要有耐心。我們主要是用 C 語言來對單片機(jī)編程,而有的單片機(jī)有那
一、盒仔機(jī)器人 BOXZ,昵稱盒仔,是一款開源的互動(dòng)娛樂平臺(tái)!百度一下,有很多盒仔的制作教程,基本都是用arduino制作完成的。假期沒事,帶著寶寶們用51制作了一個(gè)廉價(jià)的BOXZ。先上張圖:從圖上不難看出,為了寶寶
//==聲明區(qū)========================================#include //定義8051暫存器之標(biāo)頭檔, P2-17~19sbitbuzzer = P3^7;//聲明蜂鳴器的位置sbitrelay = P3^6;//聲明繼電器的位置void delay(int);//聲明延遲函數(shù)void p
21個(gè)特殊功能寄存器(52系列是26個(gè))不連續(xù)地分布在128個(gè)字節(jié)的SFR存儲(chǔ)空間中,地址空間為80H-FFH,在這片SFR空間中,包含有128個(gè)位地址空間,地址也是80H-FFH,但只有83個(gè)有效位地址,可對11個(gè)特殊功能寄存器的某些
從51單片機(jī)入門,對流水燈有了一定的認(rèn)識(shí)后,就可以進(jìn)入學(xué)習(xí)顯示類的外設(shè)驅(qū)動(dòng),因?yàn)閷W(xué)習(xí)時(shí)往往需要直接驗(yàn)證、跟蹤結(jié)果,顯示類的外設(shè)可以把代碼運(yùn)行情況以非常直觀的方式反饋回來。因此,筆者此處首先分析講解1602字
51單片機(jī)ESP8266WIFI模塊LED燈的無線控制。具體步驟如下:1、51單片機(jī)和無線WIFI模塊的連接:RXD、TXD、GND和51單片機(jī)的TXD、RXD、GND接好,模塊其他引腳均為高電平,電源VCC是3.3V左右(兩節(jié)1.5v干電池)。2、關(guān)于安
51單片機(jī)采用高電平復(fù)位。以當(dāng)前使用較多的AT89系列單片機(jī)來說,電路圖如下。在復(fù)位腳加高電平2個(gè)機(jī)器周期可使單片機(jī)復(fù)位。復(fù)位后的主要特征是各IO口呈現(xiàn)高電平,程序計(jì)數(shù)器從零開始執(zhí)行程序。復(fù)位方式有兩種。1.上
介紹:串行口是單片機(jī)與外界進(jìn)行信息交換的工具。8051單片機(jī)的通信方式有兩種:并行通信:數(shù)據(jù)的各位同時(shí)發(fā)送或接收。 串行通信:數(shù)據(jù)一位一位次序發(fā)送或接收。參看下圖:串行通信的方式:異步通信:它用一個(gè)起始位表示
第一種方法:在中斷中處理typedef unsigned char UINT8;volatile UINT8 u8Uart_Data;void InitialUART0_Timer1(){ SCON = 0x50; //2015-05-04 TMOD = 0x20; TH1 = 0XFD; // 9600BPS 201
用51單片機(jī)解析串口GPS模塊發(fā)來的信息,在1602液晶顯示 ,用51單片機(jī)的TXD口接GPS模塊的RXD口。程序略做修改并修正了一些錯(cuò)誤。這是電路原理圖。程序是結(jié)合我單片機(jī)的板子做了修改。就是先焊接一個(gè)51單片機(jī)最小系統(tǒng)。
第六章:利用Kinect語音識(shí)別控制51單片機(jī)WPF部分:(1) 新建 Visual C# --> WPF工程(如下圖),記得右鍵點(diǎn)擊“引用”,添加相應(yīng)驅(qū)動(dòng)版本的Microsoft.Kinect.dll 和Microsoft.Speech動(dòng)態(tài)庫。App.xaml 文件及 App.xaml
MCS-51單片機(jī)內(nèi)部有一個(gè)全雙工的串行通信口,即串行接收和發(fā)送緩沖器(SBUF),這兩個(gè)在物理上獨(dú)立的接收發(fā)送器,既可以接收數(shù)據(jù)也可以發(fā)送數(shù)據(jù)。但接收緩沖器只能讀出不能寫入,而發(fā)送緩沖器則只能寫入不能讀出,它
(1)初始值不是0的全局變量 在程序調(diào)到main()函數(shù)執(zhí)行前,除了要進(jìn)行內(nèi)存清零、初始化堆棧外,還需要將全局變量的初始值加載到RAM的指定區(qū)域(編譯過程中為全局變量分配的空間)。(2)未初始化的局部變量 實(shí)際的
這個(gè)指令的作用是把累加器A和寄存器B中的8位無符號(hào)數(shù)相乘,所得到的是16位乘積,這個(gè)結(jié)果低8位存在累加器A,而高8位存在寄存器B中。如果OV=1,說明乘積大于0FFFFH(65536),否則OV=0,但進(jìn)位標(biāo)志位CY總是等于0。MUL