已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/*- 名称:99分钟倒计时数码管显示 内容:99分钟倒计时器,可以通过按键上调下调时间,定时器到时喇叭发声报警 带有点按和连按功能-*/#include /包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义#define DataPort P1 /定义数据端口 程序中遇到DataPort 则用P0 替换sbit LATCH1=P30;/定义锁存使能端口 段锁存sbit LATCH2=P31;/ 位锁存sbit BEEP = P34;/定义喇叭端口 bit BeepFlag;sbit KEY_ADD=P32; /定义按键输入端口sbit KEY_DEC=P33;sbit guangou=P35;sbit key=P37;unsigned char hour,minute,second;/定义时分秒bit UpdateTimeFlag;/定义读时间标志unsigned char code dofly_DuanMa10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/ 显示段码值09unsigned char code dofly_WeiMa=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;/分别对应相应的数码管点亮,即位码unsigned char TempData8; /存储显示值的全局变量void DelayUs2x(unsigned char t);/us级延时函数声明 void DelayMs(unsigned char t); /ms级延时void Display(unsigned char FirstBit,unsigned char Num);/数码管显示函数void Init_Timer0(void);/定时器初始化void Beep_OFF(void);void Beep_ON(void);void Display_Data_Operation(void);/*- 显示数据处理函数-*/void Display_Data_Operation(void) TempData1=dofly_DuanMaminute/10;/分解显示信息,如要显示68,则68/10=6 68%10=8 TempData0=dofly_DuanMaminute%10;/分解显示信息,如要显示68,则68/10=6 68%10=8 / TempData4=0x40; /TempData5=dofly_DuanMasecond/10;/分解显示信息,如要显示68,则68/10=6 68%10=8 / TempData6=dofly_DuanMasecond%10;/分解显示信息,如要显示68,则68/10=6 68%10=8 /*- 主函数-*/void main (void)unsigned char key_press_num; Init_Timer0();while (1) /主循环 if(!KEY_ADD) /如果检测到低电平,说明按键按下 DelayMs(10); /延时去抖,一般10-20ms if(!KEY_ADD) /再次确认按键是否按下,没有按下则退出 while(!KEY_ADD) key_press_num+; DelayMs(10); /10x200=2000ms=2s if(key_press_num=200) /大约2s key_press_num=0; /如果达到长按键标准 则进入长按键动作 while(!KEY_ADD) /这里用于识别是否按键还在按下,如果按下执行相关动作,否则退出 if(minute99) /加操作 minute+;/即时把显示数据处理,如果去掉下面2句处理信息,实际上看不到渐变效果,而是看到跳变效果/用户可以自行屏蔽测试 Display_Data_Operation(); DelayMs(50);/用于调节长按循环操作的速度 key_press_num=0;/防止累加造成错误识别 if(minute0) /减操作 minute-; Display_Data_Operation(); DelayMs(50);/用于调节长按循环操作的速度 key_press_num=0;/防止累加造成错误识别 if(minute0) /减操作 minute-; if(key=0) DelayMs(10); if(key=0) DelayMs(10); while(!key) minute=0; if(UpdateTimeFlag=1) UpdateTimeFlag=0; Display_Data_Operation(); if(minute=0)/&(second=0)/条件满足蜂鸣器闪响 Beep_ON(); else Beep_OFF(); /不满足时关掉 if(minute=0) guangou=1; else guangou=0; /*- uS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是 0255 这里使用晶振12M,精确延时请使用汇编,大致延时 长度如下 T=tx2+5 uS -*/void DelayUs2x(unsigned char t) while(-t);/*- mS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是 0255 这里使用晶振12M,精确延时请使用汇编-*/void DelayMs(unsigned char t) while(t-) /大致延时1mS DelayUs2x(245); DelayUs2x(245); /*- 显示函数,用于动态扫描数码管 输入参数 FirstBit 表示需要显示的第一位,如赋值2表示从第三个数码管开始显示 如输入0表示从第一个显示。 Num表示需要显示的位数,如需要显示99两位数值则该值输入2-*/void Display(unsigned char FirstBit,unsigned char Num) static unsigned char i=0; DataPort=0; /清空数据,防止有交替重影 LATCH1=1; /段锁存 LATCH1=0; DataPort=dofly_WeiMai+FirstBit; /取位码 LATCH2=1; /位锁存 LATCH2=0; DataPort=TempDatai; /取显示数据,段码 LATCH1=1; /段锁存 LATCH1=0; i+; if(i=Num) i=0;/*- 定时器初始化子程序-*/void Init_Timer0(void) TMOD |= 0x01; /使用模式1,16位定时器,使用|符号可以在使用多个定时器时不受影响 /TH0=0x00; /给定初值 /TL0=0x00; EA=1; /总中断打开 ET0=1; /定时器中断打开 TR0=1; /定时器开关打开/*- 定时器中断子程序-*/void Timer0_isr(void) interrupt 1 static unsigned int num,i; TH0=(65536-1000)/256;/重新赋值 1ms TL0=(65536
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园教师信息化教学工具选择偏好-基于2023年微课制作比赛作品技术统计
- 人教版(2024)七年级下册英语 Unit 2 No Rules,No Order【单元卷·测试卷】
- 工程进度款拨付节点审核确认流程规范
- 四川省2025年度评标专家续聘复审考试(水利类)自测试题及答案解析
- 安全生产事故报告和调查处理实施细则
- 广播电视编辑记者资格考试(广播电视业务)能力提高训练试题库(娄底2025年)
- 二级学院年度预算编制管理办法
- 2025年铜仁市玉屏永昇国有资产投资管理有限公司招聘真题
- 【北京】2025年高考北京卷英语高考真题文档版(含答案)
- 2025-2030年美妆护肤团购特惠企业制定与实施新质生产力战略分析研究报告
- 2026湖北十堰市茅箭区教育局所属学校招聘教师120人备考题库及答案详解(必刷)
- 《第3课 超越空间》课件
- 外贸公司三年发展战略纲要(2026-2028年)
- 2025云南昆明国有资产管理有限公司招聘3人笔试历年难易错考点试卷带答案解析
- 不动产登记代理人《地籍调查》历年考试真题及答案
- 恒丰银行总行公司招聘笔试题库2026
- GB/T 191-2025包装储运图形符号标志
- 688高考高频词拓展+默写检测- 高三英语
- 新生儿气胸应急处理
- MOOC 创业基础(社会创业)-湖南大学 中国大学慕课答案
- 烤烟主要病虫害及防治措施.ppt
评论
0/150
提交评论