- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机程序设计基础 在简单了解单片机原理的基础上,我们就可以试着编一些简单的程序,以便提高单片机系统的认识,同时培养单片机的编程能力。本章以项目和任务为内容,由浅入深、循序渐进,介绍单片机资源的利用以及简单系统程序设计的思想,达到培养单片机程序设计能力目标。另外,每一个项目的程序可以在Kile软件中编写,也可以通过软件仿真和硬件仿真观察程序运行的结果。 3.1 单片机驱动一个LED闪烁 单片机的I/O口可以直接驱动一些器件,通过单片机运行程序,达到单片机对一些器件的控制。LED是一种常用的显示器件,单片机的I/O可以直接驱动。本节任务是利用单片机的一个I/O口驱动LED电路,设计程序使其闪烁。在了实现P0.0口驱动负载特点基础上掌握程序设计一般方法,同时还要掌握单片机系统仿真、程序下载的一般过程。 3.1.1 电路原理 STC-89C51单片机的P0口采用为OD门输出,高电平输出时不存在拉出电流,但P0口输出低电平时,P0口灌入电流达到20毫安,因此P0只具有较强的低电平驱动能力。如果利用P0驱动门电路以及如LED这样的小功率负载,必须加上拉电阻,否则,即使编程让P0输出高电平,但是实际只能输出低电平。 3.1.2 程序设计与编译 一、程序设计 单片机内部的P0~P3寄存器都可以进行位操 作,P0~P3对应的端口即单片机的32个I/O口会输出P0~P3的结果。本例实现LED闪烁,只要让P0.0电平周期性变化即可。程序流程见图3-1-2所示。 /*******************************************************************/ #includereg51.h //包含头文件 sbit LED1 = P0^0; // LED接P0.0。在kell C51软件中, //定义P0.0为sbit sbit LED2 = P0^7; void delay(unsigned char x) //延时函数 { unsigned char i,j; for(i = 0;i x;i++) for(j = 0;j 200;j++); } void main(void) //主函数 { while(1) //程序死循环 { LED1 = 0; //P0.0输出低电平,LED1灭 delay(100); //调用延时函数,延时一段时间,约0.3秒, //不精确 LED1 = 1; //P0.0输出高电平,LED1亮 delay(100); } } /************************************************************/ 在Keil的应用过程中,由于编译过程成产生很多文件,因此新建一个项目需在一个目录中建立。Keil软件创建的HEX文件可以下载到单片机的程序存储器中运行,也可以被仿真软件调用。 3.1.3 汇编语言嵌入 在使用C语言所开发的项目中,有时需要写一些汇编语言的程序,以提高程序的精炼和精确度。如本例中的delay()函数延时不够精确,可以使用汇编语言实现时间延迟,提高延时的精确程度。在一个项目中要加入汇编语言程序时,有两种方法,第一种方法是使用Inline assembly,也就是在程序中直接加入汇编语言码,如以下的程序所示: /************延时函数************/ void delay100us() { #pragra endasm more: mov R3,#48 djnz R3,$ djnz R7,more #pragma endasm } /*********************************/ 3.1.4 软件仿真 软件仿真是程序设计结果的验证,能够
您可能关注的文档
- 创投网络-精品·公开课件.ppt
- 创投与私募股权3-精品·公开课件.ppt
- 创投是魔鬼-精品·公开课件.ppt
- 创投与私募股权4-精品·公开课件.ppt
- 创维42E60HR内部资料-精品·公开课件.ppt
- 创想颖峰学校办公OA系统培训教程-精品·公开课件.ppt
- 创新基金网络工作系统-精品·公开课件.ppt
- 创新基金网络服务平台操作培训教程-精品·公开课件.ppt
- 创新基金网络工作系统培训材料2010-精品·公开课件.ppt
- 创新基金网络工作系统培训材料2007-5-22-精品·公开课件.ppt
- 2023年江苏省镇江市润州区中考生物二模试卷+答案解析.pdf
- 2023年江苏省徐州市邳州市运河中学中考生物二模试卷+答案解析.pdf
- 2023年江苏省苏州市吴中区中考冲刺数学模拟预测卷+答案解析.pdf
- 2023年江苏省南通市崇川区田家炳中学中考数学四模试卷+答案解析.pdf
- 2023年江西省吉安市中考物理模拟试卷(一)+答案解析.pdf
- 2023年江苏省泰州市海陵区九年级(下)中考三模数学试卷+答案解析.pdf
- 2023年江苏省苏州市高新二中中考数学二模试卷+答案解析.pdf
- 2023年江苏省南通市九年级数学中考复习模拟卷+答案解析.pdf
- 2023年江苏省南通市海安市九年级数学模拟卷+答案解析.pdf
- 2023年江苏省泰州市靖江外国语学校中考数学一调试卷+答案解析.pdf
最近下载
- 第三节 免疫分析仪器的维护_医疗设备维护概论_第四章 医用检验设备的维护.pptx
- 垃圾分类整治工作总结.pptx
- 2024年常见人力资源面试题库(通用7篇).pdf
- 《糟糕,身上长条纹了!》绘本故事PPT2套.pptx
- 25题规划发展岗位常见面试问题含HR问题考察点及参考回答.pdf
- 清华大学央企班组长远程培训自测题及答案(17门课合集).pptx
- 英语国家概况课后习题答案解析(完整版).doc
- 幼儿园 大班数学《美丽的对称图形》.pptx VIP
- 新视野大学英语(第三版)读写教程Section B-Too much of a good thing – A real addiction.ppt
- 2023年中小学教师职称考试试题含答案.docx
文档评论(0)