(新)单片机实验指导书2015-5-11.docVIP

  • 14
  • 0
  • 约8.16千字
  • 约 27页
  • 2019-10-12 发布于山东
  • 举报
PAGE PAGE 16 单片机实验指导书 13通信工程 河北大学电子信息工程学院 2015年4月版2016年3月印 目 录 一、流水灯实验 2 二、汽车转向灯控制实验5 三、定时器实验 ……………7 四、外部中断实验……………9 五、串行口实验…………… 12 六、电子音响实验 15 附录 17 实验一 流水灯实验 实验要求 P1口做输出口,接八只发光二极管,编写程序,使八只发光二极管循环点亮。 实验目的 学习P1口做普通输出口的使用方法。 学习延时子程序的编写和使用。 了解单片机的外围电路及实验软硬件系统。 硬件电路 图1-1 8位独立LED(0亮、1灭) 表1-1 硬件连接表 MCU-AT89S52 8位独立LED P1.0~ P1.7 D1~ D8 实验说明 1、本实验的学习方法 本实验要求软硬件相结合,分析电路工作原理,根据硬件结构、接线方式进行软件编程,最终实现实验要求。 2、根据题目要求,第一步通过编程使D1亮,根据硬件电路分析,如要D1亮,应该使P1.0清“0”,即输出低电平,加到D1的负极,电流通过限流电阻流经D1,使发光二极管D1亮。亮的时间通过编写延时子程序实现,方法如下面3所述。 延时子程序的编写 延时程序的实现常用两种方法,一种用定时器中断来实现,另一种是用指令循环实现。在系统时间允许的情况下可以采用后一种方法。本次实验重点练习采用指令循环方式实现延时的方法。 本实验系统晶振频率为12MHz,执行一个机器周期的时间为12/12MHz=1μS。单片机通过执行一条条指令实现延时,以延时0.1秒为例,说明延时子程序循环次数的计算及程序编写方法如下: Delay:MOV R6,#X (1)DE1: MOV R7, #200 (2) Delay:MOV R6,#X (1) DE1: MOV R7, #200 (2) DE2: DJNZ R7,DE2 (3) DJNZ R6,DE1 (4) 设单片机执行完上述子程序循环共需0.1秒钟,求X值方法如下: [ 1 + ( 1 + 2 × 200 + 2 ) X ] × 1×10-6 = 0.1S 指令(1) (2) (3) (4) 所需时间 所需时间 所需时间 所需时间 求出X=248,将X=248代入上式可知实际延时约0.099945≈0.1S。 4、实现循环点亮的方法 为实现题目D1-D8循环点亮的要求,在D1按延时时间亮后,D1熄灭,同时,D2亮。可以通过向累加器A,赋初值#01H,然后将累加器A内容送P1口,使D1亮,延时后,通过RL累加器A循环左移一位,跳转至送P1,实现下一个发光二极管亮。 思考题 1、用软件实现延时有哪两种方法?各有何特点? 2、区分时钟周期、机器周期、指令周期。当晶振的振荡频率为6MHz时,一个机器周期为多少微秒? 实验二 汽车转向灯控制实验 实验要求 P1.0、P1.1作输入口,接两个拨动开关SW1、SW2的中点,分别模拟汽车转向灯开关控制。P1.2、P1.3口作为输出口,接两个发光二极管D1、D2,模拟汽车前后左转向灯,P1.4、P1.5接两个发光二极管D3、D4模拟汽车前后右转向灯。编写程序读取开关状态,当SW1向上时,D1、D2灯实现亮灭闪烁,表示汽车左转。当SW2向上时,D3、D4灯实现亮灭闪烁,表示汽车右转。当SW1、SW2同时向上或向下,发光二极管灭。 实验目的 1、学习准双向口P1口既做输入又做输出的使用方法。 2、学习开关量输入、输出程序的设计方法。 电路原理 实验仪上有8只独立开关SW1―SW8,并有与之相对应的SW1―SW8引线。 图2-1 8位独立开关 图2-2 8位独立LED 表2-1 硬件连接表 MCU-AT89S52 8位独立按键 8位独立LED P10 SW1 P11 SW2 P12 D1 P13 D2 P14 D3 P15 D4 实验说明 P1口为准双向口,根据准双向口结构可知,当P1口用为输入口时,必须先对它置“1”。若不先对它置“1”,读入的数据是不正确的。 五、思考题 1、P1口作为输入时有什么要求、为什么? 2、将P1口锁存器中置“0”,此时,将P1口做输入,会观察到什么现象? 实验三 定时器实验 一、实验题目 采用内部定时器1,按方式1工作,即作为十六位定时器使用,每0.05秒钟T1溢出中断一次。P1口的P1.0-P1.7分别接八个发光二极管。要求开机后第一秒钟D1、D3亮,第二秒钟D2、D4亮,第三秒钟D5、D7亮,第四秒钟D6、D8亮,第五秒钟D1、D3、D5、D7亮,第六秒钟D2、D4、D6、D8亮,第七秒钟8个二极管全亮,第八秒钟全灭,以

文档评论(0)

1亿VIP精品文档

相关文档