实验3 Proteus仿真设计
一、实验名称
以AT89C51为例,设计一个用按键控制的跑马灯,假设晶振频率为12MHz。当按下按键的时候,8个LED依次点亮;当再次按下按键时,8个LED停止依次点亮。
二、实验步骤
1、Proteus电路设计
①鼠标操作
②新建设计文件
③设定绘图纸的大小
④选取元器件并添加到对象选择器中
⑤网格单位
⑥放置、移动、旋转原件
⑦放置电源、地(终端)
⑧电路图布线
⑨设置、修改元器件的属性
⑩电气规则检测
2、源程序设计
ORG 0000H
LJMP MAIN
ORG 0040H
MAIN:
MOV SP,#50H
CLR F0
MOV P1,#0FFH
MOV P2,#0FFH
MOV A,#0FFH
MOV R0,#14H
GET_KEY:
JB P1.0,REMAIN_ORIGINAL_STATE
LCALL KEY_DELAY
JB P1.0,REMAIN_ORIGINAL_STATE
JNB P1.0,$
CPL F0
REMAIN_ORIGINAL_STATE:
LCALL KEY_DELAY
JB F0,LED_DISPLaY
JMP GET_KEY
LED_DISPLAY:
CJNE A,#0FFH,ROTATE
MOV A,#0FEH
ROTATE:
MOV P2,A
DJNZ R0,GET_KEY
MOV R0,#14H
RL A
JMP GET_KEY
KEY_DELAY:
MOV R7,#50
CYCLE:
MOV R6,#250
DJNZ R6,$
DJNZ R7,CYCLE
RET
END
三、电路原理图
四、遇到的问题及解决方法
1、软件功能的不熟悉
解决方法:通过查阅书籍、询问师傅或者网上查找相关资料熟悉并掌握了软件的使用方法。
2、电路图绘制有误
解决方法:重新检查电路图的错误,检查各个原件参数是否有误,注意接线、二极管的正负极不要接反。
3、代码输入有误
解决方法:仔细查看代码是输入错误,例如拼写、大小写、0 O D的区别等还是逻辑错误使得代码无法运行,逐一检查错误后进行修改。
|