第一步,要有C51编译器文件(就是Keil目录下的C51文件夹),可以通过安装Keil uVison4 for C51来获得(当然不要忘记事后卸载),或者去已经安装好的电脑上复制一份。第二步,安装Keil uVision4 for ARM,这个不解释。
#includeunsigned char val;unsigned char i,j,k;sbit k1=P3^4;void delayms(int ms) // 1ms{unsigned char i,j;for(;ms>0;ms--)for(i=6;i>0;i--)for(j=82;j>0;j--);}void main(){val=0xff;while(1){if(k1==0){delay
interrupt 函数属性当包含在一个声明中指定函数为一个中断函数例如unsigned int interruptcnt;unsigned char second;void timer0 (void) interrupt 1 using 2{ if (++interruptcnt == 4000) { /* count to 4000 */
C51及C51和汇编的混合编程的资料都是从前辈那儿偷来的,先谢谢各位前辈的分享!:)众所周知,c51在编程时很难掌握程序运行的时间,所以编写延时程序时很难做到很精确,解决的方式有插入汇编语句,但总觉得汇编用起来
包含五个中断源,两级中断优先级,优先级可编程设置,通过IP进行设置:PX0(IP.0),外部中断0优先级设定位;PT0(IP.1),定时/计数器T0优先级设定位;PX1(IP.2),外部中断0优先级设定位;PT1(IP.3),定时/计数
Data Types数据类型数据类型位数字节数值域bit10-1Signed char81-128-+127Unsigned char810-255enum8/161or 2-128-+127 or -32768-+32767Signed short162-32768-+32767Unsigned short1620-65535Signed int162-32768-
1.在 C文件中要嵌入汇编代码片以如下方式加入汇编代码:#pragma ASM;Assembler Code Here#pragma ENDASM 2.在 Project窗口中包含汇编代码的 C文件上右键,选择“Options for ...”,点击右边的“Generate Assembl
3.2 STDIO.H:一般I/O函数C51编译器包含字符I/O函数,它们通过处理器的串行接口操作,为支持其它I/O机制,只需修改getkey()和putchar()函数,其它所有I/O支持函数依赖这两个模块,不需要改动。在使用8051串行口之前,
Reentrant Functions可重入函数可重入函数可以被多个进程同时调用。当一个可重入函数执时,其他的处理可以中断这个函数的执行,而开始执行这同一重入函数。一般情况下,Cx51中的函数不能够被同时多次调用或者是重入。
void X5045SpiOpen(void);//打开X5045片选void X5045SpiClose(void);//关闭X5045片选void X5045WriteEnable(void);//软件使能X5045写操作void X5045WriteDisable(void);//软件禁止X5045写操作unsigned char X5045Spi
/********************************************ht9200A/ht9170程序双音多频接收发射程序********************************************/sbit DATA= P3^7 ;sbit CLK= P3^6 ;sbit CE= P2^7 ;/***********************
#include "reg52.h"unsigned char Count;sbit _Speak =P1^5 ;unsigned char code SONG[] ={ //祝你平安0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x10,0x20,0x10,0x20,0x80,0x26,0x20,0x30,0x20,0x30,0x20,0x39,0x10,0x30
调试通过。#include #include #include #include #define uchar unsigned char#define uint unsigned int#define Fclk 11059200UL /*使用11.0592M体*/#define BitRate 9600UL /*波特率定义为9600*/#define DEBUG0sbi
/******************************************************************************************** * 功能:红外解码。 * 硬件条件:1.CPU型号:AT89S52 * 2.晶振:12.000MHz * 3.用跳线帽短接P2.3__SI2 * 用跳
//程序功能:日历,时钟,温度显示(测温代码暂没加上,加上后程序将超过4k,注意芯片型号选用),温度传感器采用18B20// 日历与时钟,温度分时切换显示,采用8位共阳数码管// 数据输出P1, 位码驱动P2// 也可以采用12864LCD显示
/* Module :Kbdmenu.cDate:------Usage:P10~P12 use to DownKey,UpKey,CRKey*/#i nclude#i nclude#define SIZE_OF_KEYBD_MENU 20 //菜单长度uchar KeyFuncIndex=0;//uchar KeyFuncIndexNew=0;void (*KeyFuncPtr)()
Keil c51号称作为51系列单片机最好的开发环境,大家一定都很熟悉。它的一些普通的特性大家也都了解,(书上也都说有)如:因为51内的RAM很小,C51的函数并不通过堆栈传递参数(重入函数除外),局部变量也不存储在堆
这一讲说说如何用取模软件将图形转成数据吧,有很多人反复问我这个问题,我就再罗嗦下吧! 取字模的软件有很多款。有的只能将文字转成字模数据,有的既可将文本文字转字模也能将图片转成点阵数据。在这里我就介绍
1. Warning 280:’i’:unreferenced local variable说明局部变量i 在函数中未作任何的存取操作。解决方法消除函数中i 变量的宣告。2. Warning 206:’Music3’:missing function-prototype说明Music3( )函数未作宣告
;;///////////////////////////////////////////////////////////;;;;[汇编原创]c51超长时间延时程序1小时到1000...小时。;;19:44 2007-3-10;;;;6MHZ晶振为100ms;若晶振为12mhz时则50ms;进入一次定时中断;;;;你用定时