历史上的今天
返回首页

历史上的今天

今天是:2025年06月02日(星期一)

正在发生

2021年06月02日 | C8051F330 Flash访问单元

2021-06-02 来源:eefocus

简介:最近写的一个小程序,贡献给大家参考。C8051F330 Flash访问单元。


头文件自己搞吧,不贴了,写Flash时候记得先要擦除。


代码如下


/*

02 ================================================================================

03 File Name      : Flash.c

04 Description    : C8051F330 Flash操作单元

06 Version        : V1.0

11 ================================================================================

 */

13 

14 #include

15 #include "Flash.h"

16 

17 unsignedcharFlash_ReadByte(unsignedintaddr)

18 {

19     return*(unsignedcharcode*)addr;

20 }

21 

22 voidFlash_ReadBytes(unsignedintaddr,unsignedchar*buff,unsignedintsize)

23 {

24     unsignedinti;

25     unsignedcharcode*x;

26     x= (unsignedcharcode*)addr;

27     for (i=0;i28     {

29         buff[i]=*x;

30         x++;

31     }

32 }

33 

34 voidFlash_Erase(unsignedintaddr)

35 {

36     unsignedcharxdata*x;

37     x= (unsignedcharxdata*)addr;

38     PSCTL=0x03;

39     FLKEY=0xA5;

40     FLKEY=0xF1;

41     *x=0;

42     PSCTL=0x00;

43 }

44 

45 voidFlash_WriteByte(unsignedintaddr,unsignedchar b)

46 {

47     unsignedcharxdata*x;

48     x= (unsignedcharxdata*)addr;

49     PSCTL=0x01;

50     FLKEY=0xA5;

51     FLKEY=0xF1;   

52     *x= b;

53     PSCTL=0x00;

54 }

55 

56 voidFlash_WriteBytes(unsignedintaddr,unsignedchar*buff,unsignedintsize)

57 {

58     unsignedcharxdata*x;

59     unsignedinti;

60     x= (unsignedcharxdata*)addr;

61     PSCTL=0x01;

62     for (i=0;i63     {

64         FLKEY=0xA5;

65         FLKEY=0xF1;

66         *x=buff[i];

67         x++;

68     }

69     PSCTL=0x00;   


推荐阅读

史海拾趣

问答坊 | AI 解惑

值得好好学习,周立功讲述其创业故事(完整版) 转

尽管我们不能改变制度,也不一定能够改变别人,但我们可以改变自己,因为没有人能够阻止我们不断进步,如果失败或者失意,那只能怪我们自己无能,怪我们自己不善于学习,不能怪别人没有给您机会,更不能怪这个社会......    我创业至今 ...…

查看全部问答>

改进版8位数码管汇编数字钟

几天前帮同学课程设计写的那个数字钟(51单片机简洁版汇编数字钟),由于时间紧,随便搞了两下。那个程序不怎么好,用两个按钮分别调时调分,而且只能增加,不小心按到按钮便调动了时间,不能用于实际产品。恰巧我自己的单片机课程设计题目是“自动 ...…

查看全部问答>

关于示波器的十个问题和十个答案

示波器数字示波器一直是工程师设计、调试产品的好帮手。但随着计算机、半导体和通信技术的发展,电路系统的信号时钟速度越来越快,信号上升时间也越来越短,导致因底层模拟信号完整性问题引发的数字错误日益突出。针对这些新的测试挑战,示波器供应 ...…

查看全部问答>

【藏书阁】基于USB的串行通信软硬件设计

在工业控制和数据采集系统中,单片机以其低成本,编程灵活、方便,实时性强和具有一定的智能而得到了广泛的应用。然而,许多复杂任务的实现,如人机对话、 任务的切换、算法的实现、大数据的运算等,单片机就显得有些力不从心,而 PC 机在这方面却 ...…

查看全部问答>

WM60下GPRS 拨号不上

WM60系统 CPU:s3c2443 gprs模块是MC52i 现在通过RIL,希望同时获取信号强弱及IMEI,以及可以拨号上网。 现在可以获取信号及IMEI,但GPRS拨号不上,一下是拨号中的debug message,那位DX可以帮忙指点一下 ####################Debug message## ...…

查看全部问答>

sqlce2.0数据库open打不开

我的程序是这么写的,到open哪儿就打不开了.有人说是路径的问题,可是我看不出来路径有问题啊?哪位大侠帮帮忙吧! if(FAILED(CoInitializeEx(NULL, COINIT_MULTITHREADED)))                 return FA ...…

查看全部问答>

wince串口通讯

wince串口通讯遇到一个问题: 1.用C#写的在模拟器环境下没有问题,可以和终端通讯上。 2.下载到设备后通讯不上。 3.改用VC2005写的程序模拟器下可以通讯,下载到设备上亦可以通讯,请高手指点一二,不胜感激…

查看全部问答>

LIST BOX显示数据的问题

{          // TODO: 在此添加控件通知处理程序代码          int nEngineType;          int OpenMode;           ...…

查看全部问答>

逆变电源相关基础

一.什么是逆变电源?  答:逆变电源是把直流电变成交流电的一种电子设备。常叫做逆变器。二.逆变电源有哪些分类?  1)按照逆变电路原理:工频型、高频型  2)按输出波形:纯正弦波、修正正弦波(阶梯波)、方波  3)电压源型和电流源型三 ...…

查看全部问答>

27MHz键鼠接收器不能对码

键鼠套装的接收器不能对码(有三块集成块2762A、24A02、CY7C63743-SXC0607),键鼠是好的,用另一套的接收器能用,但两个接收器的电路不一样,求资料,谢谢…

查看全部问答>