1T单片机和12T单片机的区别?
不管是1T单片机还是12T单片机都有以下几种周期:
(1)时钟周期 又名 振荡周期: 定义为时钟频率的倒数,可以理解为单片机外界晶振的倒数。在一个时钟周期内,CPU仅完成一个最基本的动作。对于某个单片机来讲,若采用了1MHZ的时钟频率,则时钟周期就是1us;若采用了4MHZ的时钟频率,则时钟周期就是250ns。由于时钟脉冲是CPU的基本工作脉冲,它控制着CPU的工作节奏。对于同一种单片机,时钟频率越高,单片机的工作速度就越快。我们使用的STC89C系列单片机的时钟范围约在1——40MHZ。
(2)状态周期:状态周期是时钟周期的两倍。
(3)机器周期:单片机的基本操作周期,在一个操作周期内,单片机完成一项基本操作,如取指令、存储器读写等。它由12个时钟周期组成。
(4)指令周期:它是指CPU执行一条指令所需要的时间。一般一个指令周期含有1——4个机器周期。
标准51单片机是12T的,就是说12个时钟周期(晶振周期,例如12M的,周期是1/12M,单位秒),机器做一个指令周期,刚好就是1/12M*12=1uS,常见指令例如_nop_就是一个周期,刚好1uS,其他的大多多于一个周期,乘除法更多。所以如果计算指令时间可以这样算。
单片机的晶振不是随便选,要看技术手册,看最高频率,看支持类型等等。一般12M,接串口的话11.0592M。如果是PIC,很多4M,8M。
不是越高越好,对很多不需要大量处理,只是控制的情况,为了增加可靠性,降低编程难度,降低功耗,往往可选用低频的,例如实时时钟的32768晶振。
故 计算nT单片机的指令周期公式为:
T = 1/晶振周期*n
例如: 使用12M晶振的1T单片机的指令周期为: T = 1 / 12 * 1 = 1 / 12 us。
单片机实例分享,温度记忆杯垫
“记忆杯垫”是我利用身边的材料制作的,杯垫材料是一张光盘,导热材料是硬币,用502胶水和加厚双面胶粘合,制作起来十分简单。
这个作品的设计初衷是源自个人的生活经验,希望和我有着一样烦恼的“技术宅”们会喜欢这个设计。笔者作为“职业码农”,常常遇到这样的困扰:早上冲好的咖啡,放着放着就凉了;同事胃不好,需要喝温水,可一忙就忘记了……想必每个人都有这样的经历,这次的设计,就是给大家解决这一问题——可以及时提醒人们饮用热饮。喜欢喝热饮的朋友,以后不必再因为冷却的热饮而苦皱眉头了!
功能描述
“记忆杯垫”能实现以下功能:当我们把装有温度较高液体的杯子放到杯垫上时,杯垫上安装的温度传感器开始测量杯子的底部温度,只要杯子不是隔热材料的,那么杯子的表层温度就会和里面的液体温度成正比,当杯子内的液体降到了适合人的饮用习惯时,此时按下“记忆键”,杯垫就将永久记录下此时的杯子底层温度;当使用者再次将装有热饮的杯子放在杯垫上时,液体在降温过程中,只要杯子的底层温度与之前记忆的温度接近,杯垫就可以根据设计者的要求提示主人饮用,比如通过闪烁灯提示或者通过音乐提示。
工作原理
这次设计的核心就是围绕温度传感器DS18B20和单片机EEPROM的应用。
DS18B20采集温度,单片机负责数据的处理,当有温度需要记录时,单片机将待记录温度存储到单片机EEPROM中;当EEPROM中有了温度记录后,单片机将采集到的数据与EEPROM中数据随时进行比较,当数据接近时,就会做出相应输出,开启提示功能。
当下次冲好了一杯咖啡,就可以把杯子放到杯垫上面了,温度传感器会将采集到的温度T值与EEPROM里的数值A做比较,当A-1 < T < A+1 时,杯垫侧面的8个发光二极管就会闪烁,以此来提示主人喝咖啡或水。
温度的差值也可以根据设计者的需要自行改变,比如在比较寒冷的地区,T与A的差值可以通过改变程序来实现。笔者在南方,实际测试的时候发现T与A的值在±1之间就可以了。
记忆键在向单片机记录温度数据的时候,也会擦除之前的数据,这样一个按钮就可以完成需要的操作。
国产的STC单片机大多数都自带了一定大小的EEPROM,这就给设计者带来了极大的方便。为了让电路更加简洁,这次选用的是STC11F04E的1T单片机,其具备4KB的程序存储空间和1KB的EEPROM空间,20引脚的封装设计大大减小了PCB面积。图15.1为电路原理图,制作说明见图15.2、图15.3。
图15.1 电路原理图
图15.2
图15.2 光盘中间的圆孔用来放置温度传感器,上面用金属片导热材料固定,并涂上硅脂,增加导热效果,因为大多数杯子底部是凹进去的,也可以用硬币这种有一定厚度的材料导热。
图15.3
图15.3 杯垫的背面,用双面胶(电工固定线盒那种)粘住电池盒、电路板、流水灯,温度传感器已经粘在电路板下面了
程序设计
这里要作出说明的是,大多数DS18B20程序代码都是为12T单片机设计的,而1T单片机指令速度要比12T单片机快很多,这就导致了通常的DS18B20程序不能直接拿来调用。笔者根据STC的官方资料,通过计算指令外加逻辑分析仪测试的方式,得出的结论是,11系列的1T单片机指令要比12T单片机快6.5倍左右,根据这个数据来修改原始DS18B20程序的延时程序和EEPROM程序,就能保证系统的稳定性。
STC绝大多数芯片都集成了EEPROM,不同型号的擦写程序也是大同小异,使用起来十分方便,无需额外EEPROM的IC,更不需要IC通信程序。因为是内部集成的,程序代码简单,很好理解,节约了设计成本的同时,也给应用者节约了程序设计时间。
STC的官方资料很明确地给出了EEPROM的原始程序,笔者根据自己的理解,为使程序更加简洁,对官方程序作了一些改动,应用了C语言的宏定义,自己也做了对应的库文件,方便实用。本程序是在Keil环境下编译的,使用时要添加我自己写的basic.h、STC11Fxx_IAP.h文件,同时要下载官方的单片机库文件,这样方可保证程序的正确编译。
■ 本制作的相关源文件可以到qq群657864614进行下载。
■介绍一个与众不同的淘宝店铺:首页-数码达人小二-淘宝网,不信你试试?
相关问答
1T和 12T单片机 的区别?标准51是12T的,就是说12个时钟周期(晶振周期,例如12M的,周期是1/12M,单位秒),机器做一个指令周期,刚好就是1/12M*12=1uS,常见指令例如nop就是一个周期,...所...
你好,定时器设置为TMOD=0x01;TH0=0; TL0=0;怎么解释?定时器工作原理:从TH和TL里的值开始向上计数直到溢出触发中断,在晶振12M,12T单片机的情况下,时钟周期为1MHz,执行一次加计数用1us,这样,从0记到两个寄存器...
大家说说 单片机 串口中断是为什么?-ZOL问答单片机串口主要是用于接收或者发送的。想明白这个,先说一下中断这个概念,举个例子,比如你今天工作需要一直编写程序,可是到中午的时候你肚子饿了,就需要吃饭...
51 单片机 串行口波特率计算方法?51单片机的串口有多种工作模式,每种模式都有各自的波特率计算公式,限于篇幅的关系,咱们以最常用的模式1在1T时钟下的波特率计算公式为例:波特率=单片机主频/...
【STC12C5A16AD与89C51 单片机 对比具有的优势.在使用于酒精浓...[最佳回答]STC12C5A16AD单片机是51系列单片机,比普通51单片机多了一些功能如AD转换功能,作测量系统时可以不用再扩展AD转换芯片,PWM功能...
帮个忙在座的童鞋!请推荐!!北京寿命长的定时器批发价格,...[回答]51单片机不同厂家生产的不同产品是不同的,比如AT89C51是12T的,STC89C52是12T也可以通过设置工作在6T,STC12C5A60S2是1T的但是它默认情况下会对时钟...
帮个忙大佬们 帮忙答一下,青岛非标转轮除湿机的生产周期,...[回答]stc15f2k60s2这个单片机性能算是比较强悍的了,这个需要看你使用1T模式还是12T模式了。12T模式指一个机器周期=12个时钟周期1T模式指的是一个机器周...
哪位看官!有谁知道在线等:松北区正规的养老所,养老所什么...[回答]对书上这句话的理解应该是,中断服务程序中,在保护现场时,应尽量避免被高优先级的中断所中断,而并不是说这时候单片机不能响应高优先级的中断。所谓...
海尔自动洗衣机和海尔热水器大概多少钱式的通过热电偶、铂电阻等温度传感装置,把温度信号变换成电信号,通过单片机、PLC等电路控制继电器使得加热(或制冷)设备工作(或停止)。还有水银温度计型的,温度...
海尔热水器80升多少钱_一起装修网海尔JSQ32-A3(12T)¥2849海尔JSQ32-A3¥2298海尔JSQ32-M2(12T)¥8399以上价格来源于网络,仅供参考,具体价格以购买时为准7海尔热水器60升大概要多少钱...