请教单片机按键c程序设计 pdf。

单片机:c语言实现秒表计数(按键开始,结束,重置)
实现秒表计数功能,使用定时器和外部中断实现。8号按键代表计时开始/结束,C号按键代表重置为0,为了演示方便,这里上限定为15秒。
代码中有详细的注释:
sbit WEI=P2^7;
sbit DUAN=P2^6;
sbit L1=P3^4;
unsigned char code dofly_DuanMa[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};// 显示段码值0~9
unsigned char code dofly_WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分别对应相应的数码管点亮,即位码
void delay(int t)
while(t--);
//第一个参数i代表控制第几个数码管,n代表要显示的数字
void Screen(int i,int n)
P0=dofly_WeiMa[i];
P0=dofly_DuanMa[n];
int main()
//定时器初始化
TMOD |= 0x01;
if(num&=10)
Screen(3,num/10);
Screen(4,num%10);
delay(10);
Screen(5,10);
Screen(6,sec/10);
Screen(7,sec%10);
void Timer_0() interrupt 1 using 1
TH0=()/256;
TL0=()%256;
if(flag==1)
if(sec==100) //0.1ms
if(i==101)//1s
if(num==15)
void ACTION1() interrupt 0
void ACTION2() interrupt 2
if(flag==0)
Screen(7,0);
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'单片机按键消抖程序- c语言教程 黑帽网
&>&&>&&>& > 正文
单片机按键消抖程序
通常按键所用的开关都是机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上就稳定的接通,在断开时也不会一下子彻底断开,而是在闭合和断开的瞬间伴随了一连串的抖动,如图 8-10 所示。
图 8-10& 按键抖动状态图
您对本文章有什么意见或着疑问吗?请到您的关注和建议是我们前行的参考和动力&&扫码下载APP
随时选购服务
需求发布后1小时内收到服务商响应每个需求平均有10个服务商参与95%以上的需求得到了圆满解决所有需求不向雇主收取任何佣金年终总结这么写,升职又加薪
单片机按键处理程序 C语言
单片机按键处理程序 C语言
雇主预算:¥300.00
已收到 15 个服务商的文案稿件
, 最终中标并完成需求
有相似问题想解决?专业顾问来帮助您
01发布需求, 托管赏金02服务商交稿03雇主选稿04中标公示05验收并付款06评价
通过猪八戒网实名认证,保证身份真实可靠
完成手机认证,保证能随时联系到服务商
参与需求,开始赚钱
第1步:提交您的稿件
第2步:中标后交付作品
第3步:获得赏金
该需求下的优秀交稿
TA的交稿:
source0.3的代码,压缩包已加密码
还有2个服务商交稿:
或 查看更多优秀交稿
交易成功的需求
产品设计相关需求
&!&在线客服的工作时间为周一至周五 9:00-18:00&&51单片机按键扫描C程序
> 51单片机按键扫描C程序
51单片机按键扫描C程序
大二上学期做过8051单片机的按键程序,当时项目要求实现按键控制LED屏显示并且接收GPRS传来的数据。当时为了节省成本,就去大西电子市场买来8*8的LED块,然后自己一点一点的拼接成128*16的。做完之后虽然可以运行,但是很勉强,尤其是按键扫描程序没有下面这位哥写得简洁缜密,所以就贴过来,以后用到的时候直接研究:unsignedcharkey,key_h,unsignedintkey_l;//按键连接到p1.0、p1.1、p1.2voidint_t0(void)interrupt1{unsignedchardd,i;TL0=TL0+30;TH0=0//800/*按键判别*/if((P1&0x7)==0x7){if((key_l>30)&&(key_l30)){//释放按键,如果之前按键时间少于1秒,读入键值key=}if((++key_h)>200)key_h=200;key_l=0;if(key>=0x80)key=0;//如果之前的按键为1秒,清除键值}else{kpush=P1&0x7;key_l++;if((key_l>800)&&(key_h>30)){//如果按键超过1秒,键值加0x80标志键key=kpush|0x80;key_h=0;key_l=0;}}}voidmain(void){TMOD=0x1;TR0=1;ET0=1;EA=1;while(1){while(!key){}switch(key){case1:case2:}}}
分享给小伙伴们:
我来说两句……
最新技术贴
微信公众号二
微信公众号一}

我要回帖

更多关于 c程序设计 pdf 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信