4115|5

80

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

ARM7 简陋的抢答器,帮忙看看,谢谢! [复制链接]

小弟是大二的学生,学校开了ARM的兴趣小组,这是小弟自学的第一个成果,很拙劣,希望高手们能帮帮忙,修改一下,小弟在这谢谢了!
功能:有四个按键和四个灯,还有蜂鸣器,按键和灯是1,2,3,4号对应的,当按了按键后,相应的灯亮,同时蜂鸣器响提示。(小弟刚来,分少了点,但是全部都给了!)

#include "config.h"

const uint32 BEEP = 1 << 7;                        // P0.7控制蜂鸣器
int main (void)
{
        uint32 LED1,i,KEY;
        PINSEL0 = 0x00000000;                        // 所有管脚连接GPIO       
        PINSEL1 = 0x00000000;
        PINSEL2 = PINSEL2&(~0x08);                                                                        
       
        while (1)
        {
                KEY =(0x0F<<16);                  //设置4个按键
                while((~IO0PIN&KEY) == 0);            //等待按键
                while((~IO0PIN&KEY )!=0)                 //如果正在按,进行循环
                {
                        LED1=(~IO0PIN&KEY)<<2        ;//读取按键几,左移两位,18口开始控制灯
                        IO0DIR  = BEEP;                  //蜂鸣器响,提示有人按键
                }                                       
                for(i=0;i<5000;i++);            //延迟
                IO0SET = BEEP;                                        //不响
                                                //等是18口,所以左移两位,算出哪个灯亮
                IO1DIR=LED1;                    //对应的灯亮,
                for(i=0;i<5000;i++);
                IO1SET = LED1;                                  //熄灭灯
                                                               
                         
        }
       
    return 0;
}
此帖出自ARM技术论坛

最新回复

1. ARM的IO口一般都是有复用功能。没有看到你对IO口的初始化,还有需要配置IO口的方向。 2. for(i=0;i   详情 回复 发表于 2008-5-25 13:47
点赞 关注
 

回复
举报

66

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
     楼主好强呀,我也是大二的学生,对嵌入式很感兴趣,但现在却是什么都不会,学校也没有专业的这门课.我在想这门课要用到好多的基础知识,像汇编,接口,操作系统,体系结构,处理器,这些是不是你都学过了呀?
此帖出自ARM技术论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
这个程序要在实际中发现什么问题再改....别人怎么给你改,又不是语法上错误
此帖出自ARM技术论坛
 
 
 

回复

54

帖子

0

TA的资源

一粒金砂(初级)

4
 
这么个东西也要ARM? 51就足以
此帖出自ARM技术论坛
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(中级)

5
 
把arm当单片机用也就适合入门学习.
你这个用arm太浪费了啊.
随便一个8位的单片机加外部中断就可以完成了.
此帖出自ARM技术论坛
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

6
 
1. ARM的IO口一般都是有复用功能。没有看到你对IO口的初始化,还有需要配置IO口的方向。
2. for(i=0;i <5000;i++); 到底是多长?ARM的主频多少?如果是50MHz的,时钟周期是20nS,估计这句话运行200uS左右。不管是BEEP(蜂鸣器)还是LED,都无法表现人能感知的现象。要人能感知,至少要mS级了。
3. 如果发生B按下,进入循环查询,此时A也按下,结果先查询到A。从外部现象无法判断,因为这之间的差别太小,人无法分辨。但是应该从程序上避免。
此帖出自ARM技术论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表