单片机接口技术与实验(附原理图及源程序)(29页).doc
《单片机接口技术与实验(附原理图及源程序)(29页).doc》由会员分享,可在线阅读,更多相关《单片机接口技术与实验(附原理图及源程序)(29页).doc(29页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、- 单片机接口技术与实验 姓名:学号:年级: 专业:电子信息科学与技术 实验二 并行口输入输出实验循环彩灯控制一、实验功能(1)P1 口接8 个开关,P0 口接8 个灯,每个开关对应一个灯,实时读取开关状态,开关闭合时,灯亮。开关断开时,灯灭。二、实验原理图注意:因为P0口作为输出口时必须接上拉电阻,为简化起见,此处接到P2口上三、实验程序org 0000h ljmp main org 0100hmain: mov p1,#0ffh mov p2,p1 ajmp main end(2)一、实验功能用5 个开关K0K4,控制P0 口所接8 个灯的循环,各开关的功能要求如下:(1)K1K2 分别选
2、择灯的四种闪动方式;(2)K3 用于控制灯的循环方式(顺时针或逆时针);(3)K4 用于选择灯的两种循环速度(4)K0 用于引发外部中断,在外部中断子程序中,读取通过K1-K4 所设定的循环彩灯的工作方式,并按所设定的工作方式控制彩灯运行。二、实验原理图三、实验流程图中断程序把P1.2的状态存入位地址50H把P1.3的状态存入位地址51HP1.0是否为1P1.1是否为1MOV A,#80HP1.1是否为1MOV A,#0C0HMOV A,#0AAHMOV A,#0E0H开始50H是否为1调用延时程序DELAY1调用延时程序DELAY251H是否为1灯循环右移子程序:LOOP1灯循环左移子程序:
3、LOOP2结束MOV P1,#0FFH四、实验程序 ORG 0000H LJMP MAIN ORG 0003H LJMP INT0PR0 ORG 0100HMAIN: MOV P1,#0FFH MOV SP,#60H SETB EX0 SETB IT0 SETB EA MOV C,P1.2 MOV 50H,C MOV C,P1.3 MOV 51H,C JB P1.0,NEXT1 JNB P1.0,NEXT2NEXT1: JB P1.1,CIRCLE1 JNB P1.1,CIRCLE2NEXT2: JB P1.1,CIRCLE3 JNB P1.1,CIRCLE4CIRCLE1: MOV A,#8
4、0H LJMP STEP0CIRCLE2: MOV A,#0C0H LJMP STEP0CIRCLE3: MOV A,#0AAH LJMP STEP0CIRCLE4: MOV A,#0E0H LJMP STEP0STEP0: MOV P2,A JB 50H,S1 JNB 50H,S2STEP1: JB 51H,LOOP1 JNB 51H,LOOP2S1: LCALL DELAY1 LJMP STEP1S2: LCALL DELAY2 LJMP STEP1DELAY1: MOV R7,#100D1: MOV R6,#100D2: MOV R5,#10D3: DJNZ R5,D3 DJNZ R6,
5、D2 DJNZ R7,D1 RETDELAY2: MOV R7,#200D4: MOV R6,#100D5: MOV R5,#10D6: DJNZ R5,D6 DJNZ R6,D5 DJNZ R7,D4 RET LOOP1: RL A LJMP STEP0LOOP2: RR A LJMP STEP0 ORG 0400HINT0PR0: MOV C,P1.2 MOV 50H,C MOV C,P1.3 MOV 51H,C JB P1.0,WORK1 JNB P1.1,WORK2WORK1: JB P1.1,L1 JNB P1.1,L2WORK2: JB P1.1,L3 JNB P1.1,L4L1:
6、 MOV A,#80H LJMP PASSL2: MOV A,#0C0H LJMP PASSL3: MOV A,#0AAH LJMP PASSL4: MOV A,#0E0H LJMP PASSPASS: RETI END实验三 七段 LED 数码管控制实验一、实验功能1实验采用4 位一体的数码管,用P1 口通过驱动芯片控制段码输出信号线,P0 口通过驱动芯片控制位选线:(1)当开关K0 接低电平时,第一位依次显示0,然后第二位、第三位、第四位,再循环回第一位。(2)当开关K0 接高电平时,四位动态显示“HELP”二、实验原理图三、实验流程图开始P1.0是否为1调用延时子程序delay1按位循环
7、显示0-F调用位显示子程序LOOP1左移一位P2判断是否显示一遍显示HELP子程序位显示子程序LOOP1P1.0是否为1调用延时子程序delay1依次查表,付给P0显示数字判断数是否显示一遍位显示子程序HELPP1.0是否为0调用延时子程序delay1返回显示HELP 四、实验程序org 0000h ljmp main org 0100h main: mov p2,#0ffh setb p1.0 mov dptr,#tab mov r0,#0 mov a,#00h loop1: mov r0,#00h jnb p1.0,h sjmp loop2 h: mov p2,#0feh lcall li
8、ght mov p2,#0fdh lcall light mov p2,#0fbh lcall light mov p2,#11101111b lcall light sjmp loop1 light: jb p1.0,loop2 mov a,r0 movc a,a+dptr inc r0 mov p0,a lcall delay1 cjne r0,#16,light mov r0,#0 ret loop2: mov p2,#0feh mov p0,#73h lcall delay1 jnb p1.0,loop1 mov p2,#0fdh mov p0,#38h lcall delay1 jn
9、b p1.0,loop1 mov p2,#0fbh mov p0,#79h lcall delay1 jnb p1.0,loop1 mov p2,#11101111b mov p0,#76h lcall delay1 jnb p1.0,loop1 sjmp loop1 tab: db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71h delay1: MOV R3,#10D2: MOV R2,#100D1: MOV R1,#100 D0: DJNZ R1,D0 DJNZ R2,D1 DJNZ R3,D2RET end实
10、验四 定时器中断实验一、实验功能1用 T0 定时器实现1 秒定时,控制一个LED 亮1 秒,灭1 秒,并不断循环。二、实验原理图三、实验流程图开始置TR0为1置TR0为0置P1.0为1置P2.7为0是否循环100次是否循环100次判断四位是否显示一遍定时程序 TR0=1设初值:MOV TH0,#0B8HMOV TL0,#00H计时四、实验程序 org 0000h ljmp main org 000bh ljmp t0pr0 org 0100h main: mov sp,#60h mov tmod,#01h mov th0,#0b8h mov tl0,#00h mov r0,#100 setb
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 接口 技术 实验 原理图 源程序 29
限制150内