基于51单片机的频率计设计c语言程序内容摘要:
dd=num/100%10。 ee=num/10%10。 ff=num%10。 display(aa,bb,cc,dd,ee,ff)。 } if(mode==3) { num=500000/num1。 aa=num/100000。 bb=num/10000%10。 cc=num/1000%10。 dd=num/100%10。 ee=num/10%10。 ff=num%10。 display(aa,bb,cc,dd,ee,ff)。 } } } void T0_time() interrupt 1 { TH0=(6553650000)/256。 TL0=(6553650000)%256。 tt++。 if(tt=10) { tt=0。 num1=read()。 TH1=0。 TL1=0。 } } void exter() interrupt 2 { num=read()+1。 TH1=0。 TL1=0。 } 代码 2: include define uint unsigned int define uchar unsigned char define ulong unsigned long sbit dula=P2^6。 sbit wela=P2^7。 sbit key1=P1^0。 sbit key2=P1^1。 sbit key3=P1^2。 uchar tt=0,mode。 ulong num,num1。 uchar code shu[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77, 0x7c,0x39,0x5e,0x79,0x71}。 void delay(uint z) { uint i,j。 for(i=z。 i0。 i) for(j=110。 j0。 j)。 } void display(uchar a,uchar b,uchar c,uchar d,uchar e,uchar f) { dula=1。 P0=shu[a]。 dula=0。 P0=0xff。 wela=1。 P0=0xfe。 wela=0。 delay(3)。 dula。基于51单片机的频率计设计c语言程序
相关推荐
宁科技大学本科生毕业设计 第 14 页 第四章 系统软件设计 软件分 为两部分,主程序和中断服务程序,如图 41 所示。 主程序完成初始化工作、超声波发射和接收, 距离计算、结果的输出。 外部中断服务子程序主要完成时间值的读取。 NO YES 图 41 主程序流 程图 外部中断子程序 计算距离 结果输出 定时器及中断初始化 发射超声波 开外部中断 指示灯闪烁 单片机初始化 DS18B20 初始化
表 单片机 管脚含义 ALE/PROG 地址锁存控制信号: 在访问片外程序存储器的时候,每机器周期这个信号出现两次,它的下降沿用来控制锁存 P0口输出的低 8位地址。 就算不在访问片外程序存储器的时候,这个信号也以振荡频率的 1/6 出现,因此可以用来作为对外输出的时钟脉冲。 但是在访问片外数据存储器的时候, ALE 脉冲会跳空一个,那此时作为时钟输出就不合适了。 /PSEN
如果有外设产生一个中断请求信号, IRQ 中断相应的位会被置位,否则会被清 0。 IRQEN 中断使能寄存器 当某一位置 1 时,相应的中断源可以请求中断,相反,相应的中断源没有被使能。 IRQCLR 中断屏蔽寄存器 可以用来清空在 IRQEN 寄存器中相应的位,当某一位置 1 有效。 要想取消一个已经使能的中断源,用户必须通过 IRQCLR 对应的位置 1 来实现。 单独清空 IRQEN
降沿时,寄存器的值加 1,在这种工作方式下,每个 机器周期的 5SP2 期间,对外部输入进行采样。 若在第一个机器周期中采到的值为 1,而在下一个机器周期中采到的值为 0, 则在紧跟着的下一个周期的 S3P1 期间寄存器加 1。 由于识别 1 至 0 的跳变需要 2 个机器周期( 24 个振荡周期),因此,最 高计数速率为振荡频率的 1/24。 为确保采样的正确性
图 ISD1760外形 贵州大学科技学院本科毕业论文(设计) 第 6 页 显示模块的选型 方案一: 采用 LED 数码管,如图 所示,它是设备常用简易显示电子元器件之一。 LED 数码管的主要优点如下: (1)能在低电压、小电流条件下驱动发光,能与 CMOS、 ITL电路兼容。 (2)发光响应时间极短,高频特性好,单色性好,亮度高。 (3)体 积小,重量轻,抗冲击性能好。 (4)寿命长
if(h2==4amp。 amp。 h1==2) { h2=0。 h1=0。 } write_(0x80+0x40+0x01)。 write_date(table2[h1])。 write_date(table2[h2])。 write_ds(0x84,h1*16+h2)。 //向 ds1302中写入时 } } else if(temp==0x0b) { delay(5)。