- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验二中断实验(广石化)
实验报告 实验二 中断实验 学院: 电信学院 专业: 电子信息科学与技术 班级: 学生: 学号: 指导教师: 实验时间: 2014年4月30日 实验二 中断实验 一、实验目的 1、掌握数码管的静态和动态扫描显示法。 2、掌握单片机系统中断的原理及使用方法。 3、理解键盘去抖动的原理。 二、实验原理 1. 发光二极管的工作原理 发光二极管简称为LED(Light Emiting Diode)。通常所说的LED显示器由7个发光二极管组成,因此也称之为七段LED显示器,其排列形状如图8.15(a)所示。此外,显示器中还有一个小圆点型发光二极管(在图中以dp表示),用于显示小数点。通过七段发光二极管亮暗的不同组合,可以显示多种数字、字母以及其它符合。 LED显示器中的发光二极管共有两种连接方法,一种是共阴极连接,另一种共阳极连接。其连接图如图8.15(b)所示。 图 七段LED显示器 使用LED显示器时,要注意区分这两种不同的接法。为了显示数字或字符,必须对数字或字符进行编码。七段数码管加上一个小数点,共计8段。因此为LED显示器提供的编码正好是一个字节。用LED显示器显示16进制数的编码已列在表7-4所示。 表 LED显示器16进制数编码 通常使用的LED显示器都是多位的。对多位LED显示器,通常采用动态扫描的方法进行显示,即逐个循环点亮各位显示器。 为了实现LED显示器的动态扫描除了要给显示器提供段码(字形编码)的输入之外,还要对显示器加位的控制(控制LED显示器亮灭),这就是通常所说的位控和段控。 2 、中断知识 在计算机系统中,中断可以由各种硬件设备产生,以便请求服务或报告故障等。此外,中断也可由处理器自身产生,例如,程序错误或对操作系统的请求做出响应等。89C51 的中断系统具有5 个中断源,即2 个外部中断、2 个定时器中断和1 个串行中断。 中断源 入口地址 0003H T0 000BH 0013H T1 001BH S 0023H (三)、按键抖动 抖动的原因:目前大部分按键或键盘都是利用机械触电的合、断作用。机械触点在闭合 及断开瞬间由于弹性作用的影响,在闭合及断开瞬间均有抖动过程,从而使电压信号也出现 抖动,抖动时间的长短与开关的机械特性有关,一般为5~10ms。而单片机对键盘扫描一次 仅需几百微妙。这样,将会对键盘扫描产生误判。为了保证单片机对按键闭合仅作一次输入 处理,必须去除抖动的影响。 去抖动的方法: 1、外加硬件电路,用RS 触发器或单稳态电路构成的去抖动电路,或键盘扩展专用芯片。 2、在检测按键按下时,执行约10ms 的延时程序后(避开抖动前沿区域),再确认按键 是否仍然保持闭合状态。 三、实验内容 1、见图一,利用静态扫描显示法,让数码管显示数字 6 。(数码管元件7SEG-MPX1-CA,共阴极数码管) 代码: #include reg51.h #define uc unsigned char #define ui unsigned int void main() { P0=0x7d; while(1) {} } 图: 2、见图一,利用静态扫描显示法,让数码管显示数字0。 间隔时间1秒后,显示数字1。间隔时间1秒后,显示数字2。………间隔时间1秒后,显示数字F。间隔时间1秒后,显示数字0 。 周而复始,循环不息。 图一 代码: #include reg51.h #define uc unsigned char #define ui unsigned int uc code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; void delay(ui x) { ui y; for(x;x0;x--) for(y=125;y0;y--); } void main() { uc i=0; while(1) { P0=table[i]; delay(1000); i++; if(i==16) i=0; } } 截图: 见图二,利用动态扫描显示法,,让数码管显示数字 1234 。 图二
文档评论(0)