找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3434|回复: 0
打印 上一主题 下一主题
收起左侧

详解单片机数码管怎么使用仿真 带程序

[复制链接]
跳转到指定楼层
楼主


单片机数码管仿真的原理图



仿真文件下载:http://www.51hei.com/bbs/dpj-50777-1.html
  1. #include <reg51.h>

  2. #define uchar unsigned char
  3. uchar count = 0;
  4. uchar switc[9] = {0X7F, 0XBF, 0XDF, 0XEF, 0XF7, 0XFB, 0XFD, 0XFE};                //控制哪一个数码管亮
  5. unsigned char disNumber[10] = {0xFF,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};        //数码管显示的数
  6. unsigned char disNumber_index;       

  7. void delay2ms(void)   //误差 0us
  8. {
  9.   unsigned char a,b;
  10.   for(b=4;b>0;b--)
  11.     for(a=248;a>0;a--)
  12.         ;
  13. }

  14. void time1() interrupt 1                                                //定时器中断
  15. {
  16.   uchar tempValue = 0;
  17.   count++;
  18.   if(count == 20)
  19.   {
  20.     count = 0;
  21.         disNumber_index++;
  22.         if(disNumber_index == 9)
  23.            disNumber_index =0;
  24.    }
  25.   
  26.    
  27.   TH0=(65536-50000)/256;                                                //16位定时器0x60B0  高八位TH0 60低八位 B0 定时50000微秒触发定时器
  28.   TL0=(65536-50000)%256;
  29. }


  30. void main(void)       
  31. {
  32.   TMOD=0x01;//设置定时器0为工作方式1
  33.   TH0=(65536-50000)/256;
  34.   TL0=(65536-50000)%256;
  35.   EA=1;//打开中断总开关
  36.   ET0=1;//开定时器0中断
  37.   TR0=1;//启动定时器0       
  38.   P2 = 0x00;
  39.   

  40.   while(1)
  41.   {          
  42.     P0 = disNumber[disNumber_index];
  43.        
  44.   }
  45. }//小月子2016年5月21日编辑   如果您有什么不理解的地方请加小月子QQ:616142166
  46. //小月子是个电子发烧友,小月子电子网店卖的是电子电路类、编程类学习资料教学视频
  47. //请关注我的网
复制代码




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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