51单片机
文章平均质量分 78
djimon
这个作者很懒,什么都没留下…
展开
-
51单片机基础教程
所谓单片机,就是把中央处理器CPU(Central Processing Unit)、存储器(Memory)、定时器、I/0(Input/Output)接口电路等一些计算机的主要功能部件集成在一块集成电路芯片上的微型计算机。虽然单片机只是一个芯片,但从组成和功能上看,它已具有了微型计算机系统的含义。 由于80C51的架构和指令系统为后来的单片机提供了参考基准和强大支持,我们也将以51系列单片机转载 2009-03-02 10:10:00 · 1704 阅读 · 1 评论 -
简单介绍一下用加速度传感器修正角速度传感器(陀螺仪)累计误差的原理
内容原作者 OURAVR - feng_matrix<br /><br />陀螺仪输出角速度,是瞬时量,一般角速度姿态平衡上是不能直接使用,多数惯导系统控制需要角度信号 <br />所以需要角速度与时间积分计算角度,得到的角度变化量与初始角度相加,就得到目标角度,其中积分时间Dt越小,输出角度越准 <br />但陀螺仪的原理决定了它的测量基准是自身,并没有系统外的绝对参照物,加上Dt是不可能无限小 <br />所以积分的累积误差会随着时间流逝迅速增加,最终导致输出角度与实际不符,所以陀螺仪只能工作在相对较短转载 2010-08-16 15:31:00 · 20725 阅读 · 3 评论 -
关于单片机 C中断函数
<br />定义中断服务函数<br /><br /><br />函数类型 函数名 (形式参数) interrupt n [using n]<br />中断号 中断源 中断向量<br /> 0 外部中断0 0003H<br /> 1 定时器/计数器0 000BH<br /> 2 外部中断1 0013H<br /> 3 定时器/计数器1 001BH<br /> 4 串行口转载 2010-08-25 12:19:00 · 5422 阅读 · 2 评论 -
STC - PWM输出汇总
<br />STC单片机PWM的实现方法与原理<br />一款单片机提供的pwm实现变频输出。程序将变频pwm输出到led上作测试。<br />#includesfr CCON = 0xD8;sfr CMOD = 0xD9;sfr CL = 0xE9;sfr CH = 0xF9;sfr CCAP0L = 0xEA;sfr CCAP0H = 0xFA;sfr CCAPM0 = 0xDA;sfr CCAPM1 = 0xDB;sbit CR = 0xDE;sbit led原创 2010-08-25 12:00:00 · 12884 阅读 · 7 评论 -
STC12CA560S2 ADC/PWM相关例程
<br />/***************************************************************************** 文件名:AD_CAIYANG.C* 功能:使用AD采集电压显示在LCD* 说明:转自网络,本人验证通过****************************************************************************/#include<STC12C5A60S2.H>#define转载 2010-08-29 20:38:00 · 8504 阅读 · 7 评论 -
自制单片机之五-LCD1602的驱动
<br />LCD1602已很普遍了,具体介绍我就不多说了,市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,定义如下表所示:<br /> 字符型LCD的引脚定义<br /><br />HD4转载 2010-09-08 11:28:00 · 4324 阅读 · 0 评论 -
步进电机、步进电机驱动器常见问题解答
1.什么是步进电机,什么是步进电机驱动器? 步进电机是一种作为控制用的特种电机, 它的旋转是以固定的角度(称为“步距角”)一步一步运行的, 其特点是没有积累误差, 所以广泛应用于各种开环控制。步进电机的运行要有一电子装置进行驱动, 这种装置就是步进电机驱动器, 它是把控转载 2011-09-06 08:53:47 · 7111 阅读 · 1 评论 -
常见步进电机驱动芯片
名称 最高电压 最大电流 细分 封装 THB6128 35 2 1/原创 2011-09-05 11:33:59 · 24380 阅读 · 0 评论 -
单片机定时器学习汇总
1时钟周期=1/晶振频率M1机器周期=12(51系列12T,若1T则为1)X时钟周期 = 12(1)X(1/晶振频率M) = 1 us(1/12 us)1us机器周期脉冲数=晶振频率f/12 假设12MHZ晶振工作在51单片机12T模式下,需要使用定时器进行50M原创 2010-07-23 11:44:00 · 2335 阅读 · 1 评论 -
两相4线步进电机
两相4线步进电机脉冲的分配用下图示意。 这个图是我自己画的,从图中可以看出来,要实现步进电机的转动,可以用以下两种方式:(1)8拍的方式八个状态:1、在A与A-正电压,B与B-不给电悬空;2、在A与A-正电压,B与B-也给正电压;3、A与A-不给电压悬空,B与B-正电压;4、A与A-给负电压,B与B-给正电压;5、A与A-给负电压,B与B-不给悬空;6、A与A-给负电压,B与B转载 2012-02-24 13:07:12 · 27811 阅读 · 0 评论 -
51单片机控制四相步进电机
作者:易劲松 QQ:371719025 Email:yijingsong@hotmail.com 接触单片机快两年了,不过只是非常业余的兴趣,实践却不多,到现在还算是个初学者吧。这几天给自己的任务就是搞定步进电机的单片机控制。以前曾看过有关步进电机原理和控制的资料,毕竟自己没有做过,对其具体原理还不是很清楚。今天从淘宝网买了一个EPSON的UMX-1型步进电机,此步进电机为双极性四相转载 2012-02-24 09:57:58 · 3757 阅读 · 0 评论 -
单片机的延时与中断问题及解决方法
延时与中断出错,是单片机新手在单片机开发应用过程中,经常会遇到的问题,本文汇总整理了包含了MCS-51系列单片机、MSP430单片机、C51单片机、8051F的单片机、avr单片机、STC89C52、PIC单片机…..在内的各种单片机常见的延时与中断问题及解决方法,希望对单片机新手们,有所帮助!一、单片机延时问题20问1、单片机延时程序的延时时间怎么算的?答:如果用循环语句实现转载 2012-07-25 15:03:42 · 42244 阅读 · 3 评论 -
KEIL里 Volatile的用法(转)
volatile用于防止相关变量被优化。例如对外部寄存器的读写。对有些外部设备的寄存器来说,读写操作可能都会引发一定硬件操作,但是如果不加volatile,编译器会把这些寄存器作为普通变量处理,例如连续多次的对同一地址写入,会被优化为只有最后一次的写入。实际上,网卡的数据发送,就是按顺序连续往一个同地址写入数据,如果被优化,网卡将不能正常驱动。对于外部寄存器的读写,经常用 XBYTE,其实转载 2012-07-31 11:03:39 · 12129 阅读 · 1 评论 -
谈谈51单片机延时子程序
<br />延时程序在单片机编程中使用非常广泛,但一些读者在学习中不知道延时程序怎么编程,不知道机器<br />周期和指令周期的区别,不知道延时程序指令的用法, ,本文就此问题从延时程序的基本概念、机器周期和指<br />令周期的区别和联系、相关指令的用法等用图解法的形式详尽的回答读者<br /> 我们知道程序设计是单片机开发最重要的工作,而程序在执行过程中常常需要完成延时的功能。例如<br />在交通灯的控制程序中,需要控制红灯亮的时间持续30秒,就可以通过延时程序来完成。延时程序是如何<br />实转载 2010-07-23 11:48:00 · 13686 阅读 · 1 评论 -
51单片机c嵌汇编教程
<br />原帖:http://bbs.cepark.com/thread-13010-1-1.html<br />http://bbs.cepark.com/thread-13028-1-1.html(原帖有附件)<br /> <br /> <br />第一步;按照建立普通c51程序的方法,建立c51工程文件。<br /> 建立两个*.c文件(c51shi.c和asm.c),加入工程。c51shi.c为主程序,asm.c为汇编函数。<br /><br />第二步:在 Project 窗转载 2010-07-16 16:26:00 · 3097 阅读 · 2 评论 -
lcd1602中文资料
在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LED数码管、液晶显示器。发光管和LED数码管比较常用,软硬件都比较简单,在前面章节已经介绍过,在此不作介绍,本章重点介绍字符型液晶显示器的应用。<br />在单片机系统中应用晶液显示器作为输出器件有以下几个优点:<br />显示质量高<br />由于液晶显示器每一个点在收转载 2010-07-06 11:18:00 · 3633 阅读 · 0 评论 -
单片机C语言-51芯片
通过上一篇我们Keil的仿真,可能有懂C语言的朋友会说,“这和PC机上的C语言没有多大的区别呀”。的确没有太大的区别,C语言只是一种程序语言的统称,针对不同的处理器相关的C语言都会有一些细节的改变。编写PC机的C程序时,如要对硬件编程您就必须对硬件要有一定的认识,51单片机编程就更是如此,因它的开发应用是不可与硬件脱节的,所以我们先要来初步认识一下51芯片的结构和引脚功能。MSC51架构的芯片种类转载 2009-03-02 10:28:00 · 2605 阅读 · 0 评论 -
单片机C语言-最小系统
我们已经了解了单片机的基本引脚功能,现在我们就来看一看要让单片机能够工作,我们应该做些什么呢。 上面的图就是单片机的最小系统示意,一般来说,单片机的最小系统包括电源(地),晶振(一般使用11.0592M或者12M),复位电路。有了以上三块内容,单片机就能够工作了。另外要注意的一点是,EA(31脚)也要接高电平,告诉单片机不使用片外存储器,这样单片机系统才会老老实实地执行你烧写进转载 2009-03-02 10:34:00 · 2480 阅读 · 0 评论 -
单片机C语言-程序结构
在最小系统的介绍中,我们已经大致了解了单片机的程序结构,下面我们来系统介绍一下。 先来简单说说C语言的标识符和关键字。标识符是用来标识源程序中某个对象的名字的,这些对象可以是语句、数据类型、函数、变量、数组等等。C语言是大小字敏感的一种高级语言,如果我们要定义一个定时器1,可以写做“Timer1”,如果程序中有“TIMER1”,那么这两个是完全不同定义的标识符。标识符由字符串,数字和下划线等组转载 2009-03-02 10:41:00 · 3687 阅读 · 1 评论 -
单片机C语言-Keil
上次说到了使用C语言编写单片机的程序,既然使用编程语言,就需要有软件把程序语言翻译成机器能懂的机器码,把机器码下载进单片机,单片机才能运行。在这里,我们隆重推荐Keil uVision2,它支持众多不同公司的MCS51 架构的芯片,集编辑,编译,仿真等功能于一体,同时还支持PLM,汇编和C 语言的程序设计。它的界面和微软VC++的界面相似,界面友好,易学易用。在调试程序,软件仿真方面也有很强大的功转载 2009-03-02 10:16:00 · 3191 阅读 · 0 评论 -
LCD电子时钟
用LCD小液晶屏做的一个时钟,单片机是STC89C51RC,一个编码开关做调节时间用。整个程序用C语言编写。附件包括整个Keil工程,解压后直接用Keil打开就可以,里面还有LCD液晶屏的PDF资料 LCD_DISP.rar转载 2009-03-02 15:38:00 · 1308 阅读 · 2 评论 -
新的V2XE型地磁传感器在单片机水工业系统中的应用
1 引言 V2XE是一种以集成微处理器作为控制和接口新型2轴罗盘和大磁场传感器[1>,U2XE使用新型系统常用3V工作电源,具有功耗低、尺寸小、各种条件下抗噪声能力强、较大测量灵敏感应区等优点。V2XE结合了PNI公司专利磁场感应传感器和测量电路技术,不受补偿漂移影响,不同温度下测量结果很稳定。V2XE简单易行标准SPI接口输入/输出数据。2 性能特点V2XE典型特性如下:功率低(3V DC,转载 2009-03-04 14:08:00 · 1885 阅读 · 0 评论 -
单片机中用c编程时头文件reg51.h及reg52.h解析
单片机中用c编程时头文件reg51.h及reg52.h解析 我们在用c语言编程是往往第一行就是reg51.h或者其他的自定义头文件,我们怎么样来理解呢?1)“文件包含”处理。程序的第一行是一个“文件包含”处理。所谓“文件包含”是指一个文件将另外一个文件的内容全部包含进来。程序中包含REG51.h文件的目的是为了要使用P1 (还有其他更多的符号)这个符号,即通知C 编译器,程转载 2009-03-05 14:01:00 · 22010 阅读 · 0 评论 -
【转】OSD字符叠加芯片
http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=1344038&bbs_page_no=1&search_mode=3&search_text=y2kloach&bbs_id=9999 芯片特性 1、集合字符叠加功能和字幕机为一体。 2、信息显示:15行,每行最多28个字符。 3、光标显示,8种光标图形,多种光标操作功能。 4、行滚动原创 2009-03-30 16:00:00 · 3657 阅读 · 2 评论 -
三极管放大电路的基本原理
三极管是电流放大器件,有三个极,分别叫做集电极C,基极B,发射极E。分成NPN和PNP两种。我们仅以NPN三极管的共发射极放大电路为例来说明一下三极管放大电路的基本原理。 下面的分析仅对于NPN型硅三极管。如上图所示,我们把从基极B流至发射极E的电流叫做基极电流Ib;把从集电极C流至发射极E的电流叫做集电极电流Ic。这两个电流的方向都是流出发射极的,所以发射极E上就用了一个箭转载 2009-04-16 16:13:00 · 9233 阅读 · 3 评论 -
一篇关于上拉电阻的好文771073054
上拉电阻: 1、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。 2、OC门电路必须加上拉电阻,才能使用。 3、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。 4、在COMS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生降低输入阻抗,提供泄荷通路转载 2009-04-12 23:33:00 · 1082 阅读 · 1 评论 -
(AT89C51)单片机C程序延时精度研究
在单片机应用中,经常会遇到需要短时间延时的情况,一般都是几十到几百μs,并且需要很高的精度(比如用单片机驱动DS18B20时,误差容许的范围在十几μs以内,不然很容易出错);而某些情况下延时时间较长,用计时器往往有点小题大做。另外在特殊情况下,计时器甚至已经全部用于其他方面的定时处理,此时就只能使用软件定时了[1]。 1 C语言程序延时 Keil C51的编程语言常用的有转载 2009-04-12 23:34:00 · 5713 阅读 · 1 评论 -
【转】LCD1602演示程序
<br />LCD1602演示程序(很多函数哦)控制芯片为HD44780<br />里面还有HD44780器件手册<br />函数都是经过测试的,实物显示都通过了,呵呵,请大家放心使用^_^<br />呵呵,支持四线数据接口模式,可以任意切换编程,只须改模式选择Port_Type_Select就可以咯!很方便的。<br /> 并且我说一下我的个人体会,希望大家在写程序的时候,最好考虑一下程序的可移植性,而且要方便更改参数和硬件资源的选择,最好使用条件编译,任意切换硬件资源,可以方便以后更改参数,就会转载 2010-07-06 10:02:00 · 1390 阅读 · 0 评论 -
keilc51中如何看堆栈的分配情况
本文引用自puppypuppy2005《keilc51中如何看堆栈的分配情况》http://puppypuppy2005.blog.163.com/blog/static/52048156200911741010340/KeilC是非常优秀的C51编译器,可能是最好的C51编译器,提供各种优化模式,对变量的优化和地址安排做得非常好。这是用C语言写代码的好处之一,如果用汇编写,得费一转载 2012-07-31 11:10:38 · 7901 阅读 · 2 评论