1、安裝先后順序: 要先安裝Keil C51,后安裝RVMDK,否則會(huì)出現(xiàn)一系列的編譯問題。2、Keil常見錯(cuò)誤――last line of file ends without a newline原因及解決方法 當(dāng)使用keil編譯時(shí),彈出這樣的警告信息:main.c(7):
CA12864K 串口C51演示程序// CA12864K 測試程序(串口)//***************************************************************************//連線表: CPU=89C52 SystemClock=12Mhz *//CS=P3
在Keil 里使用 DeBug 模式時(shí),如要 查看外部 RAM 的數(shù)據(jù) 或查看 ACC 的內(nèi)容可以進(jìn)行以下操作;sysGetTxMode:LCALLCom0185(C:2B95)JNB0xE0.0,sysGetTxMode................retCom0185:MOVDPTR,#0x7020MOVXA,@DPTRRRCAR
聯(lián)合體union { unsigned char Ch; //"無符號(hào)數(shù) unsigned char CHR[4]; //"無符號(hào)數(shù)組 unsigned long I; //"無符號(hào)整型數(shù) long L; //"有符號(hào)長整型數(shù) float F; //"浮點(diǎn)數(shù) }EEP;float shu;EEP.F =shu; //結(jié)構(gòu)體
C51單片機(jī)(STC11L32/48/60XE)的串口中斷處理函數(shù),如果在使能串口中斷后,有接收或者發(fā)送數(shù)據(jù)時(shí),就會(huì)設(shè)置中斷標(biāo)志位,進(jìn)而處理中斷函數(shù)。接收數(shù)據(jù),設(shè)置RI=1,處理完中斷函數(shù)后,再設(shè)置RI=0。同理,發(fā)送數(shù)據(jù),設(shè)置
1)安裝Proteus和Keil2)找到Proteus\\MODELS目錄下的VDM51.dll文件(如果沒有找到不要著急,直接上網(wǎng)上搜,或者你可以q我,我給你~~,最討厭的就是CSDN,各種要錢~哼!),復(fù)制到Keil安裝目錄的\\C51\\BIN目錄中3)就是
#include#define uint unsigned int #define uchar unsigned charuchar code monthday[]={31,28,31,30,31,30,31,31,30,31,30,31}; uchar month_n_day(uint y,uchar m) //算出某年某月有多少天 { if(m==2) r
此系統(tǒng)是基于PID的單片機(jī)溫度控制系統(tǒng),我在網(wǎng)上搜到一段完整的程序,并按他的程序做出了相應(yīng)的proteus硬件仿真,但是并沒有達(dá)到預(yù)期的效果.待提高。程序如下:#include<reg51.h>#include<intrins.h>#include<mat
1、指針: 對于大部分的編譯器,使用指針比使用數(shù)組生成的代碼更短,執(zhí)行效率更高。但是在Keil中則相反,使用數(shù)組比使用的指針生成的代碼更短。通常使用自加、自減指令和復(fù)合賦值表達(dá)式(如a-=1及a+=1等)都能夠
;------------------------------------------------------------------------------; STARTUP.A51: 用戶上電初始化程序;------------------------------------------------------------------------------;; 用戶定
1、在UV2/UV3中,一個(gè)工程可以由多個(gè)模塊(即*.c文件)組成,模塊之間的變量與函數(shù)的調(diào)用與標(biāo)準(zhǔn)C語言類似。即變量必須是全局變量(公共變量),函數(shù)必須是全局函數(shù)。一般缺省規(guī)則是: ?。?)在任意模塊中定義的
第一節(jié) Keil C51編譯器的控制指令C51編譯器的控制指令分為三類:源文件控制類,目標(biāo)文件控制類及列表控制類。1. 源文件控制類 NOEXTEND:C51源文件不允許使用ANSI C擴(kuò)展功能。 DEFINE(DF):定義預(yù)處理(在C51命令行)。
如下程序能實(shí)現(xiàn)ms毫秒級的比較精確的延時(shí)void Delayms(unsigned int n){ unsigned int i,j; for(j=n;j>0;j--) for(i=112;i>0;i--);}用keil可以看出這個(gè)延時(shí)的時(shí)間,我們先延時(shí)1ms(Delayms(1))。進(jìn)入Delayms前
Cx51對ANSI標(biāo)準(zhǔn)C進(jìn)行了擴(kuò)展。這些擴(kuò)展的大部分是為了支持8051系統(tǒng)的構(gòu)架。這些擴(kuò)展有:8051上的存儲(chǔ)器類型和區(qū)域l 存儲(chǔ)器模型l 存儲(chǔ)器類型指示l 變量類型指示l 位變量和可位尋址數(shù)據(jù)l 特殊功能寄存器l 指針l 函數(shù)屬性
keil C51 部分運(yùn)算符與表達(dá)式 ;2013年12月2日10:39:34?:用于表達(dá)式求值運(yùn)算符;邏輯表達(dá)式?表達(dá)式1:表達(dá)式2。邏輯表達(dá)式為真執(zhí)行表達(dá)式1,否者執(zhí)行表達(dá)式2.,用于把若干個(gè)表達(dá)式組合成一個(gè)表達(dá)式;從中到右算出
C-51軟件包的庫包含標(biāo)準(zhǔn)的應(yīng)用程序,每個(gè)函數(shù)都在相應(yīng)的頭文件(.h)中有原型聲明。如果使用庫函數(shù),必須在源程序中用預(yù)編譯指令定義與該函數(shù)相關(guān)的頭文件(包含了該函數(shù)的原型聲明)。例如:#include#include如果省
一個(gè)大的單片機(jī)程序往往包含很多模塊,我是這樣組織的:1、每一個(gè)C源文件都要建立一個(gè)與之名字一樣的H文件(頭文件),里面僅僅包括該C文件的函數(shù)的聲明,其他的什么也不會(huì)有,比如變量的定義啊等等不應(yīng)該有。2、建立一
本章討論以下內(nèi)容: ●絕對地址訪問●C與匯編的接口 ●C51軟件包中的通用文件 ●段名轉(zhuǎn)換與程序優(yōu)化第一節(jié) 絕對地址訪問C51提供了三種訪問絕對地址的方法:1. 絕對宏:在程序中,用“#include”即可使用其中定義的宏
/**************************延時(shí)函數(shù)***************************/void delay_us_STC12(unsigned int us){ unsigned int i;us=us*12/11;//12/11是STC12C5408在22.1184MHz晶振for( i=0;i
8051系列MCU的基本結(jié)構(gòu)包括:32個(gè)I/O口(4組8 bit端口);兩個(gè)16位定時(shí)計(jì)數(shù)器;全雙工串行通信;6個(gè)中斷源(2個(gè)外部中斷、2個(gè)定時(shí)/計(jì)數(shù)器中斷、1個(gè)串口輸入/輸出中斷),兩級中斷優(yōu)先級;128字節(jié)內(nèi)置RAM;獨(dú)立的64K字