找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 19184|回复: 9
收起左侧

单片机两位数码管动态显示加0-99程序+Proteus仿真

  [复制链接]
ID:195289 发表于 2019-4-4 09:43 | 显示全部楼层 |阅读模式
两位数码管动态显示从0-99自加。
内容包含:keil+protues
适合刚接触单片机的同学;
有什么单片机的问题大家也可以留言评论!
keil.png
protues.png

单片机源程序如下:
  1. //两位数码管的加减

  2. #include "reg52.h"
  3. #include "intrins.h"

  4. unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,         
  5.                                                           0x92,0x82,0xf8,0x80,0x90};                        //0~9的数组          (共阳极)

  6. /*
  7. 定义 uint uchar
  8. */
  9. typedef        unsigned int uint;
  10. typedef unsigned char uchar;

  11. sbit smg1 = P2^0;
  12. sbit smg2 = P2^1;

  13. void delay(uint z)         //延时函数(不准确)
  14. {
  15.         uint x,y;
  16.         for(x=0;x<z;x++)
  17.         for(y=0;y<110;y++);       
  18. }

  19. void main(void)        //主函数
  20. {
  21.         uchar i,j;
  22.         while(1)
  23.         {  
  24.                 for(i = 0;i < 99;i++)                                                  //0~99
  25.                 {         
  26.                         for(j = 0;j < 30;j++)                                          //让一个数字闪烁多遍
  27.                         {
  28.                                 P0 = 0XFF;                                                          //消影
  29.                                 smg1 = 0;
  30.                                 smg2 = 1;                                                          
  31.                                 P0 = table[i%100/10];
  32.                                 delay(10);

  33.                                    P0 = 0XFF;                                                          //消影
  34.                                 smg1 = 1;
  35.                                 smg2 = 0;
  36.                                 P0 = table[i%100%10];
  37.                                 delay(10);
  38.                         }
  39.                 }       
  40.         }
  41. }
复制代码

所有资料51hei提供下载:
数码管动态显示0-99加.rar (90.87 KB, 下载次数: 181)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:47652 发表于 2019-5-19 18:55 | 显示全部楼层
初学者好资料
回复

使用道具 举报

ID:438036 发表于 2019-7-11 15:12 | 显示全部楼层
这数码管是共阳的吗
回复

使用道具 举报

ID:627609 发表于 2019-10-21 16:03 | 显示全部楼层
这个图 怎么中间没连接呢
回复

使用道具 举报

ID:730915 发表于 2020-4-28 09:43 | 显示全部楼层
改成0-999自增怎么改啊
回复

使用道具 举报

ID:420876 发表于 2020-5-11 09:17 | 显示全部楼层
你好!请教下! for(j = 0;j < 30;j++)                                          //让一个数字闪烁多遍
这个参数的本质怎么理解!
回复

使用道具 举报

ID:748882 发表于 2020-5-11 10:15 | 显示全部楼层

谢谢分享
回复

使用道具 举报

ID:749599 发表于 2020-5-16 17:43 | 显示全部楼层
ledzailushang 发表于 2020-5-11 09:17
你好!请教下! for(j = 0;j < 30;j++)                                          //让一个数字闪烁多遍
...

目的是延长数字保持时间,否则就看不见了
回复

使用道具 举报

ID:758552 发表于 2020-5-22 18:06 | 显示全部楼层
谢谢 刚想学这个 感谢分享
回复

使用道具 举报

ID:415222 发表于 2020-7-3 15:21 | 显示全部楼层
ledzailushang 发表于 2020-5-11 09:17
你好!请教下! for(j = 0;j < 30;j++)                                          //让一个数字闪烁多遍
...

循环扫描
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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