首页 > 编程知识 正文

c语言进行arm编程设计触摸屏,38译码器quartus代码

时间:2023-05-04 19:44:44 阅读:120564 作者:3618

在实时控制系统中,选择微控制器指标最重要的是计算速度问题。 由于指令周期是反映计算速度的重要指标,本文就三种最具代表性的微控制器(AT89S51单片机、ARM7TDMI核的LPC2114型单片机和TMS320F2812 )的指令周期进行了讨论为了能够观察指令周期,在数字输出端口上设置3种控制器的GPIO端口,在循环中不断进行设定和清除,通过观察GPIO端口的波形变化获得循环整体的周期。 为了使整个循环的周期与具体各指令的指令周期相对应,从c语言源程序中得到汇编语言指令,计算各汇编语言的指令周期。

1 AT89S51工作机理和指令周期的测试

AT89S51单片机时钟采用内部方式,时钟发生器对振荡脉冲进行2分频。 时钟周期是振荡周期的2倍(时钟周期=振荡周期P1振荡周期P2 ),一个机器周期包含6个时钟,因此一个机器周期包含12个石英振动的振荡周期。 假设石英振动的振动频率为11.059(2MHz ),则单片机的机械周期为12/11.059 )2=1.085 ) 1s。 51系列单片机指令周期通常包括1~4个机械周期,大多数指令为单周期指令,有2周期和4周期指令。

为了观察指令周期,对单片机P1端口的最低位进行循环设置操作和清除操作。 源程序包括:

#包含主() )。

wile(1) {

P1=0x01;

P1=0x00;

}

}

用KEIL uVISION2编译、链接,生成可执行文件。 调用此集成环境的Debug可以获得上述源程序混合模式的反汇编代码。

2:main ()

3: {

4:while(1) )。

5:{

6:P1=0x01;

0x000f759001movp1(0x90 )、#0x01

7:P1=0x00;

0x0012 E4CLRA

0x0013f590movp1(0x90 ),a

8:}

0x001580edsjmpmain(c:0003 )。

斜体代码是c源程序,真实代码是对应斜体c源程序的汇编语言代码。 每行汇编代码的第一列是该代码在存储器中的位置,第二列是机器码,然后是编译、链接的汇编语言代码。 所有指令共占用6个机器周期,其中“movp1(0x90 )、#0x01 )”占用2个机器周期,“CLR A”和“movp1 )0x90 )、a”分别占用1个机器周期

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。