自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (3)
  • 收藏
  • 关注

原创 片内、片外、ROM、RAM

片内有ROM与RAM;片外也有扩展的ROM与RAM。芯片内部有片内,也有片外;芯片外部,即独立的外接芯片,一般只有片外。片内,片外,操作指令有差异。特殊功能寄存器SFR一定要在片内,不能扩展,不在片外。这样讲会不会更通俗易懂。...

2021-12-03 10:10:58 6773

原创 ADC采样调试的理解

1)用万用表测得一个电压,例如:3.6V2) 查看原理图,电阻分压。例如:3.0V3) 到MCU内部,考虑约0.2V左右压降。例如:2.8V4) 查看调试手册与参考电压图。例如:4096X(2.8/5)=2293,这个是十进制。5)2293转化为十六进制发送给调试串口。例如:08F5。6)通过调试串口工具,参看发送的码高位是08,就算调试成功了。一笑天~原创,觉得有帮助,请收藏并给我点赞吧,祝你成功!...

2021-12-02 10:41:05 4429

原创 FLAG编程方法

把各种操作变成FLAG,比如BLE的,按键的,最后都归结到ControlFlag=1,进行处理事件,是不错的编程方法。例如:if(key1 == Once_Key) { if(Light) { Light = 0; ControlLEDFlag =1; } else { Light = 1; ControlLEDFlag ...

2021-11-19 11:04:56 728

原创 整理开发笔记的好处

1)总结开发的工作,巩固开发智慧与成果。2)消化项目过程中不是特别理解的变量,FLAG,函数等。3)方便下次改BUG时候查阅,可以快速熟悉起来很久没碰的PROJECT。4)非常好的习惯,是重要不紧急的事情,要事第一,要坚持做。...

2021-11-19 10:35:54 280 1

原创 将某位置1置0的常用方法

#define Display_OFF() Display_Control_temp &= 0xf7 //将bit3置0#define Display_ON() Display_Control_temp |= 0x08 //将bit3置1

2021-11-18 09:22:11 1335 1

原创 ADC取初始平均值

