单片机程序+连线119Word文档下载推荐.docx

上传人:b****1 文档编号:876563 上传时间:2023-04-29 格式:DOCX 页数:89 大小:41.70KB
下载 相关 举报
单片机程序+连线119Word文档下载推荐.docx_第1页
第1页 / 共89页
单片机程序+连线119Word文档下载推荐.docx_第2页
第2页 / 共89页
单片机程序+连线119Word文档下载推荐.docx_第3页
第3页 / 共89页
单片机程序+连线119Word文档下载推荐.docx_第4页
第4页 / 共89页
单片机程序+连线119Word文档下载推荐.docx_第5页
第5页 / 共89页
单片机程序+连线119Word文档下载推荐.docx_第6页
第6页 / 共89页
单片机程序+连线119Word文档下载推荐.docx_第7页
第7页 / 共89页
单片机程序+连线119Word文档下载推荐.docx_第8页
第8页 / 共89页
单片机程序+连线119Word文档下载推荐.docx_第9页
第9页 / 共89页
单片机程序+连线119Word文档下载推荐.docx_第10页
第10页 / 共89页
单片机程序+连线119Word文档下载推荐.docx_第11页
第11页 / 共89页
单片机程序+连线119Word文档下载推荐.docx_第12页
第12页 / 共89页
单片机程序+连线119Word文档下载推荐.docx_第13页
第13页 / 共89页
单片机程序+连线119Word文档下载推荐.docx_第14页
第14页 / 共89页
单片机程序+连线119Word文档下载推荐.docx_第15页
第15页 / 共89页
单片机程序+连线119Word文档下载推荐.docx_第16页
第16页 / 共89页
单片机程序+连线119Word文档下载推荐.docx_第17页
第17页 / 共89页
单片机程序+连线119Word文档下载推荐.docx_第18页
第18页 / 共89页
单片机程序+连线119Word文档下载推荐.docx_第19页
第19页 / 共89页
单片机程序+连线119Word文档下载推荐.docx_第20页
第20页 / 共89页
亲,该文档总共89页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机程序+连线119Word文档下载推荐.docx

《单片机程序+连线119Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《单片机程序+连线119Word文档下载推荐.docx(89页珍藏版)》请在冰点文库上搜索。

单片机程序+连线119Word文档下载推荐.docx

MOVP1,#2fH

ACALLDELAY

MOVP1,#6fH

MOVP1,#4fH

MOVP1,#0CfH

MOVP1,#8fH

MOVP1,#9fH

ACALLDELAY

AJMPSTART

DELAY:

MOVR6,#5

DD1:

MOVR5,#0

DD2:

MOVR7,#0

DD3:

DJNZR7,DD3

DJNZR5,DD2

DJNZR6,DD1

RET

JP1.4_1.7接JP6DE4-7

步进电机接步进电机接口

实验四步进电机正反转实验

该程序对SETP1作了改进,可以进行正、反转以及步进控制

MOVDPTR,#TAB1

MOVR4,#7;

初始表内指针

MOVP1,#0;

初始角度,0度,停止

KEY:

JNBP1.3,NEG;

控制步进电机反转

JNBP1.2,POS;

控制步进电机正转

SJMPKEY

POS:

CJNER4,#7,LOOPP;

判断是否到头

MOVR4,#0;

重新赋首值

AJMPPP

LOOPP:

INCR4;

赋新值

PP:

MOVA,R4

MOVCA,@A+DPTR

MOVP1,A

ACALLDELAY

AJMPKEY

NEG:

CJNER4,#0,LOOPN;

AJMPNN

LOOPN:

DECR4;

NN:

DJNZR5,DD2

DJNZR6,DD1

RET

TAB1:

DB1fH,3fH,2fH,6fH

DB4fH,0CfH,8fH,9fH;

控制数据表

连线:

JP1接IP6

实验五扩展存储器读写实验

LJMPSTART

ORG0040H

MOVSP,#60H

MOVR0,#00H

SETBP3.4

STR:

MOVDPTR,#0000H;

置外部RAM读写地址

MOVA,R0

MOVB,A

MOVX@DPTR,A;

写外部RAM

MOVXA,@DPTR;

读外部RAM

XRLA,B;

比较读回的数据

JNZERROR

MOVA,B;

异或后,A中数据以不对,需要从B中重取数据

CPLA;

状态取反

MOVP1,A;

数据在P1口输出

INCR0;

数据加1

MOVA,DPL;

地址是否到IFFFH,

CJNEA,#0FFH,DIN1

MOVA,DPH

CJNEA,#1FH,DIN1

JMPSTR;

若空间已存满,则从头开始

DIN1:

INCDPTR;

地址加1

ERROR:

CLRP3.4;

测试失败,鸣叫

SJMP$

实验六LED灯轮换点亮实验

LJMPSTART

MOVSP,#60H

LD1:

MOVA,#0FEH

CLRP2.7

ROTATE:

MOVP0,A;

写P0口

SETBP2.7

NOP

LCALLDELAY;

延时

RLA;

循环左移

SJMPROTATE

MOVR0,#0AH;

延时子程序(1秒)

DELAY1:

MOVR1,#00H

DELAY2:

MOVR2,#0B2H

DJNZR2,$

DJNZR1,DELAY2

DJNZR0,DELAY1

实验七:

交通灯控制实验

LJMPMAIN

MAIN:

MOVSP,#60H

CLRP2.6

LCALLSTATUS0;

初始状态(都是红灯)

CIRCLE:

LCALLSTATUS1;

南北绿灯,东西红灯

LCALLSTATUS2;

南北绿灯闪转黄灯,东西红灯

LCALLSTATUS3;

南北红灯,东西绿灯

LCALLSTATUS4;

南北红灯,东西绿灯闪转黄灯

LJMPCIRCLE

STATUS0:

;

南北红灯,东西红灯

MOVP0,#09H

SETBP2.6

NOP

CLRP2.6

MOVR2,#10;

延时1秒

LCALLDELAY

STATUS1:

MOVP0,#21H

SETBP2.6;

74HC573数据锁存

MOVR2,#50;

延时5秒

STATUS2:

南北绿灯闪转黄灯,东西红灯

MOVR3,#03H;

绿灯闪3次

FLASH:

MOVP0,#021H

MOVR2,#03H

MOVP0,#01H

MOVR2,#03H

DJNZR3,FLASH

MOVP0,#11H;

南北黄灯,东西红灯

STATUS3:

MOVP0,#0CH

STATUS4:

FLASH1:

MOVP0,#08H

DJNZR3,FLASH1

MOVP0,#0AH

延时子程序

PUSH2;

将R2、R1、R0压入堆栈

PUSH1

PUSH0

MOVR0,#0B2H

DJNZR0,$

DJNZR1,DELAY2;

延时100mS

DJNZR2,DELAY1

POP0

POP1

POP2

实验八LED数码管显示实验

系统复位时,显示"

12345678"

显示内容放到主程序中,用50H~57H作为显示缓冲单元,由30H放位控码;

AJMPMAIN

MOV50H,#01H;

设置了显示缓冲单元50H~57H

MOV51H,#02H;

显示"

MOV52H,#03H

MOV53H,#04H

MOV54H,#05H

MOV55H,#06H

MOV56H,#07H

MOV57H,#08H

HERE:

ACALLDISP

AJMPHERE

DISP:

PUSHDPH

PUSHDPL

PUSHPSW

PUSHACC

MOVR0,#50H;

显示缓冲单元首地址

MOV30H,#0FEH;

位控码

LD0:

MOVP0,#0FFH;

清位控口,修改

SETBP2.7

CLRP2.7

MOVDPTR,#TABLE;

查段码

MOVA,@R0

MOVCA,@A+DPTR

送段码

CLRP2.6

MOVA,30H

送位控码

INCR0

MOVA,30H

JNBACC.7,LD1

