简易数字温度计制作(不用单片机)
#includesclk = 0; //终止I2 C总线手表信号}/** **************************************************************************************** ****************************************************************************************** 检查(void){uchari; sclk = 0; SDA = 1 ; //数据线向上捕获信号。
(解锁数据线)SCLK = 1 ; 主机松开脉冲并等待信号。
返回(i); // i回复信号标志}}} //将来使用I./ghyde****************************************************************************************************************************************** *************************************************************** //响应信号{sclk = 0; SDA = 0; //数据线保持较低,时钟线在高转换1 中发送响应信号; 延迟(1 ); sclk = 0;}/******************************* ****************************************************************************************** ****************************************************************************************** uChartemp1 ,i; temp1 = addr; sclk = 0; 公共汽车是空的(i = 0; i <8 ; i ++)。
{if(((temp1 &0x8 0)== 0)//从高点提取数据,逐渐从位提出字节,而bus sda = 1 ; 烧毁的总线数据延迟(2 ); sclk = 0; //总线1 -位传输已经完成,总线为空=温度。
1 << 1 ; //左循环输出} temp5 = 信号}/******************************************************* ***************************************************************** ***************************************************************** ***************************************************************** ***************************************************************** ***************************************************************** ***************************************************************** ***************************************************************** ***************************************************************** ***************************************************************** ***************************************************************** ***************************************************************** ***************************************************************** ***************************************************************** ***************************************************************** ***************************************************************** ************************* dong uchartemp1 ,temp2 ,temp1 = addr; 高位的数据逐渐提出了从高位到低位的字节位,然后将其发送到BUS.SDA = 0; elsda = 1 ; sclk = 1 ; 延迟(2 ); sclk = 0; temp1 = temp1 << 1 ;} temp5 = upcheck(); //检测响应信号SCLK = 0; = 1 ; //时钟跳低以接收1 位数据延迟(SDA == 1 )temp2 = temp2 | 0x01 ; //变量temp2 sclk = 0; // BUS空} senducheck(); //返回非反应信号(temp2 ); //收到的信息} voidread1 (Ucharaddr,Ucharcc,Uchar*chn) //////////////////////////////////////////////////// /////////////// 4 life //////////////////////////////////////////////////// /////////////// 4 life //////////////////////////////////////////////////// /////////////// 4 life ///////////////////////////////////////////////////////////////////////////// i = 0; 我<8 ; i ++){if(((temp1 &0x8 0)== 0); //////////////////// 经过 temp1
//接收数据{jp1 =! jp1 ; / / jp1 = 1 } i = d1 3 07 [2 ]&0x0f; //如果(jp1 == 0){disp_save [1 ] = bcd_tab [i]&0xfe; // points} else {disp_save [1 ] = bcd_tab [i]; CD代码转换disp_save [0] = bcd_tab [i]; //单个数字在时间= D1 3 07 [1 ]&0x0f中显示; // bc d代码转换显示[3 ] = bcd_tab [i]; disp_save [2 ] = bcd_tab [i]; 展示}/************************************************** ********************************************************** ********************************************************** ********************************************************** ********************************************************** ********************************************************** ********************************************************** ********************************************************** ********************************************************** ********************************************************** ********************************************************** ********************************************************** ********************************************************** ********************************************************** ********************************************************** ************************************************************************************** /uintmcp3 2 04 _read(ucharlx)//广告转换{uchari = 0,j = 0; uchartemp1 = 0,temp2 = 0; uinttemp3 = 0; CS = 1 ; clk = 0; 延迟(5 ); CS = 0; } else {dout = 0;} clk = 0; 延迟(5 ); clk = 1 ; j = j << 1 ;}} clk = 0; 延迟(5 ); clk = 1 ; 延迟(5 ); clk = 0; for(i = 0; i <4 ; i ++){temp1 = temp1 << 1 ; clk = 1 ; 延迟(5 ); clk = 0; 如果(din ==){temp1 = temp1 | 0x01 ; 1 ; 延迟(5 ); clk = 0; if(din == 1 ){temp2 = temp2 | 0x01 ;}} cs = 1 ; temp3 = temp3 =(temp3 << 8 )| ************************************************************************************** 程序{if(key_pin == 0){delay(3 0); // dejiui f(key_pin == 0){ cotot =!! **************************************************************/voidwrite_1 6 4 (ucharlx)//控制 显示数字管{uChari,j = lx; i = 0; i <8 ; i ++) if((J&0x01 )== 0x01 )// j的最后位是1 {dtat_1 6 4 = 1 ; //} else {dtat_1 6 4 = 0; //}延迟(3 ); clk_1 6 4 = 1 ; {uchari,j; for(i = 0; i <2 0; i ++)//大约1 秒是{e(j = 0; j <5 ; j <5 ; j+jump {p0 = 0x0f; //数字管关闭write_1 6 4 (disp_save [j]); //数字管显示P0 = p0 = LED_TAB [J]; (cotot == 0)//请勿按下面的键{exer = mcp3 2 04 _read(0xc0)(template> teo)// TEO为0 {teo = = = = = = =teo; ]; //数字管显示显示1 0位LOP =(TEO%1 000)/1 00; lop获得1 00 disp_save [1 ] = bcd_tab [lop]。
//数字管是单个数字lop =(teo%1 00)/1 0; // lop 1 0 disp_save [2 ] = bcd_tab [lop]&0xfe 1 0; ave [3 ] = bcd_tab [lop]; //数字管显示数千个}} elseif(wemper <2 6 6 0)//如果温度为0,则{teo = 0; teo = 0; lop = teo/1 000; disp_save [0] = bcd_tab [lop]; //数字管为0LOP =(TEO%1 000)/1 00; disp_save [1 ] = bcdab [lop _; d_tab [lop]&0xf e; //数字管显示0并添加点lop = teo%1 0 disp_save [3 ] = bcd_tab [lop]; //数字管显示0}。
(TEO> 3 00)//温度为3 0°{fmq = 1 ; //警报} else {fmq = 0; 在worl_1 3 07 _disp(); //实时阅读} disp_all(); //显示时间或温度}}}
我的这个三位数码管上只有11个引脚,型号CL-A3633SR,它的引脚图是什么样的?
这种三位数的数字管模型是Cl-A3 6 3 3 SR和1 1 个引脚,其中8 个用于显示数字。其他3 个引脚是通用端子,用于连接LED的正或负电极以达到电流流量。
特定的引脚图如下:在引脚图中,数字管的8 线被标记为a至g和dp(十进制点)。
其中,a至g对应于数字管的七个段和一个小数点小点段。
这八个引脚可以以不同的组合显示不同的数字。
其他三端分别标记为BN和CN,用于连接LED的正或负电极。
数字管的工作原理是通过控制这8 个特征纺锤体的水平来显示不同的数字。
例如,要显示数字“ 0”,您必须调整六行Pins a,b,d,e,f和g up,而C和DP则很低。
这样,可以执行数字管显示功能。
公共结局方法取决于特定的应用程序方案。
通常,通用端子可以连接到电源的正电极或负电极以提供电流。
有关特定连接方法,请参阅产品手册或相关电路设计信息。
该数字管具有良好的显示效果和高可靠性,可在各种电子设备中广泛使用。
对于初学者来说,了解其吐痰图及其操作非常重要。
KD3631三位数码管线路图
KD3 6 3 1 Trinity Digital Tube具有一般正面和一般负类型,但PIN是相同的。它配备了一个1 1 针包装,一列中有5 条腿,没有6 腿。
因此,查看包装图,没有引脚6 内部结构和引脚如下图所示。
求三位共阴数码管引脚图
三位数监视数字管引脚配置如下:常规引脚包括1 2 、9 、8 (6 ),这是一个空的脚。分腿为1 1 、7 、4 、2 、1 、1 0、5 、3 这些销钉适合不同的神庙,并专门分配为:a,b,c,d,e,f,g,dp(十进制点)。
这有助于控制数字管显示的状态。
在设计电路时,重要的是要了解此引脚配置。
正常的脚1 2 、9 、8 (6 )主要用于控制数字管的正常末端,而段1 1 、7 、4 、2 、1 、1 0、5 、3 均与每个数字管的片段一致。
A,B,C,D,E,F,G代表数字管的各个段,而DP用于显示小数点。
此销钉的正确配置可确保数字管按预期显示信息。
例如,以常规的数字阴极为例,其内部结构通常包括8 段发射二极管二极管和一个常见阴极。
每个段都由自由销控制,公共阴极由常规引脚控制。
显示数字或字符时,通过控制不同的高或低级别的PIN以在数字管上显示所需信息,可以点亮相应的段。
请记住,数字管显示的效果取决于正确的引脚配置和级别控制。
例如,要显示数字1 ,您可以在保持高段引脚的同时控制销钉A和f low。
对于正常的负数字管,低水平的平均光,高水平表示未照亮。
正确配置PIN,此级别允许对数字管的精确控制。
在实际应用中,可以通过控制此PIN编程来实现动态显示效果。
例如,可以使用计时器或中断来定期更改PIN级别以实现闪烁或滚动显示效果。
此外,可以通过矩阵扫描技术来控制多位数的数字管以进一步开发显示功能。
简而言之,对普通女性数字管的适当理解和配置对于获得准确的显示控制很重要。
此销钉的正确配置可确保数字管按预期显示信息,从而达到信息显示要求的复杂显示。