找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1873|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

基于C51單片機(jī)的增計(jì)數(shù)器(按鍵)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:546428 發(fā)表于 2019-5-26 21:13 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
#include <reg51.H>
#define E2PROM_ADDR 0x12                        //定義EPROM地址
sbit P3_7=P3^7;                                                //定義計(jì)數(shù)器端口
unsigned char count =0;                                //定義計(jì)數(shù)器
unsigned char code table[]=        {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
//聲明e2prom的讀寫函數(shù)
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中讀取計(jì)數(shù)保存值
        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++;                          //計(jì)數(shù)器增1
                        if(count==100) count=0; //判斷循環(huán)是否超限
                        P0=table[count/10];                //十位輸出顯示
                        P2=table[count%10];                //個位輸出顯示
                        //將當(dāng)前計(jì)數(shù)值存入EPROM
                        write_e2prom(E2PROM_ADDR,(unsigned char)&count,1);
                        while(P3_7==0);                    //等待按鍵抬起,防止連續(xù)計(jì)數(shù)
           }
    }
}

按鍵計(jì)數(shù)器.zip

62.65 KB, 下載次數(shù): 10, 下載積分: 黑幣 -5

仿真

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表