按按键进行调节模式,相对应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()



关键字:ATmage128  内部EEPROE  应用程序 引用地址:ATmage128内部EEPROE的应用程序

上一篇:avr单片机定时与中断做的电子琴(仿真+程序)
下一篇:LCD1602高手使用详解

推荐阅读

如果说行业先行者的探索开辟是中国协作机器人诞生的催化剂,那么市场需求的指引则是实实在在的发令枪。21世纪以来,我国经济飞速发展,依靠低劳动力成本发展劳动密集型产业的状况逐步改变, 3C、半导体、医疗等技术密集型企业如雨后春笋般涌现。作为全球最大的工业机器人市场,中国的产业转型令工业机器人向轻型化、精准化、高协作性方向演变的步伐更为紧...
虽然目前市面上能够看到的纯电动车采用的都是电驱动桥布置方案(电机把动力传递给差速器,然后分成左右半轴后传递到车轮),但并不代表轮毂电机技术不够先进,而是目前绝大多数主机厂包括供应商并不掌握轮毂电机的核心技术。那么轮毂电机到底有哪些性能优势?它将如何颠覆传统燃油或电驱动的技术架构?本期来为大家解读。■ 轮毂电机可以提高续航里程我在...
日前,MLPerf组织公布了一系列测试结果,NVIDIA在第二版MLPerf Inference中赢得了针对数据中心和边缘计算系统的所有六个应用领域的所有测试。其中,浪潮AI服务器NF5488A5支持8颗第三代NVlink全互联的NVIDIA A100 GPU,一举创造18项性能纪录;宁畅信息产业(北京)有限公司搭载NVIDIA T4 /A100 GPU卡的Nettrix X640 G30 AI服务器,在ResNet、BERT...
今天下午的2021华为开发者大会上,华为消费者业务CEO宣布,迄今为止,HarmonyOS设备数量超1.5亿!HarmonyOS成为史上发展最快的终端操作系统。今年6月2日的华为鸿蒙操作系统及华为全场景新品发布会上,HarmonyOS 2面向全球发布,鸿蒙正式出道,吸引了全世界的目标。此前,在9月23日的华为nova9系列发布会上,华为消费者业务首席运营官何刚宣布,HarmonyOS...

史海拾趣

问答坊 | AI 解惑

2005年全球半导体研发支出达300亿

来源:电子经理世界  作者:未知 [字体:大 中 小]       2005年,全球半导体公司的全部研发支出达到了300多亿美元,比2004年增长了近10%。   这是市场分析公司IC Insights在其一份在网上的新版报告中指出的。   ...…

查看全部问答∨

外壳带电问题

一次在维修机器的时候,我同时碰到了机顶盒的外壳和维修台的接地端,给电了一下.测量测外壳时居然发现外壳带电,电压有50V,后来查了下资料,说外壳带电属正常现象,具体跟电路板与外壳之间的电抗Z1和外壳与地之间的电抗Z2有关,可简单理解为Z1与Z2串联,外 ...…

查看全部问答∨

AVR中CPI指令是如何影响进位标志位C的?

程序如下BRLO(line 36)指令是根据进位标志C跳转的,它前面的CPI指令是如何影响到进位标志位C和零标志位Z来影响程序 流程的?r1初始值为0 avr034C:        ldi        YL, 0x5F      &nb ...…

查看全部问答∨

驱动中如何区分U盘和移动硬盘

做了一个usb过滤驱动挂在磁盘驱动器类下,想问一下 应该怎样区分是移动硬盘还是U盘?…

查看全部问答∨

请问 是否有 WinCE环境下的 MPEG4编码开源代码?

哪位大侠能提供一下, 另外xvid开源码需要安装direct9.0 SDK 不知是否能用于WINce环境开发!谢谢…

查看全部问答∨

优化高亮度LED的使用寿命 ESD保护考虑事项

随着亮度和能效的提升,延长使用寿命已经为促进基于高亮度发光二极管(HB-LED)的固态照明设计快速发展的主要因素之一。然而,并非所有HB-LED在这些方面都旗鼓相当,制造商应用静电放电(ESD)保护的方式可能是影响HB-LED现场使用寿命的一个至关键 ...…

查看全部问答∨

香水城,再请教你2个问题,cosmicc的环境st72324

问题1:I2Cms 是定义的全局变量,I2Cms 在1毫秒定时器里累加,现在的问题    I2Cms = 0;    while(I2Cms<=10)    {    }这个while根 ...…

查看全部问答∨

【TI技术文章】:TI KeyStone架构支持L2及传输处理

无线技术的持续演进发展、全球无线用户的激增,以及市场对更强大数据承载能力的需求,全面催生了各种新标准的不断涌现,如宽带码分多址- 高速分组接入 (WCDMA-HSPA)、WCDMA-HSPA+ 以及长期演进技术 (LTE) 等。基于无线服务网络的数据使用呈指数级 ...…

查看全部问答∨

Altera的芯片管脚被焊断了,导致芯片的AS模式不能正常下载,怎么办?

Altera的EP3C40的芯片负责下载模式选择的管脚被焊断了,导致芯片的AS模式不能正常下载,怎么办???? 因为本块板还要使用Niosii实现以太网口的收发,怎么办?????急求~~~~~…

查看全部问答∨

【设计工具】高速环境下的状态机设计和优化技巧

通过减少寄存器间的逻辑延时来提高工作频率,或通过流水线设计来优化数据处理时的数据通路来满足高速环境下FPGA或CPLD中的状态机设计要求。本文给出了采用这些技术的高速环境状态机设计的规范及分析方法和优化方法,并给出了相应的示例。   为了 ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved