找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3075|回复: 1
收起左侧

单片机共阳数码管循环显示0--F源程序

[复制链接]
ID:709752 发表于 2020-3-27 22:37 | 显示全部楼层 |阅读模式
  1. /*8位共阳数码管循环显示0--F;*/
  2. #include<reg52.h>
  3. #include<intrins.h>
  4. #define uint unsigned int
  5. #define uchar unsigned char
  6. uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; //共

  7. 阳数码管显示编码0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F;
  8. uchar code  wela[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};  //位选开关
  9. void delay(z) //延时函数;
  10. {
  11. uint i,j;
  12. for(i=z;i>0;i--)
  13. for(j=100;j>0;j--);
  14. }


  15. void main() //主函数;
  16. {
  17. uchar i;
  18. P2=wela[0]; //选择第一个数码管的第一位(位选)1111 1110
  19. i=0;

  20. do //do-while 循环;
  21. {
  22. P0=table[i]; //数码管的显示赋值
  23. delay(500); //延时
  24. //P0=0x00; //消隐 0000 0000
  25. P2=_crol_(P2,1); //数码管位选左移 1111 1101 以此类推
  26. i++;
  27. if(i==16) i=0; //判断是否达到显示16次后,重新显示

  28. }
  29.   while(1);
  30. }
复制代码
回复

使用道具 举报

ID:823798 发表于 2020-10-9 23:13 | 显示全部楼层
运行不了,哈哈哈哈
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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