打印
[PIC®/AVR®/dsPIC®产品]

Microchip软件 请通过以下实验代码反推实验目的和实验结论

[复制链接]
567|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhaochunqing|  楼主 | 2022-7-21 14:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

Microchip软件/Atmega32 /C语言
通过以下实验代码反推实验目的和实验结论

/*

  • GccApplication5.c
  • Определение состояния входа УСО
  • Created: 21.02.2021 14:51:33
  • Author : zhanjinniuza
  • /

#define F_CPU 8000000UL
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util\delay.h>
#include <stdlib.h>
#include <stdint.h>
#include <stdbool.h>
#include <string.h>

int main(void)
{
DDRB=0b10000000;//порт: 7 разрядов на ввод информации, 1 на вывод.
DDRC=0xFF;//порт на вывод для оценки загрузки процессора


uint8_t cps=0, pps=0;// переменные для работы алгоритма антидребезга

uint8_t pState=0;// для хранения значения порта

unsigned long delayCicle; //переменная для отсчета циклов задержки

while (1)

{

    PORTC=0x00; // для оценки загрузки процессора

    /*  примерное время программной задержки на исполнении пустого цикла

     *  for (delayCicle=0; delayCicle<100; delayCicle++) ;

     *  Количество_циклов_процессора = 34 * delayCicle + 29

     *  при частоте генератора 8 МГц за 1 мкс выполняется 8 циклов процессора

     *  время_задержки = Количество_циклов_процессора / 8

    */

    for (delayCicle=0; delayCicle<33; delayCicle++) ;

    PORTC=0xFF; // для оценки загрузки процессора

   

    cps=PINB & 0b00001000;//обрабатываем только 1 бит порта (по заданию)

    if (cps^pps)

    {   //сюда попадаем, если значение на входе изменилось

        pps=cps;

        continue; //переход на начало цикла

    }

    // сюда попадаем только если значение на входе стабильно

    if (pState!=cps)

        pState=cps;// обновляем значение теущего состояния порта, если изменилось

    if (pState) // выводим результат работы алгоритма в порт B чтобы сохранить в логфайл

        PORTB |= 0b10000000; // алгоритм определил включенное состояние порта

    else

        PORTB &= 0b01111111;// алгоритм определил вЫключенное состояние порта

}


使用特权

评论回复
沙发
lcczg| | 2022-7-29 14:54 | 只看该作者
俄文注释?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

64

主题

71

帖子

0

粉丝