主要逻辑:取8次平均值,然后存入数组,求和然后取平均值。void AdcAverageInit(void){ u16 ADCInit_SPVal = 0; u8 n; for(n=0; n<8;n++) { ENABLE_ADC_AIN7; //使能 ADCInit_SPVal = AdcGetVal(); //单次取值 SpeedA...

2021-10-19 09:08:20 654

原创 时效访问保护 (TA)

MS51有几个特殊的功能,如WDT和掉电检测,对系统正常运行非常重要。如果这些控制寄存器不保护 ,错误的代码可能往它们写入不确定的值,导致运行在错误的状态且失控。为了避免这个风险,MS51 有一个保护机制,关键的SFR限制写访问。该保护机制使用时效访问(TA)。 在时效访问方式,受保护的位有一个写使能时间窗口。只有在该窗口有效的状态下,写才能成功,否则 写的直接丢弃。当软件往TA写入AAH,计数器开始运行。该计数器等待3个时钟周期查询是否往TA写入 55H。如果写入55H在写入AAH后 3...

2021-10-18 10:12:06 325

原创 最近迷上心学

遇事不指责,从自己身上找原因。烂事不纠缠,学会解脱自己的心。无事多读书,找到生活最本真的意义。

2021-10-16 08:55:44 11138

原创 坚持双赢思维

用双赢态度面对生活,就是说“我会赢,你也会赢”。采用双赢思维是愉快相处的基础,这种信念始于我们是平等的,没有人低一等或高一等,也没有必要这样。

2021-10-13 13:33:40 82

原创 16K Byte flash有多大

16K Byte flash:2的14次方是16384共有14位,即3FFF,11 1111 1111 1111寻址空间,0000H-3FFFHByte 指每个地址存放一个字节,即8bit的数据。

2021-10-13 09:56:37 898

原创 读UCID

UINT8 UCID_BYTE(UINT8 Addr) //只是读UID,不是IAP{ UINT8 DATATEMP; set_IAPEN; IAPAL = Addr; //The Acture UCID addrss is begin from 0x20? IAPAH = 0x00; IAPCN = READ_UID; //IAP控制命令SFR,0x04是读96位UID set_...

2021-10-11 20:16:38 883

原创 FLASH的架构

整个嵌入的FLASH,作为编程内存的功能,被分成三块: 应用ROM(APROM):通常存储用户代码。 加 载ROM(LDROM):通常存储启动代码。 CONFIG字节:作用于硬件初始化。 事实上, APROM 和 LDROM 功能相似,但是大小不一样,每一块由一页一页组成,每页大小是128字节。...

2021-10-11 16:33:20 2513

原创 MS51内部振荡器

MS51内部有两个RC振荡器,一个高速16MHz或24MHz(HIRC),可通过HIRC24(RCTRIM1.4)位进 行选择配置,以及一个低速10 kHz(LIRC)。它们都可被选择用作系统时钟。通过设置HIRCEN (CKEN.5)位使能HIRC,设备上电时LIRC被使能。用户可设置OSC[1:0] (CKSWT [2:1])为[0,0]选择HIRC 作为系统时钟,设置OSC[1:0](CKSWT [1:0])为[1,0]选择LIRC作为系统时钟。注意:MS51上电后HIRC 和 LIRC都被...

2021-10-11 14:44:25 587

原创 按位发送一个字节的数据

void SentData(u8 DriveData){ u8 i; for(i=0; i<8; i++) { CLK = 0; //低电平开始写数据 if(Data & (1 << i)) //取DriveData的第i位,其它位置零 SDA = 1; else SDA = 0; ...

2021-10-11 14:14:42 514 1

原创 人性的弱点

太在意别人说的一句话。无法忍受重要任务的失败。要立刻马上有完美的解决方案。犯了错误,一定要批评、教育、指责某个人。对未来充满担忧。固定型心态,做了一个壳保护起来,不去努力。...

2021-10-09 14:30:05 66

原创 在应用编程 (IAP)

修改FLASH数据通常需要很长时间,不像RAM那样可以实时操作。而且擦除、编程或读取FLASH数据需要遵循相当复杂的时序步骤。MS51提供方便FLASH编程方式,可以帮助用户通过IAP方式,重新编 程FLASH内容。IAP就是通过软件实现在线电擦除和编程的方法。 通过设置IAPEN(CHPCON.0受TA保护)使能IAP,并且设置IAPUEN寄存器的相应位,使能需要升级 的FLASH区域(CONFIG、LDROM、APROM),用户将16位操作地址写入IAPAH和IAPAL,数...

2021-10-09 14:22:35 386

原创 NUVOTON的IAP SFR

IAPAH IAPAL: 需要升级的FLASH 区域,编程区域。IAPFD: 放的是数据,包含读出或写进FLASH空间的数据。IPACN: 控制,决定操作模式和编程区域。

2021-10-07 11:34:34 225

原创 以终为始,写下个人的使命宣言

无论以家庭、工作、利益、宗教、娱乐为中心,都是多变的,反反复复,影响着自己的情绪,只有以原则为中心,写下个人的使命宣言,对自己的擅长、热爱、机会做出总结,才能静心、高效能。...

2021-10-07 10:54:01 453 1

原创 左移/右移

在数字没有溢出的前提下,对于正数和负数,左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方。右移一位相当于除2,右移n位相当于除以2的n次方。12>>1 结果:6    12/2^1。 12>>2 结果:3  12/2^212<<1 结果 :24 12x2^1。 12<<2 结果 :48  12x2^2...

2021-10-05 16:16:10 80

原创 #if、#else 、#endif

#if:编译预处理中的条件编译,相当于if语句。#else: 与#if 对应,若这些条件不满足,则执行#else之后的语句,相当于else。#endif: 是#if 等条件编译的结束标志。

2021-10-05 14:14:26 3875

原创 data、xdata、code、hex的差异

用于定义变量,会占用内存。data:RAM低128字节,存在内部RAM,采用直接寻址方式idata:RAM全256字节,采用间接寻址方式,存在外部RAMbdata:片内RAM,位寻址方式xdata:外部扩展RAM,一般指外部0x0000-0xffff空间。采用DPTR访问pdata:外部扩展RAM低256字节,分页寻址(一页256byte)code:程序存储区(64k地址范围)...

2021-09-04 09:55:47 1215

MCU007_MS51_32KBFlash_Series_SC_Rev1.0.1_编程手册.pdf

MCU007_MS51_32KBFlash_Series_SC_Rev1.0.1_编程手册.pdf

2021-12-29

研发中心读书分享--《高效能人士的七个习惯》20211027.pdf

适合工程师、研发经理、研发总监

2021-12-24

MCU002_SH79F3213 CV2.0.pdf

MCU002_SH79F3213 CV2.0.pdf

2021-10-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除