资源描述
Proteus虚拟仿真案例-——流水灯制作
一、 原理图设计
1. 打开proteus,新建文件
2. 选择元器件
(1) 选择单片机芯片
左侧快捷菜单栏里按下,按下P,在“关键字”栏中输入“8951”,选择AT89C51
(2) 选择晶振:输入crystal,选择CRYSTAL
(3) 选择电容:输入22p,左边类别中选择Capacitors,右边选择CERAMIC22P
(4) 选择电阻:输入10k,左边类别中选择Resistors,右边选择RESISTORS库的3WATT10K
(5) 选择led:输入led,左边类别中选择Optoelectronics,右边选择led-yellow
(6) 选择按钮:输入button,选择USERDVC库的BUTTON
(7) 选择好的元器件如图所示
3. 放置器件
振荡电路:
(1) 放置AT89C51单片机:在DEVICES栏中选中AT89C51,然后在绘制区放置到合适的位置
(2) 放置晶振,隐藏text属性(菜单—模板—设置设计默认值—显示隐藏文本不勾选)
(3) 分别将晶振的两脚与AT89C51的19、18脚相连
(4) 放置两个22p的电容,一端与晶振相连,另一端互连
(5) 放置地节点(左侧快捷菜单栏里按下——GROUND),与两个电容相连
复位电路:
a. 放置电源节点(左侧快捷菜单栏里按下——POWER)
b. 放置地节点
c. 放置电容,电阻,电阻一端接地,一端与电容相连,电容一端接+5V电源
d. AT89C51第9脚接电阻、电容中间
e. 放置按钮,接电容两端
f. 右击按钮——编辑属性——元件参考:BUTTON,并取消“本元件不用于PCB制版”
g. 修改C3电容的值:右击——编辑属性——Capacitance改为10u
绘制流水灯:
a. 放置电阻、led,右击led——编辑属性——隐藏元件值,连接电阻和led
b. 使用块复制,复制7组电阻和led
c. 放置电源,分别与D1-D8的一端连接
d. 总线绘制:左侧选择“总线模式”,绘制一条总线,连接P1口与R2-R9
e. 使用属性分配工具进行快速网络标号:按下a,出现属性分配窗口,“字符串”框输入“net=D#”,单击P0口的8条线,进行编号,再次按下a,出现属性分配窗口,“字符串”框输入“net=D#”,单击R2-R9的8条线,进行编号
f. 批量修改R2-R9的值:按下a,出现属性分配窗口,“字符串”框输入“VALUE=100”,确定
二、 系统仿真
1. 编写源代码
(1) 菜单——源代码——添加/删除源文件——new——文件名输入pmd.asm——打开——确定
(2) 菜单——源代码——pmd.asm,进入编辑窗口,编写跑马灯源程序(如下所示),保存
ORG 00H
START: MOV R2,#8
MOV A, #0FEH
LOOP: MOV P1, A
LCALL DELAY
RL A
DJNZ R2, LOOP
LJMP START
DELAY: MOV R5, #20
D1: MOV R6, #20
D2: MOV R7, #248
DJNZ R7, $
DJNZ R6, D2
DJNZ R5, D1
RET
END
(3) 编译代码:源代码——全部编译
2. 运行仿真
(1) 暂停,观察源代码窗口,寄存器窗口(调试——寄存器窗口),SFR窗口中的值
三、 PCB(Printed Circuit Board,印制电路板)制版
1. 封装检查
(1) 菜单——设计——设计浏览器,查看
(2) 回到ISIS界面,处理“按钮”:右键——封装工具——添加——关键字输入button,选择一个,引脚A分别输入1、2——指定封装
(3) 批量修改电阻的封装值:选中R2-R9,按下a,出现属性分配窗口,“字符串”框输入“package=RES40”,确定
(4) 批量修改led的封装值:选中D1-D8,按下a,出现属性分配窗口,“字符串”框输入“package=LED”,确定
(5) 修改R1的封装值:右击——编辑属性——PCB Package设置为RES40
(6) 保存:路径和文件名不要有中文
2. 点击ARES,制作PCB板
(1) 画板框:左下角下拉框“选择当前板层”——Board Edge,顶部快捷菜单栏里按下,左侧快捷菜单栏里按下,画一个100mm×100mm的框
(2) 布局各元器件:按下,分别放置单片机U1、电阻R2-R9、晶振X1、电容C1-C3、按钮、led灯D1-D8、电阻R1到刚才画的板框中
(3) 自动布线:顶部快捷菜单栏里按下——开始布线
(4) 调整板框到合适的大小
(5) 3D预览PCB:菜单——输出——3D预览
(6) 生成电源层:菜单——工具——生成电源层——网络下拉框选择“GND=POWER”,层下拉框选择“Top Copper”——确定
展开阅读全文