单片机实验讲义.doc
《单片机实验讲义.doc》由会员分享,可在线阅读,更多相关《单片机实验讲义.doc(21页珍藏版)》请在沃文网上搜索。
1、实验一、单片机P3口、P1口应用一、实验目的1掌握P3口、P1口简单使用。2学习延时程序的编写和使用。二、实验内容 1、P3.3口做输入口,外接一脉冲,每输入一个脉冲,P1口按十六进制加一。2、P1口做输出口,编写程序,使P1口接的8个发光二极管L1L8按16进制加一方式点亮发光二极管。三、实验说明1、P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知:当P1口作为输入口时,必须先对它置高电平,使内部MOS管截止,因内部上拉电阻是20K40K,故不会对外部输入产生影响。若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。 2、延时子程序的延时计算问
2、题。对于延时程序 DELAY :MOV R6, #00H DELAY1:MOV R7, #80H DJNZ R7, $ DJNZ R6, DELAY1查指令表可知MOV、DJNZ指令均需用两个机器周期,而一个机器周期时间长度为12/ 6.0MHZ,所以该段指令执行时间为:(128+1)256+1)2(126000000)=132.1ms四、实验步骤 P3.3用插针连至K1, P1.0P1.7用插针连至L1L8。 从起始地址0540H开始连续运行程序(输入0540后按EXEC键。若第一次开机,则依次按下0 F1 0FFF F2 0 EPMOV 0540 EXEC)。 开关K1每拨动一次,L1L8
3、发光二极管按16进制方式加一点亮。五、实验原理图六、实验程序:(请给程序加上注释) 汇编程序C语言程序:ORG 0540HA1S:MOV A,#00HHA1S1: JB P3.3,HA1S1; MOV R2,#20H LCALL DELAY JB P3.3,HA1S1HA1S2:JNB P3.3,HA1S2 MOV R2,#20H LCALL DELAY JNB P3.3,HA1S2 INC A PUSH ACC NOP CPL A MOV P1,A POP ACC AJMP HA1S1DELAY:PUSH 02HDELAY1: PUSH 02HDELAY2: PUSH 02HDELAY3:
4、DJNZ R2,DELAY3 POP 02H DJNZ R2,DELAY2 POP 02H DJNZ R2,DELAY1 POP 02H DJNZ R2,DELAY RET END#include /包含特殊功能寄存器库#define uchar unsigned char#define uint unsigned intsbit P3_3=P33;void delay(uint j);void main()uchar i;i=0;while(1)if(P3_3=0)delay(20);if(P3_3=1)i=i+1;P1=i;void delay(uint j)uint m;while(j-
5、)for(m=0;m200;m+); 七、实验思考1、 演示实验中是在脉冲的上升沿还是下降沿进行加一计数方式?2、 演示实验程序PUSH 02H、POP 02H中的02H指的是什么?3、 修改程序变成减一计数方式?实验二、可编程并行接口(8255)应用一、实验目的了解8255芯片的结构及编程方法,学习模拟交通灯控制的实现方法。二、实验内容 用8255做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。三、实验说明1、 因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化情况和规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1东西绿灯通车,南北红灯。过一段时间
6、转状态2,东西绿灯灭,黄灯闪烁几次,南北仍然红灯。再转状态3,南北绿灯通车,东西红灯。过一段时间转状态4,南北绿灯灭,闪几次黄灯,延时几秒,东西仍然红灯。最后循环至状态1。四、实验步骤 8255 PC0PC7、PB0PB3依次接发光二极管L1L12。以连续方式从0630H开始执行程序,初始态为四个路口的红灯全亮之后,东西路口的绿灯亮南北路口的红灯亮,东西路口方向通车。延时一段时间后东西路口的绿灯熄灭,黄灯开始闪耀。闪耀若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪耀。闪耀若干次后,再切换到东西路口方向,之后重复以上过程。五
7、、实验原理六、实验程序(请给程序加上注释)汇编程序C语言程序ORG 0630HHA4S:MOV SP,#60HMOV DPTR,#0FF2BHMOV A,#80H ;设置PC、PB口为输出,工作在方式0MOVX DPTR,AMOV DPTR,#0FF29HMOV A,#02HMOVX DPTR,AINC DPTRMOV A,#49HMOVX DPTR,A ;点亮四个红灯 MOV R2,#25HLCALL DELAYHA4S3:MOV DPTR,#0FF29HMOV A,#08HMOVX DPTR,AINC DPTRMOV A,#61HMOVX DPTR,A ;东西绿灯亮,南北红灯亮MOV R2
8、,#55HLCALL DELAYMOV R7,#05H ;东西黄灯闪烁5次HA4S1: MOV DPTR,#0FF29HMOV A,#04HMOVX DPTR,AINC DPTRMOV A,#51HMOVX DPTR,A ;东西黄灯亮,南北红灯亮MOV R2,#20HLCALL DELAYMOV DPTR,#0FF29HMOV A,#00HMOVX DPTR,AINC DPTRMOV A,#41H ;南北红灯亮MOVX DPTR,AMOV R2,#20HLCALL DELAYDJNZ R7,HA4S1MOV DPTR,#0FF29HMOV A,#03HMOVX DPTR,AINC DPTRMO
9、V A,#0cHMOVX DPTR,A ;东西红灯亮,南北绿灯亮MOV R2,#55HLCALL DELAYMOV R7,#05H ;南北黄灯闪烁5次HA4S2: MOV DPTR,#0FF29HMOV A,#02HMOVX DPTR,AINC DPTRMOV A,#8aHMOVX DPTR,A ;东西绿灯亮,南北黄灯亮MOV R2,#20HLCALL DELAYMOV DPTR,#0FF29HMOV A,#02HMOVX DPTR,AINC DPTRMOV A,#08H ;东西绿灯亮MOVX DPTR,AMOV R2,#20HLCALL DELAYDJNZ R7,HA4S2LJMP HA4S
10、3 ;循环DELAY:PUSH 02HDELAY1: PUSH 02HDELAY2: PUSH 02HDELAY3: DJNZ R2,DELAY3POP 02HDJNZ R2,DELAY2POP 02HDJNZ R2,DELAY1POP 02HDJNZ R2,DELAYRETEND# include# define PORTA XBYTE0X7FFE# define CONTROL XBYTE0X7FFFvoid DELAYLONG(void);void DELAYSHORT(void);void main(void)CONTROL=0x80;PORTA=0XFF;DELAYLONG();wh
11、ile(1) PORTA=0X21; DELAYLONG(); PORTA=0X11; DELAYSHORT(); PORTA=0X01; DELAYSHORT(); PORTA=0X11; DELAYSHORT(); PORTA=0X01; DELAYSHORT(); PORTA=0X11; DELAYSHORT(); PORTA=0X01; DELAYSHORT(); PORTA=0X0C; DELAYLONG(); PORTA=0X0A; DELAYSHORT(); PORTA=0X08; DELAYSHORT(); PORTA=0X0A; DELAYSHORT(); PORTA=0X0
12、8; DELAYSHORT(); PORTA=0X0A; DELAYSHORT(); PORTA=0X08; DELAYSHORT(); void DELAYLONG(void)unsigned i,j,k;for(i=0;i20;i+) for(j=0;j40;j+) for(k=0;k2500;k+);void DELAYSHORT(void)unsigned i;for(i=0;i30000;i+);七、实验思考1、 请找出东、南、西、北方向的红、黄、绿灯?2、 请说明黄灯闪烁的原理?3、 理解交通灯的工作原理。实验三、步进电机控制实验一、实验目的1、 了解步进电机控制的基本原理。 2、
13、 2、掌握步进电机转动编程方法。二、实验内容从键盘上输入正、反转命令,转速参数和转动步数显示在显示器上,CPU再读取显示器上显示的正、反转命令,转速级数(16级)和转动步数后执行。转动步数减为零时停止转动。三、实验说明步进电机驱动原理是通过对它每相线圈中的电流和顺序切换来使电机作步进式旋转。驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速,微电脑控制步进电机最适合。四、实验步骤 1、步进电机插头插到实验系统J3插座中,P1.0P1.3接到BABD插孔。 2、在“P.”状态下,从起始地址开始(0A30H)连续执行程序。输入起始地址后按EXEC键。3、在键盘上输入数字在显示器
14、上显示,第一位为0表示正转,为1表示反转,第二位0F为转速等级,第三到第六位设定步数,设定完按EXEC键,步进电机开始旋转。五、实验原理六、实验程序(请给程序加上注释)实验箱电路汇编程序上图C语言程序ORG 0A30H MONIT:MOV SP,#50HMOV 7EH,#00H ;设步进电机正转标志显示在第一位MOV 7DH,#02H;设步进电机速转控制值显示在第二位MOV R0,#7CH ;设步距数8888,显示在第3位到第6位MOV A,#08HMOV R4,#04HMONIT1: MOV R0,ADEC R0DJNZ R4,MONIT1MOV A,#7EHMOV DPTR,#1FFFH
15、;DISPFLAGMOVX DPTR,AMOV 76H,#00HMOV 77H,#00HKEYDISP0:LCALL KEYJC DATAKEYAJMP MONIT2DATAKEY:LCALL DATAKEY1DB 79H,7EHSJMP KEYDISP0MONIT2: CJNE A,#16H,KEYDISP0LCALL DISPMOV A,7AH ; 取步距数送R6、R7ANL A,#0FHSWAP AADD A,79HMOV R6,AMOV A,7CHANL A,#0FHSWAP AADD A,7BHMOV R7,AMOV A,7EHCJNE A,#00H,MONIT4 ;判转动方向MON
16、IT3: MOV P1,#03H ;顺时针转LCALL DELAY0LCALL MONIT5MOV P1,#06HLCALL DELAY0LCALL MONIT5MOV P1,#0CHLCALL DELAY0LCALL MONIT5MOV P1,#09HLCALL DELAY0LCALL MONIT5SJMP MONIT3MONIT4: MOV P1,#09H ;逆时针转LCALL DELAY0LCALL MONIT5MOV P1,#0CHLCALL DELAY0LCALL MONIT5MOV P1,#06HLCALL DELAY0LCALL MONIT5MOV P1,#03HLCALL DE
17、LAY0LCALL MONIT5SJMP MONIT4MONIT5: DEC R6CJNE R6,#0FFH,MONIT6DEC R7CJNE R7,#0FFH,MONIT6; 判步距数到否LJMP MONITMONIT6: LCALL MONIT7RETMONIT7: MOV R0,#79HMOV A,R6LCALL MONIT8MOV A,R7LCALL MONIT8LCALL DISPRETMONIT8: MOV R1,AACALL MONIT9MOV A,R1SWAP AMONIT9: ANL A,#0FHMOV R0,AINC R0RETDELAY0: MOV R0,#7DH;根据(
18、7D)内容改变延时时间,即改变速度MOV A,R0SWAP AMOV R4,ADELAY1: MOV R5,#80HDELAY2: DJNZ R5,DELAY2LCALL DISPDJNZ R4,DELAY1 RETDATAKEY1:MOV R4,A;数字键处理子程序MOV DPTR,#1FFFHMOVX A,DPTRMOV R1,AMOV A,R4MOV R1,ACLR APOP 83HPOP 82HMOVC A,A+DPTRINC DPTRCJNE A,01H,DATAKEY3DEC R1CLR AMOVC A,A+DPTRDATAKEY2:PUSH 82HPUSH 83HMOV DPTR
19、,#1FFFHMOVX DPTR,APOP 83HPOP 82HINC DPTRPUSH 82HPUSH 83HRETDATAKEY3:DEC R1MOV A,R1SJMP DATAKEY2KEY0:MOV R6,#20H; 数字键显示闪动程序MOV DPTR,#1FFFHMOVX A,DPTRMOV R0,AMOV A,R0MOV R7,AMOV A,#10HMOV R0,AKEY3:LCALL KEYDISPJNB 0E5H,KEY2DJNZ R6,KEY3MOV DPTR,#1FFFH MOVX A,DPTRMOV R0,A MOV A,R7MOV R0,AKEY:MOV R6,#50H
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 实验 讲义
