网站大量收购独家精品文档,联系QQ:2885784924

单片机第4章研讨.ppt

  1. 1、本文档共123页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机第4章研讨

第4章单片机的C51语言 2、在Keil软件里控制Proteus仿真运行(可以在运行过程中进行调试) 步骤:下载( )→ 运行( ) →停止( ) 第4章单片机的C51语言 (6) 一般调试过程 ①启动调试过程——Ctrl+F5、 、 Debug-Start/Stop Debug Session ② 开始调试——详见下页 ③ 结束调试—— 、Debug-Stop Running 第4章单片机的C51语言 调试工具栏 复位 运行到光标行 执行完当前子程序 过程单步 单步 停止 运行 调试菜单栏 快捷键 指向下条运行行 第4章单片机的C51语言 基本调试手段: 1、运行到光标行——从当前行运行到光标所在行(Ctrl+F10) 2、严格单步运行——遇到函数时亦单步进行(F11) 3、跨函数单步运行——遇到函数时将其视作一行语句(F10) 4、断点运行 ——全速运行到断点行停止(双击设置/解除断点) 5、监视输出端口——打开I/O窗口 (Peripherals-I/O-Ports) 6、监视运行变量——打开Watch#1窗口(点击 ) …… 第4章单片机的C51语言 4.1 C51的程序结构 4.2 C51的数据结构 4.3 C51与汇编语言的混合编程 4.4 C51仿真开发环境 4.5 C51初步应用编程 4.5.1 I/O端口的简单应用 4.5.2 I/O端口的进阶实践 第4章单片机的C51语言 输出单元: 发光二极管(Light Emitting Diode )——基本输出元件 低电平驱动 限流电阻R = 100Ω~1kΩ 高电平驱动 灌电流 拉电流 4.5.1.1 基本输入输出单元与编程 输入单元: 按钮(Button)或开关(Switch) ——基本输入元件 第4章单片机的C51语言 P0口为漏极开路结构——需要外接上拉电阻 当按键未按下压时,Px.n端口为高电平;按压按键后为低电平。 实例1 独立按键识别 【要求】采用独立按键方式实现下述功能:开机时LED全熄,然后根据按键动作使相应灯亮,并将亮灯状态保持到按压其它键时为止。 第4章单片机的C51语言 独立按键——每个按键都彼此独立地各占有一位I/O口线。特点是电路简单,但占用I/O口线较多。 第4章单片机的C51语言 ① 按键的闭合电平为0, 但LED的驱动电平为1,故不能直接将P0口的状态送到P1口,而应使其先取反再送出; ② 为使按键抬起后LED能保持先前的点亮状态,需要在按键未压下期间禁止向P2输出P0状态值。 【分析】 参考程序如下: 第4章单片机的C51语言 “取反”操作的优先级高于“与”操作 void main( ) { char key = 0; //定义按键变量 P2=0; //初始状态为灯全灭 while(1){ key = ~P0 0x0f; //读取按键状态,高4位清零 if (key != 0) P2 = key; //有按键动作时,P0状态值送P2 } } 第4章单片机的C51语言 编程界面和运行界面分别如下图 第4章单片机的C51语言 实例1运行效果 实例2 键控流水灯 第4章单片机的C51语言 【要求】 K1为“启动键”,首次按压K1可产生“自下向上” 的流水灯运动; K2 为“停止键”,按压K2可终止流水灯的运动; K3和K4为“方向键”,分别产生 “自上向下”和 “自下向上” 运动。 K1 K2 K3 K4 第4章单片机的C51语言 思路分析:根据键值修改标志位,根据标志位控制灯状态 总体关系流程图 第4章单片机的C51语言 键值: 按压K1——xxxx 1110B 按压K2——xxxx 1101B 按压K3——xxxx 1011B 按压K4——xxxx 0111B 无按键—— xxxx 1111B 按键动作判断——(P0 0x0f)是否等于 0x0f?若是,说明无按键动作,反之则有按键动作。 → 0x0e → 0x0d → 0x0b → 0x07 → 0x0f 获取按键状态 第4章单片机的C51语言 修改方向和启停标志值 第4章单片机的C51语言 亮灯P2输出码: xxxx 0001 xxxx 0010 xxxx 0100 xxxx 1000 D1~D4循环方向控制 char led [ ] = {0x01,0x02,0x04,0x08}; for (i=0;

文档评论(0)

yy558933 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档