数字方阵程序 (单片机课程设计报告).docVIP

  • 36
  • 0
  • 约6.42千字
  • 约 19页
  • 2017-05-21 发布于浙江
  • 举报

数字方阵程序 (单片机课程设计报告).doc

数字方阵程序 (单片机课程设计报告)

合肥师范学院 实验报告册 2013 / 2014 学年 第2 学期 系 别 计算机科学与技术系 实验课程 单片机原理及应用 专 业 2011计算机软件 班 级 一班 姓 名 学 号 指导教师 实验名称 课时 实验报告成绩 实验(一)——流水灯 2 实验(二)——中断与定时/计数器 2 实验(三)——串行口实验 2 实验(四)——矩阵键盘输入识别 2 备注: 实验一 ——流水灯 实验目的 通过对P3口地址的操作控制8位LED流水点亮,从而认识单片机的存储器 实验任务 通过对P3口地址的操作控制8位LED流水点亮,从而认识单片机的存储器 实验原理图设计 图1.1 实验程序 #includereg51.h #includeintrins.h #define uchar unsigned char #define uint unsigned int sfr x=0xb0; void delay() {unsigned char i,j; for(i=0;i250;i++) for(j=0;j=i;j++) ; } void function1() {x=0xfe; delay(); x=0xfd; delay(); x=0xfb; delay(); x=0xf7; delay(); x=0xef; delay(); x=0xdf; delay(); x=0xbf; delay(); x=0x7f; delay(); } void function2() {x=0x7e; delay(); x=0xbd; delay(); x=0xdb; delay(); x=0xe7; delay(); x=0xe7; delay(); x=0xdb; delay(); x=0xbd; delay(); x=0x7e; delay(); } void function3() {x=0xff; for(;x!=0x00;) {x=x-0x01; delay(); } } void function4() {x=0x7f; x=_cror_( x,1); } void function5() { x=0x7f; x=_cror_( x,1); delay(); x=0xfe; x=_crol_( x,1); } void main() { while(1) {function1(); function2(); function3(); function4(); function5(); } } 实验结论 通过本次试验,我对单片机的一些性能有了大概的了解,学会了怎样控制LED灯的亮灭控制以及亮灭的顺序,亮度,时间等。同时也了解了一些有关LED灯的使用方法和注意事项以及制图过程中所涉及的一些问题。最终 8个发光二极管从左到右流水依次点亮;LED灯亮的顺序先是先是按照LED0—LED1—……—LED7的顺序依次点亮,然后是按照LED7—LED6—……—LED0依次点亮,重复循环;LED灯先是全灭,然后按照LED0—LED1—LED0 LED1—LED2—LED2 LED0—……—LED7 LED6 LED5 LED4 LED3 LED2 LED1,然后全亮,实现用流水灯显示八位二进制加法计数器的结果。 总结与反思 在制图过程中对一些组件还是感觉挺陌生的,有的组件甚至要通过询问同学才能找到,这些都需要我在以后要多使用这些软件,做到熟练使用。 实验二 ——中断与定时器/计数器 一 、实验目的 通过对P3.2、P3.3引脚的电平控制,实现外部中断处理,从而控制输出口P1的输出效果变化。 实验任务 1、实现中断控制的原理图(图一),通过对P3.2与P3.3的引脚控制,实现外部中断,实现对输出口P1的输出变化控制。 2、修改程序使用定时器T1的中断方式来控制P2.0 、P2.1引脚的LED灯分别以200mshe 800ms的周期闪烁。(图二) 实验原理设计图 图2.1 图2.2 实验程序 代码一: #includereg52.h #includeintrins

文档评论(0)

1亿VIP精品文档

相关文档