单片机上的蜂鸣器结构非常的简单只要给一个0,它就会“叫”。让它唱歌的原理很简单,声音大小是固定的,让它的频率变化,就能让它发出不同的音符。代码中在软件循环延时过程中,依次给它一个固定频率的方波,让它唱起来。//晶振11.0592#includesbit speaker=P2^3;unsigned char byteTH0,byteT[详细]
键盘工作原理还是使用都是比较简单的。下面是4×4的阵列键盘,行分别接P3.0-P3.3,列接P3.4-P3.7,没有接电源。采用查询法判断那一个按键被按下。例如,令P3=0xFE,然后在将P3跟0xFE比较,如果相等,说明S6-S9没有被按下,否则在判断P3高四位哪一位等于0。例如P3.4=0 则说明S6被按下。注意: 手工按下键[详细]
单片机程序死机,跑飞了可以从以下几个方面查找原因: 1. 意外中断。是否打开了某个中断,但是没有响应和清除中端标志,导致程序一直进入中断,造成死机假象 2. 中断变量处理不妥。若定义某些会在中断中修改的全局变量,这时要注意两个问题:首先为了防止编译器优化中断变量,要在这些变量[详细]
由于单片机的性能同电脑的性能是天渊之别的,无论从空间资源上、内存资源、工作频率,都是无法与之比较的。PC 机编程基本上不用考虑空间的占用、内存的占用的问题,最终目的就是实现功能就可以了。对于单片机来说就截然不同了,一般的单片机的Flash 和Ram 的资源是以KB 来衡量的,可想而知,单片机的资源是少得[详细]
最近写了几个程序,一个是用51单片机读取模数传感器adc0832的电压值,一个是读取ds1302的时间值,结果都出现了读数一直为0的情况。我调试了近一个星期,修改了一个我认为不可能会错的句子,程序运行成功了,这才发现了一个极其隐蔽的错误。(我用的是xp系统,用keil4软件编译)先上代码:第一个为错误代码,第二[详细]
早期的51单片机,驱动能力很低。P1、P2和P3口只能驱动3个LSTTL输入端,P0口可驱动8个。如果想要驱动更多的器件,就要用到“总线驱动芯片”。经常用的就是74LS244(单向)和74LS245(双向)。现在常用的 AT89C51 单片机引脚的输出能力已经大多了,从 PDF 手册文件中可查出:单片机输出低电平的时候,单个[详细]
IO口检测高点平的问题,曾经而困扰我不少时间。这几天做一个项目,又有点晕呼了,查了不少资料,做了一个总结,和大家分享:1、51单片机的I/O 口检测高低电平是需要首先让该端口置为1的。此时这个引脚才被设置为输入。2、如果是avr单片机,可以通过设置DDRx的值来设置输入输出(详见数据手册~~)3、切忌要将单[详细]
一、干扰的分类1.1. 干扰的分类干扰的分类有好多种,通常可以按照噪声产生的原因、传导方式、波形特性等等进行不同的分类。按产生的原因分:可分为放电噪声音、高频振荡噪声、浪涌噪声。按传导方式分:可分为共模噪声和串模噪声。按波形分:可分为持续正弦波、脉冲电压、脉冲序列等等。1.2. 干扰的耦合方式[详细]
1、指向code区数组的指针也要加 code 关键字声明。比如 unsigned char code arr[30]; 数组,要用指针指向它,要把指针也声明成 unsigned charcode*p;后来使用发现其它很多地方使用是不需要这样声明的,只要 unsigned char *p;就行了,但是清楚地记得那次确实是要加 code 关键字声明才可以的。 2、在51[详细]
单片机程序死机,跑飞了可以从以下几个方面查找原因:1. 意外中断。是否打开了某个中断,但是没有响应和清除中端标志,导致程序一直进入中断,造成死机假象;2. 中断变量处理不妥。若定义某些会在中断中修改的全局变量,这时要注意两个问题:首先为了防止编译器优化中断变量,要在这些变量定义时前加volatile,[详细]
扫码关注我们
0755-82591179
传真:0755-82591176
邮箱:vicky@yingtexin.net
地址:深圳市龙华区民治街道民治大道973万众润丰创业园A栋2楼A08
Copyright © 2014-2025 颖特新科技有限公司 All Rights Reserved. 粤ICP备14043402号-4