proteus实验Word文档下载推荐.docx
- 文档编号:16011337
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:18
- 大小:383.47KB
proteus实验Word文档下载推荐.docx
《proteus实验Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《proteus实验Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。
5、参考程序
可参考单片机实验教程实验2程序。
实验二I/O输入输出应用
1)掌握AT89C51单片机I/O口输入输出的应用方法;
2)掌握单片机驱动7段数码管显示数字的电路设计方法及编程方法。
1)利用单片机AT89C51制作一个0—99的手动计数器,用其P2.0—P2.7接一个共阴极数码管,输出显示计数器个位,用P0.0—P0.7接数码管输出显示计数值的十位数。
用P3.3引脚外接一轻触开关,要求每按一次按键,计数值加1,当计数值超过99后自动返回0重新开始循环计数。
参考电路如图2.1所示。
图2.1参考电路图
2)编程实现计数器的自动计数,利用按键实现计数暂停、复位功能。
1)在proteusISIS环境中根据电路图绘制电路。
2)在keil中建立程序文件。
并编译源程序,修改程序中的错误直至通过。
3)加载目标代码文件。
在priteus中双击AT89C51元件打开编辑元件对话框,设置单片机的频率为12MHz,并加载先前在Keil中编译产生的“.HEX”文件。
4)在proteus菜单栏中,打开“Debug”下拉菜单,选择“UseRemoteDebugMonitor”选项,以支持与Keil的联调。
5)进行调试与仿真。
仿真结果如图2.2所示。
图2.2电路仿真图
5、参考程序(实验内容1)
ORG00H
LJMPSTART
ORG30H
START:
MOVDPTR,#TABLE;
设置段码表首地址
MOVR0,#00H;
计数初值存R0
MOVP0,#3FH
MOVP2,#3FH;
复位时数码管显示0
S1:
INCR0
CJNER0,#100,S2
MOVR0,#00H
S2:
JBP3.3,$;
等待按键
LCALLDELAY;
消抖动延时
JBP3.3,S2
S3:
MOVA,R0
MOVB,#10
DIVAB;
分离计数值的个位和十位
MOVCA,@A+DPTR;
差表求数字的七段码值
MOVP0,A
MOVA,B
MOVCA,@A+DPTR
MOVP2,A
JBP3.3,S1;
等待按键抬起
LJMPS3
DELAY:
MOVR5,#20;
延时10ms
D1:
MOVR6,#250
DJNZR6,$
DJNZR5,D1
RET
TABLE:
DB3FH,06H,5BH,4FH,66H;
0~9七段码值
DB6DH,7DH,07H,7FH,6FH
END
实验三8×
8点阵LED显示
1)掌握8×
8点阵LED显示屏的使用方法;
2)掌握单片机进行拉幕式显示的编程方法。
1)利用单片机AT89C51、74LS245制作一个8×
8点阵LED显示屏显示电路。
在LED点阵中显示一个“×
”。
2)编程实现LED显示屏轮流显示0-9的数字,显示方式采用自右向左拉幕式显示。
参考电路如下。
图3.1参考电路图
4、8×
8点阵LED元件介绍
由于8×
8点阵LED元件引脚没有任何标注,因此在使用之前必须进行引脚测试,以确定行线和列线的顺序及极性。
图3-2给出了一种进行引脚测试的方法,根据测试结果便很容易确定该元件的电路接法。
图3-28×
8点阵LED引脚测试
5、参考程序
(1)实验内容1参考单片机实验教程实验10程序。
(2)实验内容2参考程序
R_CNTEQU31H
NUMBEQU32H
TCOUNTEQU33H
ORG00H
ORG0BH
LJMPINT_T0
MOVR0,#00H;
显示的幕次(即每一幕显示的行码起始序号)置0
MOVR_CNT,#00H;
列码序号置0
MOVNUMB,#00H;
行码序号置0
MOVTCOUNT,#00H
MOVTMOD,#01H
MOVTH0,#(65536-5000)/256;
定时5ms
MOVTL0,#(65536-5000)MOD256
SETBTR0
MOVIE,#82H
SJMP$
INT_T0:
MOVTH0,#(65536-5000)/256
MOVDPTR,#TAB;
取列码表首地址
MOVA,R_CNT
MOVP3,A
MOVDPTR,#NUB;
取行码表首地址
MOVA,NUMB
MOVCA,@A+DPTR
MOVP0,A;
输出行码
INCNUMB
NEXT1:
INCR_CNT
CJNEA,#8,NEXT2
MOVR_CNT,#00H
MOVNUMB,R0
NEXT2:
INCTCOUNT
MOVA,TCOUNT
CJNEA,#40,NEXT4;
每个数字显示200ms。
必须在TCOUNT数值是8的整数倍时再进行下面的移位操作,否则显示衔接时会乱。
INCR0;
上一幕显示行码的起始序号+1
CJNER0,#88,NEXT3
NEXT3:
MOVNUMB,R0;
送新一幕显示行码的起始序号
NEXT4:
RETI
TAB:
DB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH
NUB:
DB00H,00H,00H,00H,00H,00H,00H,00H;
空
DB00H,00H,3EH,41H,41H,41H,3EH,00H;
DB00H,00H,00H,00H,21H,7FH,01H,00H;
1
DB00H,00H,27H,45H,45H,45H,39H,00H;
2
DB00H,00H,22H,49H,49H,49H,36H,00H;
3
DB00H,00H,0CH,14H,24H,7FH,04H,00H;
4
DB00H,00H,72H,51H,51H,51H,4EH,00H;
5
DB00H,00H,3EH,49H,49H,49H,26H,00H;
6
DB00H,00H,40H,40H,40H,4FH,70H,00H;
7
DB00H,00H,36H,49H,49H,49H,36H,00H;
8
DB00H,00H,32H,49H,49H,49H,3EH,00H;
9
DB00H,00H,00H,00H,00H,00H,00H,00H;
END
实验四单片机与步进电机的接口技术
1)强化对步进电机工作原理的理解;
2)掌握用单片机控制步进电机时的接口电路设计方法;
3)掌握对步进电机进行控制的编程方法。
利用单片机AT89C51单片机控制步进电机的启/停、正转与反转。
图4.1参考电路图
4、步进电机元件介绍
Proteus软件中的单极性步进电机元件为6线制,其原理图及属性编辑框如图4.2所示,各属性值可根据需要修改。
本实验中所设置的属性值如图4-2所示。
AJMPSTART
ORG100H
MOVDPTR,#TAB1
MOVR0,#03H
MOVR4,#0
WAIT:
MOVP1,R0;
初始角度为0度
MOVP2,#0FFH
JNBP2.0,POS;
判断键盘
JNBP2.1,NEG
SJMPWAIT
JUST:
JBP2.1,NEG
POS:
MOVA,R4;
正转45度
MOVP1,A
ACALLDELAY
INCR4
AJMPKEY
NEG:
MOVR4,#6;
反转45度
MOVA,R4
KEY:
MOVP2,#3H;
读键盘
JBP2.0,FZ1
CJNER4,#7,LOOPZ;
是结束标志
MOVR4,#0FFH
LOOPZ:
INCR4;
地址加1
MOVP1,A;
输出控制脉冲
ACALLDELAY;
程序延时
FZ1:
JBP2.1,KEY
CJNER4,#0H,LOOPF;
MOVR4,#08H
LOOPF:
DECR4
程序延时
MOVR6,#5
DD1:
MOVR5,#80H
DD2:
MOVR7,#0
DD3:
DJNZR7,DD3
DJNZR5,DD2
DJNZR6,DD1
TAB1:
DB02H,06H,04H,0CH
DB08H,09H,01H,0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- proteus 实验