最新简单实例掌握PROTEUS速成 - 图文(6)

2019-03-28 20:26

平台中进行。

(1)带公共端的排阻(RESPACK-8)如图5-18所示,在本电路中作为P0的 上拉电阻,在如图5-19所示Component Value一栏中可更改阻值,例如本例中将阻值更改为200欧姆。

图5-18排阻 图5-19排阻属性框

至此,我们便完成了整个电路图的绘制。 3.4.2 步骤二:源程序设计与目标代码文件生成 (1)程序流程图

开始 依此给数码管送\ 延时1毫秒 声明变量, 数码管编码数组 声明子程序 数码管显示子程序 主程序

数码管显示子程序

图5-20 数码管动态扫描的流程图

(2)源程序设计

#include //52系列单片机头文件 #define uchar unsigned char #define uint unsigned int uint x,y;

uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71}; //共阴极数码管编码

void display(uchar,uchar,uchar,uchar); //声明子函数 void delay(int); //声明子函数 void main() {

while(1)

{ } }

void display(uchar a,uchar b,uchar c,uchar d) {

P2=0xef;

P0=table[a]; //给第一个数码管送\

delay(1); //延时1ms

P2=0xdf;

P0=table[b]; //给第二个数码管送\ delay(1); //延时1ms

P2=0xbf;

P0=table[c]; //给第三个数码管送\ delay(1); //延时1ms

P2=0x7f;

P0=table[d]; //给第三个数码管送\ delay(1); //延时1ms }

void delay(uint z) //延时子函数 {

uint x,y; for(x=z;x>0;x--)

}

display(1,2,3,4); //主程序始终调用数码管显示子程序

for(y=110;y>0;y--);

(2)生成目标代码文件

在KEIL软件中,编译C语言源程序,生成目标代码文件,本例中为dongtai.hex。

3.4.3 步骤三:PROTEUS仿真

加载目标代码文件,双击编辑窗口的AT89C51器件,在弹出属性编辑对话框Program File一栏中单击打开按钮

,出现文件浏览对话框,找到dongtai.hex

,启动仿真,仿真运

文件,单击“打开”按钮,完成添加文件。单击按钮

行片段如图5-21所示。通过AT89C52单片机控制四位数码管,实现让四位数码管稳定的显示“1234”的效果。

图5-21数码管动态扫描显示“1234”

3.5 扩展练习

本子情境中单片机趋动的是共阴极的数码管,请使用四位共阳极的数码管重新设计和仿真。

子情境四:定时/计数器的使用——方波发生器

4.1子情境内容:用AT89C51单片机定时/计数器0的定时功能可构成一简单的方波发生器,实现周期为2s的方波,并能在虚拟示波器上直观地显示波形。

4.2 子情境目标: (1)通过用AT89C52单片机定时/计数器0的定时功能构成一简单的方波发生器,掌握定时器的基本用法。

(2)用PROTEUS进行电路设计和实时仿真 (3)学会使用虚拟示波器观察波形 4.3 知识点链接 虚拟示波器的基本操作: 单击工具栏中的按钮

(虚拟仪器),在对象选择器列表中选择

OSCILLOSCOPE(示波器),在ISIS编辑窗口中合适位置单击就可以将示波器放置好了。最后将单片机的P1.0口与示波器的A通道相连,如图5-22所示。

4.4 任务步骤

4.4.1 步骤一:PROTEUS电路设计,实现周期为2s的方波的原理图如图5-22所示。

图5-22 方波发生器原理图

1、选取元器件


最新简单实例掌握PROTEUS速成 - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:煤炭地质勘查实习报告 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: