单片机接口技术与实验(附原理图及源程序)(29页).doc

上传人:1595****071 文档编号:35601068 上传时间:2022-08-22 格式:DOC 页数:29 大小:414.50KB
返回 下载 相关 举报
单片机接口技术与实验(附原理图及源程序)(29页).doc_第1页
第1页 / 共29页
单片机接口技术与实验(附原理图及源程序)(29页).doc_第2页
第2页 / 共29页
点击查看更多>>
资源描述

《单片机接口技术与实验(附原理图及源程序)(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

11、ea setb et0 setb tr0 loop: sjmp $ ljmp loop t0pr0: djnz r0,w cpl p2.7 mov r0,#100 w: mov th0,#0b8h mov tl0,#00h reti end 2.一、实验功能实现一个4 位秒表:(1)用开关K0 模拟秒表的启动、停止、清零功能,按一次启动计时,按一次停止,再按一次清零,在三个状态中循环。(2)最低位按1/10 秒计数,依次计数单位为1/10 秒,1 秒,1 分(3) 要求K0 使用外部中断,优先级高于T0 的优先级二、实验原理图三、实验流程图开各种中断开始百分之一毫秒显示:R2十分之一毫秒显示:

12、R3毫秒十位显示:R5毫秒个位显示:R4外部中断INC R0R0是否等于2是否循环100次判断四位是否显示一遍TR0置1TR0置0设初值R0是否等于1MOVTH0,#0B8HMOV TL0,#00H设R1=0INC R2INC R3INC R4INC R5设R2=0INC R1R1是否等于10是否循环100次判断四位是否显示一遍R2是否等于10是否循环100次判断四位是否显示一遍R3是否等于10是否循环100次判断四位是否显示一遍R5是否等于10是否循环100次判断四位是否显示一遍R4是否等于20是否循环100次判断四位是否显示一遍设R3=0设R4=10设R5=0四、实验程序 org 0000

13、h ljmp main org 0003h ljmp intx0 org 000bh ljmp t0pr0 org 0100h main: mov tmod,#01h mov th0,#0b8h mov tl0,#00h mov p2,#0ffh mov r0,#1 mov r1,#0 mov r2,#0 mov r3,#0 mov r4,#0 mov r5,#0 mov a,#0 mov dptr,#tab setb ea setb ex0 setb it0 setb tr0 setb px0 setb et0 k: lcall aaa jmp k aaa: mov p2,#0feh mov

14、 a,r2 lcall loop lcall mm mov p2,#0fdh mov a,r3 lcall loop lcall mm mov p2,#0fbh mov a,r4 lcall loop lcall mm mov p2,#11101111b mov a,r5 lcall loop lcall mm ret mm: djnz acc,$ djnz acc,$ ret loop: movc a,a+dptr mov p0,a ret tab: db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh intx0: inc r0 cjne r0,#1,st

15、setb tr0 reti st: cjne r0,#2,w clr tr0 reti w: mov a,#0 mov r0,a mov r1,a mov r2,a mov r3,a mov r4,a mov r5,a reti t0pr0: mov th0,#0b8h mov tl0,#00h inc r1 cjne r1,#10,exit mov r1,#0 inc r2 cjne r2,#10,exit mov r2,#0 inc r3 cjne r3,#10,exit mov r3,#0 inc r4 cjne r4,#6,exit mov r4,#0 inc r5 cjne r5,#

16、10,exit mov r5,#0 exit: reti end实验五 脉冲宽度与周期测量实验一、实验功能同时测量脉冲宽度和周期,由开关K0 选择显示脉冲宽度还是显示脉冲周期。二、实验原理图三、实验流程图开始设置各种初值P1.0是否为1P3.2是否为0P3.2是否为1P3.2是否为0置TR0为1置TR0为0P3.2是否为1P3.2是否为0置TR0为1置TR0为0P3.2是否为0P3.2是否为0P3.2是否为0MOV A,TL0 MOV R2, A SUBB A,#48HMOV A,R0MOV B,#2 MOV B,#10 DIV AB DIV ABMOV B,#10 MOV R3, B DIV

17、 AB ADD A,#10MOV R1, B MOV R4, A百分之一毫秒显示:R1十分之一毫秒显示:R2毫秒十位显示:R4毫秒个位显示:R3T0中断INC R0四、实验程序 ORG 0000H limp main org 000bh ljmp t org 0100h main: mov tmod,#oah mov th0,#48h mov tl0,#48h setb ea setb et0 mov dptr,#tab mov a,#0 mov r0,#0 mov r1,#0 mov r2,#0 mov r3,#0 mov r4,#0 jb p1.0,b0 loop0: jb p3.2,lo

18、op0 setb tr0 loop1: jnb p3.2,loop1 loop2: jb p3.2,loop2 loop3: jnb p3.2,loop3 loop4: jb p3.2,loop4 clr tr0 ljmp loop b0: jb p3.2,b0 setb tr0 b1: inb p3.2,b1 b2: jb p3.2,b2 clr tr0 loop: mov a,tl0 subb a,#48h mov b,#2 div ab mov r1,b mov r2,a mov a,r0 mov b,#10 div ab mov r3,b add a,#10 mov r4,a mov

19、p2,#11111110b mov a,r1 lcall www lcall z mov p2,#11111101b mov a,r2 lcall www lcall z mov p2,#11111011b mov a,r3 lcall www lcall z mov p2,#11110111b mov a,r4 lcall www lcall z ljmp main www: movc a,a+dptr mov p0,a ret z: djnz acc,$ djnz acc,$ ret tab: db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h.7fh,6fh db 0b

20、fh,86h,0d8h,0cfh,0e6h,0edh,0fdh,87h,0ffh,0efh org 0200h t: inc r0 reti end 实验六 串行通信实验一、实验功能利用串行口方式0 实现一个七段数码管的显示控制,轮流显示0十个数码二、实验原理图三、实验流程图串行口中断置RI为0MOV R0 ,#10CLR AMOVC A,A+DPTRMOV SBUF,A调用延时delayINC DPTR是否循环10次四、实验程序org0000hajmp mainmain:movscon,#00hmovdptr,#tablemovr0,#10 clrp1.0 NEXT:djnzr0,send ajmp main send:clramovca,a+dptrmovsbuf,a jnbti,$ clrtiincdptracall delayajmp nextdelay:movr1,#50loop1:movr2,#100loop2:movr3,#50djnzr3,$djnzr2,loop2djnzr1,loop1rettable:DB3Fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fhend-第 29 页-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 单元课程

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com