您的位置 首页 国产IC

单片机的一些开发实用技巧

很多朋友正在学习单片机开发技术,但开发中免不了要碰到这样、那样的问题,有些问题可能无碍大局,但有一些问题却直接影响到产品的成本

  许多朋友正在学习单片机开发技能,但开发中免不了要碰到这样、那样的问题,有些问题或许无碍全局,但有一些问题却直接影响到产品的本钱、体积、功能。这儿介绍笔者的几个技巧,期望对咱们的作业有协助。
  一.C言语中嵌入汇编言语
  单片机开发中,一般咱们运用C言语编写主程序,这样能够充沛凭借C言语东西供给的运算库函数及强壮的数据处理才能。但C言语的可控性不及汇编言语,在有些对时序要求严厉的处理上,咱们还需用灵活性更强的汇编言语来编写。上海AVR单片机培训这样就产生了C言语和汇编言语混合编程的问题,一般分红三种办法:1.汇编言语调用C言语函数;2. C言语调用汇编言语;3. C言语中嵌入汇编言语。这儿咱们首要介绍第3种,即C言语中嵌入汇编言语。
  下面的一段程序是主程序调用准确的205μS延时子程序并使P1.0替换输出高、低电平的方波。
  /*————程序名test.c————*/
  #include P 晶振频率12.000MHz<>
  /****************/
  void delay(void)//延时205μS
  {
  #pragma asm
  MOV R0,#100
  LOOP:
  DJNZ R0,LOOP
  #pragma endasm
  }
  /***************/
  void main (void)//主函数,其功能使P1.0替换输出高、低电平的方波
  {
  while(1)
  {P1_0=!P1_0;
  delay();}
  }
  详细完成进程为:
  1.先用汇编言语编制一段延时程序,在keil开发环境中编译,然后进行软件仿真,晶振频率的设置应和你的要求相符。仿真时留意调查左面寄存器窗口内的时刻显现,调整延时程序的参数可得到咱们需求的准确延时。
  2.用C51编写主程序及延时子程序的外壳(等候嵌入汇编言语),假定此程序名称为test.c。
  3.将第1步所得的汇编延时子程序放入C51编写的延时子程序外壳中。留意在开端及结束时别离加上#pragma asm、#pragma endasm句子,这种办法是经过asm与endasm告知C51编译器,中心行不必编译为汇编行。
  4.依照Keil的运用办法,树立工程文件并增加源程序。
  5.点击含有汇编程序的C源程序后再右击,在弹出的下拉菜单中选中Options for File ‘test.c’(图1),这时呈现图2所示的界面,勾选Generate Assembler SRC File(生成汇编SRC文件)及Assembler SRC File(封装汇编文件)使其有用。
  6. 依据项目的编译形式加载封装库文件,一般在Small形式时为C51S.LIB(该文件在C:KeilC51LibC51S.LIB),详细见图3。
  7.点击Rebuild target(重建一切方针文件)即可得到编译成果(图4)。

  

  图1

  

  图2

  

  图3

  

  图4

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/ic/254826.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部