按键中断处理程序设计与调试.doc_第1页
按键中断处理程序设计与调试.doc_第2页
按键中断处理程序设计与调试.doc_第3页
按键中断处理程序设计与调试.doc_第4页
全文预览已结束

下载本文档

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

文档简介

/* 按键中断处理程序设计与调试 设计:* 2010年12月02日 关键词:定时器,中断处理,时钟程序设计 程序采用模块化设计,由定时器中断数据产生、显示、按键中断处理、控制等模块组成。 单片机硬件连接:P1.0-P1.3接数码管的位控制,P0口接共阳极数码管段码,动态显示。 P3.2-P3.3接2个按键。P2.3、P2.7接时间控制输出指示灯。 */ #includesbit P2_3=P23;/定义控制指示灯的端口。sbit P2_7=P27; /数组,定义共阳极数码管显示段码:0,1,2,3,4,5,6,7,8,9,A,b,C,d,E,F,H,L,P,-,熄灭。 unsigned char duanma=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0x88,0x83,0xc6,0xa1,0x86,0x8e,0x89,0xc7,0x8c,0xbf,0xff;/数组,定义显示位码。unsigned char wm=0xfe,0xfd,0xfb,0xf7;char hour=11,min=29,sec=0;unsigned int ms;/定义时钟控制起始和终止单元unsigned char hour_start=11,min_start=30,hour_end=11,min_end=33; /初始设置控制启动时间11:30,控制终止时间11:33。/延时函数,带参数i。 void delay(int i) /在调用函数时通过设置参数,改变延时时间。 int j=0,k=0; for(j=0;ji;j+) for(k=0;k=20)/20个50ms,1秒。 ms=1;/产生数据sec、min if(sec=59) sec=0; if(min=59) min=0;if(hour=23)hour=0;else hour+; else min+; else sec+; else ms+;/中断初始化函数 void int_init() TMOD=0x01;/T0工作在模式1,非门控,定时方式。 TH0=0x3c;/50ms定时器初始值 TL0=0Xb8;/ PT0=1;/T0高优先级 EA=1;/开总中断。 ET0=1;/开定时器0中断。 EX0=1;/开外中断int0。 IT0=1;/设置外中断0为下降沿中断触发方式。 EX1=1;/开外中断int1。 IT1=1;/设置外中断1为下降沿中断触发方式。 TR0=1;/启动定时器0。 /中断服务函数0:按键处理函数:A键对hour单元循环增1; void key_int_a() interrupt 0/外中断0, 中断号为0。A键处理函数 if(hour=23)hour=0; else hour+;/A键按下,如果hour是23,则送0,否则hour加1。 /中断服务函数2:按键处理函数:B键对min单元循环增1; void key_int_b() interrupt 2/外中断1, 中断号为2。B键处理函数 if(min=59)min=0; else min+;/B键按下,如果min是59,则送0,否则min加1。 /时钟控制程序。 void time_controller() if(hour=hour_start) /时间到达启动时间,P2.3和P2.7输出低电平。 if(min=min_start) P2_3=0; P2_7=0; if(hour=hour_end) /时间到达终止时间,P2.3和P2.7输出高电平。 if(min=min_end) P2_3=1; P2_7=1; /主函数 main() P3=0xff; int_init(); /中断初始化 while (1) displa

温馨提示

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

评论

0/150

提交评论