Keil及C语言常用程序.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Keil及C语言常用程序

在个人的单片机开发板c语言程序及模块设计总结 目录 Keil 软件的使用 2 *LED 显示输出* 8 一. 闪烁灯 9 二.广告灯的左移右移 10 三. 按键识别 14 四.数码管动态显示 15 五.4×4 矩阵式键盘识别 17 六.按键中断识别 19 七.定时器 T0 的应用---9.9 秒计时设计 21 八.利用定时器产生乐曲 23 九.数摸转换 ADC0804 的应用 26 十.摸数转换 DAC0832的应用 32 十一.24CO8 的读写操作 35 十二.PC 机与单片机通信(RS232 协议) 39 十三.DS18B20 测量温度系统 41 十四.128X64 液晶显示器的基本应用 45 十五.标准键盘 PS/2与单片机通信 47 十六,128X64无字库液晶4X4键盘输入使用(密码锁) 51 十七、串口下载线 57 *LED 显示输出* 很明显,要点亮使发光二极管,必须使单片机的I/O口P1.0输出低电平。于是我们的任务就是编程序使P1.0输出地电平。 #includereg52.h /*LED 显示输出 具体口输出*/ sbit P1_0=P1^0; /*定义p1.0为p1_0 */ sbit P1_1=P2^1; /*定义p2.1为p1_1 */ sbit P1_2=P3^2;/*定义p3.2为p1_2 */ sbit P1_3=P0^3;/*定义p0.3为p1_3 */ main() { P1_0=0;/*输出高电平 即:灯亮 */ P1_1=0; P1_2=0; P1_3=0; } #includereg52.h /* LED 显示输出 整体输出*/ main() { P1=0;/*输出高电平 */ P2=0; P3=0; P0=0; AT89S52单片机从简单到复杂程序演示。 一. 闪烁灯 [实验任务] 在 P1.0 端口上接一个发光二极管 L1,使 L1 在不停地一亮一灭,一亮一灭 的时间间隔为0.2秒。 [硬件电路] 与上面点亮小灯的连接完全相同。 #includereg52.h /*闪烁灯*/ del() /*延时0.2秒*/ { unsigned char i,j,k; for(i=20;i0;i--) for(j=20;j0;j--) for(k=248;k0;k--); } sbit P1_0=P1^0; main() { while(1)/*永远为真,一直执行下去*/ { P1_0=0; del(); P1_0=1; del(); } } #include reg52.h //#define uchar unsigned char //#define uint unsigned int sbit P10=P1^0; void mDelay(unsigned int Delay) { unsigned int i; for(;Delay0;Delay--) { for(i=0;i124;i++) {;} } } void main() { for(;;) { P10=!P10; //取反 P1.0 mDelay(1000); //延时1秒。如果是2000那么是2秒 } } 二.广告灯的左移右移 [实验任务] 做广告灯的左移右移,八个发光二极管分别接在单片机的P3.0-P3.7接口 上,输出“0”时,发光二极管亮,开始时P3.0→P3.1→P3.2→P3.3→┅→P3.7 →P3.6→┅→P3.0亮,重复循环。(当然,四个输出口可以同时实现广告灯) [硬件电路] #includereg52.h /*广告灯的左移右移*/ unsigned char i; unsigned char temp; unsigned char a,b; delay()//延时程序 {unsigned char m,n,s; for(m=20;m0;m--) for(n=20;n0;n--) for(s=248;s0;s--); } main() { while(1) { temp=0xfe; P3=P2=P0=P1=temp;//直接对1/0口p3赋值,使批p3.0输出低电平。 delay();//延时 for(i=1;i8;i++)//实现广告灯的从右到左移动 { a=tempi; b=temp(8-i); P3=P2=P0=P1=a|b; delay(); } for(i=1;i8;i++)//实现广告灯的从左到右移动 { a=tempi; b=temp(8-i); P3=P2=P0=P1=a|b; delay(); } } } 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档