07 2012 档案

摘要:PICC使用中初学者容易犯得两个错误我是初次使用PIC单片机,对PICC的编程规范不了解,在编译程序时老是出问题。现在介绍两个最常见的问题给大家,看看有没有和我遇到一样问题的。错误1:变量定义赋值先后顺序问题很重要开发环境为MPLAB IDE V7.43 + PICC 。如下两种代码书写方式,在补充完整之后,哪一个会编译出错?( flag_sendKeyByte 为全局位变量,已定义过)A:flag_sendKeyByte = 0; unsign char mbit = 0;B: unsign char mbit = 0; flag_sendKeyByte = 0;使用正常的C语言习惯来看,似 阅读全文
posted @ 2012-07-29 17:56 奔流聚海 阅读(1707) 评论(0) 推荐(1) 编辑
摘要:步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。 虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。(一)反应式步进电机原理 由于反应式步进电机工作原理比较简单。下面先叙述三相反应式步进电机原理。1、结构(三个励磁绕阻ABC;.. 阅读全文
posted @ 2012-07-28 13:41 奔流聚海 阅读(929) 评论(0) 推荐(0) 编辑
摘要:switch语句可以产生具有多个分支的控制流程。它的格式是:switch(控制表达式){ case常量表达式:语句列表 case常量表达式:语句列表 ... default:语句列表}例如以下程序根据传入的参数1~7分别打印Monday~Sunday:例4.1.switch语句如果传入的参数是2,则从case 2分支开始执行,先是打印相应的信息,然后遇到break语句,它的作用是跳出整个switch语句块。C语言规定各case分支的常量表达式必须互不相同,如果控制表达式不等于任何一个常量表达式,则从default分支开始执行,通常把default分支写在最后,但不是必须的。使用swit... 阅读全文
posted @ 2012-07-25 10:39 奔流聚海 阅读(403) 评论(0) 推荐(0) 编辑
摘要:1 ds1302的程序,不是很简洁,占的程序空间有点长 2 3 程序: 4 5 ////////////////////////////////// 6 //根据自己的接线改管脚定义 7 sbit DS1302_cs=P1^2; 8 sbit DS1302_data=P1^1; 9 sbit DS1302_clk=P1^0; 10 sbit ACC0=ACC^0; 11 sbit ACC7=ACC^7; 12 ////////////////////////////////// 13 #define uchar unsigned char 14 #define uint... 阅读全文
posted @ 2012-07-23 19:07 奔流聚海 阅读(5509) 评论(0) 推荐(0) 编辑
摘要:1 可以用,要弄懂的话就要去看看HT6221的时序图。 2 3 C51的红外解码程序,可以根据需要自己修改: 4 ///////////////////////////////////////////// 5 //12Mhz 6 //根据自己的接线来改 7 sbit IRIN = P3^2; //红外接收器数据线 8 ///////////////////////////////////////////// 9 10 ////////////////////////////////////////////11 //定义数组IRCOM,分别装解码后得到的数据12 //IRCO... 阅读全文
posted @ 2012-07-23 19:04 奔流聚海 阅读(2724) 评论(0) 推荐(0) 编辑
摘要:遥控器使用方便,功能多.目前已广泛应用在电视机、VCD、DVD、空调等各种家用电器中,且价格便宜,市场上非常容易买到。如果能将遥控器上许多的按键解码出来.用作单片机系统的输入.则解决了常规矩阵键盘线路板过大、布线复杂、占用I/O口过多的弊病。而且通过使用遥控器,操作时可实现人与设备的分离,从而更加方便使用。下面以TC9012编码芯片的遥控器为例。谈谈如何用常用的51系统单片机进行遥控的解码。 通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作,如图所示。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。 一... 阅读全文
posted @ 2012-07-23 16:53 奔流聚海 阅读(4659) 评论(0) 推荐(0) 编辑
摘要:引言 在UPS等电力电子设备中,控制方法是核心技术。早期的控制方法使得输出为矩形波,谐波含量较高,滤波困难。SPWM技术较好地克服了这些缺点。目前SPWM的产生方法很多,汇总如下。 1)利用分立元件,采用模拟、数字混和电路生成SPWM波。此方法电路复杂,实现困难且不易改进; 2)由SPWM专用芯片SA828系列与微处理器直接连接生成SPWM波,SA828是由规则采样法产生SPWM波的,相对谐波较大且无法实现闭环控制; 3)利用CPLD(复杂可编程逻辑器件)设计,实现数字式SPWM发生器; 4)基于单片机实现SPWM,此方法控制电路简单可靠,利用软件产生SPWM波,减轻了... 阅读全文
posted @ 2012-07-23 15:30 奔流聚海 阅读(2989) 评论(0) 推荐(0) 编辑
摘要:PIC18F452(有两个ccp)每个CCP(捕捉/ 比较/PWM )模块有一个16位寄存器,它可以用作16位捕捉寄存器、16位比较寄存器或PWM 主/ 从占空比寄存器。除了特殊事件触发器之外,CCP1的操作和CCP2相同。 捕捉/ 比较/PWM 寄存器1(CCPR1)由两个 8 位寄存器组成:CCPR1L (低字节)和 CCPR1H(高字节)。CCP1CON 寄存器控制CCP1 的操作。 捕捉/ 比较/PWM 寄存器2(CCPR2)由两个 8 位寄存器组成:CCPR2L (低字节)和 CCPR2H(高字节)。CCP2CON 寄存器控制CCP2 的操作。 CCP模式-定时器资源:捕捉:... 阅读全文
posted @ 2012-07-22 21:21 奔流聚海 阅读(6927) 评论(0) 推荐(0) 编辑
摘要:实验48,片内EEPROM读写应用实验47,看门狗应用实验46,PS/2接口键盘解码显示 阅读全文
posted @ 2012-07-22 19:53 奔流聚海 阅读(302) 评论(0) 推荐(0) 编辑
摘要:工控机通常要接标准键盘,但是为了方便操作,常常需要外接一个专用键盘。此实例介绍了在工控PC机到PS/2总线上再接入一个自制专用键盘的应用方法。用于工控机的PS/2键盘接口电路 该设计应能保证两个键盘单独工作,而且相互不能影响。因此,不能直接把专用键盘和标准键盘一起接到工控PC的PS/2口。鉴于这种情况,本设计使用模拟开关CD4052并通过时分复用工控PC的PS/2口,来使在同一个时刻只有一个键盘有效,从而解决上述问题。其硬件原理图如图所示。其中P2口和P1口用于键盘扫描电路(图中未画出),P0.0为数据端,P0.1为时钟端,P0.2为模拟开关选通端。由于专用键盘不需要接收工控PC机的命令,所. 阅读全文
posted @ 2012-07-21 18:28 奔流聚海 阅读(1452) 评论(0) 推荐(0) 编辑
摘要:开了两个中断,一个定时,另一个为外部中断,void TIMER0INIT(){T0CON=0B10001000;//1000 0011,PSA=0,分频16;TMR0L=0xDC;TMR0H=0x0B;//INTCON=0B10100000 ;//GIE=1;TMR0IE=1;TMR0IF=0;(=1须软件清零)这里有两种方式都对的。GIE=1;TMR0IF=0;TMR0IE=1;}但是,打开另外一个中断时,为了模块化编程,一般另外建一个函数进行外部中断初始化,然而如果采用寄存器字节形式,编写会带来很大麻烦,不能正常中断。采用位的形式设置中断,为比较好的方式。如下:void key_ini.. 阅读全文
posted @ 2012-07-19 17:52 奔流聚海 阅读(793) 评论(0) 推荐(0) 编辑
摘要:在C语言中,经常会出现一个项目由多个C文件共同组成,而多个C文件中有时需要引用相同的变量。在嵌入式单片机中,也会出现相同的情况,除了需要条件编译外,还需要全局变量声明:"extern"外部声明。一处进行了定义 unsigned char a ,其他地方再次引用只需要直接声明就好,extern a; 放到c文件中,其他地方调用时extern NvU32 disp_init_flag ;一下还是可以的。放到h文件中不行,每个包含这个h文件的c文件都会赋值,就冲突了. A.带“extern”关键字的语句属于声明(declarations),不是定义(definitions),他不 阅读全文
posted @ 2012-07-19 15:34 奔流聚海 阅读(1422) 评论(0) 推荐(0) 编辑
摘要:时钟周期 时钟周期也称为振荡周期,定义为时钟脉冲的倒数(时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时钟周期就是1/12us),是计算机中的最基本的、最小的时间单位。 在一个时钟周期内,CPU仅完成一个最基本的动作。时钟脉冲是计算机的基本工作脉冲,控制着计算机的工作节奏。时钟频率越高,工作速度就越快。 8051单片机把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)。机器周期 计算机中,常把一条指令的执行过程划分为若干个阶段,每一个阶段完成一项工作。每一项工作称为一个基本操作,完成一个基本操作所需要的时间称为机器周期。8051系列单片机的一个机器周期由 阅读全文
posted @ 2012-07-18 09:29 奔流聚海 阅读(10168) 评论(0) 推荐(0) 编辑
摘要:#ifndef 标示1 //判断"标示1"是否定义,如果被定义则返回假,如果没有被定义则返回真。 /**********************************/ 语句1 #ifndef 标示1 语句2 #define 标示1 语句3 #endif 语句4 …… 语句5 ……该段代码意思是:如果标示1没有被定义,则重定义标示1,即执行语句2、语句3、语句4、……;如果标示1已经被定义,则直接跳过语句2、语句3,直接执行语句4、语句5、……备注:#ifndef 和 #endif 要一起使用,如果丢失#endif,可能会报错。 千万不要忽略了头文件中的#ifndef,这 阅读全文
posted @ 2012-07-17 18:13 奔流聚海 阅读(2397) 评论(0) 推荐(0) 编辑
摘要:RB0/INT0、RB1/INT1及RB2/INT2引脚的外部中断是边沿触发的;如果INTCON2 寄存器中相应的INTEDGx位被置1,则为上升沿触发;如果该 INTEDGx 位清零,则为下降沿触发。当RBx/INTx引脚上出现一个有效边沿时,相应标志位 INTxF 被置1 。在重新使能该中断前,必须在中断服务程序中先用软件将标志位INTxF 清零。通过对相应的使能位INTxE 清零,可以禁止该中断。如果INTxE 位在进入休眠状态前被置1 ,则所有的外部中断(INT0、INT1 及INT2)能把处理器从休眠状态中唤醒。如果全局中断使能位 GIE 被置1 ,则处理器将在唤醒之后转移到中断向量 阅读全文
posted @ 2012-07-17 17:14 奔流聚海 阅读(790) 评论(0) 推荐(0) 编辑
摘要:1.PICC安装: PICC编译器可以直接挂接在MPLAB-IDE集成开发平台下,实现一体化的编译连接和原代码调试。使用MPLAB-IDE内的调试工具ICE2000 、ICD2 和软件模拟器都可以实现原代码级的程序调试,非常方便。 首先必须在你的计算机中安装 PICC 编译器。安装成功后可以进入IDE ,选择菜单项Project Æ Set Language Tool Locations… ,打开语言工具挂接设置对话框。在对话框中选择“HI-TECH PICC Toolsuite”栏,展开可执行文件组“Executable”后,列出了将被MPLAB-IDE 后台调用的编译器所用到的所 阅读全文
posted @ 2012-07-16 20:44 奔流聚海 阅读(11717) 评论(0) 推荐(1) 编辑
摘要:显示自定义字符 步骤如下: 1. 先将自定义字符写入CGRAM ; 2. 再将CGRAM中的自定义字符送到DDRAM中显示 很简单的:看好了 查看LCD1602 的CGROM 字符代码表,可以发现 从00000000B~00000111B(00H~07H)地址的内容是没有定义的,它是留给用户自己定义的,用户可以通过先定义LCD1602的CGRAM中的内容,然后就可以同调用CGROM字符一样来调用自定义好的字符(这里提示一下,自定义的字符最多可写8个),那么如何设定CGRAM中的内容呢? 首先我们要把所要编写的字符对应于5X8点阵的“字模”提取出来,我们可以通过相关的软件来提... 阅读全文
posted @ 2012-07-13 22:02 奔流聚海 阅读(1423) 评论(2) 推荐(0) 编辑
摘要:1602液晶显示器资料 所谓1602是指显示的内容为16*2,即可以显示两行,每行16个字符。目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。 1.1602液晶的正面(绿色背光,黑色字体) 2.1602液晶背面(绿色背光,黑色字体) 3.另一种1602液晶模块,显示屏是蓝色背光白色字体 字符型LCD1602通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,引脚定义。HD44780... 阅读全文
posted @ 2012-07-12 14:31 奔流聚海 阅读(654) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示