按键处理程序分析与设计.doc_第1页
按键处理程序分析与设计.doc_第2页
按键处理程序分析与设计.doc_第3页
按键处理程序分析与设计.doc_第4页
按键处理程序分析与设计.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

按键处理程序分析与设计参考程序:/* 时钟显示程序 设计:黄有全 2011年10月26日 关键词:动态显示程序设计 显示连接:P3J_WM,接数码管的位控制,P1J_DM,接共阳极数码管段码,动态显示。按键连接:按键KEYP2。k1P2.0,k2P2.1,k3P2.2,k4P2.3。按键作用说明:k1、k2小时加减,k3、k4分钟加减*/#include unsigned char duanma=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x89,0xc7,0x8c,0xbf,0xff; /数组,定义共阳极数码管显示段码:0,1,2,3,4,5,6,7,8,9,A,b,C,d,E,F,H,L,P,-,熄灭。 #define uchar unsigned char uchar ms=0,sec=0,min=30,hour=10; uchar keyv;/*延时2.5ms函数*/ void delay() /延时函数,带参数i。 /在调用函数时通过设置参数,改变延时时间。 int j=0,k=0;/ for(j=0;ji;j+) for(k=0;k350;k+); /*延时250ms函数*/ void delay_250() /延时函数,带参数i。 /在调用函数时通过设置参数,改变延时时间。 int j=0,k=0; for(j=0;j100;j+) for(k=0;k350;k+); /*时间显示函数*/ void display() P1=duanmasec%10; /送秒的个位的段码,显示; P3=0xfe; /送第一位的位码,点亮第1位数码管。 delay(); /延时2.5msP1=duanmasec/10; /送秒的十位的段码,显示; P3=0xfd; /送第二位的位码,点亮第2位数码管。 delay(); /延时2.5msP1=duanma19; /送-的段码,显示-; P3=0xfb; /送第三位的位码,点亮第3位数码管。 delay(); /延时2.5msP1=duanmamin%10; /送分的个位的段码,显示; P3=0xf7; /送第4位的位码,点亮第4位数码管。 delay(); /延时2.5msP1=duanmamin/10; /送秒的十位的段码,显示; P3=0xef; /送第5位的位码,点亮第5位数码管。 delay(); /延时2.5msP1=duanma19; /送-的段码,显示-; P3=0xdf; /送第6位的位码,点亮第7位数码管。 delay(); /延时2.5msP1=duanmahour%10; /送小时的个位的段码,显示; P3=0xbf; /送第7位的位码,点亮第7位数码管。 delay(); /延时2.5msP1=duanmahour/10; /送秒的十位的段码,显示; P3=0x7f; /送第8位的位码,点亮第8位数码管。 delay(); /延时2.5ms /*按键处理函数*/void key() uchar i; keyv=P2; keyv=keyv&0x1f; /取反,去掉高三位(只要5个按键)if(keyv=1) /K1按键按下,小时单元在0-23之间循环加1 if(hour0)hour-;else hour=23; if(keyv=4) /K3按键按下,分钟单元在0-59之间循环加1 if(min0)min-;else min=59; if(keyv!=0)for(i=0;i=50) /ms单元50(是否到1秒) sec+;ms=0; /到1秒,则sec增加1,且ms清0. if(sec59) /sec单元59(是否到1分) min+;sec=0; /秒进位到分钟,即分钟加1.且sec清0. if(min59) hour+;min=0; if(hour23) hour=0; /*主函数*

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论