光电计数与器源程序.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
光电计数与器源程序

#includereg51.h //单片机头文件 #includeabsacc.h//访问绝对地址 #includemath.h #includestdio.h//输入输出流 #define COM8279 XBYTE[0X5FFF] //8279控制命令地址 #define DATA8279 XBYTE[0X5EFF] //8279数据地址 #define uint unsigned int #define uchar unsigned char //定义无字符变量 uint x;//高位计数值 uint y;//定时中断重复值 uint keyboard;//键值 uint i; uint now; uint z; uchar code table[]={ 0x0C0,0x0F9,0x0A4,0x0B0, 0x99, 0x92, 0x82, 0x0F8, 0x80, 0x90, 0x88, 0x83, 0x0C6,0x0A1,0x86, 0x8E};//共阳极LED段码表,0x表示十六进制,表示0~9,a~f uint LED[]={0,0,0,0,0,0};//六个数码管的初值 void show1(void);//数码管显示程序 void show2(void); void main(void) { COM8279=0xDC;//清除显示RAM和FIFO命令字 COM8279=0x34;//程序时钟编程命令 (11000)24分频 COM8279=0x00;//键盘方式设置(8*8字符显示左边输入,编码方式扫描键盘,双键互锁) COM8279=0x92;//设置写显示命令(AI=1每次写入后地址自动加1;显示RAM一个单元地址0010) for(i=0;i6;i++) { DATA8279=table[LED[i]];//数据地址,数码管置零 } x=0; TMOD=0x16; //T1定时50ms,方式1;T0计数,方式2 TH0=0x00; TL0=0x00; //计数赋初值,计数值为256 TH1=0x3C; TL1=0x0B0; //50ms定时器赋初值(65536-50ms/1us=15536=0x3CB0) ET0=1;//开中断,计数器,P3.4(光电门) ET1=1;//开中断,定时器 TR0=1; TR1=1; IT0=0;//外部中断0选用电平触发方式,低电平触发中断 EX1=1; //开外部中断 EA=1;//打开总中断 while(1);//等待中断 } void inter0(void) interrupt 1//外部中断程序 { COM8279=0x40;//读键盘命令(AI=0仅读一个单元) keyboard=DATA8279; /*扫描键盘输入值*/ if(keyboard==0)//清零重新计数 { TL0=0; x=0; } else if (keyboard==1)//暂停计数 { TR0=0; TR1=0; now=TL0;//存储当前计数值 } else if (keyboard==2)//开始计数 { TR0=1; TR1=1; TL0=now;//将原计数值赋给计数器 } else if (keyboard==3)//计数加1 { TL0++; } else if (keyboard==4)//计数总值 { TR1=0; z=256*x+TL0; show2(); } else if (keyboard==5)//重新显示计数值 { TR1=1; TL0=z%256; } else { TR0=1; TR1=1; } //继续计数 } void timer0(void) interrupt 2//计数器中断程序 { x++;//高位计数 } void timer1(void) interrupt 3//50ms定时器中断程序 { while(y10) { TH1=0x3C;

文档评论(0)

liangyuehong + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档