下载此文档

单片机脉冲计数word文档良心出品.doc


文档分类:通信/电子 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
单片机实验报告0903班级:自动姓名::脉冲计数(定时/计数器实验)1,实验目的:熟悉单片机内部定时/计数器功能,掌握初始化编程方法。2,实验内容:把外部中断0输入的脉冲进行计数,并送数码管显示。仿真电路图如下所示:设定频率发生器为50Hz程序如下:#include<>sbitP2_0=P2^0;//数码管选定位sbitP2_1=P2^1;sbitP2_2=P2^2;sbitP2_3=P2^3;unsignedcharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};unsignedintmotorspeed;unsignedcharGE,SHI,BAI,QIAN;unsignedintcounter=0;//脉冲数unsignedintcalsp;//设定多长时间计算一次voiddisplay();//数码管显示voiddelay();//延迟函数voidcalspeed();voidmain(){EA=1;//开启总中断EX0=1;//开启外部中断0IT0=1;//设置成下降沿触发方式TMOD=0x01;//设置定时器0为模式1,即16位计数模式TH0=(65536-10000)/256;//计数时间为10msTL0=(65536-10000)%6;ET0=1;//开启定时器0中断TR0=1;//启动定时器0P2=P2&0xf0;while(1){display();calspeed();}}voidcalspeed(){if(calsp>=100)//100*10ms=1s计算一次{motorspeed=counter;counter=0;//清零脉冲数calsp=0;//清零标志}}void_TIMER0()interrupt1{TH0=(65536-10000)/256;//重新装入初值,计数时间为10msTL0=(65536-10000)%6;calsp++;}void_INT0()interrupt0{counter++;}voiddisplay()//数码管显示函数{GE=motorspeed_x0010_;SHI=motorspeed/10_x0010_;BAI=motorspeed/100_x0010_;QIAN=motorspeed/1000_x0010_;P2_0=1

单片机脉冲计数word文档良心出品 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数9
  • 收藏数0 收藏
  • 顶次数0
  • 上传人282975922
  • 文件大小41 KB
  • 时间2020-05-31