89C52单片机数码管显示数字怎么点亮8个数码管

51单片机控制8位LED数码管做9999累加的程序
> 51单片机控制8位LED数码管做9999累加的程序
51单片机控制8位LED数码管做9999累加的程序
采用stc89c52单片机芯片,四位数码管的接法:P1位选 P0段选程序:#include void delay(unsigned int d);
unsigned char code duan[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};unsigned char code wei[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdF,0xbF,0x7F};main(){ unsigned int f=1 ,n=0;
unsigned char i,out[8];
t=0;while(1){
if(++t>=1)
if(f==10000)
if(n==10000)
} out[4]=duan[f%];//千位
out[5]=duan[f%];//百位 out[6]=duan[f%100/10];
out[7]=duan[f%10];
//个位 out[0]=duan[n%];//千万 out[1]=duan[n%];//百万 out[2]=duan[n%100/10];
//十万 out[3]=duan[n%10];
for( i=0; i<8; i++)
{P1=wei[1];
P0 = out[i];
P1 = wei[i];
delay(10);
本文引用地址:
分享给小伙伴们:
我来说两句……
最新技术贴
微信公众号二
微信公众号一单片机89c52如何控制多个数码管?_百度知道
单片机89c52如何控制多个数码管?
要求控制两个3位数码管和一个四位数码管。我现在没有“财富”了,烦请大虾指教,谢谢!
我有更好的答案
只想用P3口的话,必须另加控制元件。1一种方法是用两个锁存器来锁存数码管的段码和位码,进行动态扫描显示。2另一方法是,用P3口的4位接一个BCD译码器控制数码管的段码,再P3口的3位接一个3-8译码器来控制数码管的位进行动态扫描。3再就是可以用P3口的两根串行线接串并转换IC,来驱动数码管。
采纳率:92%
来自团队:
&R2,#B&&MOVC&&&&&&A;&JMP&&&&&$-2D0;&RLC&&A&&&&&&&&MOV&&&&&&&&&R3,#250&&&&&&&A;&R2,A&&&&&&&&JB&&&ACC.6,D1&ORL&&&&P1;&&&&&nbsp.3&nbsp,#31H&&&&&&&MOV&nbsp,@A+DPTR&&&&&&&&&MOV&&33H,#01H&A,@R0&ACALL&&&D0&&nbsp,R2&&&&&&&&RL&&&A&&&&&&&&MOV&&&CLR&&&&P3,#TABD1;&&&DJNZ&INC&&&&R0&&&&&&DJNZ&&&&R3,D2&&&&&&nbsp.3&&MOV&&&&R3;&&&&&&&&&&&DB&66H,6DH,7DH,07H&&&&&&&&&DB&7FH,6FH,77H,7CH&&&&&&&&&DB&39H,5EH,79H,71H&&&&&&&&&DB&40H&&&&&&&&&END;&&&&MOV&&34H,#06H&&nbsp,#8D2;MOV&&&&DPTR;&R3,$&&&&&&&&MOV&&&&&&MOV&&36H,#02H&&nbsp,#B&&&&&&&&MOV&&&nbsp:&&&&&&&&&&&RETTAB;&&nbsp,06H;3FH;MOV&&35H,#03H&DB&&&&&nbsp:&&&nbspMOV&&31H,#00H&&MOV&&&A,R2&&&&&&&&&&&&&&&&&&MOV&&32H,#00H&&nbsp:&&P3.2,C&&&&&&&&SETB&&&P3;&&&&&&&&ANL&&&&P1,AD3:&&&&&MOV&&&&nbsp:&&&MOV&&R0;&&&&&&&&&&&&&&&&&&&nbsp,5BH,4FH&nbsp
本回答被提问者和网友采纳
已经有人回答了
其他1条回答
为您推荐:
其他类似问题
您可能关注的内容
单片机的相关知识
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。STC89C52单片机驱动数码管动态显示
//////////////////////////////////////////////////////////////////////////
实现功能: 驱动开发板上的数码管,滚动显示1、2、3、4、5、6,实现数码管的
实验板型号:BS-XYD-C52
实验名称: 动态数码管的显示
编写人: 谢应东
编写日期:
//////////////////////////////////////////////////////////////////////////
#include&reg52.h&
#include &intrins.h&
#define uchar unsigned char //定义unsigned char 为 uchar
#define uint unsigned int //定义unsigned int 为 uint
sbit Duan=P2^6; //定义数码管的段选使能端
sbit Wei =P2^7; //定义数码管的位选使能端
#define Digital_tube_Wei_Enable Wei=1; //开启控制数码管的位选使能端
#define Digital_tube_Wei_Disable Wei=0; //关闭控制数码管的位选使能端
#define Digital_tube_Duan_Enable Duan=1; //开启控制数码管的段选使能端
#define Digital_tube_Duan_Disable Duan=0; //关闭控制数码管的段选使能端
#define Digital_tube_Duan P0 //定义数码管数据端口
uchar code Dis_table[]= //将BCD码转换成数码管扫描码的数组
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x00};
uchar code Dis_Position[]= //定义数码管位选的数组
{0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
//////////////////////////////////////////////////////////////////////////
函数名称:毫秒延时函数
函数功能:实现毫秒级的延时
参数介绍:Delay_MS: 定义需要延时的毫秒的数值
iNumber: 记录Delay_MS的数值,以for语句实现所要求的延时
iValue: 要延时毫秒所要进行的循环数值,本数值为实际测得
返回值: 无
注意事项:本实验是在所用晶振为12M的前提下实现的毫秒延时,本函数是通过循环的形
式完成,所以如果改变了晶振的频率,请做相应的改变
//////////////////////////////////////////////////////////////////////////
void DelayMs(uint Delay_MS)
uint iNumber,iV
for(iNumber=0;iNumber&Delay_MS;iNumber++) //用for语句实现的延时
iValue=107; //107这个数值是通过测定而得
while(iValue--);
//////////////////////////////////////////////////////////////////////////
函数名称:One_DigitalTube_display
函数功能:完成在实验板上数码管指定显示,即在特定的数码管上显示特定的数字,比
在第一个数码管上显示0
参数介绍:uData:要显示的数字的BCD码数组
uNumber:选择哪个数码管显示,即让某个特定数码管显示
返回值: 无
注意事项:实验板上的数码管是共阴极的数码管,如果使用共阳极的数码管,请注意不
//////////////////////////////////////////////////////////////////////////
void One_DigitalTube_display(uchar uData,uchar uNumber)
Digital_tube_Duan_E //使能数码管的段选
Digital_tube_Duan=Dis_table[uData];//输入所要显示的数值
Digital_tube_Duan_D //关闭数码管的段选
Digital_tube_Wei_E //使能数码管的位选
Digital_tube_Duan=Dis_Position[uNumber]; //点亮特定的数码管
Digital_tube_Wei_D //关闭数码管的位选
DelayMs(1); //调整时序,以实现稳定显示
//////////////////////////////////////////////////////////////////////////
函数名称:All_DigitalTube_display
函数功能:让6个数码管显示特定的内容
参数介绍:uData:显示内容数组地址
uNumber:实现六个数码管的依次显示变量
返回值: 无
注意事项:无
//////////////////////////////////////////////////////////////////////////
void All_DigitalTube_display(uchar *uData)
for(uNumber=0;uNumber&6;uNumber++) //循环6次,6个数码管各亮一次
One_DigitalTube_display(uData[uNumber],uNumber);
//////////////////////////////////////////////////////////////////////////
函数名称:Cycle_DigitalTube_display
函数功能:6个数码管从左到右依次滚动显示指定的内容(循环一次)
参数介绍:uData:显示内容数组地址
uNumber1:实现数码管滚动的变量
uNumber2:实现数码管扫描的变量
返回值: 无
注意事项:无
//////////////////////////////////////////////////////////////////////////
void Cycle_DigitalTube_display(uchar *uData)
uchar uNumber1,uNumber2;
for(uNumber1=0;uNumber1&240;uNumber1++) //滚动6次,每次内容显示40个循环
for(uNumber2=0;uNumber2&6;uNumber2++) //扫描6个数码管
One_DigitalTube_display(uData[(uNumber1/40+uNumber2)%6],uNumber2);
DelayMs(3);
//////////////////////////////////////////////////////////////////////////
函数名称:main
函数功能:实现6个数码管循环滚动显示指定的内容
参数介绍:无
返回值: 无
注意事项:无
//////////////////////////////////////////////////////////////////////////
void main()
uchar uData[6]={1,2,3,4,5,6};//六个数码管滚动显示1,2,3,4,5,6
Cycle_DigitalTube_display(uData); //调用循环显示函数
原文链接:
责任编辑:
声明:本文由入驻搜狐号的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
今日搜狐热点频道本月排行
随机推荐文章
Copyright (C) 2006 - 2016 www.eorder.net.cn
All Rights Reserved更多频道内容在这里查看
爱奇艺用户将能永久保存播放记录
过滤短视频
暂无长视频(电视剧、纪录片、动漫、综艺、电影)播放记录,
按住视频可进行拖动
&正在加载...
收藏成功,可进入
查看所有收藏列表
当前浏览器仅支持手动复制代码
视频地址:
flash地址:
html代码:
通用代码:
通用代码可同时支持电脑和移动设备的分享播放
用爱奇艺APP或微信扫一扫,在手机上继续观看
当前播放时间:
一键下载至手机
限爱奇艺安卓6.0以上版本
使用微信扫一扫,扫描左侧二维码,下载爱奇艺移动APP
其他安装方式:手机浏览器输入短链接http://71.am/udn
下载安装包到本机:
设备搜寻中...
请确保您要连接的设备(仅限安卓)登录了同一爱奇艺账号 且安装并开启不低于V6.0以上版本的爱奇艺客户端
连接失败!
请确保您要连接的设备(仅限安卓)登录了同一爱奇艺账号 且安装并开启不低于V6.0以上版本的爱奇艺客户端
部安卓(Android)设备,请点击进行选择
请您在手机端下载爱奇艺移动APP(仅支持安卓客户端)
使用微信扫一扫,下载爱奇艺移动APP
其他安装方式:手机浏览器输入短链接http://71.am/udn
下载安装包到本机:
爱奇艺云推送
请您在手机端登录爱奇艺移动APP(仅支持安卓客户端)
使用微信扫一扫,下载爱奇艺移动APP
180秒后更新
打开爱奇艺移动APP,点击“我的-扫一扫”,扫描左侧二维码进行登录
没有安装爱奇艺视频最新客户端?
STC89C52不使用外置芯片直接驱动8*8数码管
正在检测客户端...
您尚未安装客户端,正在为您下载...安装完成后点击按钮即可下载
30秒后自动关闭
STC89C52不使用外置芯片直接驱动8*8数码管">STC89C52不使用外置芯片直接驱动8*8数码管
请选择打赏金额:
播放量12.7万
播放量数据:快去看看谁在和你一起看视频吧~
更多数据:
Copyright (C) 2018 & All Rights Reserved
您使用浏览器不支持直接复制的功能,建议您使用Ctrl+C或右键全选进行地址复制
正在为您下载爱奇艺客户端安装后即可快速下载海量视频
正在为您下载爱奇艺客户端安装后即可免费观看1080P视频
&li data-elem="tabtitle" data-seq="{{seq}}"& &a href="javascript:void(0);"& &span>{{start}}-{{end}}&/span& &/a& &/li&
&li data-downloadSelect-elem="item" data-downloadSelect-selected="false" data-downloadSelect-tvid="{{tvid}}"& &a href="javascript:void(0);"&{{pd}}&/a&
选择您要下载的《
色情低俗内容
血腥暴力内容
广告或欺诈内容
侵犯了我的权力
还可以输入
您使用浏览器不支持直接复制的功能,建议您使用Ctrl+C或右键全选进行地址复制

我要回帖

更多关于 单片机点亮数码管程序 的文章

 

随机推荐