




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 21384-4:2025 EN Uncrewed aircraft systems - Part 4: Vocabulary
- 【正版授权】 IEC 60974-4:2025 EN-FR Arc welding equipment - Part 4: Periodic inspection and testing
- 【正版授权】 ISO/IEC 25422:2025 EN Information technology - 3D Manufacturing Format (3MF) specification suite
- 【正版授权】 ISO/IEC TR 14143-3:2003 EN Information technology - Software measurement - Functional size measurement - Part 3: Verification of functional size measurement methods
- 【正版授权】 IEC 61156-11:2023/AMD1:2025 EN Amendment 1 - Multicore and symmetrical pair/quad cables for digital communications - Part 11: Symmetrical single pair cables with transmissio
- 2025至2030中国电窑行业产业运行态势及投资规划深度研究报告
- 2025至2030中国电池螺帽扳手行业产业运行态势及投资规划深度研究报告
- 2025至2030中国电动摩托车产业行业市场占有率及投资前景评估规划报告
- 2025至2030中国猪饲料预混料行业产业运行态势及投资规划深度研究报告
- 2025至2030中国物流金融行业市场发展现状分析及发展趋势与投资前景报告
- 福建漳州安然燃气有限公司招聘笔试题库2025
- 2025年天津市中考历史试卷(含答案)
- 2025年中国汽车检测行业市场调查研究及投资前景预测报告
- 2025秋初升高衔接新高一物理模拟卷-分班模拟卷(五)
- 公司年终答谢宴策划方案
- T/CIES 035-2024生鲜食用农产品照明光源显色性规范
- 充电站可行性研究报告
- 湖北中考英语真题单选题100道及答案
- 母婴店转让协议书范本
- 2025-2030中国医疗IT行业市场深度调研及竞争格局与投资研究报告
- 2025-2030中国高超音速技术行业市场发展趋势与前景展望战略研究报告
评论
0/150
提交评论