单片机原理及应用实验报告.docxVIP

  • 41
  • 0
  • 约8.44千字
  • 约 21页
  • 2019-09-27 发布于广东
  • 举报
单片机原理及应用 实验报吿 实验一:数组排序练习 实验目的:练习使用用wave6000的“软件模拟器” 实验内容:编一个排序程序,用wave6000的“软件模拟器”方式仿真,调试、 运行。 实验接线图:由于使用软件模拟器,不需要接线图。 实验程序: #includereg51. h int s[9] = {2, 4,1,3, 5, 9, 7, 6}; int i, t, j; main () { for (i=0;i8;i++) { for(j=i+l;j9;j++) { if (s[j]s[i]) { t=s[i]; s[i]=s[j]; s[j]=t; } } } } 实验结果: 程序成功使用“软件模拟器”实现了数组的从大到小排序。 程序运行后数组为9,8,7,6,5,4,3,2,1, ???? S: (0009H (9), 0008H (8), 0007H (7), 0006H (6), 0005 [0] 0009HC9) [1] 0008HC8) ⑵ 0007HC7) ⑶ 0006HC6) [4] 0005HC5) ⑸ 0004H(4) [6] 0003HC3) [7] 0002HC2) [8] OOOlH(l) 实验二:流水灯控制实验 实验目的:1.验证性实验,P1 口作输出口,接一个LED发光二极管,使其闪烁(0.5 秒亮,0.5秒灭)。 2.设计性实验 实验内容:模拟舞台灯光控制实验 具体耍求为P0.0连接按键KI, P1 口连接8路LEDo 由按键控制LED进行流水灯、闪烁等,从而达到模拟舞台炫耀灯光控制目的 首先,8路LED从右至左流水点亮,具体循环顺序为:LED1-LED2- -LED8-LED1,如 此重复循环。 按一次键后,8路LED从左至右流水点亮,具体循环顺序为:LED8-LED7-……一LED1-LED8, 如此重复循坏; 按两次键示,8路LED交替闪烁,具体循环顺序为:LED1—LED3—LED5—LED7—LED2—LED4 -LED6-LED8-LED1,如此重复循环下去。 按三次键后,回到初始的“从右至左流水点亮”工作状态。 实验接线图: 8xlk +5V P1.0 P1.1 Pl. 2 89C51 Pl. 3 Pl. 4 Pl. 5 Pl. 6 Pl. 7 图3邛流水灯控制 实验程序: 1. #includereg51. h #define uint unsigned int void Delayms (uint x); main () Pl=Oxfe; Dclavms(500) ; //延时 0.5 秒 } } void De lay ms (uint x) //延时函数 {unsigned int n; for( ;x 0; x--) { for(n=0;n123;n++) { ; } } } 2. ^include reg52. h ^define uchar unsigned char #define uint unsigned int sbit Key0=P00; //位定义 void Delayms (uint x); void ScanKeyO( void); uchar Fun=0; main() { uchar i; Loop: switch(Eun) { case 0: for(i=0,Pl=0xfe; i8; i++) { Delayms(lOO); } bretik; case 1: for(i=0,Pl=0x7f; i8; i++) { Delayms(lOO); } break; case 2: for(i=0,Pl=0xfe; i8; i++) { Delayms(lOO); if(i==4) Pl=Oxfd; P1 = (P1?1)+1; Pl = (Pl?l)+0x80; Pl = (Pl?2)+0x3; } bretik; ) goto Loop; void Delayms (uint x) //延时函数 {uint n; for( ;x 0; x—) { for(n=0;n123;n++) { ; } } ScanKeyO (); } void ScanKeyO( void) { if(!KeyO) 〃前面已有延时,可省掉去抖动 Fun++; if(Fun2) Fun=0; } 实验结果: Pl 口接的LED灯闪烁。 初始时流水灯从右往左,按键一次后变为从左往右,再按一次后交替闪烁,按三次后又 变回从右往左。 实验三:中断法实验流水灯控制和数码管动态扫描显示 实验目的: 1?灯的程序中的延时改用定时器(中断方式)实现。 2.数码管动态扔描显示 实验内容: 程序中延时使用中断法,实现对流水灯的控制。 P0 口接数码管的段,P1 口接数码管的位,所

文档评论(0)

1亿VIP精品文档

相关文档