基于51单片机的DS18B20程序(数码管显示)
DS1 8 B2 0是由达拉斯产生的单线数字温度传感器,其紧凑型包装为-9 2 ,测量范围从-5 5 °C到+1 2 5 °C。它可以编程以实现A/D转换的精度从9 到1 2 位,分辨率测量值可以达到0.06 2 5 ℃,输出齿轮温度的数据为 1 6 位数字数字。
测量温度DS1 8 B2 0的过程需要三个步骤:初始化,使用ROM的说明以及用于使用内存的说明。
首先,启动DS1 8 B2 0以开始温度转换,然后读取转换的结果。
该实验程序使用转换的1 2 位准确性,高字节的高读数温度存储在WDMSB块中,并且低字节存储在WDLSB单元中。
为了简化编程,该系统使用7 4 LS4 7 来解码数字管道设备。
P0.4 至P0.6 连接7 4 LS1 3 8 ,用于3 8 个解码和输出与JP8 数字管的端口控制端口。
系统定时显示子程序采用循环扫描方法。
显示的数据存储在显示缓冲区中,从4 0小时到4 7 小时。
每1 0毫秒一次中断T1 计时器,更新显示缓冲区,以确保数字管显示正确的温度值。
在主要程序中,温度读取过程包括诸如初始化,发送温度转换,等待转换的完成以及阅读温度的数据等步骤。
温度数据转换的准确性为0.06 ℃。
该程序将温度值转换为实际温度显示,读取有关温度DS1 8 B2 0的数据。
DS1 8 B2 0温度程序的流量如下:首先清洁外部中断的包含,发送放电信号,错过ROM比较,发送温度转换,等待读数,发送读数温度并将其保存到WDMSB和WDMSB和WDLSB单元和WDLSB。
在温度转化程序中,读取温度数据被转换为实际温度值。
具体的步骤包括将温度数据分离为高和低供应,执行乘法和除法操作并获得实际温度值。
字节发送程序通过8 个周期发送一个数据字节。
字节程序通过8 循环读取一个数据字节。
排放计划发送了排放冲动,并期望答案。
该程序会更新显示缓冲区,并循环扫描显示缓冲区,以确保在数字管道中正确显示温度值。
整个系统可以准确测量并显示与温度测量值相对应的温度值范围为0至1 2 5 °C。
单片机数码管如何显示数字?
从电路图中,数字管必须是常见的阳极。因此,对于具有七个部分的代码的代码,低级位位于Race LED上。
绝对代码:p2 = 0xff; p0 = s_code [1 ]; .1 = 0delay_ms(); p2 = 0xff; p0 = s_code [3 ]; ;
面向单片机编程(三)- 数码管显示
本文讨论了数字微控制器的管屏幕技术,以实现直观的数字屏幕。数字管屏幕技术通过控制IO微控制器来实现数字屏幕的可持续和不变效果来快速刷新屏幕。
数字管屏幕功能包括动态屏幕和静态屏幕。
动态屏幕控制微控制器以快速刷新,因此多位数字的数字管同时表现出数字。
静态屏幕可以通过并行物理或串联连接独立显示每个数字管。
数字管由8 个LED组成,分别由A,B,C,E,F,G,PD代表,并通过检查IO电位来点燃不同的LED。
一个数字管由8 个LED组成,通常的阴极管连接到通常的末端的功率土壤,该末端直接向高水平,通常的阳极相反。
多数字数字管通过选择高速扫描位来同时实现屏幕的同时效果。
连接电路时,端口A,B,C,D,E,F,G,一数字管的DP分别连接到微控制器P00〜P07 ,并且通常的端子连接到功率土壤。
在编程方面,基于电路连接,计算了与每个数字相对应的十六进制位代码,并实现了0-9 的顺序屏幕。
本文详细介绍了数字管屏幕的基本知识,包括屏幕原理,电路连接和编程。
示例代码显示了如何实现数字管的数字显示。
基于理解比特码计算,可以进一步探索更多的数字管道应用程序。
接下来,我们将探索更复杂的数字管屏幕效果,并挑战更高的编程技能。
数码管1~9显示数字4
在我的博客中进行反应:http://sincos.in/?p=2 0数字管实际上由八个光方向二极管组成,因此,如果在数字管上显示了一个特定的数字,则仅放置了照明二极管。智力。
最好关闭不应该明亮的东西。
请参阅电路图以实现此目标。
5 1 HEI开发委员会位于我的专辑中。
电路图如下: 首先,此图中最清楚的是,在D07 中的D00和D00中的D00和D00中的D00共享D00。
它对应于输出Y1 和X1 ,D07 对应于输出Y8 和X8 闩锁,您可以知道该名称的目的! 该功能更改了一些PIN输入,并且输出保留在先前的状态中,并实现了锁定和存储的效果(当前的理解如下:如果您不了解,则可以在线搜索官方描述)。
查看如何使用7 4 HC5 7 3 ,表如下: 图中的引脚1 表示输出激活,引脚1 1 表示闩锁激活。
在闩锁的情况下,将闩锁打开,将输出激活引脚放置在低水平,闩锁激活引脚激活高度水平,通过该D,并激活销钉以保持输出。
。
使用过程是打开锁定,传输数据并保持锁定。
在谈论闩锁之后,返回第一个电路图的闩锁的引脚1 自然较低,因此它对应于微控制器的D2 6 和D2 7 ,因此它控制U1 和U2 2 针! 从逻辑上讲,八个数字管应该具有8 *8 = 6 4 台电线,第一张图片只有2 4 个引脚,所以我不知道我不能使用内部电路。
幸运的是,5 1 HEI提供了相对完整的信息。
两个LED管的内部电路如下。
第一张图片。
1 2 、9 、8 和6 对应于x1 、2 中的x8 ,一组为x4 ,其他组为x4 〜x8 ,x1 〜x4 是一个常见的阴极,而x5 中的x8 是一个常见的阳极。
该实验仅允许DIG1 数字管配备了普通阴极,并允许它们关闭其他所有。
只要1 2 (x1 )引脚进入低水平并输入9 8 6 高级别,另一个数字就不会打开。
计算后,在DIG1 中具有小数点的表显示如下:#includeTeFunSignedCharuInt8 ; TypedeFunSignedIntuint1 6 ; sbitd2 4 = p2 ^4 ; sbitd2 5 = p2 ^5 ; sbitu1 = p2 ^6 ; // u1 闩锁sbitu2 = p2 ^7 ; // u2 闩锁sbitlinx1 = p0^0; sbitliny5 = p0^4 ; sbitliny6 = p0^5 ; uint8 table [1 1 ] = {0x3 f,0x3 0,0x5 b,0x4 f,0x6 6 ,0x6 d,0x7 d,0x07 ,0x7 f,0x6 f,0x8 0}; ounter = 0; uint8 offset = 0; th0 = 0x3 c; TL0 = 0xB0; tr0 = 1 ; tmod = 0x01 ; // 01 模式u2 = 1 ; p0 = 0xfe; U2 = 0; p0 = 0xff; d2 4 = 0; // 8 x8 点矩阵ledd2 5 = 0; 而(1 ){if(tf0 == 1 )//当您达到5 0ms时,计时器0的溢出位将被删除。
重置。
{ku nter ++; TF0 = 0; th0 = 0x3 c; // 1 2 MHz晶体振荡器的计算为1 5 5 3 6 年,而十六进制系统为0x3 CB0TL0 = 0xB0; //高位置使用0x3 c,低位置为0xB0。
(counter == 2 0) / / 2 0*5 0ms = 1 000ms = 1 s {coun
急求51单片机数码管显示程序
我希望下一个可以帮助您: /*实验的目的:1 掌握键盘扫描和十 /十六进制转换的原理*2 :键盘上有1 6 个键,从0到F。按相应的键将在数字管道上显示相应的数字,其中K0至K1 5 连接到4 *4 */; ***** *** ******************************************************************************************* *************************************************************; |||; p3 4 p3 5 p3 4 p3 7 ; ************************************************************************************************************ ************************************************************************************************************************************************ movdptr,#tab; ; 汇总Ajmpkey; ajmpkey步骤; 保持列值。
K3 :movp3 ,R2 ; 将R2 发送到P3 端口L6 :JBP3 .0,L1 ; P3 .0等于1 切换到l1 mova,#00h; 将第一行线的值发送到accajmplk; 发送00H accajmplk行的值; 发送密钥处理程序L1 :JBP3 .1 ,L2 ; 处理L2 :JBP3 .2 ,L3 ; P1 .2 是1 跳,#08 H; ajmplk; 将列值添加到apushacc之后; 未释放,钥匙返回到POPACC的检测; 添加mova,r2 ; 。
#0FH; 8 *fa*2 = 4 0msmovr5 ,#08 Hl7 :movr6 ,#0fahl8 :djnzr6 ,l8 djnzr5 ,l7 retab:db0c0h; 0DB0F9 H; 1 db0a4 h; 2 DB0B0H; 3 DB09 H; 4 DB09 2 H; ; 8 DB09 0H; 9 DB08 8 H; ADB08 3 H; BDB0C6 H; CDB0A1 H; DDB08 6 H; EDB08 EH; Fend我同意3 | 评论(2 )