日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

单片机成长之路(51基础篇) - 022 N76e003 APROM模拟EEPROM驱动

發布時間:2024/9/5 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 单片机成长之路(51基础篇) - 022 N76e003 APROM模拟EEPROM驱动 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  N76e003單片機內部沒有EEPROM,但是可以使用?APROM模擬EEPROM功能,代碼如下:

eeprom.h

1 #ifndef _EEPROM_H_ 2 #define _EEPROM_H_ 3 4 //EEPROM 指令 5 #define BYTE_PROGRAM_AP 0x21 //APROM 字節編程(數據寫入) 6 #define PAGE_ERASE_AP 0x22 //APROM 頁擦除 (128字節) 7 #define BYTE_Read_AP 0x00 //APROM 字節讀 (數據字節) 8 9 10 // EEPROM起始地址 11 #define EEPROM_START_ADDRESS 0x0200 12 13 void Eeprom_Unlock(void); 14 void Eeprom_Locked(void); 15 void Eeprom_IAP_process(void); 16 void Eeprom_Erase_page(unsigned short address,unsigned char Data); 17 void Eeprom_Byte_write(unsigned short address,unsigned char Data); 18 unsigned char Eeprom_Erase_read(unsigned short address); 19 20 21 #endif /* _EEPROM_H_ */

eeprom.c

1 #include <N76E003.h> 2 #include "eeprom.h" 3 #include "data.h" 4 5 volatile unsigned char code Data_Flash[128] _at_ EEPROM_START_ADDRESS; //不被優化 6 7 /************************************************************************** 8 Function: Eeprom_Unlock 9 Description: 解鎖 Eeprom 10 Input: no 11 Output: no 12 Return: no 13 **************************************************************************/ 14 void Eeprom_Unlock(void){ 15 //開啟 在線編程模式(LDROM和APROM) 16 TA = 0xAA; //CHPCON受TA保護 17 TA = 0x55; 18 CHPCON |= 0x01; //IAPEN = 1, 啟用IAP模式(CHPCON芯片控制寄存器) 19 //開啟 編程程序模式(APROM) 20 TA = 0xAA; //IAPUEN受TA保護 21 TA = 0x55; 22 IAPUEN |= 0x01; //APUEN = 1, 啟用APROM更新(更新使能) 23 } 24 /************************************************************************** 25 Function: Eeprom_Locked 26 Description: 解鎖 Eeprom 27 Input: no 28 Output: no 29 Return: no 30 **************************************************************************/ 31 void Eeprom_Locked(void) 32 { 33 //關閉 編程程序模式(APROM) 34 TA = 0xAA; //IAPUEN受TA保護 35 TA = 0x55; 36 IAPUEN &= ~0x01; //APUEN = 0,禁用APROM更新 37 //關閉 在線編程模式(LDROM和APROM) 38 TA = 0xAA; //CHPCON受TA保護 39 TA = 0x55; 40 CHPCON &= ~0x01; //IAPEN = 0,禁用IAP模式 41 } 42 /************************************************************************** 43 Function: Eeprom_IAP_process 44 Description: IAP 處理 45 Input: no 46 Output: no 47 Return: no 48 **************************************************************************/ 49 void Eeprom_IAP_process(void){ 50 bit EA_status; 51 //IAP 執行 52 EA_status = EA; 53 EA = 0; 54 TA = 0xAA; 55 TA = 0x55; 56 IAPTRG |= 0x01; //IAP 執行(設置該位為1開始執行IAP。該指令后,CPU保持程序計數器(PC) ,IAP硬件自動管理控制該過程。IAP完成后,程序計數器繼續執行下一個指令。IAPGO位自動清零,保持為0。在觸發IAP動作前,如果中斷打開應該臨時關閉因為硬件限制。) Eeprom_Unlock(); //Eeprom 上鎖 57 EA = EA_status; 58 } 59 /************************************************************************** 60 Function: Eeprom_Erase_page 61 Description: 擦除頁面 Eeprom 62 Input: - address 指定擦除頁面的絕對地址 63 - Data Eeprom擦除后的數據 64 Output: no 65 Return: no 66 **************************************************************************/ 67 void Eeprom_Erase_page(unsigned short address,unsigned char Data) 68 { 69 unsigned char High_address = address >> 8; //取高位 70 unsigned char Low_address = address; //取低位 71 Eeprom_Unlock(); //Eeprom 解鎖 72 //擦除頁面 73 IAPCN = PAGE_ERASE_AP; //頁擦除 74 IAPAH = High_address; //頁面地址高8位 75 IAPAL = Low_address; //頁面地址低8位 76 IAPFD = Data; //擦除數據值 77 //IAP 執行 78 Eeprom_IAP_process(); //執行上面設置 79 Eeprom_Locked(); //Eeprom 上鎖 80 } 81 /************************************************************************** 82 Function: Eeprom_Byte_write 83 Description: 字節編程 Eeprom 84 Input: - address 指定更改數據的絕對地址 85 - Data Eeprom寫入的數據 86 Output: no 87 Return: no 88 **************************************************************************/ 89 void Eeprom_Byte_write(unsigned short address,unsigned char Data) 90 { 91 unsigned char High_address = address >> 8; //取高位 92 unsigned char Low_address = address; //取低位 93 Eeprom_Unlock(); //Eeprom 解鎖 94 //字節編程 95 IAPCN = BYTE_PROGRAM_AP; //字節編程 96 IAPAH = High_address; //字節編程地址高8位 97 IAPAL = Low_address; //字節編程地址低8位 98 IAPFD = Data; //寫入的數據 99 //IAP 執行 100 Eeprom_IAP_process(); //執行上面設置 101 Eeprom_Locked(); //Eeprom 上鎖 102 } 103 /************************************************************************** 104 Function: Eeprom_Erase_read 105 Description: 字節讀 Eeprom 106 Input: - address 指定讀出數據的絕對地址 107 Output: no 108 Return: IAPFD 讀出的數據 109 **************************************************************************/ 110 unsigned char Eeprom_Erase_read(unsigned short address){ 111 unsigned char High_address = address >> 8; //取高位 112 unsigned char Low_address = address; //取低位 113 //字節讀 114 IAPCN = BYTE_Read_AP; //字節讀 115 IAPAH = High_address; //字節讀地址高8位 116 IAPAL = Low_address; //字節讀地址低8位 117 //IAP 執行 118 Eeprom_IAP_process(); //執行上面設置 119 return IAPFD; 120 }

