完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
|
相关推荐
1个回答
|
|
主要内容:静态点亮数码管显示数字99、动态点亮数码管显示12345678(8位数码管)。功能一:静态点亮数码管显示数字99(2位数码管) 功能二:动态点亮数码管显示12345678(8位数码管) 正文如下: 一、静态点亮数码管 1)Proteus绘图 第一步:根据给定元器件进行绘图 如果不知如何绘图,(新手请看:https://blog.csdn.net/qq_44366571/article/details/107053338) 注:遇到新知识: 注:点击出现,属性赋值工具 自定义名字: 注意: 一般的话,框中输入NET=P1#(#表示的意思是:0-9),点击圆圈即可命名。 例如: NET=A1#,点击之后依次显示:A10、A11、A12、A13… 作用: 可以减少连线,名字相同的两个圈,默认是已经连接上线了。我们绘制的图中,左数码管已经和P0引脚相连,右数码管已经和P1引脚相连 第二步: 绘图完成,进行Keil代码 2)Keil代码 第一步:创建一个单片机工程 如果不知如何创建单片机工程,(新手请看:) 第二步:根据Proteus绘制,代码实现数码管点亮: 数码管器件: 数码管分为共阴极和共阳极,如果是共阴极的话,我们需要在连接的引脚输入高电平才可以点亮数码管;如果数码管是共阳极的话,我们需要在连接的引脚输入低电平才可以。 数码管: #include #define uchar unsigned char #define uint unsigned int #define smg_r P1 #define smg_l P0 code uchar date[10]={0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90}; //延时函数 void delay(unsigned int x) //延时 x ms { uint i,j; for(i=x;i>0;i--) for(j=110;j>0;j--); } void main(){ uint i, ge, shi; while(1){ i=0; //数码管从00显示到99 for(i = 0; i < 100; i++){ ge = i%10; shi = i/10; smg_l = date[shi]; smg_r = date[ge]; delay(1000); } } } 到这里,静态的数码管显示就实现了,我们来看看如何实现动态数码管。 二、动态点亮数码管 1)Proteus绘图 绘图元器件: 下图左方即绘图所需元器件,按照改图绘制即可。 提示: 点击工具,选择自动连线,操作如下,双击即可实现 提示: 名字相同的就是连接到一起的意思。 绘图完成,进行代码部分。 2)Keil代码部分 #include #include #define uchar unsigned char #define uint unsigned int uchar code Discode[]={0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0xc0}; //共阳极数码管 void delay(uint t) //毫秒级延时函数 { uchar i; while(t--) { for(i=0;i<120;i++); } } void main() { uchar i,j=0x80; P0=0xff; //先关闭数码管 P2=0x00; while(1) { for(i=0;i<8;i++) { P2=0x00; //显示一次关闭一次位选端,去除重影的作用 j=_crol_(j,1); //10000000——00000001 P2=j; //每次选通一个位选端口 P0=Discode; //段码送P0口 delay(5); } } } 效果展示: |
|
|
|
只有小组成员才能发言,加入小组>>
2497 浏览 0 评论
1062浏览 2评论
681浏览 1评论
443浏览 0评论
177浏览 0评论
295浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 21:29 , Processed in 1.076970 second(s), Total 80, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号