基于proteus的51单片机仿真实例,1位数码管显示实例

2021-06-10来源: eefocus关键字:proteus

1、数码管实际上是由7个发光二极管组成一个8字形,另外一个发光二极管做成圆点型,这样就构成了一个数码管。所有的8个二级管的正极或者负极都连到一个公共端点上,对于公共端连在正极的数码管,称为共阳极数码管,反之称为共阴极数码管。


根据数码管的内部结构原理,可以很清楚的知道数码管显示数字的原理。


2、由于单片机的IO口的驱动能力有限,而数码管点亮时需要较大的电流,所以在用单片机构成数码管显示系统时,需要增加驱动电路,最简单的驱动电路就是利用三极管的电流放大能力来输出较大的电流,


3、让数码管显示数字的步骤为:


1)使数码管的公共端连到电源(共阳极)或者地(共阴极)上。


2)向数码管的各个段输出不同的电平。


本例使用单个数码管循环显示0-9这10个数字。


4、在keil c51中新建工程ex47,编写如下程序代码,编译并生成ex47.hex文件


#include //包含头文件


//延时函数,延时约200ms

void delay(void)

{

unsigned char i,j;

for(i = 0; i < 255;i++)

{

for(j = 0;j < 255;j++);

}

}


//主函数

void main(void)

{

unsigned char i;

unsigned char code Tab[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x82,0xf8,0x80,0x90};

//定义数字0-9的段码表

P2 = 0xfe; //P2.0输出低电平,数码管电源导通

while(1)

{

for(i = 0;i < 10;i++) //循环10次。数码管循环显示数字0-9

{

P0 = Tab[i]; //P0口输出数字0-9对应的段码

delay(); //延时

}

}

}




5、在proteus中新建仿真文件ex47.dsn,电路原理图如下所示:


需要说明的是在proteus中,查找排阻(不带公共端)和数码管的方法。


查询数码管元件时,输入关键字“7seg-com..”后,就可以看到各种数码管的电路符号。根据需要选择相应数码管即可。


排阻的查找方法:查找带公共端的排阻时,输入关键字“respack”即可。


不带公共端的排阻,输入关键字“RX8”即可



6、将ex47.hex文件载入at89c51中,启动仿真,按动按键,观察程序运行结果,下图是某一时刻程序运行结果



关键字:proteus 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic538273.html

上一篇:二叉树算法在单总线上的C51软件实现
下一篇:最后一页

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

Proteus仿真51单片机C语言程序-单片机间双向通信
简介:单片机之间的双向通信:甲机向乙机发送控制命令字符,甲机同时接收乙机发送的数字,并显示在数码管上。
发表于 2021-05-31
<font color='red'>Proteus</font>仿真51单片机C语言程序-单片机间双向通信
Proteus仿真51单片机C语言-单片机向主机发送字符串
简介:单片机向主机发送字符串:单片机按一定的时间间隔向主机发送字符串,发送内容在虚拟终端显示。
发表于 2021-05-27
<font color='red'>Proteus</font>仿真51单片机C语言-单片机向主机发送字符串
Proteus仿真51单片机C语言程序实例-开关控制报警器
简介:51单片机C语言程序实例-开关控制报警器(用K1开关控制报警器,程序控制P1.0输出两种不同频率的声音,模拟很逼真的报警效果)。
发表于 2021-05-17
<font color='red'>Proteus</font>仿真51单片机C语言程序实例-开关控制报警器
DAC0832的波形信号发生器Proteus仿真设计
设计要求1.输出4种波形:方波、锯齿波、三角波和正弦波;2.幅值调节范围为:2V-10V;3.频率调节范围为:20Hz-80Hz;内容简介信号发生器仿真系统由51单片机最小系统、LCD12864液晶模块、DAC0832波形转换模块(包括波形幅值与频率转换)、按键控制模块以及示波器测量模块构成。通过Keil平台下的C语言编程,单片机控制输出的数字信号经工作在直通方式下的DAC0832数模转换,输出方波、正弦波、锯齿波、三角波4种电压波形,且波形幅值、频率可调。波形的切换、频率和幅值的增减可通过按键模块实现,同时当前的波形信息可实时更新在LCD12864显示模块上,波形形象可通过示波器测量模块展现。整个设计由Proteus
发表于 2021-04-20
DAC0832的波形信号发生器<font color='red'>Proteus</font>仿真设计
MSP430F235+Proteus 串口仿真
Proteus仿真图虚拟串口设置如下:IAR for 430 程序如下:#include <msp430x23x.h>typedef unsigned char uchar;typedef unsigned int uint;uchar tmp;void PutString(uchar *ptr){while(*ptr != ''){while (!(IFG2 & UCA0TXIFG)); // TX缓存空闲?UCA0TXBUF = *ptr++; // 发送数据}while (!(IFG2 & UCA0TXIFG));UCA0TXBUF = 'n';}void
发表于 2021-02-22
MSP430F235+<font color='red'>Proteus</font> 串口仿真
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved