历史上的今天

今天是:2024年10月25日(星期五)

正在发生

2019年10月25日 | AVR328 PWM转PPM源程序

发布者:DataExplorer 来源: 51hei关键字:AVR328  PWM转PPM  触发中断 手机看文章 扫描二维码
随时随地手机看文章

#define ppm_in_pin   2
#define ppm_pulseIn  4
unsigned  int RC_count = 0;
unsigned  int PPM_HIGH = 0;
void RC_in() {
  RC_count++;
}
void setup()
{

  DDRB = DDRB | 0X1F ;
  DDRD = DDRD | 0XE0 ;
  Serial.begin(57600);
  pinMode(ppm_in_pin, INPUT_PULLUP);
  pinMode(ppm_pulseIn, INPUT);
  attachInterrupt(0, RC_in, RISING); //上升沿触发中断
}
void  RC_valout() {
  switch ( RC_count ) {
    //第一通道
    case 0:  {
        PORTD = PORTD & 0X1F; //PD后三位清零
        PORTD = PORTD | 0X20;//PD5输出高电平
        PORTB = PORTB & 0XE0; //PB前五位清零
      }; break;
    //第二通道PD6
    case 1: {
        PORTD = PORTD & 0X1F; //PD后三位清零
        PORTD = PORTD | 0X40; //PD6输出高电平
        PORTB = PORTB & 0XE0; //PB前五位清零
      }; break;
    //第三通道PD7
    case 2: {
        PORTD = PORTD & 0X1F; //PD后三位清零
        PORTD = PORTD | 0X80; //PD7输出高电平
        PORTB = PORTB & 0XE0; //PB前五位清零
      }; break;
    //第四通道PB0
    case 3:  {
        PORTD = PORTD & 0X1F; //PD后三位清零
        PORTB = PORTB & 0XE0; //PB前五位清零
        PORTB = PORTB | 0X01; //PB0输出高电平
      }; break;
    //第五通道PB1
    case 4:  {
        PORTB = PORTB & 0XE0; //PB前五位清零
        PORTB = PORTB | 0X02; //PB1输出高电平
      }; break;
    //第六通道PB2
    case 5: {
        PORTB = PORTB & 0XE0; //PB前五位清零
        PORTB = PORTB | 0X04; //PB2输出高电平
      }; break;
    //第七通道PB3
    case 6: {
        PORTB = PORTB & 0XE0; //PB前五位清零
        PORTB = PORTB | 0X08; //PB3输出高电平
      }; break;
    //第八通道PB4
    case 7:  {
        PORTB = PORTB & 0XE0; //PB前五位清零
        PORTB = PORTB | 0X10; //PB4输出高电平
      }; break;
    case 8:  {
        PORTB = PORTB & 0XE0; //PB前五位清零
         PORTD = PORTD & 0X1F; //PD后三位清零
      }; break;
  }
}
void loop()
{
  PPM_HIGH = pulseIn(ppm_pulseIn, HIGH);
  if (PPM_HIGH > 3000) {
    RC_count = 0;
  }
  RC_valout();

}

关键字:AVR328  PWM转PPM  触发中断 引用地址:AVR328 PWM转PPM源程序

上一篇:Atmega128A被我锁死,又救活了
下一篇:ATmega16的lcd12864显示程序及proteus仿真工程文件

推荐阅读

在科幻电影当中经常可以看到许多智能家居的影子,比如说《澳门风云2》当中讲着一口四川话、潮州话的机器人“傻强”;《钢铁侠》中托尼·斯塔克经常显摆的全语音控制智能家居;还有大家都很熟悉的《多啦A梦》,那个神奇的百宝袋,不就是未来智能家居的一个小幻想吗?  其实,在现实生活当中,智能家居的发展已势不可挡。  有市场研究报告预计,到2020年...
作为物流行业最具影响力的年度盛会,CeMAT ASIA 2019第20届亚洲国际物流技术与运输系统展览会正在火热进行中。来自整个物流行业的AGV企业、AGV零部件供应商、系统集成商纷纷亮相展会现场,都在展示自己的最新产品及无人仓储、智能物流解决方案。与众不同的是,仙知机器人独树一帜地将移动机器人最强大脑SRC核心控制器和与SRC相适配的各类移动机器人零部...
PS5 即将全面上市,但目前 PS5 只有白色外壳的版本供消费者购买。好在索尼之前确认 PS5 外壳可以轻松地拆开,这也意味着外壳可以替换。日前有第三方正式推出了 PS5 的自定义外壳,已经可以预订。商家 PlateStation5 当前提供五种不同颜色的自定义面板,每套售价 39.99 美元,约 266 元。配有完整的后壳和前壳,这些面板适用于 PlayStation ...
在uCOS-II,或者是任何一个可剥夺型OS系统中,中断嵌套是一个必须要解决的问题。从结论上来说,并不是所有的CPU都支持中断嵌套的,即便是ARM系列内核。对于ARM7系列,例如LPC2xxx系列芯片,硬件上是不支持中断嵌套的,而对于新的CortexM3系列,中断嵌套是可配置的,但是中断嵌套时保存现场的操作并不完整,并没有把R0~R15所有寄存器都保存到堆栈中,而是只...

史海拾趣

问答坊 | AI 解惑

差分放大电路

lamxu 差分放大电路 Home Edit page Log inHelp Welcome!What you see below is a wiki, which is a special kind of website YOU can edit!Take a tour to see what you can do, or get a wiki yourself! 机顶盒音频输 ...…

查看全部问答∨

展讯PCB Layout教程

展讯PCB Layout教程…

查看全部问答∨

arm9 ldr r13,=0x1000

  我用的是飞凌的 ok2440 ,哎 菜鸟一只         AREA |DATA|,CODE,READONLY         ENTRY         ldr r13,=0x1000         IMPORT LedMain ...…

查看全部问答∨

在wince下实现远程拨号,不用RAS接口,可以实现么?

在wince下实现远程拨号,不用RAS接口,可以实现么? 就是说,有没有windows API可以实现远程拨号(不用RAS接口函数)?…

查看全部问答∨

一些51单片机小工具

avr代码生成器 字模工具 数码管数据 单片机小精灵 综合工具版  …

查看全部问答∨

stm32f103c8t6usb端点1无法发送数据

从3.01 版本cunstom hid例子修改成bulk传输,pc驱动用libusb-win32,将ADC数据通过USB上传到PC,能正常枚举,装驱动,但是PC在发送BULK IN 后,设备端无反应。以下为USB部分设置:SetEPType(ENDP1, EP_BULK);SetEPTxA ...…

查看全部问答∨

ccs3.3 setup时imput OMAPL138_tixds560.ccs问题

按照和众达提供的手册一步步安装的,到配置时imput这个OMAPL138_tixds560.ccs文件总是没反应,并导致setup关闭,求大家帮忙啊。急急急!!!!…

查看全部问答∨

求助:如何用C++程序给vxworks发送命令和接收响应?

请各位大侠帮忙,要写个C++程序向vxworks下发命令,查询任务执行,并返回结果给C++程序。如何实现?最好能有代码,谢谢!!!…

查看全部问答∨

晒WEBENCH设计的过程+低通滤波器设计方案

之前了解WEBENCH设计针对是电源的设计,现在看了看功能强大了许多,现在就用该工具设计一个低通滤波器电路,电路图如下:通过图形很容易的看到频响的曲线等,电阻和电容的BOM清单也有具体的型号,很方便,省去了设计中找物料信号的麻烦!…

查看全部问答∨

瑞萨单片机 supper H系列仿真器引脚ASEBRKAK/ASEBRK加上拉电阻,上电后为何低电平

如题:瑞萨单片机 supper H系列仿真器引脚ASEBRKAK/ASEBRK加上拉电阻,上电后为何低电平? 是我碰到一个瑞萨板子的现象,在芯片未烧写程序的情况下,仿真器加有上拉电阻的引脚竟然出现低电平,请问是不是瑞萨单片机在使用仿真器前还需要用串口烧写 ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved