单片机的C51语言分解.ppt

  1. 1、本文档共119页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章单片机的C51语言 参考程序 程序运行效果 第4章单片机的C51语言 第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语言 4.5.2.1 数码管动态显示原理与编程 两种显示接口:静态显示接口和动态显示接口 静态显示接口:一个数码管的引脚独立占据一根I/O口线。 优点:被显示数据只要送入并行口后就不再需要CPU干预,因而显示效果稳定。 缺点:占用资源较多 第4章单片机的C51语言 所有数码管的输入端(段码线)对应并联在一个IO口上,而每位数码管的公共端(位码线)分别由一位IO线控制; 由IO口输出的显示码可被所有数码管收到,但只有满足位码线电平要求的数码管可被驱动。 动态显示接口 第4章单片机的C51语言 动态显示编程原理: 快速(如10ms)切换段码值和位码值,使每一时刻只有一只数码管被驱动。利用视力暂留特性,可获得连续显示效果。 优点:占用IO口资源较少(节省空间) 缺点:需要CPU不断进行干预(占用机时) 第4章单片机的C51语言 实例6 根据下图共阴极型数码管动态显示电路,编程实现显示字符“L2”的功能。 第4章单片机的C51语言 分析: Proteus中的双联LED数码管相当于两个并联的数码管。 7SEG-MPX2-CC-BLUE Blue,2 Digit,7-segment Cathode Display 第4章单片机的C51语言 P2→ “0x38”, P3.1→“1”,P3.0 → “0” P2→ “0x5b”, P3.1→“0”,P3.0 → “1” P2←led_mode[0], P3 ←0000 0010B =2 P2←led_mode[1], P3 ←0000 0001B =1 led_mode[ ]={0x38,0x5b} led_point=0 led_point=1-led_point P2=led_mode[led_point] P3 =2 - led_point 程序主要部分 第4章单片机的C51语言 #include REG51.H char led_mod[] = {0x38,0x5B}; void delay(unsigned int time); void main() { char led_point = 0; while (1) { P3 = 2 - led_point; P2= led_mod[led_point]; led_point = 1 - led_point; delay(30); } } led_point=0 led_point=1-led_point P2=led_mode[led_point] P3 =2 - led_point 完整程序 第4章单片机的C51语言 第4章单片机的C51语言 运行效果图 第4章单片机的C51语言 4.5.2.2 行列式键盘原理与编程 独立式键盘的电路简单,易于编程,但占用的I/O口线较多,当需要较多按键时可能产生IO口资源紧张问题。 独立式键盘电路 第4章单片机的C51语言 行列式键盘——将I/O口分为行线和列线,按键跨接在行线和列线上,列线通过上拉电阻接正电源。 4×4行列式键盘 行列式键盘的特点:占用I/O口线少,但软件过程复杂。 第4章单片机的C51语言 ① 键盘列扫描 各行电平同时置1,各列电平轮流清0。 扫描码:key_scan[] = {0xef, 0xdf, 0xbf, 0x7f}; 写P2: P2=key_scan[i]; 行列式键盘编程原理(以P2口接4×4键盘为例) 第一次 1110 1111B 第二次 1101 1111B 第三次 1011 1111B 第四次 0111 1111B = 0xef = 0xdf = 0xbf = 0x7f 扫描输出码 第4章单片机的C51语言 如果 (P2 0x0f) = 0x0f →无键压下 如果 (P2 0x0f) ≠ 0x0f →有键压下 ② 按键闭合状态判断 0#: 1110 1110B——0xee 1#: 1101 1110B——0xde … … F#: 0111 0111B——0x77 按键闭合前后,所在行线端口电平反转; 读P2后,若发现其低4位为f,说明无键压下;反之则相反。 键值——按键闭合时从引脚读出的数值。 键值数组 k

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档