⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 第四章 keil c51高级编程.htm

📁 本文档详细介绍了怎样使用keil软件开发单片机程序
💻 HTM
📖 第 1 页 / 共 5 页
字号:
                      vAlign=top width=262>
                        <P class=MsoNormal 
                        style="TEXT-ALIGN: center; tab-stops: 63.0pt" 
                        align=center><SPAN 
                        style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">双字节由<SPAN 
                        lang=EN-US>R6和R7返回,MSB在R6<O:P></O:P></SPAN></SPAN></P></TD></TR>
                    <TR>
                      <TD 
                      style="BORDER-RIGHT: windowtext 0.75pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 117pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 0.75pt solid; mso-border-top-alt: solid windowtext .75pt" 
                      vAlign=top width=156>
                        <P class=MsoNormal 
                        style="TEXT-ALIGN: center; tab-stops: 63.0pt" 
                        align=center><SPAN lang=EN-US 
                        style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">long&amp;unsigned 
                        long <O:P></O:P></SPAN></P></TD>
                      <TD 
                      style="BORDER-RIGHT: windowtext 0.75pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 79.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 0.75pt solid; mso-border-left-alt: solid windowtext .75pt; mso-border-top-alt: solid windowtext .75pt" 
                      vAlign=top width=106>
                        <P class=MsoNormal 
                        style="TEXT-ALIGN: center; tab-stops: 63.0pt" 
                        align=center><SPAN lang=EN-US 
                        style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">R4~R7<O:P></O:P></SPAN></P></TD>
                      <TD 
                      style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 196.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 0.75pt solid; mso-border-left-alt: solid windowtext .75pt; mso-border-top-alt: solid windowtext .75pt" 
                      vAlign=top width=262>
                        <P class=MsoNormal 
                        style="TEXT-ALIGN: center; tab-stops: 63.0pt" 
                        align=center><SPAN lang=EN-US 
                        style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">MSB在R4,<SPAN 
                        style="mso-spacerun: yes">&nbsp; 
                        </SPAN>LSB在R7<O:P></O:P></SPAN></P></TD></TR>
                    <TR>
                      <TD 
                      style="BORDER-RIGHT: windowtext 0.75pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 117pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 0.75pt solid; mso-border-top-alt: solid windowtext .75pt" 
                      vAlign=top width=156>
                        <P class=MsoNormal 
                        style="TEXT-ALIGN: center; tab-stops: 63.0pt" 
                        align=center><SPAN lang=EN-US 
                        style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">float<O:P></O:P></SPAN></P></TD>
                      <TD 
                      style="BORDER-RIGHT: windowtext 0.75pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 79.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 0.75pt solid; mso-border-left-alt: solid windowtext .75pt; mso-border-top-alt: solid windowtext .75pt" 
                      vAlign=top width=106>
                        <P class=MsoNormal 
                        style="TEXT-ALIGN: center; tab-stops: 63.0pt" 
                        align=center><SPAN lang=EN-US 
                        style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">R4~R7<O:P></O:P></SPAN></P></TD>
                      <TD 
                      style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 196.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 0.75pt solid; mso-border-left-alt: solid windowtext .75pt; mso-border-top-alt: solid windowtext .75pt" 
                      vAlign=top width=262>
                        <P class=MsoNormal 
                        style="TEXT-ALIGN: center; tab-stops: 63.0pt" 
                        align=center><SPAN lang=EN-US 
                        style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">32Bit 
                        IEEE格式</SPAN><SPAN lang=EN-US 
                        style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'"><O:P></O:P></SPAN></P></TD></TR>
                    <TR>
                      <TD 
                      style="BORDER-RIGHT: windowtext 0.75pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 117pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; mso-border-top-alt: solid windowtext .75pt" 
                      vAlign=top width=156>
                        <P class=MsoNormal 
                        style="TEXT-ALIGN: center; tab-stops: 63.0pt" 
                        align=center><SPAN 
                        style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">一般指针</SPAN><SPAN 
                        lang=EN-US 
                        style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'"><O:P></O:P></SPAN></P></TD>
                      <TD 
                      style="BORDER-RIGHT: windowtext 0.75pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 79.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; mso-border-left-alt: solid windowtext .75pt; mso-border-top-alt: solid windowtext .75pt" 
                      vAlign=top width=106>
                        <P class=MsoNormal 
                        style="TEXT-ALIGN: center; tab-stops: 63.0pt" 
                        align=center><SPAN lang=EN-US 
                        style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">R1~R3<O:P></O:P></SPAN></P></TD>
                      <TD 
                      style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 196.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; mso-border-left-alt: solid windowtext .75pt; mso-border-top-alt: solid windowtext .75pt" 
                      vAlign=top width=262>
                        <P class=MsoNormal 
                        style="TEXT-ALIGN: center; tab-stops: 63.0pt" 
                        align=center><SPAN 
                        style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">存储类型在<SPAN 
                        lang=EN-US>R3 高位R2 
                    低R1<O:P></O:P></SPAN></SPAN></P></TD></TR></TBODY></TABLE>
                  <P class=MsoNormal 
                  style="TEXT-INDENT: 24pt; TEXT-ALIGN: left; tab-stops: 63.0pt" 
                  align=left><SPAN lang=EN-US 
                  style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">(4) SRC控制</SPAN><SPAN 
                  lang=EN-US 
                  style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'"><O:P></O:P></SPAN></P>
                  <P class=MsoNormal 
                  style="TEXT-INDENT: 24pt; TEXT-ALIGN: left; tab-stops: 63.0pt" 
                  align=left><SPAN 
                  style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">该控制指令将<SPAN 
                  lang=EN-US>C文件编译生成汇编文件(.SRC),该汇编文件可改名后,生成汇编.ASM文件,再用A51进行编译。</SPAN></SPAN><SPAN 
                  lang=EN-US 
                  style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'"><O:P></O:P></SPAN></P>
                  <H2 style="MARGIN-LEFT: 0cm; TEXT-INDENT: 0cm"><A 
                  name=_Toc475103190><SPAN lang=EN-US 
                  style="FONT-SIZE: 16pt">第三节 </SPAN><SPAN lang=EN-US>Keil 
                  C51软件包中的通用文件</SPAN></A></H2>
                  <P class=MsoBodyTextFirstIndent>在<SPAN 
                  lang=EN-US>C51\LiB目录下有几个C源文件,这几个C源文件有非常重要的作用,对它们稍事修改,就可以用在自己的专用系统中。</SPAN></P>
                  <H3 style="MARGIN-LEFT: 0cm; TEXT-INDENT: 0cm"><A 
                  name=_Toc475103191><SPAN lang=EN-US style="FONT-SIZE: 15pt">1. 
                  </SPAN>动态内存分配</A></H3>
                  <P class=MsoNormal 
                  style="MARGIN-LEFT: 90pt; TEXT-INDENT: -66pt; TEXT-ALIGN: left; tab-stops: 63.0pt" 
                  align=left><SPAN lang=EN-US 
                  style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">init_mem.C:此文件是初始化动态内存区的程序源代码。它可以指定动态内存的位置及大小,只有使用了init_mem( 
                  )才可以调回其它函数,诸如malloc calloc,realloc等。</SPAN><SPAN lang=EN-US 
                  style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'"><O:P></O:P></SPAN></P>
                  <P class=MsoNormal 
                  style="MARGIN-LEFT: 90pt; TEXT-INDENT: -66pt; TEXT-ALIGN: left; tab-stops: 63.0pt" 
                  align=left><SPAN lang=EN-US 
                  style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">calloc.c:此文件是给数组分配内存的源代码,它可以指定单位数据类型及该单元数目。</SPAN><SPAN 
                  lang=EN-US 
                  style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'"><O:P></O:P></SPAN></P>
                  <P class=MsoNormal 
                  style="MARGIN-LEFT: 90pt; TEXT-INDENT: -66pt; TEXT-ALIGN: left; tab-stops: 63.0pt" 
                  align=left><SPAN lang=EN-US 
                  style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">malloc.c:此文件是malloc的源代码,分配一段固定大小的内存。</SPAN><SPAN 
                  lang=EN-US 
                  style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'"><O:P></O:P></SPAN></P>
                  <P class=MsoNormal 
                  style="MARGIN-LEFT: 90pt; TEXT-INDENT: -66pt; TEXT-ALIGN: left; tab-stops: 63.0pt" 
                  align=left><SPAN lang=EN-US 
                  style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">realloc.c:此文件是realloc.c源代码,其功能是调整当前分配动态内存的大小。</SPAN><SPAN 
                  lang=EN-US 
                  style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'"><O:P></O:P></SPAN></P>
                  <H3 style="MARGIN-LEFT: 0cm; TEXT-INDENT: 0cm"><A 
                  name=_Toc475103192><SPAN lang=EN-US style="FONT-SIZE: 15pt">2. 
                  </SPAN><SPAN lang=EN-US>C51启动文件STARTUP.A51</SPAN></A></H3>
                  <P class=MsoBodyTextFirstIndent>启动文件<SPAN 
                  lang=EN-US>STARTUP.A51中包含目标板启动代码,可在每个project中加入这个文件,只要复位,则该文件立即执行,其功能包括:</SPAN></P>
                  <P class=MsoNormal 
                  style="MARGIN-LEFT: 45pt; TEXT-INDENT: -21pt; TEXT-ALIGN: left; tab-stops: list 45.0pt left 63.0pt; mso-list: l36 level1 lfo10" 
                  align=left><SPAN lang=EN-US 
                  style="FONT-SIZE: 12pt; FONT-FAMILY: Wingdings">l<SPAN 
                  style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                  </SPAN></SPAN><SPAN 
                  style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">定义内部<SPAN 
                  lang=EN-US>RAM大小、外部RAM大小、可重入堆栈位置</SPAN></SPAN><SPAN lang=EN-US 
                  style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'"><O:P></O:P></SPAN></P>
                  <P class=MsoNormal 
                  style="MARGIN-LEFT: 45pt; TEXT-INDENT: -21pt; TEXT-ALIGN: left; tab-stops: list 45.0pt left 63.0pt; mso-list: l36 level1 lfo10" 
                  align=left><SPAN lang=EN-US 
                  style="FONT-SIZE: 12pt; FONT-FAMILY: Wingdings">l<SPAN 
                  style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                  </SPAN></SPAN><SPAN 
                  style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">清除内部、外部或者以此页为单元的外部存储器</SPAN><SPAN 
                  lang=EN-US 
                  style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'"><O:P></O:P></SPAN></P>
                  <P class=MsoNormal 
                  style="MARGIN-LEFT: 45pt; TEXT-INDENT: -21pt; TEXT-ALIGN: left; tab-stops: list 45.0pt left 63.0pt; mso-list: l36 level1 lfo10" 
                  align=left><SPAN lang=EN-US 
                  style="FONT-SIZE: 12pt; FONT-FAMILY: Wingdings">l<SPAN 
                  style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                  </SPAN></SPAN><SPAN 
                  style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">按存储模式初使化重入堆栈及堆栈指针</SPAN><SPAN 
                  lang=EN-US 
                  style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'"><O:P></O:P></SPAN></P>
                  <P class=MsoNormal 
                  style="MARGIN-LEFT: 45pt; TEXT-INDENT: -21pt; TEXT-ALIGN: left; tab-stops: list 45.0pt left 63.0pt; mso-list: l36 level1 lfo10" 
                  align=left><SPAN lang=EN-US 
                  style="FONT-SIZE: 12pt; FONT-FAMILY: Wingdings">l<SPAN 
                  style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                  </SPAN></SPAN><SPAN 
                  style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">初始化<SPAN 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -