下载 >  开发技术 >  C > Keil指南
0分

Keil指南

Keil的教程,让你快速入门。学习C51必备教程。
2007-08-01 上传大小:539KB
立即下载 开通VIP
分享
收藏 举报
RL-ARM 实时库用户指南.rar

RL-ARM 实时库用户指南.rar KEIL MDK自带的实时操作系统

立即下载
3积分/C币
ARM RVCT 编译工具链接器和实用程序指南_中文版(学习scatter file)

ARM RVCT 编译工具链接器和实用程序指南_中文版(学习scatter file) ,里面有详细的介绍了scatter file的写法。

立即下载
3积分/C币
keil for arm 的入门指南

里面讲解了如何新建工程,对于ARM初学者来说很有帮助的资料。

立即下载
3积分/C币
Keil uVision5 -- MDK5.20 官方指导教程文档

Keil MDK开发工具的安装使用配置etc,软件包的下载安装,插件的安装配置等,CMSIS标准介绍, CMSIS标准驱动的配置使用方法,以及应用程序的创建和调试技巧等基础知识。对初学者具有很好的借鉴意义。

立即下载
50积分/C币
Proteus与Keil联调-驱动.rar

Proteus与Keil联调-驱动.rar vdmagdi.exe Proteus与Keil联调指南.txt

立即下载
3积分/C币
Keil–Cx51 编译器用户手册 中文完整版

[Keil_手册与指南]\《Keil–Cx51 编译器用户手册 中文完整版》.pdf

立即下载
3积分/C币
keiL 程序下载配置指南

keiL 程序下载配置指南,初学者可以参考

立即下载
3积分/C币
GD32大容量产品移植指南

GD32大容量产品移植指南。兆易创新公司的GD32产品,移植指南,在keil开发,亲测可用!

立即下载
5积分/C币
Keil MDK+Jlink调试ARM7设置指南

Keil MDK+Jlink调试ARM7设置指南,一步一步的教您安装。

立即下载
3积分/C币
ARM 指令集用户指南(ARM和THUMB指令)

ARM指令集用户指南主要介绍RM7、ARM7TDMI、ARM9TDMI以及ARM9E设备的ARM和Thumb指令集。ARM指令集支持Keil AARM 宏汇编程序以及Keil CARM编译器的在线汇编。

立即下载
3积分/C币
Keil uVision4破解版与使用教程

新版本的 uVision 4 KEIL 开发环境,里边包括了安装包,license generator,安装破解指南,keil软件使用指南, 实战案例!此为买开发板时自带的,好东西拿出来与大家分享!

立即下载
10积分/C币
keil单片机集成开发软件

keil软件 keil软件keil软件keil软件keil软件keil软件keil软件keil软件keil软件keil软件keil软件keil软件keil软件keil软件

立即下载
3积分/C币
在KEIL 开发环境下如何组建清晰的工程目录

在KEIL 开发环境下如何组建清晰的工程目录

立即下载
3积分/C币
Keil 中文版本( 绝对好用,无限制免安装版)

keilc51v7.06中文版.......keil7.06中文正式版,强烈推荐!(把keil目录复制到C盘根目录下,并去掉 所有文件的只读属性,执行目录UV2下的UV2.EXE即可,可发送到桌面快捷方式)

立即下载
3积分/C币
教你如何用Keil ,用c语言进行编程

这本书将教你充分使用你的工具如果你只有8051 的汇编程序你也可以学习该书和 使用这些例子但是你必须把C 语言的程序装入你的汇编程序中这对懂得C 语言和8051 汇编程序指令的人来说并不是一件困难的事 如果你有C 编译器的话那恭喜你使用C 语言进行开发是一个好的决定你会发现 使用C 进行开发将使你的工程开发和维护的时间大大减少如果你已经拥有Keil C51 那 你已经选择了一个非常好的开发工具我发现Keil 软件包能够提供最好的支持本书支持 Keil C 的扩展如果你有其它的开发工具像Archimedes 和Avocet 这本书也能很好地为 你服务但你必须根据你所用的开发工具改变一些Keil 的特殊指令。

立即下载
30积分/C币
keil uvision5注册机

keil uvision5注册机 亲测可用

立即下载
3积分/C币
Keil uVision5 version9.57 含注册机

Keil uVision5 version9.57 含注册机 Keil uVision5 version9.57 含注册机

立即下载
2积分/C币
keil使用TortoiseSVN版本控制服务器与本地使用教程

在keil上使用SVCS教程,keil的TortoiseSVN版本控制,TortoiseSVN服务器配置 在keil上使用SVCS服务器与本地使用教程整理

立即下载
3积分/C币
Keil c51 v9.52破解版(附注册机)

最新版本的uvision4 编写单片机利器.Keil uVision4一款功能强大的51单片机及C语言开发利器,兼容51系列单片机,可以使用它进行C语言编程开发,其开发的程序无论是在功能上还是在可读上都比C语言具有明显的优势,而且易用易学,支持C编程+汇编编程混合编程,软件具有强大的软硬防真功能,内置丰富的函数库,完全WIN视窗界面,在开发大型程序时可能感觉到它的强大。

立即下载
12积分/C币
keil uVision5破解

keil uVision5破解,官网最新版5.01破解,亲测可用,花大积分下载的,就是给朋友行个方便。

立即下载
50积分/C币
keil uvision5 注册机 v1.0 绿色通用版 附注册码

keil uvision5 注册机 v1.0 绿色通用版 附注册码

立即下载
5积分/C币
keil c51 8.05 完整中文破解版

Keil C51开发系统基本知识Keil C51开发系统基本知识   1. 系统概述   Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。   Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。   2. Keil C51单片机软件开发系统的整体结构   C51工具包的整体结构,如图(1)所示,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。

立即下载
30积分/C币
keil c51 v9.52完整注册版

keil c51 v9.52完整注册版,uvision4 编写单片机利器.

立即下载
5积分/C币
Keil C v7.08完全版+注册码(无代码大小限制)

解压缩以后安装,步骤如下: 1.记下安装序列号, 进入setup目录点击setup.exe进行安装; 2.选择Install Support....全新安装,以前没有安装过或者放弃以前的序列号安装; 选择Update Current Installation升级安装,将可以保持原来的序列号,不必再次输入 3.选择Full安装,Next->Yes(接受版权信息)->选择安装目录->Next->输入序列号、姓名、公司 等,除了序列号以外,都随意,可以如实输入你的姓名等。->next-> ....直到安装完成。 注意: 1.每次安装都必须进行这几步,每次都需要重新写入AddOn标识; 2.假如安装过程中存在病毒防火墙,可能会产生xcopy错误使安装失败,此时请先 关闭病毒防火墙,然后再安装; 3.安装前必须退出正在运行的Keil软件,否则也会产生xcopy错误使安装失败; 4.安装过程中可能会出现安装Secrity Key错误,点击确定即可。 这组安装码可以使用keil C51软件到2033年12月底,够用了吧。 Ident = Y1DZKM (这个号码已经输入在addon目录下的文件中,你不必理会了) SN = K1DZP-5IUSH-A01UE ******************************************* http://www.xiao-qi.com/ 0xfd汉字补丁已经预先处理。安装以后可以打开工程\keil\c51\examples\0xfd\ee.uv2检验

立即下载
3积分/C币
Keil UVision5 MDK STM32单片机集成开发环境

Keil UVision5 MDK STM32单片机集成开发环境,包含注册机,安装注册即可开启编程

立即下载
5积分/C币
keil uvision4完整破解版下载

2009年2月发布Keil uVision4,Keil uVision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。新版本支持更多最新的ARM芯片,还添加了一些其他新功能。 2011年3月ARM公司发布最新集成开发环境RealView MDK开发工具中集成了最新版本的Keil uVision4,其编译器、调试工具实现与ARM器件的最完美匹配。

立即下载
2积分/C币
keil下的c编写的多功能计时器

