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)寄存器[詳細]
1、中斷入口地址及編號MCS-51在每一個機器周期順序檢查每一個中斷源,在機器周期的S6按優(yōu)先級處理所有被激活的中斷請求,此時,如果CPU沒有正在處理更高或相同優(yōu)先級的中斷,或者現(xiàn)在的機器周期不是所執(zhí)行指令的最后一個機器周期,或者CPU不是正在執(zhí)行RETI指令或訪問IE和IP的指令(因為按MCS-51中斷系統(tǒng)的[詳細]
存儲器分為程序存儲器(ROM)和數(shù)據(jù)存儲器(RAM),兩種又都可以分為片內(nèi)和片外,片外即需要自己在單片機外部擴展。8051單片機的片內(nèi)程序存儲器有4K,片內(nèi)數(shù)據(jù)存儲器有256個字節(jié),其中又分為高128字節(jié)位特殊功能寄存器區(qū),真正用戶能用的RAM只有低128字節(jié)。8052單片機有8K片內(nèi)程序存儲器,而數(shù)據(jù)存儲器除了[詳細]
如果你的電腦上安裝了QQ,你希望和好友聊天,會雙擊QQ圖標,打開QQ軟件,輸入賬號和密碼,然后登錄就可以了。那么,QQ是怎么運行起來的呢?首先,有一點你要明確,你安裝的QQ軟件是保存在硬盤中的。雙擊QQ圖標,操作系統(tǒng)就會知道你要運行這個軟件,它會在硬盤中找到你安裝的QQ軟件,將數(shù)據(jù)(安裝的軟件本[詳細]
特點:哈佛結(jié)構(gòu),程序存儲器與數(shù)據(jù)存儲器分開,兩者各有一個相互獨立的64K(0x0000 ~ 0xFFFF)的尋址空間(準確地說,內(nèi)部數(shù)據(jù)存儲器與外部數(shù)據(jù)存儲器不是一回事)。程序存儲器:① 用于存放程序(可執(zhí)行的二進制代碼映像文件,包括程序中的數(shù)據(jù)信息),還包括初始化代碼等固件。② 為只讀存儲器。注意,這里的&[詳細]
每當想找哪個運算符優(yōu)先級高時,很多時候總是想找的就沒有,真讓人氣憤!現(xiàn)在,終于有個我個人覺得非常全的,分享給大家,歡迎拍磚!C語言運算符優(yōu)先級 優(yōu)先級 運算符 名稱或含義[詳細]
1 常見命名規(guī)則比較著名的命名規(guī)則首推匈牙利命名法,這種命名方法是由Microsoft程序員查爾斯·西蒙尼(Charles Simonyi) 提出的。其主要思想是“在變量和函數(shù)名中加入前綴以增進人們對程序的理解”。匈牙利命名法關(guān)鍵是:標識符的名字以一個或者多個小寫字母開頭作為前綴;前綴之后的[詳細]
我曾經(jīng)做過兩年的單片機產(chǎn)品,在對單片機編程的過程中逐漸形成了一個大體固定的整體框架,也可以說是編程思路。現(xiàn)提出來供大家參考。首先,對外圍芯片進行分類,屬同一功能或同一芯片的程序采用模塊化的形式,用固定的幾個函數(shù)實現(xiàn),一般不同芯片之間的函數(shù)功能盡量不重疊,也不要使用一個函數(shù)覆蓋幾個芯[詳細]
在單片機應(yīng)用中,堆棧是個特殊的存儲區(qū),主要功能是暫時存放數(shù)據(jù)和地址,通常用來保護斷點和現(xiàn)場。要點:堆,隊列優(yōu)先,先進先出(FIFO—first in first out) 。 棧,先進后出(FILO—First-In/Last-Out)。const:const修飾的數(shù)據(jù)類型是指常類型,常類型的變量或?qū)ο蟮闹凳遣荒鼙桓碌摹onst關(guān)[詳細]
單片機,single chip microcomputer,單芯片微型計算機??傮w來說,他就是一個芯片。但是他是一個特殊的芯片,因為他不是實現(xiàn)單獨的邏輯功能。他是將一個整體的計算機系統(tǒng)集成到這個芯片上。這個計算機系統(tǒng)包括運算器,控制器,存儲器,輸入設(shè)備和輸出設(shè)備。其實單片機的學習,和計算機的學習差別不是太[詳細]
一、PWMPulse Width Modulation脈沖寬度調(diào)制,簡稱PWM。PWM(脈沖寬度調(diào)制)對模擬信號電平進行數(shù)字編碼的方法,計算機只能輸出0或5V的數(shù)字電壓值而不能輸出模擬電壓,而我們?nèi)绻氆@得一個模擬電壓值,則需通過使用高分辨率計數(shù)器,改變方波的占空比來對一個模擬信號的電平進行編碼。仍輸出數(shù)字信號,因[詳細]
stdarg宏:可變參數(shù)列表是通過宏來實現(xiàn)的,這些宏定義于stdarg.h頭文件,它是標準庫的一部分。這個頭文件聲明的一個va_list的類型,和三個宏va_start,va_arg,va_end。我們可以生明一個va_list類型的變量,配合三個宏使用。va_start(arg, last have name arg);初始化之后,arg將指向第一個無名參數(shù)。[詳細]
概述進行C/C++開發(fā)的時候我們都會需要打印調(diào)試信息,打印調(diào)試信息時我們習慣使用printf函數(shù),但是在Keil C51環(huán)境下,由于我們的程序是下載到單片機里,使用printf函數(shù)時不能直接打印到串口上,這個時候就需要我們對printf函數(shù)輸出重定向。重定向重定向printf很簡單,我們知道,printf函數(shù)是調(diào)用putch[詳細]
fopen()需要頭文件:#include函數(shù)原型:FILE *fopen(const char *path,const char *mode)函數(shù)參數(shù):path:要打開的文件的路徑及文件名mode:文件打開方式,見下函數(shù)返回值:成功:指向文件的FILE類型指針失?。篘ULL以下是mode參數(shù)允許使用的取值及說明:r或rb 以只讀的方式打開文件,該文件必須存[詳細]
本文主要介紹可變參數(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ù),用于輸入輸出時格式化[詳細]
stdarg宏:可變參數(shù)列表是通過宏來實現(xiàn)的,這些宏定義于stdarg.h頭文件,它是標準庫的一部分。這個頭文件聲明的一個va_list的類型,和三個宏va_start,va_arg,va_end。我們可以生明一個va_list類型的變量,配合三個宏使用。va_start(arg, last have name arg);初始化之后,arg將指向第一個無名參數(shù)。[詳細]
方法1:在keil C51中,直接調(diào)用庫函數(shù):#include // 聲明了void _nop_(void);_nop_(); // 產(chǎn)生一條NOP指令作用:對于延時很短的,要求在us級的,采用“_nop_”函數(shù),這個函數(shù)相當匯編NOP指令,延時幾微秒。NOP指令為單周期指令,可由晶振頻率算出延時時間,對于12M晶振,延時1uS。對于延時[詳細]
測試函數(shù)1#include#includeint main(){int a[5]={65,66,67,68};char value[10],i;FILE *pf;if(!(pf = fopen("printf.txt","w+"))){perror("open file:");return -1;}fprintf(pf,"%d %c %d %c",a[0],a[1],a[2],a[3]);sprintf(value,"%d %c %d[詳細]
單片機空間分配看*.M51文件,ARM,DSP空間分配看*.map文件1、函數(shù)定位:假如要把C源文件 tools.c 中的函數(shù)int BIN2HEX(int xx){...}放在CODE MEMORY的0x1000處,先編譯該工程,然后打開該工程的M51文件,在* * * C O D E M E M O R Y * * *行下找出要定位的函數(shù)的名稱,應(yīng)該形如:CODE xxxxH x[詳細]
c語言和c51大部分的地方都是相同的,他們的語句,結(jié)構(gòu),順序都是很相似的,只是c51相比與c語言,多了很多變量類型和其他的東西,下面是總結(jié)c語言和c51的一些不同之處。變量類型位變量聲明 bit c51中特有的一種變量聲明,bit變量位域只有0和1,長度也只有1存儲類型很多不管學過還是沒學過c語言對于這個詞都會[詳細]
掃碼關(guān)注我們
0755-82591179
傳真:0755-82591176
郵箱:vicky@yingtexin.net
地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08
Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved. 粵ICP備14043402號-4