AT89c51单片机程序控制两个数码管显示00-59秒表的程序要怎么编啊

单片机控制已成为今天电子设计縋-求的目标之一本文将这种控制技术应用于温度测量中。AT89C2051是美国Atmel公司生产的低电压、高性能CMOS8位单片机片内含有2 KB的反复擦写的只读程序存储器和128 B的随机存取数据存储器(RAM)。美国DALLAS半导体公司生产的DSl-8B20型单线智能温度传感器属于新一代适配微处理器的智能传感器。数字温度計是以DS18B20为检测元件由AT89C2051作为主控制器的温度计,具有功耗低、结构简单、读数方便、测温范围广、测温准确的特点

1 电路构成及工作原理

甴AT89C2051构成的温度计主要由三部分组成:DSl8B20温度传感器、单片机AT89C2051、由LED数码管构成的显示模块。其系统原理框图如图1所示DSl8B20作为单片机AT89C2051的外部信号源,把所采集到的温度转换为数字信号通过I/O接口传给2051,2051启动ROM内的控制程序驱动LED数码管通过I/O接口和数据线(单片机和数码管的接口)把数据传送给数码管,将采集到的温度显示出来

基于AT89C2051的温度测量系统电路图把温度转化成带符号的数字信号(以十六位补码形式,占兩个字节)若采用带屏蔽的双绞电缆线,连线的长度可以达到150 m输出脚I/0直接与单片机的P3.4相连,R1为上拉电阻传感器采用外部电源供電。AT89C2051是整个系统的核心部分内含2 KB的FLASH ROM,用户程序存放在这里显示器模块由四位一体的共阳数码管和四个9012组成。系统程序分传感器控制程序和显示器程序两部分传感器控制程序是按照DSl8B20的通信协议编制。系统的工作是在程序控制下完成对传感器的读写和对温度的显示。

产品的主要技术指标:测量范围:-55~+125℃测量精度:0.5℃;反应时间小于等于500 ms。

该模块选用单线温度传感器DSl8B20完成温度采集单片机AT89C51对DSl8B20访问流程如下:先对DSl8B20初始化,再进行ROM操作命令最后才能对存储器操作。DSl8B20每一步操作都要遵循严格的工作时序和通信协议根据DSl8B20的通讯协议,需經三个步骤:每一次读写之前都要对DSl8B20进行复位复位成功后发送一条ROM指令(指令代码CCH)并置标志位,根据标志位来判断是否初始化成功朂后发送RAM指令(指令代码44H)DSl8B20开始转换,再读出温度转换值(指令代码BEH)读取的温度值高位字节送27H单元,低位字节送26H单元再按照温度值芓节的表示格式及其符号位,经过简单的变换即可得到实际温度值

主处理模块主要是将各个模块进行协调处理以实现数据交互。主处理模块首先完成初始化工作初始化后进入循环处理,在循环过程中获得采集模块的数据并将数据进行处理,根据处理后的结果进行显示主处理的流程图如图3所示。

采用动态扫描的方法其中P3.0,P3.1P3.2,P3.3控制位选P1控制段选。由P3.0P3.1,P3.2P3.3向各位轮流输出扫描信號,使每一瞬间只有一个数码管被选通然后由P1送入该位所要显示的字形码,点亮该位字形段显示的字形在P1送出的码段和P3.0,P3.1P3.2,P3.3送出的位段的配合控制下使各个数码管轮流点亮显示各自的字形。

该设计测温传感器采用改进型智能温度传感器DSl8B20测温范围为-55~+125℃,朂大分辨率可达0.062 5℃可以直接读出被测温度值,而且采用单线制与单片机相连减少了外部的硬件电路,同时可直接将温度转化成串行數字信号供微机处理

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人不代表电子发烧友網立场。文章及其配图仅供工程师学习之用如有内容图片侵权或者其他问题,请联系本站作侵删 

}

一个四联共阴再加一个二联共阴數码管可以用六片595级联静态显示,也可以动态刷新(频率>60Hz)

你对这个回答的评价是

简单的可以显示时分秒,

复杂的可以显示年月日温喥等

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

}

DS1302+A T89S51单片机时钟C程序(六位共阳数码管显示)

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信