#include <aduc848.h> #include <KeyScan.h> //自定义头文件,KeyScan用于键盘扫描。 #include <I2C.h> //用于I2C总线。 #define uchar unsigned char #define uint unsigned int unsigned char b[7]={50,58,9,1,15,6,15},clock1[2]={0,12},clock2[2]={0,0}; //b[7]的元素含义:秒,分,时,星期,日,月,年 clock的元素含义:分,时。 code unsigned char tab[11]={0x03,0xf3,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09,0x00}; //数码管0-9的编码列表,0x00点亮全部管。 code unsigned char tab2[2]={0x6d,0xff}; //ox6d: 表示三横图标。 unsigned char time[7]; //时间设置函数的参数。 void delay(unsigned int cnt); //延时函数声明。 unsigned char getkey1(); //unsigned char getkey2(); //读键盘函数声明。 void tim(void); //中断函数声明。 void KeyDelay(unsigned int KeyJsTime); //键盘扫描延时函数声明。 void display(uchar bit7,uchar bit6,uchar bit5,uchar bit4, uchar bit3,uchar bit2,uchar bit1,uchar bit0); //数码管显示函数。 void ReadTime(unsigned char TIME[7]); //DS1307读时间函数。 void SetTime(unsigned char TIME[7]); //设置时间初值函数。 void SwitchRTC(unsigned char SWITCH); //时间修改的使能函数:SWITCH=1禁止修改时间,SWITCH=0可以修改时间。 uchar dis_num_h; //显示记录数据的组别十位 uchar dis_num_l; //显示记录数据的组别个位 uchar dis_min_h; //要显示的分的十位; uchar dis_min_l; //要显示的分的个位; uchar dis_sec_h; //要显示的秒的十位; uchar dis_sec_l; //要显示的秒的个位; uchar dis_dsec; //要显示的0.1秒; uchar min=0x00; //防止意外,赋初值。分······· uchar sec=0x00; //秒 uchar dsec=0x00; //十分之一秒。 uchar en,i,clocken1=0,clocken2=0; main() { unsigned char quzhi,xianshi,symbol=0x55,set,set1=0x55,ce; unsigned char c[30]; unsigned char num,num1,j,k,stop=1; //注意stop必须先赋初值1。 PLLCON&=0xf8; //设置频率为12.582912MHz TMOD=0x01; //选定定时器及其工作模式。 TH0=0xce; //赋初值:52736,则总共的计数次数为:65536-52736=12800,即12.8毫秒。 TL0=0x00; IE=0x82; //中断控制,10000010,EA=1开总中断,ET0=1:定时器0中断允许。0x82:1000 0010 I2CCON=0xE8; //开启I2C总线通信,具体含义参阅ADuC848英文版说明资料。 SetTime(b); //设定初始时间。 SwitchRTC(1); //调用时间保持函数。 while(1) //设置死循环,实现循环执行。 { ReadTime(time); //调用读时间函数,读取当前的时间,并保留在time数组中。 if(((clock1[0]==time[1])&&(clock1[1]==time[2])&&(clocken1==0)&&stop)||((clock2[0]==time[1])&&(clock2[1]==time[2])&&(clocken2==0)&&stop)) //stop 作为控制闹钟闹铃的标志位。 { PWM0H=205;PWM1L=500;PWMCON=0x21; //蜂鸣器响 KeyDelay(333); //延时约为90毫秒。 PWM1H=0;PWM1L=0;PWMCON=0x00; KeyDelay(333); if(getkey1()==12) { stop=0; } } if((time[1]==clock1[0]+1)||(time[1]==clock2[0]+1)) stop=1; //实现响一分钟之后停止的功能,同时修改闹钟的标志位。 if((time[0]==0)&&(time[1]==0)) //实现整点报时功能,检测时间的分钟位和秒钟位。 { i=1; //设置标志位,注意i是全局变量。 while(i) { PWM0H=50;PWM1L=100;PWMCON=0x21; //蜂鸣器响 KeyDelay(333); //延时约为90毫秒。 PWM1H=0;PWM1L=0;PWMCON=0x00; //蜂鸣器停止响。 KeyDelay(333); i++; if(i==23) //整点报时总共响23次。 { i=0; } } } en=getkey1(); //调用键盘扫描函数。 if((en==0x80)||(en==0x55)) //此条件即为无按键按下。 { en=symbol; //symbol作为标志位使用,是全局变量。 } if(xianshi==8) //xianshi是主函数里的局部变量,作为显示的标志位。 { display(dis_num_h,dis_num_l,dis_min_h,dis_min_l, dis_sec_h,dis_sec_l,0xff,dis_dsec) ; //调用显示函数,显示已存储的秒表时间值 } //////////////////////////////////////////////////////////////////////////////////// if(en==1) //按下按键1,显示北京时间:年月日星期 { symbol=1; //标志位计数。 display(tab[time[6]/10],tab[time[6]],tab[time[5]/10],tab[time[5]], tab[time[4]/10],tab[time[4]],0xff,tab[time[3]]); } //////////////////////////////////////////////////////////////////////////////////// if(en==2) //按下按键2,显示北京时间:时分秒 { symbol=2 ; display(tab2[clocken1],tab2[clocken2],tab[time[2]/10],tab[time[2]],tab[time[1]/10],tab[time[1]],tab[time[0]/10],tab[time[0]]); } //////////////////////////////////////////////////////////////////////////////////// else if(en==3) //按下按键3,秒表进入正常工作模式。 { min=0; //因为是正计时,去先清零。 sec=0; dsec=0; symbol=3; //标志位计数。 while(1) { quzhi=getkey1(); if(num<11) //num是主函数里的局部变量,用于记录计时的组数。 display(dis_min_h,dis_min_l,0xff,0xff,dis_sec_h,dis_sec_l,0xff,dis_dsec); //这里确定了记录的计时数组的显示格式。 else display(0x71,0x83,0xe3,0xe3,0xff,0xff,0xff,0xff); //显示单词“FULL",表示计数的组数已满。 if(quzhi==5) //5号键用于启动正计时。 { quzhi=0x55; //取消键值,为下一次扫描做准备。 num=1; //启动计时后,数据自动存入第一组。 if(TR0==1) TR0=0; else TR0=1; } else if(quzhi==6) //按键6,用于秒表读值。 { quzhi=0x55; //消去quzhi的记录值,为下一次的键值记录做准备。 c[3*(num-1)+2]=dsec; //读出的值放在c[]中 c[3*(num-1)+1]=sec; //每四位为一段,依次时取值的顺序、分、秒、0.1秒 c[3*(num-1)+0]=min; num++; } else if(quzhi==7) //按键7按下,表示计时结束 { TR0=0; num1=1; symbol=0x55; min=0; sec=0; dsec=0; break; } } } ////////////////////////////////////////////////////////////////////////////////////// else if(en==4) //秒表倒计时 { symbol=4; j=0; for(i=0;i<=30;i++) c[i]=0; while(1) { display(dis_min_h,dis_min_l,0xff,0xff,dis_sec_h,dis_sec_l,0xff,dis_dsec); set=getkey1(); while(j<5) { ce=getkey1(); //ce是全局变量。 display(tab[c[0]],tab[c[1]],0xff,0xff,tab[c[2]],tab[c[3]],0xff,tab[c[4]]); if((ce!=0x55)&&(ce!=0x80)) { if(ce>9) ce=0; c[j]=ce; j++; } min=c[0]*10+c[1]; sec=c[2]*10+c[3]; dsec=c[4]; } dis_min_h=tab[min/10]; //分、秒及0.1秒显示值的处理 dis_min_l=tab[min]; dis_sec_h=tab[sec/10]; dis_sec_l=tab[sec]; dis_dsec=tab[dsec]; if(set==5) { set=0x55; TR0=1; TF0=1; } if((min==0)&&(sec==0)&&(dsec==0)) { while(i) { PWM0H=50;PWM1L=100;PWMCON=0x21; //蜂鸣器响 KeyDelay(333); //延时 PWM1H=0;PWM1L=0;PWMCON=0x00; KeyDelay(333); i++; if(i==200) { i=0; break; } } } if(set==7) { symbol=0x55; min=0; sec=0; dsec=0; for(i=0;i<30;i++) c[i]=0; //c数组,全局变量,可以有30个元素。 ce=0x55; break; } } } else if(en==8) { symbol=0x55; xianshi=8; dis_num_h=tab[num1/10]; dis_num_l=tab[num1]; dis_min_h=tab[c[(num1-1)*3+0]/10]; dis_min_l=tab[c[(num1-1)*3+0]]; dis_sec_h=tab[c[(num1-1)*3+1]/10]; dis_sec_l=tab[c[(num1-1)*3+1]]; dis_dsec=tab[c[(num1-1)*3+2]]; num1++; if(num1>num) { xianshi=0x55; } } else if(en==9) { symbol=0x55; j=0; for(i=0;i<=6;i++)b[i]=0; for(i=0;i<=30;i++)c[i]=0; while(1) { while(j<=13) { ce=getkey1(); if(j<=5) display(tab[b[2]/10],tab[b[2]],0xff,tab[b[1]/10], tab[b[1]],0xff,tab[b[0]/10],tab[b[0]]); else if(j<=13) display(tab[b[6]/10],tab[b[6]],tab[b[5]/10], tab[b[5]],tab[b[4]/10],tab[b[4]],0xff,tab[b[3]]); if(ce==10)break; else if((ce!=0x55)&&(ce!=0x80)) { if(ce>9) ce=0; c[j]=ce; j++; } b[2]=c[0]*10+c[1]; b[1]=c[2]*10+c[3]; b[0]=c[4]*10+c[5]; b[6]=c[6]*10+c[7]; b[5]=c[8]*10+c[9]; b[4]=c[10]*10+c[11]; b[3]=c[12]; } ReadTime(time); c[13]=time[2]/10; c[14]=time[2]; c[15]=time[1]/10; c[16]=time[1]; c[17]=time[0]/10; c[18]=time[0]; c[19]=time[6]/10; c[20]=time[6]; c[21]=time[5]/10; c[22]=time[5]; c[23]=time[4]/10; c[24]=time[4]; c[25]=time[3]; for(k=j;k<=12;k++) { c[k]=c[k+13]; } b[2]=c[0]*10+c[1]; b[1]=c[2]*10+c[3]; b[0]=c[4]*10+c[5]; b[6]=c[6]*10+c[7]; b[5]=c[8]*10+c[9]; b[4]=c[10]*10+c[11]; b[3]=c[12]; SetTime(b); break; } }else if(en==13) { if(clocken1==0) clocken1=1; else if(clocken1==1) clocken1=0; }else if(en==14) { symbol=0x55; j=0; for(i=0;i<=30;i++)c[i]=0; while(1) { while(j<=4) { ce=getkey1(); display(tab[clock1[1]/10],tab[clock1[1]],0xff,0xff, tab[clock1[0]/10],tab[clock1[0]],0xff,0xff); if((ce!=0x55)&&(ce!=0x80)) { if(ce>9)ce=0; c[j]=ce; j++; } clock1[1]=c[0]*10+c[1]; clock1[0]=c[2]*10+c[3]; } break; } }else if(en==15) { if(clocken2==0) clocken2=1; else if(clocken2==1) clocken2=0; }else if(en==0) { symbol=0x55; j=0; for(i=0;i<=30;i++)c[i]=0; while(1) { while(j<=4) { ce=getkey1(); display(tab[clock2[1]/10],tab[clock2[1]],0xff,0xff, tab[clock2[0]/10],tab[clock2[0]],0xff,0xff); if((ce!=0x55)&&(ce!=0x80)) { if(ce>9)ce=0; c[j]=ce; j++; } clock2[1]=c[0]*10+c[1]; clock2[0]=c[2]*10+c[3]; } break; } } } } /********************************/ /* 延时函数程序 */ /********************************/ void delay(unsigned int cnt) //用于动态扫描数码管的延时程序 { while(--cnt); } /********************************/ /* 数码管显示函数 */ /********************************/ void display(uchar bit7,uchar bit6,uchar bit5,uchar bit4,uchar bit3,uchar bit2,uchar bit1,uchar bit0) { P2=0x08; P0=bit7; delay(500); P2=0x04; P0=bit6; delay(500); P2=0x02; //显示秒表计时的时间 P0=bit5; delay(500); P2=0x10; P0=bit4; delay(500); P2=0x00; //关闭P2控制的数码管,即高三位(最左边三位),可以实现消影。 P3=0x80; P0=bit3; delay(500); P3=0x40; P0=bit2; delay(500); P3=0x20; P0=bit1; delay(500); P3=0x08; P0=bit0; delay(500); P3=0x00; //关闭右边五位数码管,消影。 } /****************************************/ /* 定时中断函数程序 */ /****************************************/ void tim(void) interrupt 1 using 1 //靠计时器0计时溢出触发中断。 { unsigned int count; TH0=0x3c; //重新赋初值:15360,计数次数:65536-15360=50176,约为47.8515625毫秒,1/200秒定时 TL0=0x00; IE=0x82; //中断控制,EA=1开总中断,ET0=1:定时器0中断允许 TR0=1; //启动计时器。 count++; //计数次数标志。 if(en==3) //按键3按下,正计时计数 { if(count>=20) //这里的时间:21×47.8515625毫秒 { count=0; dsec++; //每隔约0.1秒,最后一位加一。 if(dsec==10) { dsec=0; sec++; if(sec==60) { sec=0; //实现进位。 min++; if(min==60) //计时满60分钟,自动清零,即计时最大到60分钟。 { min=0; } } } } } else //倒计时 { if(count>=20) { count=0; dsec--; if(dsec==-1) { dsec=9; sec--; if(sec==-1) { sec=59; min--; if(min==-1) { min=59; } } } } if((min==0)&&(sec==0)&&(dsec==0)) //倒计时结束的处理方案。 { TR0=0; en=0x55; i=1; //注意这里将i置1。 } } dis_min_h=tab[min/10]; //分、秒及0.1秒显示值的处理 dis_min_l=tab[min]; dis_sec_h=tab[sec/10]; dis_sec_l=tab[sec]; dis_dsec=tab[dsec]; } /*****************************************/ /* 读时间程序 **/ /*******************************************/ void ReadTime(unsigned char TIME[7]) { bit EATemp; unsigned char temp; EATemp=EA; CFG848|=0x01;//使用片内xram iicstart(); iicwriteda(0xd0); iicreadack(); iicwriteda(0x00); iicreadack(); iicstop(); iicdelay(1); iicstart(); iicwriteda(0xd1); iicreadack(); TIME[0]=iicreadda(); iicack(); TIME[1]=iicreadda(); iicack(); TIME[2]=iicreadda(); iicack(); TIME[3]=iicreadda(); iicack(); TIME[4]=iicreadda(); iicack(); TIME[5]=iicreadda(); iicack(); TIME[6]=iicreadda(); iicnack(); iicstop(); iicdelay(1); TIME[0]=((TIME[0]&0x7f)>>4)*10+(TIME[0]&0x0f); //second TIME[1]=((TIME[1]&0x7f)>>4)*10+(TIME[1]&0x0f); //minute if(TIME[2]&0x40) { if(TIME[2]&0x20)temp=0x80;else temp=0x40; TIME[2]=((TIME[2]&0x1f)>>4)*10+(TIME[2]&0x0f); //hour TIME[2]|=temp; } else { TIME[2]=((TIME[2]&0x3f)>>4)*10+(TIME[2]&0x0f); } TIME[3]=TIME[3]&0x07; //week TIME[4]=((TIME[4]&0x3f)>>4)*10+(TIME[4]&0x0f); //date TIME[5]=((TIME[5]&0x1f)>>4)*10+(TIME[5]&0x0f); //month TIME[6]=(TIME[6]>>4)*10+(TIME[6]&0x0f); //year EA=EATemp; } /*****************************************/ /* 设置时间程序 **/ /*******************************************/ void SetTime(unsigned char TIME[7]) //函数参数设为一个7元素数组 { bit EATemp; unsigned char temp=0; unsigned char TimeTemp[7]; EATemp=EA; //EA是开总中断的关键字。 CFG848|=0x01; //使用片内xram,CFG848查阅ADuC848英文说资料第25页。 for(temp=0;temp<7;temp++) TimeTemp[temp]=TIME[temp]; temp=0; //将初值归零,为循环调用此函数做准备。 TimeTemp[6]=((TimeTemp[6]/10)<<4)+(TimeTemp[6]); //转换成BCD码,为I2C总线的传输做准备。 TimeTemp[5]=((TimeTemp[5]/10)<<4)+(TimeTemp[5]); TimeTemp[4]=((TimeTemp[4]/10)<<4)+(TimeTemp[4]); TimeTemp[3]=((TimeTemp[3]/10)<<4)+(TimeTemp[3]); if((TimeTemp[2]&0xc0)==0x00) //Timetemp[2]是时的设置,由于有12小时制和24小时制,故分类讨论。 { TimeTemp[2]=((TimeTemp[2]/10)<<4)+(TimeTemp[2]); } else { if((TimeTemp[2]&0xc0)==0x01) //这里的条件恐怕永远都不能满足吧。 temp=0x40; else temp=0x60; //24小时计数的算法。 TimeTemp[2]&=0x3f; //不修改低6位的值。 TimeTemp[2]=((TimeTemp[2]/10)<<4)+(TimeTemp[2]); TimeTemp[2]|=temp; } TimeTemp[1]=((TimeTemp[1]/10)<<4)+(TimeTemp[1]); TimeTemp[0]=((TimeTemp[0]/10)<<4)+(TimeTemp[0]); TimeTemp[0]&=0x7f; //0x7f:关闭修改时间的参数。详见资料DS1307。 iicstart(); iicwriteda(0xd0); //0xd0:这是DS1307在总线上的物理地址。详见资料DS1307。 iicreadack(); //调用读应答函数。 iicwriteda(0x00); //0x00:这是接下来传送的数据存储到DS1307的物理地址。详见资料DS1307。这是传送方式规定的。 iicreadack(); //调用读应答函数。 iicwriteda(TimeTemp[0]); //进行时间设置数据的传送。 iicreadack(); iicwriteda(TimeTemp[1]); iicreadack(); iicwriteda(TimeTemp[2]); iicreadack(); iicwriteda(TimeTemp[3]); iicreadack(); iicwriteda(TimeTemp[4]); iicreadack(); iicwriteda(TimeTemp[5]); iicreadack(); iicwriteda(TimeTemp[6]); iicreadack(); iicstop(); //关闭总线通信。 iicdelay(1); //总线延时。 EA=EATemp; //与前面的语句呼应,确保EA的值保持不变。 } /******************************/ /* 时间设置使能函数 */ /******************************/ void SwitchRTC(unsigned char SWITCH) //SWITCH:1,禁止修改时间;0,可以修改时间。 { unsigned char temp; bit EATemp; EATemp=EA; //与后面的呼应,确保EA的值在执行下面的程序前后不被改变。 CFG848|=0x01; //使用片内xram,CFG848查阅ADuC848英文说资料第25页。 iicstart(); //打开I2C总线,准备通信。 iicwriteda(0xd0); iicreadack(); iicwriteda(0x00); iicreadack(); iicstop(); iicstart(); iicwriteda(0xd1); iicreadack(); temp=iicreadda(); //将I2C总线读取的数据赋给temp进行保存。 iicnack(); //关闭总线响应。 iicstop(); if(SWITCH) temp&=0x7f; else temp|=0x80; iicstart(); iicwriteda(0xd0); iicreadack(); iicwriteda(0x00); iicreadack(); iicwriteda(temp); iicreadack(); iicstop(); EA=EATemp; }

