找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机T0实现的的脉冲计数器程序Proteus仿真程序

[复制链接]
ID:631363 发表于 2019-10-28 14:35 | 显示全部楼层 |阅读模式
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
51hei.gif
0.png

单片机源程序如下:
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar m;
  5. void delay(uint k);
  6. uchar code table[]={
  7. 0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0xee,0x3e,0x9c,0x7a,0x9e,0x8e};//A为高位的共阴数码表
  8. void delay(uint k){
  9.    unsigned  char  a,b ;
  10.    for(;k>0;k--)
  11.     for(b=142;b>0;b--)
  12.          for(a=2;a>0;a--);//延时函数
  13. }
  14. void main()
  15. {
  16. TMOD=0x05;
  17. TH0 = (65536-1)/256;
  18. TL0 = (65536-1)%256;
  19. EA=1;
  20. ET0=1;
  21. m=0;
  22. P1=0xff;
  23. TR0=1;
  24. while(1)
  25. {
  26.                         uchar sw,gw;
  27.        sw=m/10;        //十位
  28.        gw=m%10;        //个位
  29.        P1=0xfe;        //选择个位的显示数码管
  30.        P2=table[gw];//显示个位 ,将高电平传到数码管个位
  31.        delay(10); //延时
  32.        P1=0xfd;        //选择十位显示的数码管
  33.        P2=table[sw]; //显示十位
  34.        delay(10);//延时
  35.       
  36. }
  37. }

  38. void timer0() interrupt 1
  39. {
  40. TH0 = (65536-1)/256;
  41. TL0 = (65536-1)%256;
  42. m++;
  43. if(m==100)m=0;
  44. }  
复制代码

Keil代码与Proteus仿真下载:
maichong.zip (33.97 KB, 下载次数: 106)

评分

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

查看全部评分

回复

使用道具 举报

ID:771730 发表于 2022-4-23 16:24 | 显示全部楼层
这个太简单了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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