久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3944|回復: 8
收起左側

STC15W408AS單片機的內部EEPROM使用源程序

  [復制鏈接]
ID:977804 發表于 2022-2-19 10:24 | 顯示全部樓層 |閱讀模式
論壇看到一個朋友上傳了這個的代碼,但是他的里面有些串口不相關的部分,我這個EEPROM只有最簡單的一個按鍵,一個LED,
題外話,一個C里面多個H文件時,先用到的H,在C文件里先包含,

單片機源程序如下:
//說明
//  定義了一個BIT 位 y,上電讀取y值 ,附給LED,
//  按鍵切換LED狀態,
//  斷電,重新上電,如果成功,LED則會還原斷電前狀態

#include<STC15W.H>
#include <intrins.h>  
#include<STC15EEPROM.H>        
#include<KEY_02.H>        

sbit led=P2^2;

void main()
{
        y=DU_eeprom(0x0400);   //上電,讀一次數值

        while(1)
        {
        led=y;                                   //把讀到的數附給led
        Key_Scan2();
        }
        
}




#ifndef __STC15EEPROM_H__
#define __STC15EEPROM_H__


//sfr  IAP_DATA=  0XC2;
//sfr  IAP_ADDRH        =   0XC3;
//sfr  IAP_ADDRL        =   0XC4;
//sfr  IAP_CMD   =   0XC5;
//sfr  IAP_TRIG  =    0XC6;
//sfr  IAP_CONTR        =  0XC7;


#define ENABLE_IAP 0x82
#define CMD_IDLE 0
#define CMD_READ 1
#define CMD_PROGRAM 2
#define CMD_ERASE 3



typedef unsigned char BYTE;
typedef unsigned int WORD;
//Byte IapReadByte(WORD addr);
//#define IAP_ADDRESS 0x0400
//BYTE IapReadByte(WORD addr);


// 關閉 IAP
void iapidle()
{
IAP_CONTR=0;
IAP_CMD=0;
IAP_TRIG=0X80;
IAP_ADDRL=0;
}

//  讀一個字節
BYTE DU_eeprom(WORD addr)
{
BYTE dat;
IAP_CONTR=ENABLE_IAP;
IAP_CMD=CMD_READ;
IAP_ADDRL=addr;
IAP_ADDRH=addr>>8;
IAP_TRIG=0x5a;
IAP_TRIG=0XA5;
_nop_();
dat=IAP_DATA;
iapidle();

return dat;

}

//  寫一個字節
void XIE_eeprom(WORD addr,BYTE dat)
{

IAP_CONTR=ENABLE_IAP;
IAP_CMD=CMD_PROGRAM;
IAP_ADDRL=addr;
IAP_ADDRH=addr>>8;
IAP_DATA=dat;
IAP_TRIG=0X5a;
IAP_TRIG=0XA5;
_nop_();

iapidle();
}

//  扇區擦除
void CA_eeprom(WORD addr)
{
IAP_CONTR=ENABLE_IAP;
IAP_CMD=CMD_ERASE;
IAP_ADDRL=addr;
IAP_ADDRH=addr>>8;

IAP_TRIG=0X5a;
IAP_TRIG=0XA5;
_nop_();

iapidle();
}




#endif






#ifndef __KEY_02_H__
#define ___KEY_02_H__

#define u8 unsigned char
sbit KEY_02=P3^4;
bit y;

void Key_Scan2()        ///////////////////////////////////按鍵1
{
        static u8 j2=0,k2=0;

        if(KEY_02==0)
        {
                if(j2==0)
                {
                        if(KEY_02==0&&k2++>=20)
                        {
                            j2=1;
                                                        y=~y;
                                                        CA_eeprom(0x0400);        //先擦
                                                        XIE_eeprom(0x0400,y);        //再寫
                        }                       
                }
        }
        else  //按鍵釋放
        {
                j2=0;
                k2=0;
        }
}



#endif


以上的Keil代碼工程下載: 3 單獨測試EEPROM -把其他的H文件刪了.rar (23.6 KB, 下載次數: 92)

評分

參與人數 2黑幣 +62 收起 理由
catlu + 12
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:230500 發表于 2022-3-5 15:13 | 顯示全部樓層
不錯, 值得我們這些新手學習了解!
回復

使用道具 舉報

ID:399179 發表于 2022-3-23 21:11 來自手機 | 顯示全部樓層
一直無法實現
回復

使用道具 舉報

ID:977804 發表于 2022-3-23 22:16 來自手機 | 顯示全部樓層
快樂眼淚 發表于 2022-3-23 21:11
一直無法實現

你是完全用的我這個代碼嗎?單片機是這個型號嗎?我測試是正?捎,才發上來的,可惜這個型號沒有仿真,
回復

使用道具 舉報

ID:977804 發表于 2022-3-23 22:18 來自手機 | 顯示全部樓層
a399288395 發表于 2022-3-5 15:13
不錯, 值得我們這些新手學習了解!

同是新手,我也是東拼西湊的
回復

使用道具 舉報

ID:960619 發表于 2022-3-23 23:00 來自手機 | 顯示全部樓層
Stc的E2PROM在官方下載軟件有現成的。
回復

使用道具 舉報

ID:977804 發表于 2022-3-24 08:22 來自手機 | 顯示全部樓層
baobao125 發表于 2022-3-23 23:00
Stc的E2PROM在官方下載軟件有現成的。

這就是官方手冊里抄來的,但是改了判斷方法,只用。只用一個按鍵,一個led來判斷掉電保存是否正常。
回復

使用道具 舉報

ID:796012 發表于 2022-5-17 16:02 | 顯示全部樓層
我實驗可以了,只是要兩只按鍵控制,1開2關,任意按鍵保存0或1就可以了。只是欠缺掉電檢測
回復

使用道具 舉報

ID:795427 發表于 2023-1-19 13:05 | 顯示全部樓層
手冊上,STC15W408AS的 EEPROM起始扇區地址在:0x2000,你的程序的 EEPROM起始扇區地址寫的是0x400,該起始地址對應的是STC15W401AS型號的才對。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产传媒毛片精品视频第一次 | 成人在线观看免费视频 | 国产精品激情小视频 | 色婷婷精品久久二区二区蜜臂av | 神马久久久久久久久久 | 久久久久综合 | 欧美日韩精品在线一区 | 免费在线观看成人 | 国产激情自拍视频 | 三级在线免费 | 国产一区二区在线视频 | 中文字幕在线二区 | 欧美一区2区三区4区公司 | 久久久久国产精品一区二区 | 美女一区二区在线观看 | 国产精品美女久久久久aⅴ国产馆 | 国产一区二区在线观看视频 | 国产精品视频在线免费观看 | 欧美久久一区二区 | 高清黄色毛片 | 黄网站在线播放 | 91精品久久久久久久久 | 日日夜夜天天综合 | 国产成人一区二区三区电影 | 久久久国产精品一区 | 波多野结衣一区二区 | 国产日韩欧美在线一区 | 精品一区视频 | 亚洲一区国产 | 玖玖在线精品 | 国产精品嫩草影院精东 | 亚洲精品国产一区 | 九九热在线精品视频 | 国产精品久久免费观看 | 91久久久久久久久久久久久 | 日韩久草 | 久久丝袜| 久久久亚洲 | 免费观看羞羞视频网站 | 日韩精品久久一区 | 成年视频在线观看 |