21個特殊功能寄存器(52系列是26個)不連續(xù)地分布在128個字節(jié)的SFR存儲空間中,地址空間為80H-FFH,在這片SFR空間中,包含有128個位地址空間,地址也是80H-FFH,但只有83個有效位地址,可對11個特殊功能寄存器的某些位作位尋址操作(這里介紹一個技巧:其地址能被8整除的都可以位尋址)。在51單片機(jī)內(nèi)部有一個CPU用[詳細(xì)]
特點(diǎn):哈佛結(jié)構(gòu),程序存儲器與數(shù)據(jù)存儲器分開,兩者各有一個相互獨(dú)立的64K(0x0000 ~ 0xFFFF)的尋址空間(準(zhǔn)確地說,內(nèi)部數(shù)據(jù)存儲器與外部數(shù)據(jù)存儲器不是一回事)。程序存儲器:① 用于存放程序(可執(zhí)行的二進(jìn)制代碼映像文件,包括程序中的數(shù)據(jù)信息),還包括初始化代碼等固件。② 為只讀存儲器。注意,這里的&[詳細(xì)]
8051/89C51共有21個專用寄存器,現(xiàn)把其中部分寄存器簡單介紹如下:(1)程序計數(shù)器(Program Counter,PC) PC是一個16位的計數(shù)器,它的作用是控制程序的執(zhí)行順序,其內(nèi)容為下一條要執(zhí)行的指令的地址,尋址范圍達(dá)64KB。PC有自動加1的功能,從而實(shí)現(xiàn)程序的順序執(zhí)行。PC沒有地址,是不可尋址的,因此用戶無法[詳細(xì)]
一、用法經(jīng)常會看到類似如下的宏定義語句,用于對已經(jīng)初始化后的 IO 口輸出高、低電平。#define SET_BL_HIGH() GPIOA->BSRR=GPIO_Pin_0#define SET_BL_LOW() GPIOA->BRR=GPIO_Pin_012其作用類似于如下兩個庫函數(shù),void GPIO_SetBits(GPIO_Typedef* GPIOx, uint16_t GPIO_Pin)void GPIO_Rese[詳細(xì)]
AT89C51共21個特殊功能寄存器,按其使用功能可分為5類:Ø CPU控制寄存器:ACC、B、PSW、SP、DPL、DPH;Ø 中斷控制寄存器:IP、IE;Ø 定時器/計數(shù)器:TMOD、TCON、TL0、TH0、TL1、TH1;Ø 并行I/O口:P0、P1、P2、P3;Ø 串行口控制:SCON、SBUF、PCON。程序狀態(tài)寄存器[詳細(xì)]
1、中斷入口地址及編號MCS-51在每一個機(jī)器周期順序檢查每一個中斷源,在機(jī)器周期的S6按優(yōu)先級處理所有被激活的中斷請求,此時,如果CPU沒有正在處理更高或相同優(yōu)先級的中斷,或者現(xiàn)在的機(jī)器周期不是所執(zhí)行指令的最后一個機(jī)器周期,或者CPU不是正在執(zhí)行RETI指令或訪問IE和IP的指令(因?yàn)榘碝CS-51中斷系統(tǒng)的[詳細(xì)]
存儲器分為程序存儲器(ROM)和數(shù)據(jù)存儲器(RAM),兩種又都可以分為片內(nèi)和片外,片外即需要自己在單片機(jī)外部擴(kuò)展。8051單片機(jī)的片內(nèi)程序存儲器有4K,片內(nèi)數(shù)據(jù)存儲器有256個字節(jié),其中又分為高128字節(jié)位特殊功能寄存器區(qū),真正用戶能用的RAM只有低128字節(jié)。8052單片機(jī)有8K片內(nèi)程序存儲器,而數(shù)據(jù)存儲器除了[詳細(xì)]
如果你的電腦上安裝了QQ,你希望和好友聊天,會雙擊QQ圖標(biāo),打開QQ軟件,輸入賬號和密碼,然后登錄就可以了。那么,QQ是怎么運(yùn)行起來的呢?首先,有一點(diǎn)你要明確,你安裝的QQ軟件是保存在硬盤中的。雙擊QQ圖標(biāo),操作系統(tǒng)就會知道你要運(yùn)行這個軟件,它會在硬盤中找到你安裝的QQ軟件,將數(shù)據(jù)(安裝的軟件本[詳細(xì)]
特點(diǎn):哈佛結(jié)構(gòu),程序存儲器與數(shù)據(jù)存儲器分開,兩者各有一個相互獨(dú)立的64K(0x0000 ~ 0xFFFF)的尋址空間(準(zhǔn)確地說,內(nèi)部數(shù)據(jù)存儲器與外部數(shù)據(jù)存儲器不是一回事)。程序存儲器:① 用于存放程序(可執(zhí)行的二進(jìn)制代碼映像文件,包括程序中的數(shù)據(jù)信息),還包括初始化代碼等固件。② 為只讀存儲器。注意,這里的&[詳細(xì)]
每當(dāng)想找哪個運(yùn)算符優(yōu)先級高時,很多時候總是想找的就沒有,真讓人氣憤!現(xiàn)在,終于有個我個人覺得非常全的,分享給大家,歡迎拍磚!C語言運(yùn)算符優(yōu)先級 優(yōu)先級 運(yùn)算符 名稱或含義[詳細(xì)]
1 常見命名規(guī)則比較著名的命名規(guī)則首推匈牙利命名法,這種命名方法是由Microsoft程序員查爾斯·西蒙尼(Charles Simonyi) 提出的。其主要思想是“在變量和函數(shù)名中加入前綴以增進(jìn)人們對程序的理解”。匈牙利命名法關(guān)鍵是:標(biāo)識符的名字以一個或者多個小寫字母開頭作為前綴;前綴之后的[詳細(xì)]
我曾經(jīng)做過兩年的單片機(jī)產(chǎn)品,在對單片機(jī)編程的過程中逐漸形成了一個大體固定的整體框架,也可以說是編程思路,F(xiàn)提出來供大家參考。首先,對外圍芯片進(jìn)行分類,屬同一功能或同一芯片的程序采用模塊化的形式,用固定的幾個函數(shù)實(shí)現(xiàn),一般不同芯片之間的函數(shù)功能盡量不重疊,也不要使用一個函數(shù)覆蓋幾個芯[詳細(xì)]
在單片機(jī)應(yīng)用中,堆棧是個特殊的存儲區(qū),主要功能是暫時存放數(shù)據(jù)和地址,通常用來保護(hù)斷點(diǎn)和現(xiàn)場。要點(diǎn):堆,隊列優(yōu)先,先進(jìn)先出(FIFO—first in first out) 。 棧,先進(jìn)后出(FILO—First-In/Last-Out)。const:const修飾的數(shù)據(jù)類型是指常類型,常類型的變量或?qū)ο蟮闹凳遣荒鼙桓碌摹onst關(guān)[詳細(xì)]
單片機(jī),single chip microcomputer,單芯片微型計算機(jī)?傮w來說,他就是一個芯片。但是他是一個特殊的芯片,因?yàn)樗皇菍?shí)現(xiàn)單獨(dú)的邏輯功能。他是將一個整體的計算機(jī)系統(tǒng)集成到這個芯片上。這個計算機(jī)系統(tǒng)包括運(yùn)算器,控制器,存儲器,輸入設(shè)備和輸出設(shè)備。其實(shí)單片機(jī)的學(xué)習(xí),和計算機(jī)的學(xué)習(xí)差別不是太[詳細(xì)]
一、PWMPulse Width Modulation脈沖寬度調(diào)制,簡稱PWM。PWM(脈沖寬度調(diào)制)對模擬信號電平進(jìn)行數(shù)字編碼的方法,計算機(jī)只能輸出0或5V的數(shù)字電壓值而不能輸出模擬電壓,而我們?nèi)绻氆@得一個模擬電壓值,則需通過使用高分辨率計數(shù)器,改變方波的占空比來對一個模擬信號的電平進(jìn)行編碼。仍輸出數(shù)字信號,因[詳細(xì)]
stdarg宏:可變參數(shù)列表是通過宏來實(shí)現(xiàn)的,這些宏定義于stdarg.h頭文件,它是標(biāo)準(zhǔn)庫的一部分。這個頭文件聲明的一個va_list的類型,和三個宏va_start,va_arg,va_end。我們可以生明一個va_list類型的變量,配合三個宏使用。va_start(arg, last have name arg);初始化之后,arg將指向第一個無名參數(shù)。[詳細(xì)]
概述進(jìn)行C/C++開發(fā)的時候我們都會需要打印調(diào)試信息,打印調(diào)試信息時我們習(xí)慣使用printf函數(shù),但是在Keil C51環(huán)境下,由于我們的程序是下載到單片機(jī)里,使用printf函數(shù)時不能直接打印到串口上,這個時候就需要我們對printf函數(shù)輸出重定向。重定向重定向printf很簡單,我們知道,printf函數(shù)是調(diào)用putch[詳細(xì)]
fopen()需要頭文件:#include函數(shù)原型:FILE *fopen(const char *path,const char *mode)函數(shù)參數(shù):path:要打開的文件的路徑及文件名mode:文件打開方式,見下函數(shù)返回值:成功:指向文件的FILE類型指針失。篘ULL以下是mode參數(shù)允許使用的取值及說明:r或rb 以只讀的方式打開文件,該文件必須存[詳細(xì)]
本文主要介紹可變參數(shù)的函數(shù)使用,然后分析它的原理,程序員自己如何對它們實(shí)現(xiàn)和封裝,最后是可能會出現(xiàn)的問題和避免措施。VA函數(shù)(variable argument function),參數(shù)個數(shù)可變函數(shù),又稱可變參數(shù)函數(shù)。C/C++編程中,系統(tǒng)提供給編程人員的va函數(shù)很少。*printf()/*scanf()系列函數(shù),用于輸入輸出時格式化[詳細(xì)]
stdarg宏:可變參數(shù)列表是通過宏來實(shí)現(xiàn)的,這些宏定義于stdarg.h頭文件,它是標(biāo)準(zhǔn)庫的一部分。這個頭文件聲明的一個va_list的類型,和三個宏va_start,va_arg,va_end。我們可以生明一個va_list類型的變量,配合三個宏使用。va_start(arg, last have name arg);初始化之后,arg將指向第一個無名參數(shù)。[詳細(xì)]
掃碼關(guān)注我們
0755-82591179
傳真:0755-82591176
郵箱:vicky@yingtexin.net
地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08
Copyright © 2014-2025 穎特新科技有限公司 All Rights Reserved. 粵ICP備14043402號-4