找回密码
 立即注册

QQ登录

只需一步,快速开始

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

基于C51单片机的增计数器(按键)

[复制链接]
跳转到指定楼层
楼主
ID:546428 发表于 2019-5-26 21:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <reg51.H>
#define E2PROM_ADDR 0x12                        //定义EPROM地址
sbit P3_7=P3^7;                                                //定义计数器端口
unsigned char count =0;                                //定义计数器
unsigned char code table[]=        {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
//声明e2prom的读写函数
void read_e2prom(unsigned char rom_addr, unsigned char ram_addr, unsigned char size);
void write_e2prom(unsigned char rom_addr, unsigned char ram_addr, unsigned char size);

void main(void)        {
        //从EPROM中读取计数保存值
        read_e2prom(E2PROM_ADDR, (unsigned char)&count, 1);
        P0=table[count/10];                                //显示count的十位
        P2=table[count%10];                                //显示count的个位
          while(1) {                              
              if(P3_7==0){                              //检测按键是否压下   
                        count++;                          //计数器增1
                        if(count==100) count=0; //判断循环是否超限
                        P0=table[count/10];                //十位输出显示
                        P2=table[count%10];                //个位输出显示
                        //将当前计数值存入EPROM
                        write_e2prom(E2PROM_ADDR,(unsigned char)&count,1);
                        while(P3_7==0);                    //等待按键抬起,防止连续计数
           }
    }
}

按键计数器.zip

62.65 KB, 下载次数: 10, 下载积分: 黑币 -5

仿真

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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