RLA

MOV30H,A

AJMPLD0

MOVP0,#00;

清段控口,修改

MOVP0,#0FFH;

清位控口,修改

CLRP2.7

POPACC

POPPSW

POPDPL

POPDPH

TABLE:

DB3FH,06H,5BH,4FH,66H;

01234

DB6DH,7DH,07H,7FH,6FH;

56789

DB77H,7CH,39H,5EH,79H;

ABCDE

DB71H,00H,76H,38H,40H;

F灭HL-

MOVR1,#02H;

延时约1ms

DEL0:

MOVR2,#00H

DEL1:

DJNZR2,DEL1

DJNZR1,DEL0

END

实验九LED数码管显示与按钮输入

HELLO-88"

,当按下任何时,在最右边LED上显示该键号,原显示内容自动左移

显示程序采用了子程序的结构,有利于独立性,并使用了查表指令

新键标记位01H,新键38H,新键暂存37H

该程序的关键在于按键处理,处理前先消除新键标记位

AJMPMAIN

MOV50H,#11H;

MOV51H,#0EH;

MOV52H,#12H

MOV53H,#12H

MOV54H,#00H

MOV55H,#13H

MOV56H,#08H

CLR01H;

清新按钮标记为

ACALLDISP

ACALLKEYSCAN

ACALLKEYPRO

AJMPHERE

KEYSCAN:

PUSHDPH

PUSHDPL

MOVP0,#00H;

送全0码,检查是否有按钮按下

JNBP3.2,ONE

CLR01H

KEY_END:

POPACC

ONE:

ACALLDISP;

调用现实延时,消抖

MOVP0,#0FEH;

送01#键扫描码

JBP3.2,TWO

MOV37H,#01H

AJMPKEY_D

TWO:

MOVP0,#0FDH;

送02#键扫描码

JBP3.2,THREE

MOV37H,#02H

THREE:

MOVP0,#0FBH;

送03#键扫描码

JBP3.2,FOUR

MOV37H,#03H

FOUR:

MOVP0,#0F7H;

送04#键扫描码

JBP3.2,FIVE

MOV37H,#04H

AJMPKEY_D

FIVE:

MOVP0,#0EFH;

送05#键扫描码

JBP3.2,SIX

MOV37H,#05H

SIX:

MOVP0,#0DFH;

送06#键扫描码

JBP3.2,SEVEN

MOV37H,#06H

SEVEN:

MOVP0,#0BFH;

送07#键扫描码

JBP3.2,EIGHT

MOV37H,#07H

EIGHT:

MOVP0,#7FH;

送08#键扫描码

JBP3.2,KEY_E

MOV37H,#08H

KEY_D:

MOVP0,#00H;

JNBP3.2,KEY_D;

是否弹开

MOVA,37H

MOV38H,37H

SETB01H;

设定新键标记

AJMPKEY_END

KEY_E:

CLR01H

AJMPKEY_END

KEYPRO:

JNB01H,PROEND

CLR01H;

移位处理

MOV50H,51H

MOV51H,52H

MOV52H,53H

MOV53H,54H

MOV54H,55H

MOV55H,56H

MOV56H,57H

MOV57H,38H

PROEND:

RET

实验十带应急状态的交通灯控制实验

ORG0003H;

INT0中断入口地址

LJMPINTA

SETBIT0;

下降沿有效

SETBEA

SETBEX0;

INT0中断有效

INTA:

PUSHPSW;

保护现场

PUSH2;

将R2压入堆栈

MOVP0,#09H;

东西南北均红灯

MOVR2,#100;

延时10秒

LCALLDELAY

POPPSW

RETI

PUSH2;

实验十一点阵显示实验

LED点阵每隔3秒轮换显示0123456789*

数据口通过P0扩展口和P1作为点阵扫描接口

显示内容放到主程序中,用50H~57H作为显示缓冲单元,

SANEQU30H;

扫描码单元

TIMEQU31H;

定时循环次数

CNTAEQU3

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2