单片机应用技术 教学课件 作者 陆中宏 等 项目五C语言应用实例.pptVIP

单片机应用技术 教学课件 作者 陆中宏 等 项目五C语言应用实例.ppt

  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文档。上传文档
查看更多
程序设计 任务二 8个发光二极管的循环点亮 主函数中初始化设置:定义两个整型局部变量i和w,初始化TMOD设定定时/计数器T1是方式1定时,初值0x3cb0设定定时时间50ms,并开放定时器T1,允许中断,启动定时器运行。 int i,w; TMOD=0x10; //初始化定时器1 TH1=0x3c; TL1=0xb0; EA=1; //开总中断 ET1=1; //定时器1开中断 TR1=1; //启动定时器1 程序设计 任务二 8个发光二极管的循环点亮 While(1)语句构成无限循环,每次循环依次点亮8个发光二极管。 while(1) { w=0xfe; for (i=0;i8;i++) { flag=0; //初始标志 count=0x14; //设置中断次数 P1=w; //循环点亮LED while (flag==0); w=1; //点亮灯的位置移动 w=w|0x01; } } 拓展训练 任务二 8个发光二极管的循环点亮 1.技能训练 (1)编写程序,使P1.0口输出1Hz方波。 (2)用定时器0实现本任务,试编写C51程序。 2.知识思考 (1)89C51单片机的5个中断源的编号分别是多少? (2)C语言中哪些语句可以实现循环结构? (3)C语言中哪些语句可以实现分支结构? 任务要求 任务三 数码管动态显示 利用数码管动态显示1~8。 知识目标: (1) 知道C51数据存储类型及存储区。 (2) 了解C51的存储器模式。 (3) 进一步熟悉C51的基本语法。 技能目标: (1) 会定义外部RAM与扩展I/O的地址。 (2) 熟悉数组的概念,并会应用。 (3) 会编制数码管动态显示的C51程序。 知识链接 任务三 数码管动态显示 1.存储类型及存储区 C51 编译器提供对89C51单片机所有存储区的访问。内部数据区可分为3 个不同的存储类型:data、idata 和bdata。外部数据区包括两种不同的存储类型xdata 和pdata。程序code 存储区可在89C51 CPU 内或者在外部或者内外都有。 存储类型 描 述 data RAM 的低128B,可在一个周期内直接寻址 bdata DATA区可字节、位混合寻址的16个字节 idata 间接访问内部RAM,允许访问整个内部地址空间 pdata 外部存储区的256B,通过P0 口的地址对其寻址 xdata 片外RAM(64KB 字节) code 程序存储区使用DPTR 寻址(64K 字节) 知识链接 任务三 数码管动态显示 2.存储器模式 C5l编译器的三种存储器模式(默认的存储器类型)对变量的影响如下: (1)SMALL模式:所有缺省变量参数均定义内部数据存储器中,因此对这种变量的访问速度最快。但空间有限,而且分配给堆栈的空间比较少。该模式适用于较小的程序。 (2)COMPACT模式: 变量被定义在分页外部数据存储器中,外部数据段的长度可达256字节。这时对变量的访问是通过寄存器问接寻址(MOVX @Ri)进行的,运行速度比SMALL模式慢。 (3)LARGE模式: 所有缺省变量被定义在外部数据存储器中(最大可达64K字节),使用数据指针DPTR来间接访问变量。该模式的优点是空间大,可定义变量多,缺点是速度较慢,一般用于较大的程序。 知识链接 任务三 数码管动态显示 3.数组 数组必须由具有相同数据类型的元素构成,这些数据的类型就是数组的基本类型,如:数组中的所有元素都是整型,则该数组称为整型数组。数组必须要先定义,后使用,这里仅介绍一维数组的定义,其方式为: 类型说明符 数组名[整型表达式] 定义好数组后,可以通过:数组名[整型表达式]来使用数组元素。 在定义数组时,可以对数组进行初始化,即给其赋予初值,这可用以下的一些方法实现: (1) 在定义数组时对数组的全部元素赋予初值; 例:int a[5]={1,2,3,4,5}; 知识链接 任务三 数码管动态显示 (2) 只对数组的部分元素初始化; 例:int a[5]={1,2}; 定

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档