找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

关于单片机数码管移位和闪烁程序思路问题

查看数: 2488 | 评论数: 6 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-3-24 16:24

正文摘要:

请问这些功能怎么实现啊,我是有些思路的但就是用代码实现的时候写不来,不知道该怎么写。 (我想实现的功能在下面的图片里) (我的思路是  :   数码管要闪烁的话就显示一段时间,然后再关闭一 ...

回复

ID:401564 发表于 2022-3-25 21:29
1,你要先会写一个扫描显示数码管的程序
2,用一个bit来标志是不是在设定模式,用一个全局变量来标志菜单位置
3,显示的时候就通过检测bit来决定,闪不闪,通过全局变量来决定哪个灯闪
ID:161164 发表于 2022-3-25 00:44

代码被吞了
  1. u8 Min = 0, Sec = 0;
  2. bit Flash_bit = 0;
  3. u8 Flash_Mode = 0;
  4. //*****显示函数,放到1ms中断里**********
  5. void disp()
  6. {
  7.                 static u8 i = 0;
  8.                 P2 = 0xFF;
  9.                 P0 = smgduan[Disp_Buff[i]];
  10.                 if((Flash_Mode-1) == i)//Flash_Mode=0不闪,1闪第0位,2闪第1位。。。
  11.                         if(Flash_bit)//Flash_bit=1不显示,500ms跳动一次
  12.                                         P0 = 0x00;
  13.                 P2 &= ~(1 << i);
  14.                 i = (++i) %4;
  15. }

  16. //*****取位*****************************
  17. void GetDigi()
  18. {
  19.                 Disp_Buff[0] = Sec/10;
  20.                 Disp_Buff[1] = Sec%10;
  21.                 Disp_Buff[2] = Min/10;
  22.                 Disp_Buff[3] = Min%10;
  23. }
复制代码



ID:1005774 发表于 2022-3-24 21:26
percy 发表于 2022-3-24 20:38
提问都懒了还是提问都不会?应该是想让某一个位闪吧?

这个图片里面不是说了吗
ID:1006852 发表于 2022-3-24 20:38
提问都懒了还是提问都不会?应该是想让某一个位闪吧?
ID:1005774 发表于 2022-3-24 19:38
lkc8210 发表于 2022-3-24 18:27

???
ID:161164 发表于 2022-3-24 18:27
  1. typedef         unsigned char        u8;  //0 to 255
  2. typedef         unsigned int        u16;  //0 to 65535
复制代码


小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表