ARM作业

发布 2023-05-19 22:01:28 阅读 9380

程序:file:

功能: 键盘输入。当检测到有按键输入时,对发光二极管进行取反控制。

使用i/o口输入方式对按键进行扫描。

#include ""

#define key1 0x00010000 //p0.16控制led1con

#define key2 0x00004000 //p0.14控制led2con

#define led1con 0x00000400 //p0.10低电平时点亮led1con

#define led2con 0x00000800 //p0.11低电平时点亮led2con

/函数声明。

void __irq irq_eint0(void);

void __irq irq_eint1(void);

int main(void)

//管脚功能选择初始化。

pinsel0 = 0x20000000设置i/o口工作模式,p0.14设置为eint1,其余管脚p0.0-p0.13,p0.15连接gpio

pinsel1 = 0x00000001设置管脚p0.14设置为eint0,p0.17-p0.31连接gpio

iodir = led1con|led2con; /设置p0.10,p0.11 为i/o输出其余管脚为输入。

ioset = led1con|led2con; /led1con led2con 初始化为不亮。

//中断选择初始化化。

vicintenable=0x0000c000中断使能 eint0,eint1

vicintselect=0x00000000中断类型选择设置所有通道为irq中断。

vicvectcntl0=0x2eeint0通道分配到irq slot0,即优先级最高。

vicvectaddr0=(int)irq_eint0; /设置eint0向量地址。

vicvectcntl1=0x2feint1通道分配到irq slot0,即优先级最高。

vicvectaddr1=(int)irq_eint1; /设置eint1向量地。

//外部中断输入初始化化。

extpolar=0x00000000外部中断输入的极性为低电平或下降沿。

extmode=0x000000003外部中断输入的模式为下降沿。

extint =0x00000003清除外部中断标志*/

while(1等待外部按键中断*/

return(0);

名称: irq_eint0()

功能: 外部中断eint0服务函数,取反led1con

void __irq irq_eint0(void)

if((iopin&led1con)==0读取ledcon1状态并取反。

elsewhile((extint&0x01)!=0等待外部中断信号恢复为高电平。

vicvectaddr=0x00向量中断结束*/

名称: irq_eint1()

功能: 外部中断eint1服务函数,取反led2con

void __irq irq_eint1(void)

if((iopin&led2con)==0读取ledcon2状态并取反。

elsewhile((extint&0x02)!=0等待外部中断信号恢复为高电平。

vicvectaddr=0x00向量中断结束*/

电路图:流程图:

外部中断服务程序流程图。

ARM作业

程序 include define key2 0x00004000 p0.14控制led2con define led2con 0x00000800 p0.11低电平时点亮led2con define time0 fpclk 10 初始状态下一周期低电平时间0.1s define time1 fpc...

ARM作业

arm实验。专业年级 10级通信工程 学号。姓名。指导教师 郑汉麟。2013年6月8日。华中科技大学文华学院信息学部。一 编译前工作 1.先新建新空间。2.新建程序窗口new file,程序写完后,将文件保存为文件,然后点击源文件菜单,增加文件,将。s文件打开。3.编译 project settin...

ARM作业

院系 班级 姓名 学号 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了 i o 设备。概括的讲 一块芯片就成了一台计算机。它的体积小 质量轻 便宜 为学习 应用和开发提供了便利条件。同时,学习使用单片...