实验报告_流水灯与蜂鸣器

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

重庆理工大学

实验报告

课程汇编语言程序设计

题目流水灯与蜂鸣器实验

院系名称计算机科学与工程学院

班级 115030703 学生姓名郭鑫学号 11503070310 任课教师但远宏

时间 2016-11-15

1 电路原理分析

1.1 LED及其驱动电路工作原理

Led灯两端为高电势灯不亮,两端出现电势差则灯亮,因为led的一端接的VCC,.所以I/O口为高电势不亮,为低电势就亮,所以通过控制P0端的电势,就能控制led。

1.2 蜂鸣器及其驱动电路工作原理

蜂鸣器里由三极管,I/O口驱动三极管,如果I/O口为高电平,三极管导通,集电极电流通过蜂鸣器让蜂鸣器发出声音,如果I/O口为低电平,三极管截止,没有电流流过蜂鸣器,所以就不会发出声音。

2 程序设计与实现

2.1用位操作依次点亮1、3、5、7,再点亮2、4、6、8

用一个值来表示8个灯的状态,每次循环都将这个状态赋给P0口,改变灯的状态

起始状态为1111 1111,都不亮,

使用位左移两个,变为1111 1100,再加2,变为1111 1110

循环3次

变为1010 1010,此时已经完成依次亮1 3 5 7

用一个计数器记录循环次数,接下来循环只执行位左移两个,不用加2

最终变为0000 0000

程序完成

2.2 用总线操作依次点亮1、3、5、7,再点亮2、4、6、8

直接改变P0口的值,使其控制的灯亮,

比如先是0xff -> 0xfe

这样就使灯1亮

依次改变P0的值就能完成

2.3 间隔100ms先奇数灯亮再偶数亮,循环三次,每循环一次,蜂鸣

器响一声;8个全部闪烁3次;关闭发光管,程序停止

先将奇数亮的值0x55赋给P0,等100ms,再将偶数亮的值0xaa赋给P0,等100ms,将P2^4也就是蜂鸣器的I/O口赋0,再赋1,形成依次蜂鸣。

循环三次,用计数器记录循环次数。

当计数器为三时,结束循环,将P0赋0x00,再赋0xff,完成一次闪烁,计数器减一,当计数器为0,进入死循环,程序停止。

相关文档
最新文档