还剩3页未读,继续阅读
文本内容:
文章出处作者De Micheli,G.,Gupta,R.K.,书名(或论文题目)InternationalElectronic Elements出版社(或刊物名称或可获得地址)出版时间(或卷期号)Regents PublishingCompany,Inc所译起止页码200359-61用单片机实现一个数字温度计AT89c2051介绍系统介绍一个应用实例简单的实现一个数字温度计,包括显示和的通信端LCD RS-485口它的实现由生产的处理器,半导体生产的数字温度芯片,Atmel AT89c2051Dallas DS1620一个小的点阵的和的线路界面如图所示,使用这样的方法可以实现一个8X2LCD,RS4851基础的习惯的发展方法的对网络、持久独立的数据采集和控制设备它的优势在于它的低功耗和较小的体积这使得它可以处于任何地方软件
1.AT89C2051介绍是美国公司生产的低电压,高性能的位单片机,片内含有AT89c2051ATMEL CMOS8的可反复写的只读程序存储器和的随机存取数据寄存器,器件采用2K bytes128bytes ATMEL公司的高密度、非易失性存储技术生产,兼容片内置位中央处理器存储单元,MCS-51,8Flash功能强大的单片机可为您提供许多高性价比的应用场合AT89c2051提供一下标准功能字节存储器,字节内部个口,AT89c20512K Flash128RAM,15I/O两个位的定时/计数器,一个向量两级中断结构,一个全双工串行通信口,内置一个精密165比较器,片内振荡器及时钟电路同时,可降至赫兹的静态逻辑操作,并支持两AT89c20510中软件节电工作模式空闲方式停止CPU的工作,但允许RAM,定时7计数器,串行通信口及中断系统继续工作掉电方式保持中的内容,但振荡器停止工作并禁止其他所有部件工RAM作直到下一个硬件复位特点•与产品指令系统完全兼容MCS-51•字节可冲擦写闪速存储器次擦写周期2K1000•到工作电压
2.7V6V•全静态操作:0Hz to24MHz•两级加密程序存储器•字节内部128x8RAM•个可编程口线15I/O两个位定时/计数器16•个中断源6•可编程通道UART•直接驱动的输出端口LED•内置一个模拟比较器•低功耗空闲和掉电模式引脚功能电源电压1VCC地2GND3P10口是一组位双向的提供内部上拉电阻,和内部无上拉电阻,P18I/O,PL2-P
1.7P
1.0PL1主要是考虑它们分别是内部精密比较器的同相输入端和反相输入端,如果需要应在外部接上拉电阻口输出缓冲器可吸收电流并直接驱动当口引脚写入时可作输入端,P120mA LEDPl“1”当引脚用作输入并被外部拉低时,它们将因为内部的上拉电阻而输出电流Pl2PL7口的是带有内部上拉电阻的七个双向口没有引出,它作为一个通用口4P3□P3I/O P
3.6I/O但不可访问,但可作为固定输入片内比较的输出信号,口缓冲器可吸收电流当口P320mA P3写入”时,它们被内部上拉电阻拉高并作为输入端口作输入端时,内内部拉低的P3口将用上拉电阻输出电流复位输入引脚一旦变成两个机器周期以上的高电平,所以的口都将复位到5RST RSTI/O“1”状态,当振荡器正在工作时,持续两个机器周期以上的高电平便可完全复位,每个机器周期为个振荡时钟周期12振荡器反相放大器内部时钟发生器的输入端6XTAL1振荡器方向放大器的输出端7XTAL
22.LED的驱动完全由语言编写并由(来自发展系统)且使用最小储存器LCD CMicro-C Dunfield模式虽然是一个执行规范的基于堆栈的编译器,它包括了一定数量的特殊功能,这Micro-C使的它很容易针对小系统产生可固化的指令其高架招致履行堆栈操作整理成已经上交高度优化的汇编程序为库功能另外补充的说包括大量通过证明的库代码导致特殊的修改作Micro-C为详情出现首先一个驱动模块中很少用到的功能就是执行程序库显示一个空的中止LCD CPutString串只在传给时与一个空的字节相遇在这时输出一个字符给和运用这个PutChar PutCharLCD换行的字符超前指针到下一行的开始只是在呼叫的情况下简单的把指针的地址传给清单功能是清除整个Positioned ClearLcd和返回指针LCD这些功能紧跟着涉及他们关于的实际物理通信,由于在大规模集成电路的和LCD RAM的物理映射之间没有直接的联系,所以需要观察几个分界点的情况当遇到这样的边界点,LCD为了保持邻近的输出指针必须重新配制直到所有显示的数据都传送给这对于矫正功DataWr,能和有意义去处理这些问题,保持逻辑指针堆栈的位置和调用补救措施不管何时发生中断这里有个方法可以实现2•读的状况记录,为了获得指针的地址LCD•只为你涉及到的保存副本不需要浪费一个端口去控制的读或者写,它只工作在只读模式,后面的方法被采用这LCD里所以的记录可变的指针就用于这样的目的指针对于任何数据的读操作被考虑设置优先权如果修正需要,那么一个新的指针地址将被产生和分配并经由给控制寄存CommandWr LCD器紧接着,分割数据成一点一点的,用位来记录的操作和处理实际的物理传送DataWr4LCD使用的扩展预处理程序允许位操作,可直接与的和指令联系这里Micro-C8051SETB CLR清除选择数据寄存器和套紧数据阀门同样处理但是没有解决任DRS LCDDEN CommandWr何指针的纠缠它选择指令寄存器作为它的目的地有设置通过界面高优先权给半位元组DRS实现初始化功能,开始在更多未发展的半元组导向标准直到这时没有设定的被作为InitLed的操作首先的个次序使得传输模式可以设置超过重复这种次序次能够使得指LCD34bit3令将经过验证而不管的运作模式接着,这个实际操作参数使用标准的功能LSI CommandWr传送给对于这个应用的软件可以在的站点或者上下载LCD AtmelBBS数字温度计和是数字温度计和恒温器的换代产品,与一样,提DS1626DS1726DS1620DS1620DS1626供(精度恒温器功能;与不同的是和允许用户通过设置配置±
0.52DS1620DS1626DS1726寄存器的位数值选择、、或位输出分辨率,无需经过繁琐的计算即可实现高分辨率29101112的温度测量是一片引脚的片内建有温度测量并转换为数字值的集成电路,他集温度DS16208传感、温度数据转换与传输、温度控制等功能于一体测温范围精度为
①―55〜+125℃,5℃o该芯片非常容易与单片机连接,实现温度的测控应用,单独做温度控制器使用时,可不用外加其他辅助元件其中及为三线串行通信线;为数据输入输出端当保持RST,CLK/CONV DQDQ RST高电平,对应时钟脉冲的上升沿处,可按位输入各种控制指令及数据,在CLK/CONV DQ时钟脉冲的下降沿处开始按位输出温度值,分个字节输出,最低位()CLK/CONV9B2LSB在最先输出,先输出的1个字节(8B)除以2就是摄氏温度值,后输出的1个字节(仅1B)为温度的符号位,是为正,是为负为低电平时结束通信,保持低电平,1RST CLK/CONV呈现高阻态,但芯片内部在进行温度的测量与数字转换(即温度值的更新),这需要大约DQ的时间1s引脚T为高温临界触发输出端,当所测温度高于高温临界寄存器中设定的温度T时,该HIGH H引脚由低电平变为高电平,而温度低于T H时又回到低电平;How为低温临界触发输出端,其电平变化与T类似;T为高/低温临界组合触发输出端;他们都可作为温度调节器的输出端,HIGH COM直接控制加热或冷却设备内部有一个工作方式寄存器其中为温度数据转换位,为时表示正,在转DS1620DONE换过程中,为1表示已转换完毕;T HF高温标志位,当温度高于或等于高温临界寄存器中的设定值T时,硬件对该位置位,但硬件不能对该位清零;T低温标志位,当温度低于或等于H LF设定值T L时,硬件对该位置位,同样,硬件不能对该位清零;CPUCPU使用位,通过软件对该位清零时,若为低电平,则可由控制温度数据的转换,通过软件对该特RST CLK/CONV定温度转换位,若通过软件对该位置则进行该时刻的温度转换,并等待读取,若该1,DS1620位被置则将不停地进行温度转换0,DS1620主要部件的联合协调支持驱动程序是管理的主要模块这个模块在启动程序结束之后开始在入Micro-C口,指令初始化串行端口,指示开始执行温度转换工作,初始化显示信息并进入DS1620LCD,不断的循环转换这个循环不断的读执行从摄氏到华氏温度的转化,传输二进制结果DS1620为码串,转化结果在上显示出来周期性的把这些指令落下和栓紧并循环的ASCII LCDLED传送温度数据摄氏到华氏温度的转化可以用公式F=C*9/5+
32.从DS1620的精确度在
0.5%的温度值除以不同于汇编程序难以渗透的旋转,语言的陈述可以完美的实现既定的目的和功能2C简短的次序除,取模,或,把最终的结果转化成十进制的码值通过输出端口传送出去ASCIIo o。
个人认证
优秀文档
获得点赞 0