51单片机片键盘驱动程序(带键盘击打实现) 我们在编写单片机键盘程序时,一般都是利用延时实现键消抖,但是很难实现键盘按下后的键盘连续击打,当然可以通过较复杂的变量转换实现,平凡老师写过一篇文章叫做《一种常用键盘程序的设计》,平凡老师是在主循环中进行的按键连续击打实现,我阅读后感觉不错,但是模块化不够理想,最后,平凡老师也承认,这样在主循环中实现这样的键盘击打,只能用在主循环不是很忙的时候,如果程序本身的主循环时间比较长,那就比较麻烦了,所以最后,平凡老师还是建议大家用定时器做,后来我感觉用平凡老师的思路来用定时器做,还是不很理想,于是我自己重新编写了这次的代码
上传时间: 2013-12-22
上传用户:咔乐坞
对TC9012 (长虹 K8B )遥控器的解码- 这种遥控码具有以下特征,采用脉宽调制的串行码 解码的关键是如何识别“0”和“1”,从位的定义我们可以发现“0”、“1”均以0.56ms的低电平开始, 不同的是高电平的宽度不同,“0”为0.56ms,“1”为1.68ms, 所以必须根据高电平的宽度区别“0”和“1”。 如果从0.56ms低电平过后,开始延时,0.56ms以后,若读到的电平为低,说明该位为“0”,反之则为“1”,
上传时间: 2014-12-09
上传用户:songnanhua
(1)测试外部数据RAM: 根据我们定义的逻辑,外部RAM在数据空间中定义在0x8000-0xFFFF,共32k字,占据RAM中的低32K存储空间。提供2种测试方法,采用一种方式即可。 硬件仿真模式下,将目标板上电。 第一种方法:采用用程序测试实验 程序所在目录ex1_RAMTest。 该程序执行的功能是对外部数据RAM区0x8000-0xFFFF,从0x8000开始写并且读数据0x5555 。如果正常则写读下一个地址,直到 。如果正常则所有的地址操作完毕后,核心板的指示灯会变亮。否则,如果写入数据后,读出的不正确,则指示灯会不断闪烁。 在CCS2000中的操作如下: 1. Progect->Open,打开该目录中的工程文件。 2. Progect->Rebuild All,编译链接 3. File->Program 4. Debug->Go Main 5. Debug->RUN(快捷键F5) 如果正常可以看到灯在熄灭约4秒后变亮。(说明:对整个数据RAM区的操作时间其实很短,为便于观察,本程序中加入了延时)。 打开View->Memory ,然后填入地址0x8000,然后在PAGE栏选择DATA。点击确定,即可显示0x8000地址开始的数据,用户会发现从这个地址开始往后的数据均为刚被写入的0x5555。
上传时间: 2013-12-08
上传用户:www240697738
在电子技术中,频率是最基本的参数之一,又与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。在本次毕业设计中我们选择使用单片机来制作数字频率计,并在实际制作中采用了直接测频法。利用延时产生的时基门控信号来控制闸门,通过在单位时间内计数器记录下的脉冲个数计算出输入信号的频率,最终送入LCD中显示。这样制作出来的频率计不仅可以满足设计题目的参数要求,而且具有了单片机的稳定性和成熟性,且控制能力强,是一种低成本,高可靠的设计方案。
标签: 电子技术
上传时间: 2017-06-23
上传用户:shizhanincc
在电子技术中,频率是最基本的参数之一,又与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。在本次毕业设计中我们选择使用单片机来制作数字频率计,并在实际制作中采用了直接测频法。利用延时产生的时基门控信号来控制闸门,通过在单位时间内计数器记录下的脉冲个数计算出输入信号的频率,最终送入LCD中显示。这样制作出来的频率计不仅可以满足设计题目的参数要求,而且具有了单片机的稳定性和成熟性,且控制能力强,是一种低成本,高可靠的设计方案。
标签: 电子技术
上传时间: 2014-01-25
上传用户:ikemada
在电子技术中,频率是最基本的参数之一,又与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。在本次毕业设计中我们选择使用单片机来制作数字频率计,并在实际制作中采用了直接测频法。利用延时产生的时基门控信号来控制闸门,通过在单位时间内计数器记录下的脉冲个数计算出输入信号的频率,最终送入LCD中显示。这样制作出来的频率计不仅可以满足设计题目的参数要求,而且具有了单片机的稳定性和成熟性,且控制能力强,是一种低成本,高可靠的设计方案。
标签: 电子技术
上传时间: 2017-06-23
上传用户:huannan88
在电子技术中,频率是最基本的参数之一,又与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。在本次毕业设计中我们选择使用单片机来制作数字频率计,并在实际制作中采用了直接测频法。利用延时产生的时基门控信号来控制闸门,通过在单位时间内计数器记录下的脉冲个数计算出输入信号的频率,最终送入LCD中显示。这样制作出来的频率计不仅可以满足设计题目的参数要求,而且具有了单片机的稳定性和成熟性,且控制能力强,是一种低成本,高可靠的设计方案。
标签: 电子技术
上传时间: 2013-12-14
上传用户:脚趾头
在电子技术中,频率是最基本的参数之一,又与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。在本次毕业设计中我们选择使用单片机来制作数字频率计,并在实际制作中采用了直接测频法。利用延时产生的时基门控信号来控制闸门,通过在单位时间内计数器记录下的脉冲个数计算出输入信号的频率,最终送入LCD中显示。这样制作出来的频率计不仅可以满足设计题目的参数要求,而且具有了单片机的稳定性和成熟性,且控制能力强,是一种低成本,高可靠的设计方案。
标签: 电子技术
上传时间: 2014-01-08
上传用户:xinzhch
LED 一般是恒流操作的,如何改变 LED 的亮度呢?答案就是 PWM 控制。在一定的 频率的方波中,调整高电平和低电平的占空比,即可实现。比如我们用低电平点亮一个 LED 灯,我们假设把一个频率周期分为 10 个时间等份,如果方波中的高低电平占空比是 9:1, 这是就是一个比较暗的亮度,如果方波中高低电平占空比是 10:0,这时,全部是高电平, 灯是灭的。如果占空比是 5:5,就是一个中间亮度,如果高低比是 1:9,是一个比较亮的 亮度,如果高低是 0:10,这时全部是低电平,就是最亮的。 实际上应用中,电视屏幕墙中的几十百万 LED 象素都是这样控制的,而且每一个象素 都有红绿蓝 3 个 LED,每个 LED 可以变化的亮度是几百到几万或者更多的级别,以实现真 彩色的显示。还有在您的手机中,背光灯的亮度如果是可以变化的,也应该是这种工作方式。 目前的城市彩灯也有很多都使用了 LED,需要控制亮度是也是 PWM 控制。 下面来分析我们的例程,在这个例程中,我们将定时器 2 溢出定为 1/1200 秒。每 10 次脉冲输出一个 120HZ 频率。这每 10 次脉冲再用来控制高低电平的 10 个比值。这样,在 每个 1/120 秒的方波周期中,我们都可以改变方波的输出占空比,从而控制 LED 灯的 10 个 级别的亮度。 为什么输出方波的频率要 120HZ 这么高?因为如果频率太低,人眼就会看到闪烁感 觉。一般起码要在 60HZ 以上才感觉好点,120HZ 就基本上看不到闪烁,只能看到亮度的变 化了。 下面请看程序,程序中有比较多的注释: ――――――――――――――――――――――― #define uchar unsigned char //定义一下方便使用 #define uint unsigned int #define ulong unsigned long #include <reg52.h> //包括一个 52 标准内核的头文件 sbit P10 = P1^0; //要控制的 LED 灯 sbit K1= P3^2; //按键 K1 uchar scale;//用于保存占空比的输出 0 的时间份额,总共 10 份 char code dx516[3] _at_ 0x003b;//这是为了仿真设置的 //模拟 PWM 输出控制灯的 10 个亮度级别 void main(void) // 主程序 { uint n; RCAP2H =0xF3; //赋 T2 的预置值,溢出 1 次是 1/1200 秒钟 RCAP2L =0x98; TR2=1; //启动定时器 ET2=1; //打开定时器 2 中断 EA=1; //打开总中断 while(1) //程序循环 { ;//主程序在这里就不断自循环,实际应用中,这里是做主要工作 for(n=0;n<50000;n++); //每过一会儿就自动加一个档次的亮度 scale++; if(scale==10)scale=0; } } //1/1200 秒定时器 2 中断 timer2() interrupt 5 { static uchar tt; //tt 用来保存当前时间在一秒中的比例位置 TF2=0; tt++; if(tt==10) //每 1/120 秒整开始输出低电平 { tt=0; if(scale!=0) //这里加这一句是为了消除灭灯状态产生的鬼影 P10=0; } if(scale==tt) //按照当前占空比切换输出高电平 P10=1; } ―――――――――――――――――― 在主程序中,每延时一段时间,就自动换一个占空比,以使亮度自动变化,方便观察。 编译,运行,看结果。 可以看到,LED 的亮度以每种亮度 1 秒左右不断变化,共有 10 个级别。
上传时间: 2017-11-06
上传用户:szcyclone
XA003M人体红外感应模块原理图 PCB ,有需要样板的,请联系我,人体红外感应模块工作电压范围:DC3V-16V电平输出:高3.3V/低0V触发方式:可重复购发(默认)延时时间:默认30S(可定做范围)感应角度:C100度锥角感应距离:3米以内(可定做范围)工作温度:-20 ---- 80度电路板外形尺寸:10*23mm感应透镜尺寸:直径:10mm产品尺寸:34*10mm
上传时间: 2021-10-18
上传用户: