一.系统概述
系统使用的模块有AT89C52单片机+74HC245高速CMOS总线收发器+8位共阴数码管。
本设计采用51单片机为核心控制,使用数码管进行数字的显示,每个数字的显示都是交替循环进行的,通过三极管来驱动数码管进行显示,这种装置多用于数据检测和显示,动态显示的实现的是依靠延时函数达成的,动态显示就是交替及延迟显示数字。
二.仿真概述
1.采用共阳数码管显示数字,并且定时过程也会在数码管上显示。
2.此时就开始进行交替循环显示,每次显示都是两个数字,可以直观的看到交替过程。
三.程序设计
使用Keil 51进行程序设计,打开Proteus时程序是默认烧录的状态,如果没有烧录点击AT89C51单片机并将程序导入就能运行系统(程序文件是后缀为hex的文件)。
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
三极管
+关注
关注
141文章
3474浏览量
118705 -
51单片机
+关注
关注
269文章
5642浏览量
120434 -
数码管
+关注
关注
31文章
1825浏览量
89841
原文标题:基于51单片机的数码管动态显示(含Keil程序和Proteus文件)
文章出处:【微信号:小常硬件,微信公众号:小常硬件】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
51单片机数码管动态显示
数码管显示999-0;个位为什么闪烁?如何改善?现附程序如下,请大神指点!!!!!!!!***it shi=P1^2;***it bai=P1^1;unsigned int a,b,c, j
发表于 11-06 19:57
51单片机数码管动态显示,我想让4位数码管显示0-9999所有的数字,
问题是各位循环0-9,,但是十,百 千位上的数只会闪一下就进入个位的循环了,无法让十,百 千位上的数一直亮,我的想法是让十,百 千位的灯是在个位循环的时候不灭,保持示数。请大神们帮帮忙谢谢!#include #include #define uchar***it wei=P2^7;***it duan=P2^6;uchar code A[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};unsigned int ge=0;unsigned int shi=0;unsigned int bai=0;unsigned int qian=0;int k; void delay(unsigned int i){unsigned int j;for(j=100;j>0;j--) for(;i>0;i--);}void main(){ while(1) { ge++; wei=1; P0=0xf7; wei=0; //位选 duan=1; P0=A[ge]; duan=0;//段选 delay(30);if(ge==9) {ge=0;shi++;wei=1;P0=0xfb;//shiwei=0; duan=1;P0=A[shi];duan=0; delay(10); } if(shi==9) {shi=0;bai++;wei=1;P0=0xfd;//shiwei=0; duan=1;P0=A[bai];duan=0; delay(10); } if(bai==9) {bai=0;qian++;wei=1;P0=0xfe;//shiwei=0; duan=1;P0=A[bai];duan=0; delay(10); } if(qian==9||bai==9||shi==9||ge==9) {wei=1;P0=0xff;wei=0;delay(10000); } }}
发表于 07-14 16:38
51单片机教程:数码管动态显示(0~99999999)74hc138驱动
数码管动态显示0~99999999一、共阴极8位数码管原理那么,如果要显示:‘123’ ,首先科普一些必要知识1、多位数码管是扫描
发表于 11-23 09:21
•11次下载
单片机综合实验 - 04 | 键盘、数码管与点阵管实验
一、实验目的和任务1、掌握80C51单片机矩阵键盘的构成原理和软件编程。2、掌握80C51单片机数码管动
发表于 11-23 18:21
•7次下载
评论