单片机原理及应用课程实验报告专业:班级:姓名:学号:实验一、keilC51及proteus软件的使用一、实验目的:1、掌握keil和proteus软件的基本操作2、通过具体实例掌握keil和proteus软件的使用。二、实验原理:keil使用步骤,proteus使用步骤三、程序:四、实验结果分析:五、总结:学会了使用keil和proteus软件,掌握了利用keil和proteus软件进行仿真的步骤。实验二、并行输入/输出接口实验一、实验目的:1、进一步熟悉keil仿真软件、proteus仿真软件的使用。2、了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。3、掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。二、实验原理:MCS51单片机的串行口在实际使用中通常用于三种情况:利用方式0扩展并行i/0接口:利用方式1实现点对点的双机通信;利用方式2或方式3实现多机通信。利用方式0扩展并行i/0接口MCS51单片机的串行口在方式0时,若外接一个串入并出的移位寄存器,就可以扩展并行输出口;若外接一个并入串出的移位寄存器,就可以扩展并行输入口。三、程序:#includesbitP1_0=P1^0;voidmain(){unsignedchari;unsignedintj;SCON=0x00;i=0x01;for(;;){P1_0=0;SBUF=I;while(!TI){i}P1_0=1;TI=0;for(j=0;j<=254;j++){;}i=i*2;if(i==0x00)i=0x01;}}四、实验结果分析:五、总结:进一步熟悉了keil仿真软件、proteus仿真软件的使用。了解并熟悉单片机I/O口和LED灯的电路结构,学会了构建简单的流水灯电路。掌握了C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。实验三、定时器/计数器实验(1)—查询方式产生500us的方波一、实验目的:1、熟悉keil仿真软件、proteus的使用和C51定时程序的编写;2、了解51单片机中定时、计数的概念,熟悉51单片机内部定时/计数器的结构与工作原理;3、掌握查询方式处理定时/计数的工作过程,4、掌握定时/计数器在C51中的设置与程序的书写格式以及使用方法。二、实验原理:通常利用定时/计数器来产生周期性的波形。利用定时/计数器产生周期性波形的基本思想是:利用定时/计数器产生周期性的定时,定时时间到则对输出端进行相应的处理例如产生周期性的方波只需定时时间到对输出端取反一次即可。不同的方式定时的最大值不同,如定时的时间很短则选择方式2。方式2形成周期性的定时不需重置初值;如定时比较长,则选择方式0或方式1;如时间很长,则一个定时/计数器不够用,这时可用两个定时/计数器或一个定时/计数器加软件计数的方法。三、程序:#includesbitP1_0=P1^0;voidmain(){TMOD=0x02;TH0=0x06;TL0=0x06;TR0=1;for(;;){if(TF0){TF0=0;P1_0=!P1_0;}}}四、实验结果分析:五、总结:熟悉了keil仿真软件、proteus的使用和C51定时程序的编写;了解51单片机中定时、计数的概念,熟悉了51单片机内部定时/计数器的结构与工作原理;掌握了查询方式处理定时/计数的工作过程,掌握了定时/计数器在C51中的设置与程序的书写格式以及使用方法。实验四、定时器/计数器实验(2)—中断方式产生500us的方波一、实验目的:1、熟悉keil仿真软件、proteus的使用和C51定时程序的编写;2、进一步熟悉51单片机内部定时/计数器的结构与工作原理;3、掌握中断方式处理定时/计数的工作过程。二、实验原理从P1.0输出周期为500us的方波,只需P1.0每250us取反后一次即可。当系统时钟为12MHz时,定时/计数器TO工作于方式2时,最大的定时时间为256us,满足250us的定时要求,方式控制字应没定为00000010B(02H)。系统时钟为12Mhz,定时250us,计数值N为250,初值X=256-250=6,则THO=TLO=06H。:三、程序:#includesbitP1_0=P1^0;voidmain(){TMOD=0x02;TH0=0x06;TL0=0x06;EA=1;ET0=1;TR0=1;while(1);}voidtime0_int(void)interrupt1{P1_0=!P1_0;}四、实验结果分析:五、总结:熟悉了keil仿真软件、proteus的使用和C51定时程序的编写;进一步熟悉了51单片机内部定时/计数器的结构与工作原理;掌握了中断方式处理定时/计数的工作过程。实验五:串行接口实验(1)—工作方式0扩展并行IO口一、实验目的:1,掌握串行口工作方式0的程序设计;2、熟悉51单片机串...