随笔分类 -  芯片开发

摘要:我们知道单片机内部有一个电源管理寄存器PCON,这个寄存器的最低两位,IDL和PD这两位分别用来设定是否使单片机进入空闲模式和掉电模式。1.空闲模式当单片机进入空闲模式时,除CPU处于休眠状态外,其余硬件全部处于活动状态,芯片中程序未涉及到的数据存储器和特殊功能寄存器中的数据在空闲模式期间都将保持原值。但假若定时器正在运行,那么计数器寄存器中的值还将会增加。单片机在空闲模式下可由任一个中断或硬件复位唤醒,需要注意的是,使用中断唤醒单片机时,程序从原来停止处继续运行,当使用硬件复位唤醒单片机时,程序将从头开始执行。让单片机进入空闲模式的目的通常是为了降低系统的功耗,举个很简单的例子,大家都用过数 阅读全文
posted @ 2013-02-27 17:32 notepi 阅读(975) 评论(0) 推荐(0)
摘要:PWM(PulseWidthModulation)控制——脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。 PWM控制技术在逆变电路中应用最广,应用的逆变电路绝大部分是PWM型,PWM控制技术正是有赖于在逆 变电路中的应用,才确定了它在电力电子技术中的重要地位。 1PWM控制的基本原理 理论基础: 冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。冲量指窄脉冲的面积。效果基本相同,是指环节的输出响应波形基本相同。低频段非常接近,仅在高频段略有差异。面积等效原理: 分别将如图1所示的电压窄脉冲加在一阶惯性环节(R-L电路)上,... 阅读全文
posted @ 2013-02-12 22:24 notepi 阅读(1176) 评论(0) 推荐(0)
摘要:我们在程序中使用的变量和函数都有各自的地址,程序被编译后,这些地址就成了指令中的地址,指令中的地址被CPU解释执行,就成了CPU执行单元发出的内存地址,所以在启用MMU的情况下,程序中使用的地址都是虚拟地址。一个操作系统中同时运行着很多进程,通常桌面上的每个窗口都是一个进程,Shell是一个进程,在Shell下敲命令运行的程序又是一个新的进程,此外还有很多系统服务和后台进程在默默无闻地工作着。由于有了虚拟内存管理机制,各进程不必担心自己使用的地址范围会不会和别的进程冲突,比如两个进程都使用了虚拟地址0x08048000,操作系统可以设置MMU的映射项把它们映射到不同的物理地址,它们通过同样的虚 阅读全文
posted @ 2013-01-24 02:03 notepi 阅读(795) 评论(0) 推荐(0)
摘要:内存与地址我们都见过像这样挂在墙上的很多个邮箱,每个邮箱有一个房间编号。邮箱的地址使用时根据房间编号找到相应的邮箱,然后投入信件或取出信件。内存与此类似,每个存储单元有一个地址(Address),CPU通过地址找到相应的存储单元,取其中的指令,或者读写其中的数据。与邮箱不同的是,一个地址所对应的存储单元不能存很多东西,只能存一个字节,所以以前讲过的int、float等多字节的数据类型保存在内存中要占用多个地址,这种情况下把起始地址当作这个数据的地址。内存地址是从0开始编号的整数,最大编到多少取决于CPU的地址空间(Address Space)有多大。目前主流的处理器是32位或64位的,本书主要 阅读全文
posted @ 2013-01-23 23:26 notepi 阅读(438) 评论(0) 推荐(0)
摘要:#include<reg52.h>#define uchar unsigned char#define uint unsigned intuchar code table[]="i love you!";uchar code table1[]="WWW.TXMCU.COM";sbit lcdrw=P1^6;sbit lcdrs=P1^7;sbit dula=P3^6;sbit wela=P3^7;sbit lcden=P2^4;void delay_ms(uint);void write_date (uint);void write_com 阅读全文
posted @ 2013-01-23 16:51 notepi 阅读(1712) 评论(0) 推荐(0)