找回密码
 注册
关于网站域名变更的通知
查看: 127|回复: 1
打印 上一主题 下一主题

51单片机打印机纸张计数器程序

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-6-27 14:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
打印机纸张计数器  测试完美/ T/ |: E, @4 ?# X: k( z6 }
  k8 q' r6 }$ f2 H: P

3 A( k! o$ H# k3 D1 R5 v+ z' P+ i' t3 n5 v+ C
单片机源程序如下:# {9 k) o. H0 s% ]
  • #include <reg52.h>
  • #include <intrins.h>
  • #define uchar unsigned char
  • #define uint unsigned int
  • //uchar dd[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};        //共阳极数码管断码表
  • uchar dd[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0xb6};
  • sbit k1=P3^7; //按键接口定义 加
  • sbit k2=P3^1;  //           减
  • sbit k3=P3^6;  //           复位
  • sbit led1=P2^0;
  • sbit led2=P2^1;
  • sbit duan1=P2^6;
  • sbit wei1=P2^7;
  • sbit duan2=P2^5;
  • sbit wei2=P2^4;
  • uchar shu=0;         //计数变量
  • void delay1ms()                //@11.0592MHz
  • {
  •         unsigned char i, j;
  •         _nop_();
  •         _nop_();
  •         _nop_();
  •         i = 11;
  •         j = 190;
  •         do
  •         {
  •                 while (--j);
  •         } while (--i);
  • }
  • void display_led1()           //显示函数
  • {
  •         if(shu>=10)
  •                  {
  •         wei1=1;
  •         P0=0XFE;
  •         wei1=0;
  •         duan1=1;
  • //  P0=dd[shu/100];   //百位
  •                         P0=dd[shu/10%10];   //十位
  •         duan1=0;
  •   delay1ms();           //?
  • }
  •   wei1=1;
  •         P0=0XFD;
  •         wei1=0;
  •         duan1=1;
  •         P0=dd[shu%10];   //十位
  •         duan1=0;
  •         delay1ms();           //消影
  • //        wei1=1;
  • //        P0=0XFB;
  • //        wei1=0;
  • //        duan1=1;
  • //  P0=dd[11];   //个位
  • //        duan1=0;
  • //  delay1ms();
  • }
  • void display_led2()           //显示函数
  • {
  •         if(shu>=20)
  •                  {
  •         wei2=1;
  •         P1=0XFE;
  •         wei2=0;
  •         duan2=1;
  •   P1=dd[shu*5/100];   //百位
  •         duan2=0;
  •   delay1ms();
  •                  }
  •                  if(shu>=1)
  •                  {
  •   wei2=1;
  •         P1=0XFD;
  •         wei2=0;
  •         duan2=1;
  •         P1=dd[shu*5/10%10]+0X80;   //十位
  •         led1=0;
  •         led2=0;
  •         duan2=0;
  •         delay1ms();           //消影
  •                  }
  •         wei2=1;
  •         P1=0XFB;
  •         wei2=0;
  •         duan2=1;
  •   P1=dd[shu*5%10];   //个位
  •         duan2=0;
  •   delay1ms();
  • }
  • void key()                  //按键操作函数
  • {
  •    if(k1==0)           //判断
  •    {
  •            delay1ms();          //消抖
  •           if(k1==0)                 //再判断
  •             {
  •            shu++;if(shu==200){shu=0;}  //计数加,到100回0
  •              }
  •                         while(k1==0);
  •       }
  • //   if(k2==0)
  • //   {
  • //            delay1ms();
  • //          if(k2==0)
  • //          {
  • //                   shu--;if(shu==-1){shu=199;}        //计数减 零以下 回99
  • //          }        while(k2==0);
  • //   }
  •    if(k3==0)
  •    {
  •             delay1ms();
  •           if(k3==0)
  •           {
  •             shu=0;                 //变量清零
  •             led1=1;
  •             led2=1;
  •           }
  •                 while(k3==0);
  •    }
  • }
  • void main()
  • {
  •   while(1)
  •    {
  •                  display_led2()        ;
  •                  display_led1();
  •             key();
  •    }
  • }

  • ! ]( j3 m$ ~: `, g

& i0 E" B$ V0 f# d6 u. A9 K: h

该用户从未签到

2#
发表于 2022-6-27 15:06 | 只看该作者
学习学习,||ヽ(* ̄▽ ̄*)ノミ|Ю
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-13 00:28 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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