51配件接线图旧版.docx
- 文档编号:23607797
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:17
- 大小:223.70KB
51配件接线图旧版.docx
《51配件接线图旧版.docx》由会员分享,可在线阅读,更多相关《51配件接线图旧版.docx(17页珍藏版)》请在冰豆网上搜索。
51配件接线图旧版
51单片机学习板配件接线及演示程序
1.步进电机
把步进电机的插头插在学习板上标有“步进电机”的插座中,如下图所示,并把编写好程序下载到学习板的单片机中去,就可以看到步进电机运行相应的动作。
例子:
步进电机正转
AA:
MOVP1,#11111110B
LCALLKK
MOVP1,#11111101B
LCALLKK
MOVP1,#11111011B
LCALLKK
MOVP1,#11110111B
LCALLKK
SJMPAA
;延时
KK:
MOVR5,#01
K1:
MOVR6,#80H
K2:
MOVR7,#80H
K3:
NOP
DJNZR7,K3
DJNZR6,K2
DJNZR5,K1
RET
2.DS18B20温度传感器
把DS18B20温度传感器的三个管脚对应插到学习板上黑色的标注“温度”插座,注意板上有一个弧度,传感器对应弧度方向,有字的一面向里面,弧度那面向外面插入。
如下图所示。
把编写好的程序下载到学习板的单片机中,从相应的数码管可看到当前温度的变化。
例子:
两位数码管温度显示
ORG0000H
START:
MOVR5,#00H
MOVP0,#00111111B
MOVP2,#00001111B
MOVR0,#24
A5:
MOVR1,#250
A4:
LCALLD1MS
DJNZR1,A4
DJNZR0,A5
;-------------------单片机内存分配申明!
TEMPER_LEQU29H;用于保存读出温度的低8位
TEMPER_HEQU28H;用于保存读出温度的高8位
FLAG1EQU38H;是否检测到DS18B20标志位
G_BITEQU20H;数码管个位数存放内存位置
S_BITEQU21H;数码管十位数存放内存位置
BG_BITEQU22H
BS_BITEQU23H
MAIN:
LCALLGET_TEMPER;调用读温度子程序,显示范围00到99度,显示精
;度为1度,因为12位转化时每一位的精度为0.0625
;度,我们不要求显示小数所以可以抛弃29H的低4
;位将28H中的低4位移入29H中的高4位,这样获
;得一个新字节,这个字节就是实际测量获得的温度
;这个转化温度的方法非常简洁无需乘于0.0625系数
MOVA,29H
MOVC,40H;将28H中的最低位移入C
RRCA
MOVC,41H
RRCA
MOVC,42H
RRCA
MOVC,43H
RRCA
MOV29H,A
LCALLDISPLAY;调用数码管显示子程序
AJMPMAIN
;这是DS18B20复位初始化子程序
INIT_1820:
SETBP2.1
NOP
CLRP2.1
;主机发出延时537微秒的复位低脉冲
MOVR1,#3
TSR1:
MOVR0,#107
DJNZR0,$
DJNZR1,TSR1
SETBP2.1;然后拉高数据线
NOP
NOP
NOP
MOVR0,#25H
TSR2:
JNBP2.1,TSR3;等待DS18B20回应
DJNZR0,TSR2
LJMPTSR4;延时
TSR3:
SETBFLAG1;置标志位,表示DS1820存在
CLRP1.7;检查到DS18B20就点亮P1.7LED
LJMPTSR5
TSR4:
CLRFLAG1;清标志位,表示DS1820不存在
LJMPTSR7
TSR5:
MOVR0,#117
TSR6:
DJNZR0,TSR6;时序要求延时一段时间
TSR7:
SETBP2.1
RET
;读出转换后的温度值
GET_TEMPER:
SETBP2.1
LCALLINIT_1820;先复位DS18B20
JBFLAG1,TSS2
RET;判断DS1820是否存在?
若DS18B20不存在则返回
TSS2:
CLRP1.7;DS18B20已经被检测到!
MOVA,#0CCH;跳过ROM匹配
LCALLWRITE_1820
MOVA,#44H;发出温度转换命令
LCALLWRITE_1820
;这里通过调用显示子程序实现延时一段时间,等待AD转换结束,
;12位的话750微秒
LCALLDISPLAY
LCALLINIT_1820;准备读温度前先复位
MOVA,#0CCH;跳过ROM匹配
LCALLWRITE_1820
MOVA,#0BEH;发出读温度命令
LCALLWRITE_1820
LCALLREAD_18200;将读出的温度数据保存到35H/36H
CLRP1.7
RET
;写DS18B20的子程序(有具体的时序要求)
WRITE_1820:
MOVR2,#8;一共8位数据
CLRC
WR1:
CLRP2.1
MOVR3,#6
DJNZR3,$
RRCA
MOVP2.1,C
MOVR3,#23
DJNZR3,$
SETBP2.1
NOP
DJNZR2,WR1
SETBP2.1
RET
;读DS18B20的程序,从DS18B20中读出两个字节的温度数据
READ_18200:
MOVR4,#2;将温度高位和低位从DS18B20中读出
MOVR1,#29H;低位存入29H(TEMPER_L),高位存入28H(TEMPER_H)
RE00:
MOVR2,#8;数据一共有8位
RE01:
CLRC
SETBP2.1
NOP
NOP
CLRP2.1
NOP
NOP
NOP
SETBP2.1
MOVR3,#9
RE10:
DJNZR3,RE10
MOVC,P2.1
MOVR3,#23
RE20:
DJNZR3,RE20
RRCA
DJNZR2,RE01
MOV@R1,A
DECR1
DJNZR4,RE00
RET
;显示子程序
DISPLAY:
MOVA,29H;将29H中的十六进制数转换成10进制
MOVB,#10;10进制/10=10进制
DIVAB
MOVS_BIT,A;十位在A
MOVG_BIT,B;个位在B
MOVDPTR,#TAB
MOVR0,#4
DPL1:
MOVR1,#250;显示1000次
DPLOP:
MOVA,G_BIT;取个位数
MOVCA,@A+DPTR;查表
MOVP0,A
CLRP2.4
LCALLD1MS
SETBP2.4
MOVA,S_BIT
MOVCA,@A+DPTR
MOVP0,A
CLRP2.5
LCALLD1MS
SETBP2.5
;--------显示温度的同时检测温度是否在设定的温度范围内,是则仅仅是显示,
;不做别的操作。
否则,报警并且看温度过高还是过低,过高显示红灯,表示
;加温。
过低显示黄灯,表示减温。
DJNZR1,DPLOP;100次没完循环
DJNZR0,DPL1;4个100次没完循环
RET
;1MS延时(按12MHZ算)
D1MS:
MOVR7,#80
DJNZR7,$
RET
TAB:
DB00111111B
DB00000110B
DB01011011B
DB01001111B
DB01100110B
DB01101101B
DB01111101B
DB00000111B
DB01111111B
DB01101111B
END
3.四路无线收发模块
把接收模块插到学习板的单排七孔对应插座,天线部份朝外,如下图所示。
把编写好的程序下载到学习板的单片机中,运行后可通过无线发送遥控观察学习板程序相应的变化。
例子:
无线收发模块
AA:
JNBP3.2,A1
JNBP3.3,A2
JNBP3.4,A3
JNBP3.5,A4
SJMPAA
A1:
MOVP1,#11111110B
SJMPAA
A2:
MOVP1,#11111101B
SJMPAA
A3:
MOVP1,#11111011B
SJMPAA
A4:
MOVP1,#11110111B
SJMPAA
4.128*64液晶模块
把液晶模块直接插到学习板上对应的插座,位置和方向如下图所示。
把编写好的程序下载到学习板的单片机中,运行后可以从液晶屏上看到效果,如需调节液晶屏的亮度,可通过单片机晶振旁边的蓝色可调电阻调节。
5.直流电机
把直流电机的插头插到学习板上标注“直流电机”的插座上,如下图所示,把编写好的程序下载到学习板的单片机中,运行后可以观察直流电机相应的变化。
6.16*16点阵显示器
此处用40P排线连起,或将写好的AT89S52/51直接插到点阵板上通电运行即可。
例子:
静态显示三个字
TTEQU150;定义显示时间长短
MOVP3,#00H;初始化
MOVP2,#00H;初始化
AA:
MOVR2,#TT;控制汉字静态显示时间
MOVDPTR,#TAB1;调用第一个汉字的字码表
A3:
LCALLJTXS;调用静态显示子程序
DJNZR2,A3;
MOVR2,#TT;控制汉字静态显示时间
MOVDPTR,#TAB2;调用第二个汉字的字码表
A4:
LCALLJTXS;调用静态显示子程序
DJNZR2,A4;
MOVR2,#TT;控制汉字静态显示时间
MOVDPTR,#TAB3;调用第三个汉字的字码表
A5:
LCALLJTXS;调用静态显示子程序
DJNZR2,A5;
LJMPAA;重复开始
;静态显示子程序
JTXS:
MOVR0,#00H;从第一列开始扫描
MOVR1,#00H;从第一组代码开始送数
SETBP3.0;打开控制上半部字码显示
A2:
MOVP1,R0;列扫描
A1:
LCALLCB;调用查表子程序
INCR1;下一代码
INCR0;下一列
CJNER1,#16,A2;是否完成上半部字码显示
CLRP3.0;关闭控制上半部字码显示
MOVR0,#00H;从第一列开始扫描
SETBP3.1;打开控制下半部字码显示
a22:
MOVP1,R0;列扫描
LCALLCB;调用查表子程序
INCR1;下一代码
INCR0;下一列
CJNER1,#32,A22;是否完成下半部字码显示
CLRP3.1;关闭控制下半部字码显示
RET;返回
;查表子程序
CB:
MOVA,R1;查字码表
MOVCA,@A+DPTR;
MOVP2,A;查出结果送P2口显示
LCALLKK;调用一个代码显示时间
RET
;延时子程序
KK:
MOVR7,#180
K1:
NOP
DJNZR7,K1
RET
;汉字字码表
TAB1:
DB20h,20h,20h,20h,20h,20h,0A0h,7Fh,0A0h,20h,20h,20h,20h,20h,20h,00h
DB00h,80h,40h,20h,10h,0Ch,03h,00h,01h,06h,08h,30h,60h,0C0h,40h,00h
TAB2:
DB00h,18h,04h,14h,94h,94h,0D5h,0B6h,14h,14h,94h,04h,14h,0Ch,04h,00h
DB00h,29h,29h,15h,14h,4Ah,89h,44h,3Fh,06h,09h,09h,10h,30h,10h,00h
TAB3:
DB10h,10h,0F0h,1Fh,10h,0F0h,80h,82h,82h,82h,0F2h,8Ah,86h,82h,80h,00h
DB80h,43h,22h,14h,0Ch,73h,20h,00h,40h,80h,7Fh,00h,00h,00h,00h,00h
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 配件 接线 旧版