单片机源程序如下:
#include #define hw_hs0038_ENTITY #include "hw_hs0038.h" sbit in=P3^2; //uchar i=0; //uchar k[2]; bit bdata b=0; /* void timer0(void) interrupt 1 using 1 { b=1; TH0=0; TL0=0; } */ void hw_start() { while(in==1); //等待低电平到来 } void hw_pulse() { //测试脉冲宽度 //i=0; TR0=1; //启动定时器0测试低电平宽度 while(in==0); //高电平到了, TR0=0; //关闭定时器0,低电平宽度测试完 //k[i]=TH0; //i++; TH0=0; TL0=0; TR0=1; //高电平到了,启动定时器1,测试高电平宽度 while(in==1); //低电平到了, TR0=0; //关闭定时器1,高电平宽度测试完 //k[i]=TH0; //i++; if(TH0<3) b=1; else b=0; TH0=0; TL0=0; } uchar hw_key() { uchar j,m; //i=0; hw_start(); //等待低电平到来 hw_pulse(); for(j=0;j<24;j++) //测试用户码脉冲宽度 { hw_pulse(); } for(j=0;j<8;j++) //测试键码脉冲宽度 { hw_pulse(); if(b==1) m=(m<<1)|1; else m<<=1; } return m; //键码 }
上一篇:51单片机音乐盒设计 按键可以上一曲,下一曲,开始或暂停
下一篇:ds18b20 温度模块串口显示简单代码
推荐阅读
史海拾趣
背景:在电子行业,成本控制和供应链管理是企业竞争力的重要体现。
发展:Fortiming不断优化供应链管理流程,与上游供应商建立长期稳定的合作关系,确保原材料的稳定供应和质量可靠。同时,公司还通过技术创新和工艺改进,降低生产成本,提高产品竞争力。这些措施使得Fortiming在激烈的市场竞争中保持了良好的盈利能力。
Cristek Interconnects Inc公司自成立以来,一直致力于电子连接器技术的研发与创新。在早期的发展阶段,公司凭借其出色的研发团队,成功开发出一种新型的高性能连接器,这种连接器具有更高的导电性和更低的信号衰减,极大地提高了电子设备的性能。这一技术突破为公司赢得了市场的广泛认可,也奠定了Cristek在电子行业中的重要地位。
Dongguan Jingyue Electronics Co Ltd非常重视人才战略和团队建设。公司深知人才是企业发展的根本,因此不断加大对人才的投入力度。通过引进优秀人才、加强员工培训、建立激励机制等方式,公司打造了一支高素质、专业化的团队。这支团队不仅为公司的发展提供了有力支持,也为公司的创新和发展注入了新的活力。
随着公司业务的不断扩大,Dongguan Jingyue Electronics Co Ltd面临着越来越复杂的供应链管理问题。为了降低成本、提高效率,公司决定对供应链进行优化。通过引入先进的供应链管理软件和系统,加强与供应商和物流公司的合作,公司成功实现了供应链的数字化和智能化管理,提高了整体运营效率。
Crameda Intersys公司非常重视人才的培养和引进。公司建立了完善的人才培养机制,通过内部培训和外部引进相结合的方式,不断提升员工的专业技能和创新能力。同时,公司还积极营造创新氛围,鼓励员工提出新的想法和解决方案。这些措施有效地激发了员工的创新热情,为公司的发展提供了源源不断的人才支持。
面对快速变化的电子行业环境,Electroswitch始终保持着敏锐的洞察力和创新精神。公司不断加大对新技术和新产品的研发力度,推出了一系列具有领先水平的开关产品。同时,公司还积极探索新的业务领域和市场机会,为未来的发展做好充分准备。展望未来,Electroswitch将继续秉承“质量、选择、产品创新和出色的支持”的理念,为客户提供更加优质的产品和服务。
请注意,以上故事框架仅供参考,您可以根据这些框架进一步扩展和丰富故事内容。
有调通过marvell wifi 8686 sdio接口驱动来讨论下??? 正在调sdio接口的wifi 8686驱动,sdio确认好的,读写寄存器,加载固件都没问题。有以下问题: 1. 我是直接把驱动放在bsp中编的,wince启动后自动加载wifi驱动, 并且这个wifi驱动会自行搜索热点。我的理解是wifi驱动加载固件启动完wifi芯片注册网络 ...… 查看全部问答∨ |
|
SESSION_POS_S *pTestpos1, *pTestpos2, *pTestpos3, *pPos; LIST *pMyList = NULL; int NodeIndex = 0; DPRINT("-------- lstAdd测试 -------\\n ...… 查看全部问答∨ |
|
用电位器输出一个电压值,从我watch窗口看到的ADCresult值都在变化,变化比较大。如0xabc0,b为都会能差4,帮忙分析一下可能那里设置不对。谢谢!… 查看全部问答∨ |
|
想请问你一下 那个ez430-rf2500为什么ed连上电池两个灯还是不闪。。ap的红灯在闪烁。。并且PC上温度只有一个ap温度显示。。就是说ed的没有反应。。好像是没有连接到网络。。后来又折腾了一下。。现在ap的红绿灯都在闪。。但是ed还是没反应。 ...… 查看全部问答∨ |
|
#include<reg51.h> // 包含51单片机寄存器定义的头文件unsigned char code Tab[ ]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //数字0~9的段码unsigned char int_time ; //中断次数计数变量unsigned ...… 查看全部问答∨ |
module main ( ....); wire clk1MHz; // 产生1MHz的时钟波形 // 输入为20MHz的时钟 clock_divider instT1MHz &nb ...… 查看全部问答∨ |