上一页 1 ··· 5 6 7 8 9 10 下一页
摘要: 实验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 奔流聚海 阅读(1433) 评论(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 奔流聚海 阅读(782) 评论(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 奔流聚海 阅读(1394) 评论(0) 推荐(0) 编辑
摘要: 时钟周期 时钟周期也称为振荡周期,定义为时钟脉冲的倒数(时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时钟周期就是1/12us),是计算机中的最基本的、最小的时间单位。 在一个时钟周期内,CPU仅完成一个最基本的动作。时钟脉冲是计算机的基本工作脉冲,控制着计算机的工作节奏。时钟频率越高,工作速度就越快。 8051单片机把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)。机器周期 计算机中,常把一条指令的执行过程划分为若干个阶段,每一个阶段完成一项工作。每一项工作称为一个基本操作,完成一个基本操作所需要的时间称为机器周期。8051系列单片机的一个机器周期由 阅读全文
posted @ 2012-07-18 09:29 奔流聚海 阅读(10064) 评论(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 奔流聚海 阅读(2379) 评论(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 奔流聚海 阅读(783) 评论(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 奔流聚海 阅读(11354) 评论(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 奔流聚海 阅读(1407) 评论(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 奔流聚海 阅读(652) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 下一页