有關(guān)c51調(diào)用匯編的方法已經(jīng)有很多帖子講到,但是一般只講要點(diǎn),很少有對整個(gè)過程作詳細(xì)描述,對于初學(xué)者是不夠的,這里筆者通過一個(gè)簡單例子對這個(gè)過程進(jìn)行描述,希望能對初學(xué)者有所幫助。幾年來,在這個(gè)論壇里筆者得
若在C51中定義一個(gè)全局變量,編譯器將在RAM中為該變量指定一個(gè)專用地址,在C程序中給變量賦的值將存入這個(gè)專用地址中,程序操作該變量是,首先從專用地址中取出存放的值,然后再進(jìn)行計(jì)算。全局變量被定義在內(nèi)存中的專
C51的中斷函數(shù)的格式為: voidFuncIr(void)interruptx[usingy] 以下是夢游的一些分析: 一、中斷函數(shù)是一個(gè)特殊的函數(shù),沒有參數(shù),也沒有返回值;但是程序中允不允許使用return呢?答案是允許的,不過只
KeilC51庫函數(shù)KeilC51庫函數(shù)參考C51強(qiáng)大功能及其高效率的重要體現(xiàn)之一在于其豐富的可直接調(diào)用的庫函數(shù),多使用庫函數(shù)使程序代碼簡單,結(jié)構(gòu)清晰,易于調(diào)試和維護(hù),下面介紹C51的庫函數(shù)系統(tǒng)。第一節(jié)本征庫函數(shù)(intrins
164跑馬燈,#include#include#define uint unsigned int#define uchar unsigned charsbit dat=P2^6;sbit clk=P2^7;uchar ii;uchar code seg7code[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0xff};//0-9,-,全滅
$NOMOD51;Ax51宏匯編器控制命令:禁止預(yù)定義的8051;------------------------------------------------------------------------------; This file is part of the C51 Compiler package; Copyright (c) 1988-2002 K
#include #include//我的自定義LCD1602頭文件 /*--------------------------------------------------------------- 24C32可存儲(chǔ)4K(1024*4)個(gè)字節(jié)(8bit),因此尋址地址最大為0x0FFF,24C32為從機(jī)。 ------
/*315M無線解碼程序*//*無線碼寬電平脈沖時(shí)間1.8ms,低電平脈沖時(shí)間600us,同步碼低電平時(shí)間18.6ms用TIMER0和INT0配合實(shí)現(xiàn)脈寬測量,這種做法的好處是不用隔一段時(shí)間掃描I/O口,方便系統(tǒng)程序的整體設(shè)計(jì)硬件上要把無線
********************************************************/ //單片機(jī)四獨(dú)立按鍵控制四LED; //四個(gè)獨(dú)立按鍵對應(yīng)四個(gè)獨(dú)立的LED. //當(dāng)某一按鍵按下時(shí)對應(yīng)的LED亮,當(dāng)?shù)诙伟聪聲r(shí)滅。 //四個(gè)LED只能有一個(gè)亮,初學(xué)者
一、基本格式: 通信頭->巴克碼->地址字->長度字->命令字->信息位->校準(zhǔn)字 1.通信頭:占1~8個(gè)字節(jié),表通信開始(0x00、0xff不能用作通信頭); 2.巴克碼:占1字節(jié),一般為0x72,表通信頭結(jié)束; 3.地址字:表終端
一、存儲(chǔ)類型與存儲(chǔ)區(qū)關(guān)系 data ---> 可尋址片內(nèi)ram bdata ---> 可位尋址的片內(nèi)ram idata ---> 可尋址片內(nèi)ram,允許訪問全部內(nèi)部ram pdata ---> 分頁尋址片外ram (MOVX @R0) (256 BYTE/頁)
sbit RomCS= 0xA0^3;sbit RomCLK= 0xA0^2; sbit RomDI= 0xA0^1; sbit RomDO= 0xA0^0;#define OPCODE_BIT3/*功能碼位數(shù)*/ #define ADDRESS_BIT8/*地址位數(shù)*/ #define DATA_BIT16/*數(shù)據(jù)位數(shù)*/ #define WAITE_TIME
沒有中斷時(shí)以流水燈顯示,外中斷0使左右4個(gè)LED交替閃爍,外中斷1使LED閃亮,#includeunsigned char code design[]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x00};void Delay(unsigned int i){ unsigned int j;
/********************************************************************************************************** Initialization Program* QiZhao,2007* All Rights Reserved* File : initial.h* By : QiZhao* Con
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ù)
使用KeilC51軟件,可以很方便地將代碼或者數(shù)據(jù)絕對定位到某個(gè)地址。1、代碼定位:方法1:使用偽指令CSEG。比如要將MyFunc1定位到代碼區(qū)C:0x1000,則新建一個(gè)A51文件,添加以下內(nèi)容:PUBLIC MYFUNC1CSEGAT 1000HMYFUN
一、主要功能和特性1.完全仿真p0,p2口,用戶程序從0000地址仿真。 2.支持89C52等嵌入式CPU仿真,可以仿真標(biāo)準(zhǔn)的89C51,89C52,89C58等標(biāo)準(zhǔn)8051內(nèi)核的單片機(jī)仿真,包括帶ISP功能的新型單片機(jī)。 3.ISP 在線編程,在
由于CPU和程序啟動(dòng)代碼文件STARTUP.a51的重要性,一些8051派生的CPU產(chǎn)品要求初始化CPU來滿足設(shè)計(jì)中的相應(yīng)的硬件,因此,有時(shí)候用戶需要對STARTUP.a51進(jìn)行修改,所以進(jìn)行注釋一下:;-------------------------------
//FileName:delay.h#ifndef __LZP_DELAY_H_#define __LZP_DELAY_H_#define TRUE 1#define FALSE 0//設(shè)置波特率#define OSC_FREQ 11059200L#define BAUD_115200 256 - (OSC_FREQ/192L)/115200L // 255#defin
程序如下://適合LM016L液晶顯示器 #include #include #define uchar unsigned char #define uint unsigned int void delay_nms(int); bit LCD_busy(); void LCD_write_cmdata(uchar); void LCD_write_wod