单片机实验六、计数器实验

一.实验目的:

1.熟悉MCS-51单片机定时/计数器的外部计数原理;

2.进一步掌握定时/计数器的计数功能的初始化和编程方法。

二.实验内容:

模拟产品包装线上对物品件数的计数,假设每个包装箱10件物品,每个物品经过传送带时,光电传感器将发出一个脉冲信号,利用T0定时计数器对该脉冲进行计数,每计满10个物件,将箱数计数器加1,同时将箱数计数器的值以二进制的形式显示在8个LED发光二级管中。

光电传感器脉冲由实验仪器上的K3按键来模仿。

三.实验步骤:

1.理解TCON寄存器中TF0 TF1的设置,IE的EA和ET0的正确设置。

2.理解定时计数器的外部计数的触发原理.

2.编写汇编程序,并生成HEX文件,烧入实验板。

4.按键并保持100毫秒以上,模拟光电传感器的脉冲,记录按键次数,并观察发光二极管组的显示,验证其代表的计数(二进制形式)正确情况情况。

四.实验参考程序

ORG 0000H
		SJMP MAIN
		ORG 000BH
		SJMP PRO
		ORG 0030H		
MAIN:	
		MOV R1,#0FFH
		MOV TMOD,#0110B;T0方式2
		MOV TH0,#0F6H;计数器次数为10,2^8-10=246
		MOV TL0,#0F6H
		SETB ET0;开计数器0中断
		SETB EA;开总中断
		SETB TR0;允许计数器
LOOP:	LCALL DELAY
		MOV C,P3.2
		MOV P3.4,C;将3.2的值赋给3.4
		SJMP LOOP;跳回循环开头
		
PRO:	
		DEC R1;循环减一
		MOV P2,R1;控制灯亮
		RETI
		
DELAY:	;延时
D1: 	MOV R6,#20;延时程序次外层循环次数
D2: 	MOV R5,#250;延时程序内存循环次数
		DJNZ R5,$;内存循环
		DJNZ R6,D2;次外层循环
		RET
		END

五、实验结果

 

 

六、实验小结
 

    规定按动K310下,并且每次按动时间大于等于100ms才算做有效脉冲,进计数,在写代码的时候就要考虑两方面因素,否则单片机闪动频率不稳定,有时才按动一下或两下就开始计数,要尽可能使用能让单片机功能稳定的代码。

  • 6
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值