2012级单片机实验指导书.docVIP

  • 42
  • 0
  • 约1.02万字
  • 约 20页
  • 2017-05-21 发布于浙江
  • 举报
2012级单片机实验指导书

一、基本控制语句应用 ——简单广告牌霓虹灯设计 1. 实验目的: a. 理解左移RL、右移RR指令的功能。 b. 延时程序DELAY的具体执行过程、延时量控制等。 c. 掌握通过设置程序的跳转来实现程序循环的方法。 2.实验设备使用: 计算机一台、单片机实验箱一套、Keli C软件一套。 3.实验基本原理: (1)源程序及流程图: ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV P0,#00H MOV A,#01H LOOP: MOV P0,A RL A JMP LOOP END (2)电路原理图: 4.实验内容: a. 编写一程序,可实现数据左移并通过I/O口输出显示。 b. 加入延时程序,观察实验现象是否有所变化。 c. 实现左移及右移的循环输出。 d. 实现16盏LED的移位显示。 5.实验步骤: (1) 基本步骤: a. 读懂程序,分析程序中哪一句为控制语句,起到什么控制作用以及最终实现何功能。 b. 运行程序,观察结果是否与程序相符,如不相符请分析出现问题的原因所在。 c. 试着向源程序中加入延时语句,观察现象是否有所改变。 ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV P0,#00H MOV A,#01H LOOP: MOV P0,A RL A ACALL DELAY JMP LOOP ;*****延时子程序******; DELAY:MOV R2,#10H LOOP1:MOV R1,#0FFH LOOP2:DJNZ R1,LOOP2 DJNZ R2,LOOP1 RET END d. 适当修改延时量,使LED闪烁更为明显,易于肉眼观察。 e. 适当修改程序,使程序最终实现一只LED作流水状移动。 (2)发挥部分: ① 能自左向右——自右向左——自左向右反复循环来控制一只发光管如反弹状移动。 ② 能通过两组I/O口组合实现16只LED的流水灯效果。 6.实验报告要求: a. 记录实验每一步骤的具体过程及实验现象。 b. 叙述实验步骤中发挥部分程序的具体构思,同时将调试过程作详细记录。 c. 记录发挥部分的完整程序,同时将程序分块化,并且标注好每部分程序块功能及关键语句的作用。 d. 总结本次实验知识点及编程调试心得体会。 7.实验预习思考题: a. 汇编语言控制语句应用。 b. 程序的循环、子程序调用、程序跳转等。 c. 单片机基本I/O口的驱动方式、特点等。 d. 读懂以下C语言程序: #include AT89X51.H unsigned char i,c,d,temp=0xfe; void delay(void) { unsigned char a,b; for(a=0;a255;a++) { for(b=0;b200;b++); } } void main(void) { while(1) { for(i=0;i8;i++) { c=tempi; d=temp(8-i); P0=c|d; delay(); } } } 二、单片机I/O口输入 ——独立按键识别 1. 实验目的: a. 掌握JB、CPL语句的具体使用方法。 b. 延时程序的具体执行过程、延时量控制等。 c. 掌握通过设置程序的跳转来执行相应语句的方法。 d. 体会按键抖动对单片机系统所造成的影响,以及如何通过软件延时去抖动方法来消除按键抖动。 2.实验设备使用: 计算机一台、单片机实验箱一台、Keli C软件一套。 3.实验基本原理: (1)源程序及流程图: ORG 0000H AJMP MAIN ORG 0030H ;*****主程序*****; MAIN: MOV P0,#0FFH MOV A,#0FFH WAIT: MOV P0,A JB P1.0,WAIT CPL A JMP WAIT END (2)电路原理图: 4.实验内容: a. 编写一程序,实现P1.0口作输入,同时输出内容随P1.0口状态变化而变化。 b. 加入按键去抖动程序,观察实验结果与之前有何不同。 c. 实现

文档评论(0)

1亿VIP精品文档

相关文档