立即下载
3积分/C币
Keil 5.x注册机, 亲测好用

keil MDK 4.x 5.x注册机, 需要用的同学拿去。 Microcontroller Development Kit - Version 4.22a [ARM Processor Support] Updated: includes the RealView Compilation Tools version 4.1.0.791 . [New Supported Devices] Atmel SAM3S8B, SAM3S8C, SAM3SD8B, and SAM3SD8C. Energy Micro EFM32GG230F1024, EFM32GG230F512, EFM32GG280F1024, EFM32GG280F512, EFM32GG290F1024, EFM32GG290F512,EFM32GG330F1024, EFM32GG330F512, EFM32GG380F1024, EFM32GG380F512, EFM32GG390F1024, EFM32GG390F512,EFM32GG840F1024, EFM32GG840F512, EFM32GG880F1024, EFM32GG880F512, EFM32GG890F1024, EFM32GG890F512,EFM32GG940F1024, EFM32GG940F512, EFM32GG980F1024, EFM32GG980F512, EFM32GG990F1024, EFM32GG990F512, EFM32G222F128,EFM32G222F64, EFM32G222F32, EFM32G232F128, EFM32G232F64, EFM32G232F32, EFM32G842F32, EFM32G842F64, EFM32G842F128,EFM32TG222F8, EFM32TG222F16, EFM32TG222F32, EFM32TG232F8, EFM32TG232F16, EFM32TG232F32, EFM32TG822F8,EFM32TG822F16, EFM32TG822F32, EFM32TG842F8, EFM32TG842F16, EFM32TG842F32, EFM32GG295F512, EFM32GG295F1024,EFM32GG395F512, EFM32GG395F1024, EFM32GG895F512, EFM32GG895F1024, EFM32GG995F512, EFM32GG995F1024, EFM32LG230F64,EFM32LG230F128, EFM32LG232F64, EFM32LG232F128, EFM32LG280F64, EFM32LG280F128, EFM32LG290F64, EFM32LG290F128,EFM32LG295F64, EFM32LG295F128, EFM32LG395F64, EFM32LG395F128, EFM32LG395F256, EFM32LG840F64, EFM32LG840F128,EFM32LG842F64, EFM32LG842F128, EFM32LG880F64, EFM32LG880F128, EFM32LG890F64, EFM32LG890F128, EFM32LG895F64,EFM32LG895F128, EFM32LG895F256, EFM32LG995F64, EFM32LG995F128, and EFM32LG995F256. Freescale MK10FX512xxx12, MK10FN1M0xxx12, MK20FX512xxx12, MK20FN1M0xxx12, MK60FX512xxx12, MK60FN1M0xxx12,MK60FX512xxx15, MK60FN1M0xxx15, MK61FX512xxx12, MK61FN1M0xxx12, MK61FX512xxx15, MK61FN1M0xxx15, MK70FX512xxx12,MK70FN1M0xxx12, MK70FX512xxx15, and MK70FN1M0xxx15. Fujitsu Semiconductors MB9AF111L, MB9AF111M, MB9AF111N, MB9AF311L, MB9AF311M, and MB9AF311N. NXP LPC12D27/301, and LPC11D14/302. Milandr MDR32F1, MDR32F2, and MDR32F3. ST STM32F405RG, STM32F405VG, STM32F405ZG, STM32F407VG, STM32F407IG, STM32F407ZG, STM32F407VE, STM32F407ZE,STM32F407IE, STM32F415RG, STM32F415VG, STM32F415ZG, STM32F417VG, STM32F417IG, STM32F417ZG, STM32F417VE,STM32F417ZE, and STM32F417IE. Texas Instruments LM4F110B2QR, LM4F110C4QR, LM4F110E5QR, LM4F110H5QR, LM4F111B2QR, LM4F111C4QR, LM4F111E5QR,LM4F111H5QR, LM4F112C4QC, LM4F112E5QC, LM4F112H5QC, LM4F112H5QD, LM4F120B2QR, LM4F120C4QR, LM4F120E5QR,LM4F120H5QR, LM4F121B2QR, LM4F121C4QR, LM4F121E5QR, LM4F121H5QR, LM4F122C4QC, LM4F122E5QC, LM4F122H5QC,LM4F122H5QD, LM4F130C4QR, LM4F130E5QR, LM4F130H5QR, LM4F131C4QR, LM4F131E5QR, LM4F131H5QR, LM4F132C4QC,LM4F132E5QC, LM4F132H5QC, LM4F132H5QD, LM4F230E5QR, LM4F230H5QR, LM4F231E5QR, LM4F231H5QR, LM4F232E5QC,LM4F232H5QC, LM4F232H5QD, RM48L530, RM48L540, RM48L550, RM48L730, RM48L740, RM48L750, RM48L930, RM48L940, RM48L950,TMS570LS3137, TMS570LS3135, TMS570LS3134, TMS570LS2134, TMS570LS2125, and TMS570LS2124. Toshiba TMPM341FYXBG, TMPM369FDFG, and TMPM369FYFG. [Device support] Atmel Added: CMSIS device files for Atmel SAM3S8 and SAM3SD8 based devices in folders ..\ARM\Startup\Atmel\SAM3S\ and..\ARM\INC\Atmel\SAM3S\. Added: flash programming algorithms for Atmel SAM3S8 and SAM3SD8 based devices, in folders ..\ARM\Flash\ and..\ARM\Flash\ATSAM3\. Energy Micro Added: CMSIS device files for EFM32G222Fx, EFM32G2232Fx, and EFM32G842Fx based devices, in folders..\ARM\INC\EngergyMicro\EMF32\ and ..\ARM\Startup\EnergyMicro\EFM32\. Added: flash programming algorithms for EFM32G222Fx, EFM32G2232Fx, and EFM32G842Fx based devices, in folder..\ARM\Startup\EnergyMicro\EFM32\. Added: SFD files for EFM32G222Fx, EFM32G2232Fx, and EFM32G842Fx based devices, in folder..\ARM\SFD\EnergyMicro\EFM32G\. Added: CMSIS device files for EFM32TGxxxFx, EFM32GGxxxFx, and EFM32LGxxxFx based devices, in folders..\ARM\INC\EngergyMicro\EMF32\ and ..\ARM\Startup\EnergyMicro\EFM32\. Added: flash programming algorithms for EFM32TGxxxFx, EFM32GGxxxFx, and EFM32LGxxxFx based devices, in folder..\ARM\Startup\EnergyMicro\EFM32\. Added: SFD files for EFM32TGxxxFx based devices, in folder ..\ARM\SFD\EnergyMicro\EFM32TG\. Added: SFD files for EFM32GGxxxFx based devices, in folder ..\ARM\SFD\EnergyMicro\EFM32GG\. Added: SFD files for EFM32LGxxxFx based devices, in folder ..\ARM\SFD\EnergyMicro\EFM32LG\. Freescale Added: System Viewer files for Freescale Kinetis MK10xxx, MK20xxx, MK30xxx, MK40xxx, MK5xxxx, MK60xxx, MK61xxx, and MK70xxx based devices, in folder ..\ARM\SFD\Freescale\Kinetis\. Added: startup files for Freescale Kinetis MK10xxx, MK20xxx, MK30xxx, MK40xxx, MK5xxxx, MK60xxx, MK61xxx, and MK70xxx based devices, in folder ..\ARM\Startup\Freescale\Kinetis\. Added: CMSIS files for Freescale Kinetis based devices, in folders ..\ARM\Startup\Freescale\Kinetis\ and..\ARM\INC\Freescale\Kinetis\. Fujitsu Added: flash programming algorithms for Fujitsu MB9A111 and MB9A311 based devices, in folder ..\ARM\FLASH\MB9BFxxx\. Added: System Viewer files for Fujitsu MB9AF1xx based devices, in folder ..\ARM\SFD\Fujitsu\MB9A110\. Added: System Viewer files for Fujitsu MB9AF3xx based devices, in folder ..\ARM\SFD\Fujitsu\MB9A310\. Added: System Viewer files for Fujitsu MB9BF1xx based devices, in folder ..\ARM\SFD\Fujitsu\MB9B100\. Added: System Viewer files for Fujitsu MB9BF3xx based devices, in folder ..\ARM\SFD\Fujitsu\MB9B300\. Added: System Viewer files for Fujitsu MB9BF4xx based devices, in folder ..\ARM\SFD\Fujitsu\MB9B400\. Added: System Viewer files for Fujitsu MB9BF5xx based devices, in folder ..\ARM\SFD\Fujitsu\MB9B500\. Milandr Added: flash programming algorithms for Milandr MDR32Fx based devices, in folder ..\ARM\FLASH\MDR32Fx\. Added: startup files for Milandr MDR32Fx based devices, in folder ..\ARM\Startup\Milandr\MDR32Fx\. NXP Added: System Viewer files for NXP LPC12D27 device, in folder ..\ARM\SFD\NXP\LPC12xx\. Updated: device support files for NXP LPC1800 based device, in folders ..\ARM\Startup\NXP\LPC18xx\ and..\ARM\INC\NXP\LPC18xx\. ST Added: flash programming algorithms for ST STM32F4xx based devices, in folder ..\ARM\FLASH\ST\STM32F4xx\. Added: System Viewer file for ST STM32F4xx based devices, in folder ..\ARM\SFD\ST\STM32F4xx\. Added: startup files for ST STM32F4xx based devices, in folder ..\ARM\Startup\ST\STM32F4xx\. Updated: device support files for ST STM32F2xx based devices, in folder ..\ARM\INC\ST\STM32F2xx\ and..\ARM\Startup\ST\STM32F2xx\. TI Added: device header files for TI Cortex-M4 based devices, in folder ..\ARM\INC\Luminary\. Added: startup files for TI LM4Fxxxx based devices, in folder ..\ARM\Startup\Luminary\. Added: System Viewer files for TI LM4Fxxxx based devices, in folder ..\ARM\SFD\Luminary\. Added: StellarisWare Peripheral driver library version 7860 for TI Cortex-M4 based devices, in folder..\ARM\RV31\LIB\Luminary\. Added: SystemViewer support files for TI LM3S based devices, in folder ..\ARM\SFD\Luminary\. Updated: startup files for TI LM3S based devices, in folder ..\ARM\Startup\Luminary\. Added: flash programming algorithms for TI LM3S based devices, in folder ..\ARM\Flash\LM3S\. Added: flash programming algorithms for TI LM4F based devices, in folder ..\ARM\Flash\LM4F\. Added: flash programming algorithms for TI TMS570LSxxxx based devices, in folder ..\ARM\Flash\. Toshiba Added: flash programming algorithm for Toshiba TMPM341FYXGB device, in folder ..\ARM\FLASH\. Updated: startup files for Toshiba TMPM341 based devices, in folder ..\ARM\Startup\Toshiba\. Added: device support for Toshiba TMPM369 based devices, in folder ..\ARM\Startup\Toshiba\. [Board support] EnergyMicro Added: blink, clock, emlcd, emode, energy, inttemp, lcsense, lightsense, and touch examples for EnergyMicro EFM32TG_STK3300board, based on EFM32TG840F32 device, in folder ..\ARM\Boards\EnergyMicro\EFM32TG_STK3300\. Updated: examples for EnergyMicro EFM32_Gxxx_DK board, based on EFM32G890F128 device, in folder..\ARM\Boards\EnergyMicro\EFM32_Gxxx_DK\. Updated: examples for EnergyMicro EFM32_Gxxx_STK board, based on EFM32TG840F32 device, in folder..\ARM\Boards\EnergyMicro\EFM32_Gxxx_STK\. Keil Updated: examples for Keil MCB1700 board, based on NXP LPC1768 device, in folder ..\ARM\Boards\Keil\MCB1700\. Milandr Added: Blinky and RTX_Blinky examples for Milandr MCU_1986VE92U board, based on Milandr MDR32F2 device, in folder..\ARM\Boards\Milandr\MCU_1986VE92U\. SILICA Added: RTX_Blinky example for SILICA Xynergy board, based on ST STM32F217IG device, in folder..\ARM\Boards\SILICA\Xynergy\. ST Added: Blinky, RTX_Blinky, Blinky_ULp and Demo examples for Keil MCBSTM32F200 board, based on ST STM32F207IG device, in folder ..\ARM\Boards\Keil\MCBSTM32F200\. Updated: Examples for ST STM3220F-EVAL and ST STM3220G-EVAL board and can now be found in folder..\ARM\Boards\ST\STM3220G-EVAL\. All examples are configured to work with both boards. Added: Blinky and RTX_Blinky, examples for ST STM32F4-Discovery board, based on ST STM32F407VG device, in folder..\ARM\Boards\ST\STM32F4-Discovery\. Added: Blinky and RTX_Blinky, examples for ST STM32L-Discovery board, based on ST STM32L152RB device, in folder..\ARM\Boards\ST\STM32L-Discovery\. TI Added: Blinky example for TI EK-LM3S9D90 board, based on TI LM3S9D90 device, in folder ..\ARM\Boards\Luminary\ek-lm3s9d90\. Updated: TI board support files and examples in folder ..\ARM\Boards\Luminary\. [Debugger] New debugger features have been implemented. 1.New Call Stack window. 2.New Watch window. 3.New Symbol window. Note: The Locals windows is from now one obsolete. [Target debugging] Updated: Segger J-Link driver for ARM devices to version 4.34. Updated: support for ST-Link USB-JTAG debugger. The ST-LINKIII-Keil.dll MDK driver in folder ..\ARM\STLink\ has been updated to version 1.5.6.1. Updated: degub driver lmidk-agdi.dll for TI Stellaris and FTDI In-Ciruit debug interface to version 146.0.0.0. [ULINKpro Debug and Trace Unit] New implementation of trace view for Cortex-M3/-M4 hardware targets adding: 1.Find functionality. 2.Export to .CSV file 3.Display delta of time. 4.Show function correlation. [RTX] Corrected: a problem in tsk_lock for Cortex-M library. The function might fail to disable the task switching, if the execution ofrt_tsk_lock is preempted with the isr_xxx function call. [CAN] Added: CAN_Ex1 example for ST Microelectronics STM32F207 on Keil MCBSTM32F200 board in..\ARM\Boards\Keil\MCBSTM32F200\RL\CAN folder. [FlashFS] Added: ARM7 and Cortex-M3 libraries without FAT Long File Name support. Added: SD_File example and NAND_File example for MCBSTM32F200 evaluation board. Examples can be found in..\ARM\Boards\Keil\MCBSTM32F200\RL\FlashFS folder. Removed: the path information from the filename in Embedded File System. Because the FTP Server generates filenames with the path information, it did not work with RAM or SPI flash where folders are not supported. [TCPnet] Added: a multi-user authentication extension in Web Server. This allows creating multiple user accounts and provides optional user-based resource access restriction. Added: a HTTP Server-Id header option for Web Server in the configuration file. Added: an Option 67 (Bootfile Name) in DHCP client. Added: an icmp_ping function which allows to ping a remote host. Added: an Idle Connection timeout option for Telnet Server and FTP Server in the configuration file. Added: authentication type CHAP-MD5 in PPP interface. Authentication protocols PAP or CHAP can be selectively enabled or disabled in the configuration file. Added: a link test LCP-Echo in PPP interface to detect remote peer disconnection or restart. LCP-Echo interval is defined in the configuration file. Enhanced: several minor changes to improve PPP link robustness and stability. Enhanced: PPP debug messages. Added: new file types/extensions in Web server [MIME types]: zip [application/x-zip-compressed] dll [application/x-msdownload] Added: TCPnet examples for MCBSTM32F200 evaluation board. The examples can be found in..\ARM\Boards\Keil\MCBSTM32F200\RL\TCPnet folder. Corrected: potential TCP connect problem with some GPRS providers, because the IP Don't fragment flag was not set. Don't fragmentIP flag is now set for all outgoing packets. Extended: the max. OID address size in SNMP Agent from 13 to 17 bytes. Corrected: potential memory corruption in BSD socket interface when large receive packets were queued. Corrected: filename parsing in Web server. A file type is now determined by the filename extension, found after the last dot in a filename. Corrected: UDP socket and source port handling in DNS client. A free high UDP port from 1024 to 65535 is now chosen for a source port. After the host name is resolved, the udp port is closed. Corrected: selecting a valid IP address of a DNS server when PPP enabled and ethernet disabled in the configuration. Warning: The configuration file Net_Config.c is no more compatible to older versions and need to be replaced. Incompatible configuration files will not compile and build. [USB] Enhanced: USB Host core redesigned for multiple instances. [µVision] This MDK release comes with µVision V4.22.22.

立即下载
6积分/C币
Keil C51 V7.06 完全破解版

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。

立即下载
12积分/C币
KEIL破解版+中文

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。

立即下载
12积分/C币
关闭
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
点击完成任务获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

Keil指南

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
VIP和C币套餐优惠
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载
您还未下载过该资源
无法举报自己的资源

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可返还被扣除的积分

  • 举报人:
  • 被举报人:
  • *类型:
    • *投诉人姓名:
    • *投诉人联系方式:
    • *版权证明:
  • *详细原因: