历史上的今天

今天是:2024年09月20日(星期五)

正在发生

2019年09月20日 | 51单片机学习笔记(五)

发布者:星尘散落 来源: eefocus关键字:51单片机  学习笔记  计数器  计时器 手机看文章 扫描二维码
随时随地手机看文章

已经很多天没有写程序了,原因很简单,竟是迷上了新版的西游记,连续看了几天,今天写的是续上以前的教材,“心率计数器”是继“电子时钟”的一个计算器/计时器的应用。


对于计数器/计时器的应用,似乎就是熟练的问题,对计数器/计时器的使用很容易理解,但是要是不看书本,那编写出的程序多半是有错误的,因为对TMOD,TCON,IE,的控制方式,不看书是很难把它记住的,而应用起来却是十分简单。


在这里要说一下在计数器模式下,t1计数的是p3.5的脉冲信号,t0计数的是来自p3.4的脉冲信号。因为我手头上没有心率传感器,所以就只用一根杜邦线接在p3.5口上,然后用手捏杜邦线的另一头,用这种方法给p3.5脉冲信号,挺有意思的。


写这个程序似乎没有什么收获,就是了解了一下传感器的使用,接收脉冲信号的方法和对计数器的使用吧,不值得一说。

MIAO EQU 20H ;********定义秒内存**************


ORG 0000H

SJMP START

ORG 000BH   ;********中断跳转位置**************

SJMP COUNT   ;********跳转至count计算时间**************

ORG 0030H


;********初始化**************

START:

MOV SP,#060H

MOV DPTR,#TAB

MOV R0,#0


MOV TMOD,#01010001B   ;********t1计数,t0计时**************

MOV TL1,#0

MOV TH0,#3CH   ;********计时器初始值**************

MOV TL0,#0B0H

    MOV IE,#10000010B    ;********中断允许**************

SETB TR0 ;********开启计时器,计数器**************

SETB TR1


MAIN:

CALL DISPLAY1 ;********输出时间**************

CALL DISPLAY2   ;********计数**************

CALL STOP

SJMP MAIN


DISPLAY1:    ;********输出时间**************

MOV A,MIAO

MOV B,#10

DIV AB

MOVC A,@A+DPTR

MOV P0,A

CLR P1.0

CALL DELAY

SETB P1.0


MOV A,B

MOVC A,@A+DPTR

MOV P0,A

CLR P1.1

CALL DELAY

SETB P1.1

RET


DISPLAY2: ;********输出计数**************

MOV A,TL1

MOV B,#10

DIV AB


MOVC A,@A+DPTR

MOV P0,A

CLR P1.6

CALL DELAY

SETB P1.6


MOV A,B

MOVC A,@A+DPTR

MOV P0,A

CLR P1.7

CALL DELAY

SETB P1.7


RET


COUNT:   ;********计算时间*************

INC R0

CJNE R0,#20,HUI

INC MIAO   ;********1秒时间到,秒位加**************

MOV R0,#0   ;********重置计时器**************

MOV TH0,#3CH

MOV TL0,#0B0H

HUI: RETI    ;********中断返回**************


STOP:    ;********判断时间**************

MOV A,MIAO

CJNE A,#60,HUI2

CLR TR1   ;********1分钟时间到,计时器,计数器停止工作**************

CLR TR0


HUI2: RET


DELAY:

MOV R1,#5

D1: MOV R2,#250

D2: DJNZ R2,D2

DJNZ R1,D1

RET


 

;*****************共阴极数码表****************

TAB:

DB 03FH,006H,05BH,04FH,066H ;0,1,2,3,4

DB 06DH,07DH,007H,07FH,06FH ;5,6,7,8,9



END



关键字:51单片机  学习笔记  计数器  计时器 引用地址:51单片机学习笔记(五)

上一篇:关于单片机上for循环中运用ACC的隐蔽错误
下一篇:51单片机学习笔记(四)

推荐阅读

随着边缘计算的发展与应用,未来的交通会是什么样?大概是这样:更高效,更安全。拥堵?事故?不存在的。9月18日,2018世界人工智能大会·边缘智能主题论坛在上海召开,论坛以“边缘计算,智能未来”为主题,是2018世界人工智能大会的重要主题论坛之一。会上,来自政府、院所及企业的专家深入探讨,共同为我国边缘计算与人工智能发展趋势把脉,详解边缘计...
(文章来源:格力电器) 随着劳动力成本不断上升,劳动力密集型企业在提升人力资源利用率的同时,也在通过引入自动化技术降低人力的利用。以食品行业为例。对于生产速度、食品安全、分拣精度等方面要求较高的食品行业,对自动化分拣系统的要求更为严格。 分拣过程首先需要辨识物品的形状、颜色、体积。传统的视觉系统因灰度视觉而错误地识别产品,并因...
9月19日,由中国电子视像行业协会主办,中国电子视像行业协会激光电视产业分会承办的第二届全球激光显示技术与产业发展论坛在北京举行。在论坛上,中国工程院院士许祖彦通过音频方式发表致辞,许祖彦指出,激光显示是唯一全面满足超高清显示国际标准BT.2020的显示技术,下一代显示产业的主流就是激光显示。许祖彦认为,激光显示具有亮度高、方向性好、单色...
9月18日,寒武纪发布公告称,公司股东南京招银电信新趋势凌霄成长股权投资基金合伙企业(有限合伙)(以下简称“南京招银”)和湖北长江招银成长股权投资合伙企业(有限合伙)(以下简称“湖北招银”)拟减持合计975.17万股,不超过公司总股本的2.43%。寒武纪称,因股东自身资金需求,公司股东南京招银拟通过集中竞价、大宗交易的方式减持寒武纪股份数量合...

史海拾趣

问答坊 | AI 解惑

TD-SCDMA:产业链瓶颈各个击破

2006年TD-SCDMA重要事件回顾     即将过去的2006年,对于TD-SCDMA来说,有着重要的意义。在这平静而又纷扰的一年里,我们共同见证了TD-SCDMA所取得的一个又一个突破:     1月20日,信息产业部宣布TD-SCDMA为中国通 ...…

查看全部问答∨

用keilc51出现的问题

在程序调试的时候,出现如下的情况,求教应该怎么解决 *** error 56: cant open file…

查看全部问答∨

WinCE下读取XML文件

private void button1_Click(object sender, EventArgs e)         {             string xmlPath = \"//XmlForm.xml\";            ...…

查看全部问答∨

请教几个关于wince烧写的问题

我在PB里定制了wince6.0系统 生成了nk.bin nk.nb0文件,生成镜像的时候没有把 BSP中的bootloader和 oal加进去编译。 我想把nk.bin烧写到开发板上去看看,查了下,又说要先烧写 什么 eboot ,ubootnboot 2440boot.bin,2440Init.axf 2440boot.axf. 把 ...…

查看全部问答∨

在线等 汇编时间中断问题

做一个与电脑同步的时间,并且当跳到指定时间时,能显示一行字符串。 附上已有的程序,请高手帮忙!! ;---------------------------------------------------------------定义数据段 DATA        SEGMENT   &n ...…

查看全部问答∨

wince5.0开始菜单SUSPEND没有反应

我是用S3C2410 WINCE5.0,在开始菜单点击SUSPEND,系统没有挂起,也没有什么异样,从DEBUG信息版本到信息有如下输出: 0x8fae4868: Bailing on save bits because someone has an open DC! 0x8fae4868: OEMIoControl: Unsupported Code 0x10100f ...…

查看全部问答∨

用什么软件向avr单片机里下程序?

用什么软件向avr单片机里下程序?求高人指点,找了几个软件都不好使!!…

查看全部问答∨

sprc097.zip

sprc097文件,学TI的dsp的人应该知道的…

查看全部问答∨

谈F28M35的IPC boot

芯片上电后,首先上电运行M3内核中BOOTROM-->FLASH启动跳转到FLASH-->运行程序初始化时钟 SysCtlClockConfigSet-->初始化RAM让相关RAM中的值为0-->进行IPC,让28X内核进行BOOT           & ...…

查看全部问答∨

单片机照明灯智能控制器

程序免费供大家研究,这是一款商品机。所以就别说废话了,。俺的QQ:1239300456…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved