历史上的今天
返回首页

历史上的今天

今天是:2024年10月23日(星期三)

正在发生

2019年10月23日 | ATmage128内部EEPROE的应用程序

2019-10-23 来源:51hei

 

按按键进行调节模式,相对应LED有不同的反应,关机后保存数据




#include

#include


#define uchar unsigned char

#define uint  unsigned int 

uint bai, shi, ge;   

uchar temp ;

uchar smg[]={0xc0,0xf9,0xa4,0xb0,0x99,

0x92,0x82,0xf8,0x80,0x90,0xff};  

uchar tttt(uchar t)        

{

        t=0x03;

}

uchar ledsmg(uchar kl);


void delay(uchar n)       

{

        uint i=0,j=0;

        for (i=0;i                for (j=0;j<20;j++);

}


void PO_init(void)

{

        DDRA=0XFF;             //LED IO口设为输出

        PORTA=0X00;

        

        DDRB |=0xff;           //PB4设为输出

        PORTB|=0xff;           //关闭PB4外接的LED

        

        DDRC=0XFF;             //数码管段选设为输出

        PORTC=0X00;            

        

        DDRF |=0X03;           //LED及数码管锁存IO口设为输出

        PORTF|=0X0E;           

        PORTF&=0xF7;           //锁存数据关闭数码管

        

        DDRD=0;//全部设为输入

        PORTD=0xff;//全部上拉

        PIND=0xff;//设初始值

}


void display(void )

{

        PORTC =smg[bai]; 

        P5_1;

        P5_0;

        delay(3);

        

        PORTC =smg[shi]; 

        P6_1;

        P6_0;

        delay(3);

                                

        PORTC =smg[ge]; 

        P7_1;

        P7_0;

        delay(3);

}


void data_do(uchar temp_d)

{

        uint shit;

        bai = temp_d/100;                       //分出百,十,和个位

        shit= temp_d%100;

        shi = shit/10;

        ge  = shit%10;

}


void E_write(uint E_add, uchar E_data)//写字节数据

{

        while(EECR & (1<        EEARH = 0;              

        EEARL = E_add;          

        EEDR  = E_data;       

        EECR |= (1<<2);         

        EECR |= (1<<1);         

        SREG |= (1<<7);

}


uchar E_read(uint E_add)  //读字节数据

{

        while(EECR & (1<        EEARH = 0;              

        EEARL = E_add;    

        EECR |= (1<        return EEDR;      

void key(void) 

{

        if(PIND == 0xfe)  //按键--加键

        {

                delay(3); 

                if(PIND == 0xfe)

                {

                        while(PIND == 0xfe);

                        temp++;

                        if(temp>=6)temp=0;

                }

        }

}


void main()

{

        

    PO_init();


        temp=E_read(5);                //读出记录  

        

        E_write(5,temp);    //写入记录

        

        while (1)

        {                  

                

                key()



推荐阅读

史海拾趣

Continental Industries公司的发展小趣事

在电子行业的初期,Continental Industries凭借其深厚的技术积累,成功研发出了一款固态继电器。这款继电器以其高度可靠性、长寿命和减少电磁干扰的特性,迅速在市场中占据了重要地位。公司不断投入研发资源,优化产品性能,逐渐在工业自动化和建筑环境控制领域树立起了技术领先的形象。

Babcock Inc公司的发展小趣事

随着技术的不断积累,Babcock开始将研发重点转向市场需求旺盛的产品领域。通过深入分析市场趋势和客户需求,公司成功推出了一系列具有创新性和竞争力的电子产品。这些产品不仅性能卓越,而且设计新颖,很快便赢得了市场的广泛认可,为公司带来了可观的收益。

Cambridge Electronic Industries Ltd公司的发展小趣事

面对日益严峻的环境问题和社会责任,CEI积极响应可持续发展的号召。公司加大了对环保技术的研发投入,推出了多款节能、环保的电子产品。同时,CEI还关注员工福利和社会公益事业,积极参与社会捐赠和公益活动。展望未来,CEI将继续坚持技术创新和可持续发展战略,为电子行业的繁荣和发展做出更大的贡献。

通过以上五个故事,我们可以看到Cambridge Electronic Industries Ltd公司在电子行业里发展起来的艰辛与辉煌。他们凭借技术创新、市场拓展、品质管理和可持续发展等方面的努力,逐渐成为了电子行业的佼佼者。

川土(Chipanalog)公司的发展小趣事

为了进一步提升品牌影响力和市场竞争力,川土微电子开始积极寻求国际合作。公司与多家国际知名企业建立了合作关系,共同开发新产品、拓展新市场。同时,川土微电子还通过参加国际展会、发布新品等方式不断提升品牌知名度。这些努力不仅为公司带来了更多的商业机会,也为其在全球模拟芯片市场中树立了良好的形象。

CAMBION公司的发展小趣事

CAMBION公司自成立以来,始终将技术创新作为核心驱动力。在早期,公司研发团队成功开发了一款具有革命性的芯片技术,显著提升了电子设备的处理速度和能效。这一技术迅速在行业内引起关注,为CAMBION赢得了大量订单和合作伙伴。随着技术的不断完善和应用范围的扩大,CAMBION逐渐在电子行业中崭露头角。

Coors Components Inc公司的发展小趣事

在面对激烈的市场竞争时,Coors Components Inc公司果断调整市场策略,将目标市场从高端用户转向中端市场。通过优化产品线、提升服务质量以及加强品牌营销,公司成功吸引了大量中端市场的消费者。这一策略调整不仅使公司的销售额大幅提升,还为其未来的发展奠定了坚实的基础。

问答坊 | AI 解惑

电子设计竞赛的一些项目

包括超声波测距仪,分布式数据采集系统,电子工程师必备宝典…

查看全部问答>

相位差测量与虚拟相位差计-相关资料

相位差测量与虚拟相位差计-相关资料…

查看全部问答>

大功率LED驱动电路(AC—DC)设计实例(f非常实用具体)

大功率LED驱动电路(AC—DC)设计实例(f非常实用具体),主要是不需要变压器;直接接交流电源。 感兴趣的朋友可以看看…

查看全部问答>

驱动编译问题,请教,谢谢

大家好: 我现在写了一个在简单不过的驱动 #ifndef MODULE         #define MODULE #endif #include #include #include #include #include #include //#include //#include static int init_mo ...…

查看全部问答>

UBOOT+2440的SD卡升级实现方法

/************************************************************************/ /*        Copyright(c)  ?, ?                            ...…

查看全部问答>

EVC中没有armv4i的选择,为何?

刚刚作windowce的应用开发。发现完全安装EVC4.0+SP4,平台winCE5.0,s3c2410。需要选择arm4i,选择cpu平台中没有ARMv4I,只有armv4和emulator的选择。需要安装什么包吗?安装EVC的时候明明选择了其他cpu的,怪!请知道的朋友不吝赐教! 谢谢!…

查看全部问答>

LPC2103的SPI0做为主机如何接收数据

我用LPC2103的SPI0做为主机与外接FLASH进行数据交换,FLASH是ATMEL的AT45DB041B,是不是只要把读写指令传给FLASH就能够从FLASH里进行读写?SPI作为主机是如何从FLASH里读数据,是不是把指令读FLASH指令传给FLASH就可以直接从SPI的数据寄存器里读取 ...…

查看全部问答>

3CCD 高清摄像机方案

  R、G、B三色全高清专业级和广播级1080I/P @30 /60 fps CCD Sensor,  H.264/MPEG4压缩(1080P 60帧/秒,1080I 120场/秒,720P 120帧/秒),JPEG图片压缩,真正嵌入式方案; 支持AE/AWB/AF; 支持RGB/YCC/YPbPr高清分量输出; 可集成高清 ...…

查看全部问答>

加散热片,热阻还得相加?

这两天,没碰MAX16823的电路设计,更没画PCB。 一个是停下来加紧复习,另一个是心里有点迷迷糊糊,就停一下。   手上是停下来,脑子里却一直还在想散热设计的事。 前几天看了本书,基本理解了热阻等概念。 唯独对一个问题非常不理解: ...…

查看全部问答>

stm8类似51的按键扫描功能

                                 51单片机在按键扫描程序中输出个高电平后可以再检测该IO是否为低,来判断该键是否按下,stm8不知道要怎么实现呢?…

查看全部问答>