?

轉載于:https://www.cnblogs.com/jikexianfeng/p/10655648.html

總結

以上是生活随笔為你收集整理的单片机成长之路(51基础篇) - 022 N76e003 APROM模拟EEPROM驱动的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 7m精品福利视频导航 | 97精品人妻一区二区三区 | 亚洲喷潮 | 亚洲美女视频网 | 最新视频 - 88av | 成人免费视频视频 | 国产乱码精品一区二区三区中文 | 91国产视频在线播放 | 日韩欧美一区二区视频 | 久久久久91 | 天天天操操操 | 扒开腿揉捏花蒂h | 欧美激情亚洲综合 | 国产在线视频资源 | 性喷潮久久久久久久久 | 亚洲一区二区三区高清在线 | 成人爱爱| 外国黄色网址 | 日韩在线精品视频一区二区涩爱 | caobi视频 | 日本三级456 | 蜜桃视频久久一区免费观看入口 | 五月婷婷六月婷婷 | 日本不卡中文字幕 | 91成人午夜| 91激情 | 黑人与亚洲人色ⅹvideos | 国产av一区二区三区精品 | 欧美人与禽猛交乱配视频 | 国产精品jizz在线观看老狼 | 三级黄色片免费观看 | 欧美黄在线观看 | 韩产日产国产欧产 | av在线播放网址 | 冲田杏梨一区二区三区 | 国产农村av| 69福利社区 | 欧美 日韩 视频 | 国产精品乱码一区二三区小蝌蚪 | 9久久精品| 麻豆视频二区 | 欧美专区在线播放 | 一本到久久 | 无码免费一区二区三区免费播放 | 吻胸摸激情床激烈视频 | 熟妇人妻av无码一区二区三区 | 在线观看日本中文字幕 | 欧美黄一级 | 超碰在线中文 | 国产精品视频h | 就操成人网 | 成年人性生活免费视频 | 19禁大尺度做爰无遮挡电影 | 18成人免费观看网站下载 | 少妇高潮网站 | 久久久综合久久久 | 国产在线观看一区二区三区 | 草久影院 | 六月激情婷婷 | 欧美老肥婆性猛交视频 | 日韩午夜伦 | 丁香婷婷一区二区三区 | 波多野结衣亚洲天堂 | 久久靖品 | 激情久久视频 | 黄色免费av | 欧美一区二区三区久久 | 日本成人精品在线 | 免费av影视| 奴性白洁会所调教 | 2019中文字幕在线免费观看 | 日本中文字幕在线播放 | av卡一卡二 | 女人的天堂av | 欧美乱色 | 国产精品久久久久久久免费看 | 日韩成人一区 | 婷婷六月色 | 国产极品尤物 | 色老大影院 | 性做久久久久久久久久 | 天堂а在线中文在线新版 | 成人午夜久久 | 黄色成年人网站 | 欧美,日韩,国产精品免费观看 | 中文人妻av久久人妻18 | 亚洲乱码国产乱码精品天美传媒 | 不卡黄色| 欧美男女交配 | 午夜人体视频 | 奇米影视网 | 国产女人18水真多18精品一级做 | 麻豆国产av超爽剧情系列 | 久久黄色网 | 99久久久久久久久 | 老头av | 成人综合av | 在线视频一区二区三区四区 | 少妇一级淫免费放 |