搜索
bottom↓
回复: 5

会sourceboost的请帮我把在MPLAB中编写的程序翻译一下

[复制链接]

出0入0汤圆

发表于 2014-4-14 22:09:16 | 显示全部楼层 |阅读模式
void main()
{
        TRISB=0X01; //设置RB口的第一个端口为输入口,其余为输出口
        PORTB=0xff; //RB口开始为高电平
        TRISA=0xff; //设置A口为输入口
        GIE=1; //打开总中断
        INTE=1; //打开外部中断
        r=1; //参数初始化,用这个参数确定alarm亮的时间
        while(1)
        {
               
                                switch(q) //判断是哪个屋开关被触发
                                {
                                        case 1:RB3=0;
                                        break;
                                        case 2:RB4=0;
                                        break;
                                        case 3:RB5=0;
                                        break;
                                        case 4:RB6=0;
                                        break;
                                        case 5:RB7=0;
                                        break;
                                }
        }
void interrupt inter()
{
        if(INTF==1) //外部中断 用在按键上 之所以用中断是因为为了能够反映更快
        {
                INTF=0; //清除中断标志
                if(RA0==0)
                {
                        q=1;
                }
                if(RA1==0)
                {
                        q=2;                       
                }
                if(RA2==0)
                {
                        q=3;                       
                }
                if(RA3==0)
                {
                        q=4;                       
                }
                if(RA4==0)
                {
                        q=5;                       
                }
        }
}

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2014-4-14 22:29:04 | 显示全部楼层
两种不同的IDE吗?

出0入0汤圆

 楼主| 发表于 2014-4-15 07:28:03 | 显示全部楼层
是呀!不知道有没有会的,帮下忙呀!

出0入0汤圆

发表于 2014-4-15 16:11:02 | 显示全部楼层
楼主使用的什么芯片,我帮你移植。。。

出0入0汤圆

发表于 2014-4-15 16:28:49 | 显示全部楼层
void interrupt( void )
{
        if(test_bit( intcon, INTF))
        {
                clear_bit( intcon, INTF );  //clear INTF overflow flag
                if(!test_bit( porta, RA0))
                {
                        q = 1;
                }
                if(!test_bit( porta, RA1))
                {
                        q = 2;
                }
                if(!test_bit( porta, RA2))
                {
                        q = 3;
                }
                if(!test_bit( porta, RA3))
                {
                        q = 4;
                }
                if(!test_bit( porta, RA4))
                {
                        q = 5;
                }
        }       
}

void main()
{
        trisb = 0x01;                //configure port B
        portb = 0xff;
        trisa = 0xff;

        // enable interrupts
        set_bit( intcon, INTE ); //enable INTE overflow bit   
        set_bit( intcon, GIE );

        r = 1;
        while( 1 ) //endless loop
        {
                switch(q)
                {
                        case 1:set_bit( portb, RB3);break;
                        case 2:set_bit( portb, RB4);break;
                        case 3:set_bit( portb, RB5);break;
                        case 4:set_bit( portb, RB6);break;
                        case 5:set_bit( portb, RB7);break;
                        default:break;
                }
        }
}
以上自理解基础上改的,没经过验证;但理论上是没问题的

出0入0汤圆

 楼主| 发表于 2014-4-21 10:56:13 | 显示全部楼层
太谢谢了!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-22 04:07

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表