Uso de Control de proceso estadístico para probar el reloj interno Attiny85 (4 / 7 paso)

Paso 4: El lenguaje ensamblador programa

Este es el código para el programa de lenguaje ensamblador, el archivo .hex a continuación es el programa que se carga en el Attiny85:

 ;************************************ ; written by: JRV31 ; date: 2-20-15 ; version: 1.0 ; file saved as: FreqTest.asm ; for AVR: attiny85 ; clock frequency: 8MHz ;************************************ ; Program function: ; ; Test frequency of Attiny85 chips to see if they ; hold the +/- 10% specified in the data sheet. ; ;--------------------------------------- .nolist .include "./tn85def.inc" .list .def temp = r16 .def counter1 = r17 .def counter2 = r18 .def counter3 = r19 .org 0x0000 rjmp Init Init: ldi temp, 0b00000010 out DDRB,temp ; Configure PB1 as output. main: sbi PORTB, 1 ; Set PB1 (Turn on LED in 2 clock cycles) rcall delay cbi PORTB,1 ; Clear PB1 (Turn off LED in 2 clock cycles) rcall delay rjmp main ;=============================================== ; This subroutine is a triple nested delay loop. ; if counter1 = 2, counter2 = 30 and ; counter3 = 32 the delay this blink program ; runs at 504 Hz when the chip is running at 8 MHz. ;=============================================== delay: ldi counter1,2 ldi counter2,30 ldi counter3,32 count: dec counter3 cpi counter3,0 brne count ldi counter3,32 dec counter2 cpi counter2,0 brne count ldi counter2,30 dec counter1 cpi counter1,0 brne count ret 

Y este es el archivo .hex ensamblado que se carga en el Attiny85s:

 :020000020000FC :1000000000C002E007BBC19A03D0C19801D0FBCF6A :1000100012E02EE130E23A953030E9F730E22A95ED :0E0020002030C9F72EE11A951030A9F7089587 :00000001FF 

Este archivo funciona en 504 Hz cuando se ejecuta a una velocidad de reloj de 8 MHz en mi prueba Attiny85 con un oscilador de cristal controlado. Cada chip se desarrollará en esta frecuencia si es controlado por mi cristal. Este es el estándar utilizado para medir la velocidad de los chips. Ejecutando esto en un chip usando el oscilador interno y medición de la diferencia podemos medir la velocidad de la viruta.

Copie este código en un archivo y asígnele el nombre FreqTest.hex.

Abra el IDE de Arduino y defina el tipo de junta "Attiny85 (reloj interno de 8 MHz)", y el cargador de arranque para configurar los fusibles por lo que el chip funciona a 8MHz.

Ahora copia el archivo FreqTest.hex en un Attiny85 con avrdude. AVRDUDE es el programa que utiliza el IDE de Arduino para cargar código así que ya lo tienes instalado.

Utilice este comando para cargar el programa:

 sudo avrdude -b 19200 -c usbtiny -p t85 -v -e -U flash:w:FreqTest.hex 

Medir la frecuencia con el multímetro. El valor medido más de 8.000.000 de 504 veces le dará la velocidad real del chip cuando se ejecuta en el reloj interno a 8 MHz.

Cada pieza fabricada tiene cierta tolerancia. El cristal que utiliza tiene una tolerancia de 30 PPM, así que todavía hay alguna posibilidad de error, pero se reduce al mínimo.

Artículos Relacionados

Control de proceso estadístico para resistencias, parte 2

Control de proceso estadístico para resistencias, parte 2

Hace un tiempo atrás que escribí un instructable donde hice un estudio de la capacidad para saber si mis resistencias banda oro realmente hace +-5% de tolerancia.Encuentra aquí:En ese estudio estaba mirando 560 ohmios +/-5% resistencias.Esta vez esto
Control de proceso estadístico para los condensadores, parte 2

Control de proceso estadístico para los condensadores, parte 2

Bienvenidos a mi segundo estudio de la capacidad para ver si los condensadores cumplir con su tolerancia especificada. Esta vez estoy mirando los condensadores electrolíticos de 10 uf..Se necesita un multímetro digital que puede medir la capacitancia
Control estadístico de procesos para los condensadores, parte 1

Control estadístico de procesos para los condensadores, parte 1

Control de proceso estadístico (SPC) primero fue utilizado en Japón en los años 70 como una forma de medir la calidad.Me interesé en ver cómo componentes electrónicos celebrado las tolerancias anunciadas. En mi primera instructable sobre SPC miré par
Configurar el Arduino Software para Atmega328P con cristal interno en protoboard

Configurar el Arduino Software para Atmega328P con cristal interno en protoboard

una placa Arduino requiere un controlador Atmega328P para estas instrucciones. Tenga en cuenta la "P" al final del nombre. Se puede utilizar un Atmega328 debido a que tiene un número de id de dispositivo ligeramente diferente. Requiere una confi
Plástico para aceite

Plástico para aceite

Uno de los recursos naturales que se decae más rápidamente es aceite. Un combustible fósil que lleva millones de años en condiciones excepcionales para desarrollar bajo estándares normales. Todo el mundo usa 3,570,000,000 galones al día. ¿No me creen
Cómo impermeabilizar una caja de control del detector de metales para el ACE 250 por menos de $10

Cómo impermeabilizar una caja de control del detector de metales para el ACE 250 por menos de $10

Esto es como a prueba de agua los controles de mi detector de metales, que es un ACE 250 de Garrett.Solía hacer carcasas de cámaras subacuáticas como un hobby y desde hace varios años fabricados y vendidos a la 200 de NEMO que tenía un grado de profu
Cómo crear atractivos gráficos estadísticos en R/RStudio

Cómo crear atractivos gráficos estadísticos en R/RStudio

R/RStudio es un potente software estadístico gratuito, de código abierto y un lenguaje de programación que es considerado como un estándar en la comunidad estadística. Además de explorar los datos y realizar análisis, R/RStudio puede crear gráficos u
Mariposas de la bolsa de plástico para camisas de fusión

Mariposas de la bolsa de plástico para camisas de fusión

has siempre quiso condimentar una camiseta simple pero nunca estaba seguro de cómo sin necesidad de experiencia artística previa. Así me enteré de cómo usar bolsas de plástico para agregar un diseño a una camiseta sin dañar la camisa aunque arruinara
Utilizar abrazaderas de plástico para identificar maletas

Utilizar abrazaderas de plástico para identificar maletas

Utilizar abrazaderas de plástico para identificar maletasSiempre en el carrusel de equipaje del aeropuerto tienen esas señales que dicen, "Muchas bolsas de ver tanto – por favor partido su reclamación comprobar números a su equipaje...". Y por r
Arduino controla la tira RGB LED para el salón

Arduino controla la tira RGB LED para el salón

La idea detrás de este pequeño proyecto fue que alguna luz indirecta bastante humor en la sala de estar. Es controlado por el servidor de openHAB (que el proyecto todavía está en la lista que se añade a este sitio) instalado en un Raspberry Pi. Por s
Cómo hacer bricolaje cojines eCymbal de placa de plástico para baterías electrónicas

Cómo hacer bricolaje cojines eCymbal de placa de plástico para baterías electrónicas

¿Lo que necesitamos?Plástico placa, Piezo, papel de lija (y o lo podemos utilizar para revestimiento), pegamento (y cualquier cosa podemos usar para pegar), pintura o cualquier cosa para colorear, soldadura y amigo, taladro (o cualquier cosa que pode
Percha madera y perno rústico para joyería, toallas, capas, etc.

Percha madera y perno rústico para joyería, toallas, capas, etc.

percha madera rústico (para joyas, toallas, abrigos, llaves, etc.) en Techshop.wsSe necesita1. un tablón de madera2. algunas tuercas y pernos de la ferretería (o perillas de puertas)3. pegamento del gorila4. madera de acabado o pintura de la cartilla
Stripboard Arduino shield para programación ATtiny45 y ATtiny85

Stripboard Arduino shield para programación ATtiny45 y ATtiny85

este instructable (entró en el concurso Arduino Challenge - se puede votar por él arriba) muestra cómo hacer un escudo de Arduino de placa perforada para programación de microcontroladores ATtiny45 o ATtiny85 con un Arduino, según estos tutoriales de
Cables de batería de 9 voltios para probar un condensador ventilador

Cables de batería de 9 voltios para probar un condensador ventilador

que necesitaba para probar un condensador ventilador del congelador de una nevera de perfil GE esta fue mi solución.Paso 1: de la fuente Obtener 9 voltios batería y asegúrese de que está en la buena gama en el probador de la batería.Solo cable trenza