- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * 单片机原理与接口技术 C51单片机编程应用 学情分析 本节选自第四章:MCS-51的C语言设计/第5节:C51程序设计实例。鉴于同学们在大一C语言程序设计中都学习过C语言,C语言的编程基础与汇编语言相比较为深厚,同时基于C语言的单片机编程与汇编语言相比也更容易读懂、理解。本节在学习完C语言对51单片机的访问语法基础后通过控制发光二极管亮灭的实例讲解C语言控制单片机编程方法。 教学内容 (1)单片机RAM、ROM的读写 (2)编程使LED灯闪烁(3)闪烁频率可调的LED灯控制 (4)编程设计流水灯 说课 掌握C51对单片机RAM、ROM、特殊功能寄存器、I/O口的访问方法 教学重点 通过单片机控制发光二极管案例理解C51的简单编程 C51库函数的调用方法 案例式教学 启发式教学 教学 方法 教学难点 知识目标 掌握C语言对51单片机的应用编程 例4-16 片内RAM的20H单元存放着一个0~05H的数,用查表法求出该数的平方值放入内部RAM的21H单元中。 * * (1)单片机RAM、ROM的读写 ----查表程序举例 void main( ) { char x,*p; char code tab[ ]={0,1,4,9,16,25}; p=0x20; x=tab[*p]; p++; *p=x; } 8051 P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 Vcc Vss +5V #includereg51.h sbit d0=P2^0; unsigned int a; void main() { while(1) { d0=0; a=51000; while(a--); d0=1; a=51000; while(a--); } } (2)编程使LED灯闪烁 #includereg52.h #define uint unsigned int #define uchar unsigned char sbit D1=P2^0; void delay( );// 主函数在调用子函数之前一定要声明该子函数。 void main( ) { while(1) { D1=0; delay( ); D1=1; delay( ); } } void delay() { uint x,y; for(x=100;x0;x--) for(y=600;y0;y--); // 第2个for函数嵌套在第1个for函数中。 } 注意没有分号 #includereg52.h #define uint unsigned int #define uchar unsigned char sbit D1=P2^0; void delay(uint); void main( ) { while(1) { D1=0; delay(1000); D1=1; delay(1000); } } 说明:延时时间自己调整。 void delay(uint z) { uint x; uchar y; for(x=z;x0;x--) for(y=200;y0;y--); } (3)闪烁频率可调的LED灯控制 8051 P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 Vcc Vss +5V 学习C51库函数的调用方法。 在keil\C51\Hlp\C51lib.chm中找到_crol_函数,该函数在intrins.h库中。所以,用时要加上 #include intrins.h (4)编程设计流水灯 (4)编程设计流水灯 #includereg52.h #include intrins.h #define uint unsigned int #define uchar unsigned char uchar temp,num; void delay(uint); void main( ) { temp=0xfe; while(1) { for(num=0;num8;num++) { P1=temp; delay(1000); temp=_crol_(temp,1); } } } void delay(uint z) { uint x,y; for(x=z;x0;x--) for(y=110;y0;y--); } 注意循环左移_crol_和左移用法的不同 * 感谢专家批评、指正! * * * * * *
您可能关注的文档
最近下载
- 2025出生医学证明管理培训.pptx VIP
- 2025年甘肃省定西市安定区称钩驿镇选聘村干部笔试备考题库及答案解析.docx VIP
- 2025广东惠州市龙门县平陵街道招聘村“两委”干部储备人选16人考试参考题库及答案解析.docx VIP
- GB50345-2012 屋面工程技术规范.pdf VIP
- 驻村工作队管理制度.docx VIP
- 新人教版(新插图)二年级上册数学全册单元期中期末测试卷(含答案).docx VIP
- 提高患者吸氧依从性品管圈 图文.pptx VIP
- 第2课《树立科学的世界观》第2框《用科学世界观指导人生发展》-【中职专用】《哲学与人生》同步课堂课件.pptx VIP
- 人教版八年级历史上册第一单元作业设计(优质案例13页).pdf VIP
- 提高病人吸氧的依从性品管圈.PPTX.pptx VIP
原创力文档


文档评论(0)