<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>纪小年 &#187; 常用知识</title>
	<atom:link href="http://xnian.com/category/common-knowledge/feed" rel="self" type="application/rss+xml" />
	<link>http://xnian.com</link>
	<description>人生的意义在于奉献</description>
	<lastBuildDate>Sun, 04 Apr 2010 03:32:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>74LS164级联控制5个数码管静态显示</title>
		<link>http://xnian.com/2010/03/1896.html</link>
		<comments>http://xnian.com/2010/03/1896.html#comments</comments>
		<pubDate>Sat, 27 Mar 2010 03:47:10 +0000</pubDate>
		<dc:creator>纪小年</dc:creator>
				<category><![CDATA[单片机]]></category>
		<category><![CDATA[74LS164]]></category>
		<category><![CDATA[级联]]></category>

		<guid isPermaLink="false">http://xnian.com/?p=1896</guid>
		<description><![CDATA[74LS164级联控制5个数码管静态显示 仿真图： 源程序： #include &#60;reg52.h&#62; #include &#34;MacroAndConst.h&#34; uint8 LEDBuffer[5]={0};&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //显示缓冲区 //code uint8 tab[]={0x3F,0&#215;06,0x5B,0x4F,0&#215;66,0x6D,0x7D,0&#215;07,0x7F,0x6F,0&#215;40};&#160;&#160;&#160; //共阴极 code uint8 tab[]={0xC0,0xF9,0xA4,0xB0,0&#215;99,0&#215;92,0&#215;82,0xF8,0&#215;80,0&#215;90,0xbf};&#160;&#160;&#160; //共阳极 sbit LED_DAT=P1^6; sbit LED_CLKE=P1^5; void bit_dat(bit i)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //向数码管写一个位 { &#160;&#160;&#160; LED_CLKE=0; &#160;&#160;&#160; LED_DAT=i; &#160;&#160;&#160; LED_CLKE=1; } void uint_dat(uint8 i)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //向数码管写一个字母,8位 { &#160;&#160;&#160; LED_CLKE=0; &#160;&#160;&#160; bit_dat((bit)(tab[i]&#38;0&#215;80)); &#160;&#160;&#160; bit_dat((bit)(tab[i]&#38;0&#215;40)); &#160;&#160;&#160; bit_dat((bit)(tab[i]&#38;0&#215;20)); &#160;&#160;&#160; bit_dat((bit)(tab[i]&#38;0&#215;10)); &#160;&#160;&#160; bit_dat((bit)(tab[i]&#38;0&#215;08)); &#160;&#160;&#160; bit_dat((bit)(tab[i]&#38;0&#215;04)); &#160;&#160;&#160; bit_dat((bit)(tab[i]&#38;0&#215;02)); [...]]]></description>
			<content:encoded><![CDATA[<p>74LS164级联控制5个数码管静态显示<br />
仿真图：<br />
<div id="attachment_1895" class="wp-caption aligncenter" style="width: 645px"><img src="http://xnian.com/wp-content/uploads/2010/03/11111.jpg" alt="74LS164级联控制5个数码管静态显示" title="11111" width="635" height="468" class="size-full wp-image-1895" /><p class="wp-caption-text">74LS164级联控制5个数码管静态显示</p></div><br />
源程序：</p>
<div class="source" style="font-family: 'Lucida Console', 'Courier New', Verdana; color: rgb(192, 192, 192); background-color: #121315; ">  <span style="color: rgb(255, 255, 255); ">#include &lt;reg52.h&gt;</span><br /> <span style="color: rgb(255, 255, 255); ">#include &quot;MacroAndConst.h&quot;</span></p>
<p> <span style="color: rgb(192, 192, 192); ">uint8</span> <span style="color: rgb(192, 192, 192); ">LEDBuffer</span><span style="color: rgb(192, 192, 192); ">[</span><span style="color: rgb(192, 192, 192); ">5</span><span style="color: rgb(192, 192, 192); ">]</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">{</span><span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">};</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">//显示缓冲区</span></p>
<p> <span style="color: rgb(105, 105, 105); ">//code uint8 tab[]={0x3F,0&#215;06,0x5B,0x4F,0&#215;66,0x6D,0x7D,0&#215;07,0x7F,0x6F,0&#215;40};&nbsp;&nbsp;&nbsp; //共阴极</span><br /> <span style="color: rgb(192, 192, 192); ">code</span> <span style="color: rgb(192, 192, 192); ">uint8</span> <span style="color: rgb(192, 192, 192); ">tab</span><span style="color: rgb(192, 192, 192); ">[]</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">{</span><span style="color: rgb(192, 192, 192); ">0xC0</span><span style="color: rgb(192, 192, 192); ">,</span><span style="color: rgb(192, 192, 192); ">0xF9</span><span style="color: rgb(192, 192, 192); ">,</span><span style="color: rgb(192, 192, 192); ">0xA4</span><span style="color: rgb(192, 192, 192); ">,</span><span style="color: rgb(192, 192, 192); ">0xB0</span><span style="color: rgb(192, 192, 192); ">,</span><span style="color: rgb(192, 192, 192); ">0&#215;99</span><span style="color: rgb(192, 192, 192); ">,</span><span style="color: rgb(192, 192, 192); ">0&#215;92</span><span style="color: rgb(192, 192, 192); ">,</span><span style="color: rgb(192, 192, 192); ">0&#215;82</span><span style="color: rgb(192, 192, 192); ">,</span><span style="color: rgb(192, 192, 192); ">0xF8</span><span style="color: rgb(192, 192, 192); ">,</span><span style="color: rgb(192, 192, 192); ">0&#215;80</span><span style="color: rgb(192, 192, 192); ">,</span><span style="color: rgb(192, 192, 192); ">0&#215;90</span><span style="color: rgb(192, 192, 192); ">,</span><span style="color: rgb(192, 192, 192); ">0xbf</span><span style="color: rgb(192, 192, 192); ">};</span>&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">//共阳极</span></p>
<p> <span style="color: rgb(192, 192, 192); ">sbit</span> <span style="color: rgb(192, 192, 192); ">LED_DAT</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">P1</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">6</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span> <span style="color: rgb(192, 192, 192); ">LED_CLKE</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">P1</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">5</span>;</p>
<p> <span style="color: rgb(255, 255, 255); ">void</span> <span style="color: rgb(0, 255, 0); ">bit_dat</span>(<span style="color: rgb(192, 192, 192); ">bit</span> <span style="color: rgb(192, 192, 192); ">i</span>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">//向数码管写一个位</span><br /> <span style="color: rgb(192, 192, 192); ">{</span><br /> &nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">LED_CLKE</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span>;<br /> &nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">LED_DAT</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">i</span>;<br /> &nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">LED_CLKE</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">1</span>;<br /> <span style="color: rgb(192, 192, 192); ">}</span></p>
<p> <span style="color: rgb(255, 255, 255); ">void</span> <span style="color: rgb(0, 255, 0); ">uint_dat</span>(<span style="color: rgb(192, 192, 192); ">uint8</span> <span style="color: rgb(192, 192, 192); ">i</span>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">//向数码管写一个字母,8位</span><br /> <span style="color: rgb(192, 192, 192); ">{</span> <br /> &nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">LED_CLKE</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span>;<br /> &nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">bit_dat</span>((<span style="color: rgb(192, 192, 192); ">bit</span>)(<span style="color: rgb(192, 192, 192); ">tab</span><span style="color: rgb(192, 192, 192); ">[</span><span style="color: rgb(192, 192, 192); ">i</span><span style="color: rgb(192, 192, 192); ">]</span><span style="color: rgb(192, 192, 192); ">&amp;</span><span style="color: rgb(192, 192, 192); ">0&#215;80</span>));<br /> &nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">bit_dat</span>((<span style="color: rgb(192, 192, 192); ">bit</span>)(<span style="color: rgb(192, 192, 192); ">tab</span><span style="color: rgb(192, 192, 192); ">[</span><span style="color: rgb(192, 192, 192); ">i</span><span style="color: rgb(192, 192, 192); ">]</span><span style="color: rgb(192, 192, 192); ">&amp;</span><span style="color: rgb(192, 192, 192); ">0&#215;40</span>));<br /> &nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">bit_dat</span>((<span style="color: rgb(192, 192, 192); ">bit</span>)(<span style="color: rgb(192, 192, 192); ">tab</span><span style="color: rgb(192, 192, 192); ">[</span><span style="color: rgb(192, 192, 192); ">i</span><span style="color: rgb(192, 192, 192); ">]</span><span style="color: rgb(192, 192, 192); ">&amp;</span><span style="color: rgb(192, 192, 192); ">0&#215;20</span>));<br /> &nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">bit_dat</span>((<span style="color: rgb(192, 192, 192); ">bit</span>)(<span style="color: rgb(192, 192, 192); ">tab</span><span style="color: rgb(192, 192, 192); ">[</span><span style="color: rgb(192, 192, 192); ">i</span><span style="color: rgb(192, 192, 192); ">]</span><span style="color: rgb(192, 192, 192); ">&amp;</span><span style="color: rgb(192, 192, 192); ">0&#215;10</span>));<br /> &nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">bit_dat</span>((<span style="color: rgb(192, 192, 192); ">bit</span>)(<span style="color: rgb(192, 192, 192); ">tab</span><span style="color: rgb(192, 192, 192); ">[</span><span style="color: rgb(192, 192, 192); ">i</span><span style="color: rgb(192, 192, 192); ">]</span><span style="color: rgb(192, 192, 192); ">&amp;</span><span style="color: rgb(192, 192, 192); ">0&#215;08</span>));<br /> &nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">bit_dat</span>((<span style="color: rgb(192, 192, 192); ">bit</span>)(<span style="color: rgb(192, 192, 192); ">tab</span><span style="color: rgb(192, 192, 192); ">[</span><span style="color: rgb(192, 192, 192); ">i</span><span style="color: rgb(192, 192, 192); ">]</span><span style="color: rgb(192, 192, 192); ">&amp;</span><span style="color: rgb(192, 192, 192); ">0&#215;04</span>));<br /> &nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">bit_dat</span>((<span style="color: rgb(192, 192, 192); ">bit</span>)(<span style="color: rgb(192, 192, 192); ">tab</span><span style="color: rgb(192, 192, 192); ">[</span><span style="color: rgb(192, 192, 192); ">i</span><span style="color: rgb(192, 192, 192); ">]</span><span style="color: rgb(192, 192, 192); ">&amp;</span><span style="color: rgb(192, 192, 192); ">0&#215;02</span>));<br /> &nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">bit_dat</span>((<span style="color: rgb(192, 192, 192); ">bit</span>)(<span style="color: rgb(192, 192, 192); ">tab</span><span style="color: rgb(192, 192, 192); ">[</span><span style="color: rgb(192, 192, 192); ">i</span><span style="color: rgb(192, 192, 192); ">]</span><span style="color: rgb(192, 192, 192); ">&amp;</span><span style="color: rgb(192, 192, 192); ">0&#215;01</span>));<br /> &nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">LED_CLKE</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span>;<br /> <span style="color: rgb(192, 192, 192); ">}</span><br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br /> <span style="color: rgb(255, 255, 255); ">void</span> <span style="color: rgb(0, 255, 0); ">uchar_dat</span>()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">//把缓存区的5个字符输入到5个数码管中</span><br /> <span style="color: rgb(192, 192, 192); ">{</span><br /> &nbsp;&nbsp;&nbsp; <span style="color: rgb(255, 255, 255); ">int</span> <span style="color: rgb(192, 192, 192); ">j</span>;<br /> &nbsp;&nbsp;&nbsp; <span style="color: rgb(0, 255, 0); font-weight: bold; ">for</span>(<span style="color: rgb(192, 192, 192); ">j</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span>;<span style="color: rgb(192, 192, 192); ">j</span><span style="color: rgb(192, 192, 192); ">&lt;</span><span style="color: rgb(192, 192, 192); ">5</span>;<span style="color: rgb(192, 192, 192); ">j</span><span style="color: rgb(192, 192, 192); ">++</span>)<br /> &nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">{</span><br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">uint_dat</span>(<span style="color: rgb(192, 192, 192); ">LEDBuffer</span><span style="color: rgb(192, 192, 192); ">[</span><span style="color: rgb(192, 192, 192); ">j</span><span style="color: rgb(192, 192, 192); ">]);</span><br /> &nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">}</span></p>
<p> <span style="color: rgb(192, 192, 192); ">}</span></p>
<p> <span style="color: rgb(255, 255, 255); ">void</span> <span style="color: rgb(0, 255, 0); ">main</span>()<br /> <span style="color: rgb(192, 192, 192); ">{</span><br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(255, 255, 255); ">int</span> <span style="color: rgb(192, 192, 192); ">i</span>;<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0, 255, 0); font-weight: bold; ">for</span>(<span style="color: rgb(192, 192, 192); ">i</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span>;<span style="color: rgb(192, 192, 192); ">i</span><span style="color: rgb(192, 192, 192); ">&lt;</span><span style="color: rgb(192, 192, 192); ">5</span>;<span style="color: rgb(192, 192, 192); ">i</span><span style="color: rgb(192, 192, 192); ">++</span>)<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">{</span><br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">LEDBuffer</span><span style="color: rgb(192, 192, 192); ">[</span><span style="color: rgb(192, 192, 192); ">i</span><span style="color: rgb(192, 192, 192); ">]</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">i</span>;<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">}</span><br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">uchar_dat</span>();<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0, 255, 0); font-weight: bold; ">while</span>(<span style="color: rgb(192, 192, 192); ">1</span>);<br /> <span style="color: rgb(192, 192, 192); ">}</span></div>
]]></content:encoded>
			<wfw:commentRss>http://xnian.com/2010/03/1896.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>STC12C2052AD的KEIL头文件&#124;STC12C2052AD.H</title>
		<link>http://xnian.com/2010/03/1889.html</link>
		<comments>http://xnian.com/2010/03/1889.html#comments</comments>
		<pubDate>Sat, 27 Mar 2010 02:17:21 +0000</pubDate>
		<dc:creator>纪小年</dc:creator>
				<category><![CDATA[单片机]]></category>
		<category><![CDATA[STC]]></category>
		<category><![CDATA[头文件]]></category>

		<guid isPermaLink="false">http://xnian.com/?p=1889</guid>
		<description><![CDATA[/* stc12c2052AD 头文件。 晓奇原作为tasking c51，winter修改为Keil C /*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; Byte Registers &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*/ sfr SP&#160; =0&#215;81; sfr DPL =0&#215;82; sfr DPH =0&#215;83; sfr PCON=0&#215;87; sfr TCON=0&#215;88; sfr TMOD=0&#215;89; sfr TL0 =0x8A; sfr TL1 =0x8B; sfr TH0 =0x8C; sfr TH1 =0x8D; sfr SCON=0&#215;98; sfr SBUF=0&#215;99; sfr IE&#160; =0xA8; sfr IPH =0XB7;&#160;&#160;&#160;&#160;&#160;&#160;&#160; /* 中断优先级扩展寄存器，用于定义扩展中断源的优先级&#160;&#160;&#160; */ /* &#160;&#160;&#160; IPH^7空 &#160;&#160;&#160; IPH^6(PPCA_LVDH)&#8230; [...]]]></description>
			<content:encoded><![CDATA[<div class="source" style="font-family: 'Lucida Console', 'Courier New', Verdana; color: rgb(192, 192, 192); background-color: #121315); "> <span style="color: rgb(105, 105, 105); ">/*</span><br /> <span style="color: rgb(105, 105, 105); ">stc12c2052AD 头文件。</span><br /> <span style="color: rgb(105, 105, 105); ">晓奇原作为tasking c51，winter修改为Keil C</span><br /> <span style="color: rgb(105, 105, 105); ">/*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span><br /> <span style="color: rgb(105, 105, 105); ">Byte Registers</span><br /> <span style="color: rgb(105, 105, 105); ">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*/</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> SP&nbsp; <span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0&#215;81</span>;<br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">DPL</span> <span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0&#215;82</span>;<br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">DPH</span> <span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0&#215;83</span>;<br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">PCON</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0&#215;87</span>;<br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">TCON</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0&#215;88</span>;<br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">TMOD</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0&#215;89</span>;<br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">TL0</span> <span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0x8A</span>;<br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">TL1</span> <span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0x8B</span>;<br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">TH0</span> <span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0x8C</span>;<br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">TH1</span> <span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0x8D</span>;<br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">SCON</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0&#215;98</span>;<br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">SBUF</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0&#215;99</span>;<br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">IE</span>&nbsp; <span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0xA8</span>;<br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">IPH</span> <span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">XB7</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 中断优先级扩展寄存器，用于定义扩展中断源的优先级&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(105, 105, 105); ">/*</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; IPH^7空</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; IPH^6(PPCA_LVDH)&#8230; PCA扩展定时器中断与低电压中断公用</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; IPH^5(PADC_SPIH)&#8230; ADC模数转换与SPI传送结束中断公用</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; IPH^4(PSH)&#8230;&#8230;&#8230; ??</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; IPH^3(PT1H)&#8230;&#8230;.. </span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; IPH^2(PX1H)</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; IPH^1(PT0H)</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; IPH^0(PX0H)</span><br /> <span style="color: rgb(105, 105, 105); ">*/</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">IP</span> <span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0xB8</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 通用中断源的优先级定义寄存器，与IPH合并使用&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">PSW</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0xD0</span>;<br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">ACC</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0xE0</span>;<br /> <span style="color: rgb(192, 192, 192); ">sfr</span> B&nbsp; <span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0xF0</span>;</p>
<p> <span style="color: rgb(105, 105, 105); ">/* &#8212;&#8212;&#8212;&#8212;&#8212;&#8211; P1口IO定义 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- */</span><br /> <span style="color: rgb(105, 105, 105); ">/* P1M0[7~0] P1M1[7~0]&nbsp;&nbsp;&nbsp; 方向作用&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(105, 105, 105); ">/*&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 传统51准双向口模式&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(105, 105, 105); ">/*&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 推挽输出，上拉20mA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(105, 105, 105); ">/*&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 高阻单向输入，AD必须。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(105, 105, 105); ">/*&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 开漏输出，AD也可以选择&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">P1</span>&nbsp; <span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0&#215;90</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* P1口地址&nbsp;&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">P1M0</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0&#215;91</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* P1口方向0&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">P1M1</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0&#215;92</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* P1口方向1&nbsp;&nbsp;&nbsp; */</span></p>
<p> <span style="color: rgb(105, 105, 105); ">/* &#8212;&#8212;&#8212;&#8212;&#8212;&#8211; P3口IO定义 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- */</span><br /> <span style="color: rgb(105, 105, 105); ">/* P3M0[7~0] P3M1[7~0]&nbsp;&nbsp;&nbsp; 方向作用&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(105, 105, 105); ">/*&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 传统51准双向口模式&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(105, 105, 105); ">/*&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 推挽输出，上拉20mA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(105, 105, 105); ">/*&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 高阻单向输入，AD必须。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(105, 105, 105); ">/*&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 开漏输出，AD也可以选择&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">P3</span>&nbsp; <span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0xB0</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* P3口地址&nbsp;&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">P3M0</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0xB1</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* P3口方向0&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">P3M1</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0xB2</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* P3口方向1&nbsp;&nbsp;&nbsp; */</span></p>
<p> <span style="color: rgb(105, 105, 105); ">/*&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; IAP/IAP 功能寄存器 &#8212;&#8212;&#8212;&#8212; */</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">ISP_DATA</span> <span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">XE2</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 收发数据寄存器&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">ISP_ADDRH</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">XE3</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 目标操作地址高8位*/</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">ISP_ADDRL</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">XE4</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 目标操作地址低8位*/</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">ISP_CMD</span>&nbsp; <span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">XE5</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 操作指令寄存器&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">ISP_TRIG</span> <span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">XE6</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 触发寄存器&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">ISP_CONTR</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">XE7</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 控制寄存器&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */</span></p>
<p> <span style="color: rgb(105, 105, 105); ">/* &#8212;&#8212;&#8212;&#8212;&#8212; 新增功能控制寄存器 &#8212;&#8212;&#8212;&#8212;- */</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">AUXR</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">X8E</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/*新增特殊功能寄存器*/</span><br /> <span style="color: rgb(105, 105, 105); ">/*</span><br /> <span style="color: rgb(105, 105, 105); ">其中：</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; AUXR^7(T0x12)..&nbsp;&nbsp;&nbsp; 定时器ct0时钟源设定：0_atbit(传统1/12，1_atbit(1:1不分频；</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; AUXR^6(T1x12)..&nbsp;&nbsp;&nbsp; 定时器ct1时钟源设定：0_atbit(传统1/12，1_atbit(1:1不分频；</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; AUXR^5(UARTx6). 串口模式0时时钟设定：0_atbit(传统1/12^1_atbit(1/2 2分频；</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; AUXR^4(EADCI).. ADC中断允许位：0_atbit(禁止，1_atbit(允许</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; AUXR^3(ESPI)&#8230; SPI中断允许位：0_atbit(禁止，1_atbit(允许</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; AUXR^2(ELVDI).. 低电压中断允许：0_atbit(禁止，1_atbit(允许</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5V系统3.7V,3V系统2.4V以下发生中断</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; AUXR^1/AUXR^0.. 保留</span><br /> <span style="color: rgb(105, 105, 105); ">*/</span></p>
<p> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">CLOCK_DIV</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">XC7</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 空闲模式下的时钟分频，可进一步降低功耗&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">WDT_CONTR</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">XE1</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 看门狗控制寄存器&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(105, 105, 105); ">/* 其中：</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; WDT_CONTR^7(WDT_FLAG).. 看门狗溢出标志_atbit(1，可软件清零</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; WDT_CONTR^6保留</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; WDT_CONTR^5(EN_WDT)&#8230;. 看门狗允许标志_atbit(1</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; WDT_CONTR^4(CLR_WDT)&#8230; 看门狗清零_atbit(1，硬件自动回零</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; WDT_CONTR^3(IDLE_WDT)..=1空闲模式下继续工作，_atbit(0空闲模式下不工作</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; WDT_CONTR^2~0(PS2~0)&#8230; 看门狗溢出时间设定：</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; 0 0 0 &#8230;&#8230; 2分频&#8230;.. @20MHz下&nbsp; 39.3mS</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; 0 0 1 &#8230;&#8230; 4分频&#8230;.. @20MHz下&nbsp; 78.6mS</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; 0 1 0 &#8230;&#8230; 8分频&#8230;.. @20MHz下 157.3mS</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; 0 1 1 &#8230;&#8230;16分频&#8230;.. @20MHz下 314.6mS</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; 1 0 0 &#8230;&#8230;32分频&#8230;.. @20MHz下 629.1mS</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; 1 0 1 &#8230;&#8230;64分频&#8230;.. @20MHz下&nbsp; 1.25S</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; 1 1 0 &#8230;..128分频&#8230;.. @20MHz下&nbsp;&nbsp; 2.5S</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; 1 1 1 &#8230;..256分频&#8230;.. @20MHz下&nbsp;&nbsp;&nbsp; 5S</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; 其他主频下的时间可以参照上表作相应换算。</span><br /> <span style="color: rgb(105, 105, 105); ">*/</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">SADDR</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">XA9</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 从地址，未启用&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">SADEN</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">XB9</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 标识地址，未启用&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">SPI_STATUS</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">X84</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* SPSTAT SPI状态寄存器 */</span><br /> <span style="color: rgb(105, 105, 105); ">/*&nbsp;&nbsp;&nbsp; 其中：</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; SPSTAT^7(SPIF)&#8230;. SPI 传输完成标志。当一次串行传输完成时，SPIF 置位，</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 并当ESPI和EA 都置位时产生中断。当SPI 处于主模式且</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SSIG_atbit(0 时，如果/SS 为输入并被驱动为低电平，SPIF </span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 也将置位。SPIF标志通过软件向其写入“1”清零。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; SPSTAT^6(WCOL)&#8230;. SPI 写冲突标志。在数据传输的过程中如果对SPI 数据寄</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 存器SPDAT 执行写操作，WCOL 将置位。WCOL 标志通过软</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 件向其写入“1”清零。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; SPSTAT^5~0保留</span><br /> <span style="color: rgb(105, 105, 105); ">*/</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">SPI_CONTR</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">X85</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* SPI控制寄存器SPCTL&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(105, 105, 105); ">/*&nbsp;&nbsp;&nbsp; 其中：</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; SPCTL^7(SSIG)&#8230;&#8230;&nbsp;&nbsp;&nbsp; /SS 忽略。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1：MSTR（位4）确定器件为主机还是从机。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0：/SS 脚用于确定器件为主机还是从机。/SS 脚可作为I/O</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 口使用（见SPI 主从选择表）。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; SPCTL^6(SPEN)&#8230;&#8230; SPI 使能。1：SPI 使能。0：SPI 被禁止，所有SPI 管脚都作</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 为I/O 口使用。&nbsp;&nbsp;&nbsp; </span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; SPCTL^5(DORD)&#8230;&#8230; SPI 数据顺序：1：数据字的LSB(最低位) 最先发送；</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0：数据字的MSB(最高位) 最先发送。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; SPCTL^4(MSTR)&#8230;&#8230; 主/从模式选择（见SPI 主从选择表）。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; SPCTL^3(CPOL)&#8230;&#8230; SPI 时钟极性：1：SPICLK 空闲时为高电平。SPICLK 的前时</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 钟沿为下降沿而后沿为上升沿。0：SPICLK 空闲时为低电平。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SPICLK 的前时钟沿为上升沿而后沿为下降沿。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; SPCTL^2(CPHA)&#8230;&#8230; SPI 时钟相位选择：</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1：数据在SPICLK 的前时钟沿驱动，并在后时钟沿采样。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0：数据在/SS 为低（SSIG＝00）时被驱动，在SPICLK 的后时钟</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 沿被改变，并在前时钟沿被采样。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; （注：SSIG_atbit(1 时的操作未定义）</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; SPCTL^1~0(SPR1~0)&#8230;SPR0/SPR1是SPI 时钟速率选择控制位。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SPR1^SPR0：</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 0 －CPU_CLK/4</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 1 －CPU_CLK/16</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 0 －CPU_CLK/64</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 1 －CPU_CLK/128</span><br /> <span style="color: rgb(105, 105, 105); ">*/</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">SPI_DATA</span>&nbsp; <span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">X86</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* SPI数据收发寄存器SPDAT&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">ADC_CONTR</span> <span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">XC5</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* ADC控制寄存器&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(105, 105, 105); ">/*&nbsp;&nbsp;&nbsp; 其中：</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; ADC_CONTR^7(ADC_POWER)..ADC 电源控制位。0：关闭；1：打开.</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 启动AD 转换前一定要确认AD 电源已打开，AD 转换结束</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 后关闭AD 电源可降低功耗，也可不关闭。初次打开内部</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A/D 转换模拟电源，需适当延时，等内部模拟电源稳定</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 后，再启动A/D 转换建议启动A/D 转换后，在A/D 转换</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 结束之前，不改变任何I/O 口的状态，有利于高精度A/D</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 转换.</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; ADC_CONTR^6~5(SPEED1~0).模数转换器转换速度控制位</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SPEED1 SPEED0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A/D 转换所需时间</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 210个时钟周期转换一次，CPU 工作频率20MHz 时，A/D转</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 换速度约 100KHz</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 420个时钟周期转换一次</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 630个时钟周期转换一次</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 840个时钟周期转换一次</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; ADC_CONTR^4(ADC_FLAG)&#8230;模数转换器转换结束标志位,当A/D 转换完成后，ADC_FLAG</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _atbit( 1，要由软件清0。不管是A/D 转换完成后由该位申请产</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 生中断，还是由软件查询该标志位A/D 转换是否结束,当A/D</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 转换完成后，ADC_FLAG= 1，一定要软件清0。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; ADC_CONTR^3(ADC_START)&#8230;模数转换器(ADC)转换启动控制位，设置为1时，开始转换</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; ADC_CONTR^2~0(CHS2~0)&#8230;.CHS0：模拟输入通道选择</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CHS2 CHS1 CHS0&nbsp;&nbsp;&nbsp; 模拟输入通道选择</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 0 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 选择 P1.0 作为A/D 输入来用</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 0 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 选择 P1.1 作为A/D 输入来用</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 1 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 选择 P1.2 作为A/D 输入来用</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 1 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 选择 P1.3 作为A/D 输入来用</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 0 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 选择 P1.4 作为A/D 输入来用</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 0 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 选择 P1.5 作为A/D 输入来用</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 1 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 选择 P1.6 作为A/D 输入来用</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 1 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 选择 P1.7 作为A/D 输入来用</span><br /> <span style="color: rgb(105, 105, 105); ">*/</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">ADC_DATA</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">XC6</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* A/D 转换结果特殊功能寄存器 */</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">CCON</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">XD8</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* PCA 控制寄存器，支持位寻址后面有定义*/</span><br /> <span style="color: rgb(105, 105, 105); ">/*&nbsp;&nbsp;&nbsp; 其中：</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; CCON^7(CF)&#8230;&#8230;PCA计数器阵列溢出标志。计数值翻转时该位由硬件置位。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果CMOD寄存器的ECF位置位， CF标志可用来产生中断。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CF位可通过硬件或软件置位， 但只可通过软件清零。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; CCON^6(CR)&#8230;&#8230;PCA计数器阵列运行控制位。该位通过软件置位， 用来起</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 动PCA计数器阵列计数。该位通过软件清零， 用来关闭</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PCA计数器。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; CCON^5~2保留</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; CCON^1(CCF1)&#8230;.PCA模块1中断标志。当出现匹配或捕获时该位由硬件置位。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 该位必须通过软件清零。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; CCON^0(CCF0)&#8230;.PCA模块0中断标志。当出现匹配或捕获时该位由硬件置位。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 该位必须通过软件清零。</span><br /> <span style="color: rgb(105, 105, 105); ">*/</span></p>
<p> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">CMOD</span>&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">XD9</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* PCA 模式寄存器 */</span><br /> <span style="color: rgb(105, 105, 105); ">/*&nbsp;&nbsp;&nbsp; 其中：</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; CMOD^7(CIDL)&#8230;.计数器阵列空闲控制：CIDL_atbit(0时，空闲模式下PCA计数器继</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 续工作。CIDL＝1时，空闲模式下PCA计数器停止工作。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; CMOD^6~3保留</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; CMOD^2~1(CPS1,CPS0)PCA计数脉冲选择</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPS1 CPS0&nbsp;&nbsp;&nbsp;&nbsp; 选择PCA 时钟源输入</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0,内部时钟,Fosc/12</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1,内部时钟,Fosc/2</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2,定时器0溢出,由于定时器0可以工作在1T方式，所以可以</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 达到计一个时钟就溢出， 频率反而是最高的， 可达</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 到Fosc</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3,ECI/P3.4脚的外部时钟输入(最大速率_atbit(Fosc/2)</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; CMOD^0(ECF)&#8230;..PCA计数溢出中断使能：ECF_atbit(1时，使能寄存器CCON CF位的</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 中断。ECF_atbit(0时，禁止该功能。</span><br /> <span style="color: rgb(105, 105, 105); ">*/</span></p>
<p> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">CH</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">XF9</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* PCA计数器初始值高8位&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">CL</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">XE9</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* PCA计数器初始值低8位&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">CCAPM0</span>&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">XDA</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* PCA 比较/ 捕获模块寄存器0&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(105, 105, 105); ">/*</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; CCAPM0^7保留</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; CCAPM0^6(ECOM0)&#8230;&#8230;.. 使能比较器。ECOM0＝ 1时使能比较器功能。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; CCAPM0^5(CAPP0)&#8230;&#8230;.. 正捕获。CAPP0＝ 1时使能上升沿捕获。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; CCAPM0^4(CAPN0)&#8230;&#8230;.. 负捕获。CAPN0＝ 1时使能下降沿捕获。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; CCAPM0^3(MAT0)&#8230;&#8230;&#8230; 匹配。当MAT0＝ 1时， PCA计数值与模块的比较/捕获寄</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 存器的值的匹配将置位CCON寄存器的中断标志位CCF0。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; CCAPM0^2(TOG0)&#8230;&#8230;&#8230;&nbsp;&nbsp;&nbsp; 翻转。当TOG0＝ 1时， PCA计数值与模块的比较/捕获寄</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 存器的值的匹配将使CEXn脚翻转。(CEX0/P3.7)</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; CCAPM0^1(PWM0)&#8230;&#8230;&#8230; 脉宽调节模式。当PWM0＝ 1时， 使能CEXn脚用作脉宽调</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 节输出。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; CCAPM0^0(ECCF0)&#8230;&#8230;.. 使能CCF0中断。使能寄存器CCON的比较/捕获标志CCF0， </span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 用来产生中断。</span><br /> <span style="color: rgb(105, 105, 105); ">使用的机种基本模式组合：</span><br /> <span style="color: rgb(105, 105, 105); "> ECOM0 CAPP0 CAPN0 MAT0&nbsp;&nbsp;&nbsp; TOG0 PWM0 ECCF0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 模块功能</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 无此操作</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16位捕获模式，由CEX0的上升沿触发</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16位捕获模式，由CEX0的下降沿触发</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16位捕获模式，由CEX0的跳变触发</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16位软件定时器</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16位高速输出</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8位PWM</span><br /> <span style="color: rgb(105, 105, 105); ">*/</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">CCAP0H</span>&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">XFA</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 当出现捕获或比较时，它们用来保存16 位的计数值。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当PCA 模块用在PWM 模式中时，它们用来控制输出的</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 占空比。CCAP0H.CCAP0L分别为高低8位，组合使用&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">CCAP0L</span>&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">XEA</span>;<br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">PCA_PWM0</span> <span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">XF2</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* PWM下9位数的最高位</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PCA_PWM0^1(EPC0H)&#8230;.在PWM模式下,与CCAP0H组成9位数</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PCA_PWM0^0(EPC0L)&#8230;.在PWM模式下,与CCAP0L组成9位数</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">CCAPM1</span>&nbsp; <span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">XDB</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* PCA 比较/ 捕获模块寄存器1，支持位寻址定义在后面 */</span><br /> <span style="color: rgb(105, 105, 105); ">/*</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; CCAPM1^7保留</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; CCAPM1^6(ECOM1)&#8230;&#8230;.. 使能比较器。ECOM1＝ 1时使能比较器功能。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; CCAPM1^5(CAPP1)&#8230;&#8230;.. 正捕获。CAPP1＝ 1时使能上升沿捕获。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; CCAPM1^4(CAPN1)&#8230;&#8230;.. 负捕获。CAPN1＝ 1时使能下降沿捕获。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; CCAPM1^3(MAT1)&#8230;&#8230;&#8230; 匹配。当MAT1＝ 1时， PCA计数值与模块的比较/捕获寄</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 存器的值的匹配将置位CCON寄存器的中断标志位CCF1。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; CCAPM1^2(TOG1)&#8230;&#8230;&#8230;&nbsp;&nbsp;&nbsp; 翻转。当TOG1＝ 1时， PCA计数值与模块的比较/捕获寄</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 存器的值的匹配将使CEXn脚翻转。(CEX1/P3.5)</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; CCAPM1^1(PWM1)&#8230;&#8230;&#8230; 脉宽调节模式。当PWMn＝ 1时， 使能CEXn脚用作脉宽调</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 节输出。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; CCAPM1^0(ECCF1)&#8230;&#8230;.. 使能CCF1中断。使能寄存器CCON的比较/捕获标志CCF1， </span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 用来产生中断。</span></p>
<p> <span style="color: rgb(105, 105, 105); ">使用的机种基本模式组合：</span><br /> <span style="color: rgb(105, 105, 105); "> ECOM1 CAPP1 CAPN1 MAT1&nbsp;&nbsp;&nbsp; TOG1 PWM1 ECCF1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 模块功能</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 无此操作</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16位捕获模式，由CEX1的上升沿触发</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16位捕获模式，由CEX1的下降沿触发</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16位捕获模式，由CEX1的跳变触发</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16位软件定时器</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16位高速输出</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8位PWM</span><br /> <span style="color: rgb(105, 105, 105); ">*/</span><br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">CCAP1H</span>&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">XFB</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 当出现捕获或比较时，它们用来保存16 位的计数值。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当PCA 模块用在PWM 模式中时，它们用来控制输出的</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 占空比。CCAP1H.CCAP1L分别为高低8位，组合使用&nbsp;&nbsp;&nbsp; */</span></p>
<p> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">CCAP1L</span>&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">XEB</span>;<br /> <span style="color: rgb(192, 192, 192); ">sfr</span> <span style="color: rgb(192, 192, 192); ">PCA_PWM1</span> <span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">0</span><span style="color: rgb(192, 192, 192); ">XF3</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* PWM下9位数的最高位</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PCA_PWM1^1(EPC1H)&#8230;.在PWM模式下,与CCAP1H组成9位数</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PCA_PWM1^0(EPC1L)&#8230;.在PWM模式下,与CCAP1L组成9位数</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */</span></p>
<p> <span style="color: rgb(105, 105, 105); ">/*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span><br /> <span style="color: rgb(105, 105, 105); ">PCON Bit Values</span><br /> <span style="color: rgb(105, 105, 105); ">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*/</span><br /> <span style="color: rgb(255, 255, 255); ">#define IDL_&nbsp;&nbsp;&nbsp; 0&#215;01</span><br /> <span style="color: rgb(255, 255, 255); ">#define STOP_&nbsp;&nbsp; 0&#215;02</span><br /> <span style="color: rgb(255, 255, 255); ">#define EWT_&nbsp;&nbsp;&nbsp; 0&#215;04</span><br /> <span style="color: rgb(255, 255, 255); ">#define EPFW_&nbsp;&nbsp; 0&#215;08</span><br /> <span style="color: rgb(255, 255, 255); ">#define WTR_&nbsp;&nbsp;&nbsp; 0&#215;10</span><br /> <span style="color: rgb(255, 255, 255); ">#define PFW_&nbsp;&nbsp;&nbsp; 0&#215;20</span><br /> <span style="color: rgb(255, 255, 255); ">#define POR_&nbsp;&nbsp;&nbsp; 0&#215;40</span><br /> <span style="color: rgb(255, 255, 255); ">#define SMOD_&nbsp;&nbsp; 0&#215;80</span></p>
<p> <span style="color: rgb(105, 105, 105); ">/*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span><br /> <span style="color: rgb(105, 105, 105); ">TCON Bit Registers</span><br /> <span style="color: rgb(105, 105, 105); ">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*/</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">IT0</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">TCON</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">0</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">IE0</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">TCON</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">1</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">IT1</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">TCON</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">2</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">IE1</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">TCON</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">3</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">TR0</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">TCON</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">4</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">TF0</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">TCON</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">5</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">TR1</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">TCON</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">6</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">TF1</span><span style="color: rgb(192, 192, 192); ">=</span><span style="color: rgb(192, 192, 192); ">TCON</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">7</span>;</p>
<p> <span style="color: rgb(105, 105, 105); ">/*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span><br /> <span style="color: rgb(105, 105, 105); ">TMOD Bit Values</span><br /> <span style="color: rgb(105, 105, 105); ">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*/</span><br /> <span style="color: rgb(255, 255, 255); ">#define T0_M0_&nbsp;&nbsp; 0&#215;01</span><br /> <span style="color: rgb(255, 255, 255); ">#define T0_M1_&nbsp;&nbsp; 0&#215;02</span><br /> <span style="color: rgb(255, 255, 255); ">#define T0_CT_&nbsp;&nbsp; 0&#215;04</span><br /> <span style="color: rgb(255, 255, 255); ">#define T0_GATE_ 0&#215;08</span><br /> <span style="color: rgb(255, 255, 255); ">#define T1_M0_&nbsp;&nbsp; 0&#215;10</span><br /> <span style="color: rgb(255, 255, 255); ">#define T1_M1_&nbsp;&nbsp; 0&#215;20</span><br /> <span style="color: rgb(255, 255, 255); ">#define T1_CT_&nbsp;&nbsp; 0&#215;40</span><br /> <span style="color: rgb(255, 255, 255); ">#define T1_GATE_ 0&#215;80</span></p>
<p> <span style="color: rgb(255, 255, 255); ">#define T1_MASK_ 0xF0</span><br /> <span style="color: rgb(255, 255, 255); ">#define T0_MASK_ 0x0F</span></p>
<p> <span style="color: rgb(105, 105, 105); ">/*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span><br /> <span style="color: rgb(105, 105, 105); ">P1 Bit Registers</span><br /> <span style="color: rgb(105, 105, 105); ">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*/</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">P1_0</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P1</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">0</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">P1_1</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P1</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">1</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">P1_2</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P1</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">2</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">P1_3</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P1</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">3</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">P1_4</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P1</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">4</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">P1_5</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P1</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">5</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">P1_6</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P1</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">6</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">P1_7</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P1</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">7</span>;</p>
<p> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">ADC0</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P1</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">0</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* + Analog input */</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">ADC1</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P1</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">1</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* + Analog input */</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">ADC2</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P1</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">2</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* + Analog input */</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">ADC3</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P1</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">3</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* + Analog input */</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">ADC4</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P1</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">4</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* + Analog input */</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">ADC5</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P1</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">5</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* + Analog input */</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">ADC6</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P1</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">6</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* + Analog input */</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">ADC7</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P1</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">7</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* + Analog input */</span></p>
<p> <span style="color: rgb(105, 105, 105); ">/* SPI 专用IO */</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; SS&nbsp; <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P1</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">4</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 主从SPI选择，外部输入P1.4_atbit(0为从机*/</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">MOSI</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P1</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">5</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 主输出/从输入&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">MISO</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P1</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">6</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 主输入/从输出&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">SCLK</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P1</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">7</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* SPI时钟，主方输出，从方接收&nbsp;&nbsp;&nbsp; */</span></p>
<p> <span style="color: rgb(105, 105, 105); ">/*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span><br /> <span style="color: rgb(105, 105, 105); ">SCON Bit Registers</span><br /> <span style="color: rgb(105, 105, 105); ">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*/</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">RI</span>&nbsp; <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">SCON</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">0</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">TI</span>&nbsp; <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">SCON</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">1</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">RB8</span> <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">SCON</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">2</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">TB8</span> <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">SCON</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">3</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">REN</span> <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">SCON</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">4</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">SM2</span> <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">SCON</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">5</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">SM1</span> <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">SCON</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">6</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">SM0</span> <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">SCON</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">7</span>;</p>
<p> <span style="color: rgb(105, 105, 105); ">/*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span><br /> <span style="color: rgb(105, 105, 105); ">IE Bit Registers</span><br /> <span style="color: rgb(105, 105, 105); ">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*/</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">EX0</span> <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">IE</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">0</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 1_atbit(Enable External interrupt 0 */</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">ET0</span> <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">IE</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">1</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 1_atbit(Enable Timer 0 interrupt */</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">EX1</span> <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">IE</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">2</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 1_atbit(Enable External interrupt 1 */</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">ET1</span> <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">IE</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">3</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 1_atbit(Enable Timer 1 interrupt */</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">ES</span>&nbsp; <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">IE</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">4</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 1_atbit(Enable Serial port interrupt */</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">ET2</span> <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">IE</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">5</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 1_atbit(Enable Timer 2 interrupt */</span></p>
<p> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">EA</span>&nbsp; <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">IE</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">7</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 0_atbit(Disable all interrupts */</span></p>
<p> <span style="color: rgb(105, 105, 105); ">/*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span><br /> <span style="color: rgb(105, 105, 105); ">P3 Bit Registers (Mnemonics &amp; Ports)</span><br /> <span style="color: rgb(105, 105, 105); ">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*/</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">P3_0</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P3</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">0</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">P3_1</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P3</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">1</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">P3_2</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P3</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">2</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">P3_3</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P3</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">3</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">P3_4</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P3</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">4</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">P3_5</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P3</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">5</span>;<br /> <span style="color: rgb(105, 105, 105); ">/* P3_6 Hardwired as AOUT */</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">P3_7</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P3</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">7</span>;</p>
<p> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">RXD</span> <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P3</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">0</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* Serial data input */</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">TXD</span> <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P3</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">1</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* Serial data output */</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">INT0</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P3</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">2</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* External interrupt 0 */</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">INT1</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P3</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">3</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* External interrupt 1 */</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">T0</span>&nbsp; <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P3</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">4</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* Timer 0 外部时钟输入口P3.4 */</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">ECI</span> <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P3</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">4</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* PCA计数器阵列的可选外部时钟输入口P3.4 */</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">T1</span>&nbsp; <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P3</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">5</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* Timer 1 外部时钟输入口P3.5 */</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">CEX1</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P3</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">5</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* PCA计数器与模块的比较/捕获寄存器的值的匹配时的输出口*/</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">PWM1</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P3</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">5</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* PWM方式时PWM1的输出口P3.5/PCA1反相输出*/</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">CEX0</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P3</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">7</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* PCA计数器与模块的比较/捕获寄存器的值的匹配时的输出口*/</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">PWM0</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">P3</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">7</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* PWM方式时PWM0的输出口P3.7/PCA0反相输出*/</span></p>
<p> <span style="color: rgb(105, 105, 105); ">/*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span><br /> <span style="color: rgb(105, 105, 105); ">IP 中断优先级寄存器低8位</span><br /> <span style="color: rgb(105, 105, 105); ">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*/</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">PX0</span> <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">IP</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">0</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 外部中断0 P3.2&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">PT0</span> <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">IP</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">1</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 定时计数器0中断&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">PX1</span> <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">IP</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">2</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 外部中断1 P3.3&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">PT1</span> <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">IP</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">3</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 定时计数器1中断&nbsp;&nbsp;&nbsp; */</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; PS&nbsp; <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">IP</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">4</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/* 通信中断RI或TI&nbsp;&nbsp;&nbsp; */</span></p>
<p> <span style="color: rgb(105, 105, 105); ">/*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span><br /> <span style="color: rgb(105, 105, 105); ">PSW Bit Registers</span><br /> <span style="color: rgb(105, 105, 105); ">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*/</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; P&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">PSW</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">0</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">FL</span>&nbsp; <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">PSW</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">1</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">OV</span>&nbsp; <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">PSW</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">2</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">RS0</span> <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">PSW</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">3</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">RS1</span> <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">PSW</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">4</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">F0</span>&nbsp; <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">PSW</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">5</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">AC</span>&nbsp; <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">PSW</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">6</span>;<br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">CY</span>&nbsp; <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">PSW</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">7</span>;</p>
<p> <span style="color: rgb(105, 105, 105); ">/*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span><br /> <span style="color: rgb(105, 105, 105); ">PCA 控制寄存器CCON Bit Registers </span><br /> <span style="color: rgb(105, 105, 105); ">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*/</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">CCF0</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">CCON</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">0</span>;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/*PCA模块0中断标志。当出现匹配或捕获时该位由硬件置位。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 该位必须通过软件清零。*/</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">CCF1</span><span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">CCON</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">1</span>;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/*PCA模块1中断标志。当出现匹配或捕获时该位由硬件置位。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 该位必须通过软件清零。*/</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">CR</span>&nbsp; <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">CCON</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">6</span>;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/*PCA计数器阵列运行控制位。该位通过软件置位， 用来起</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 动PCA计数器阵列计数。该位通过软件清零， 用来关闭</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PCA计数器。*/</span><br /> <span style="color: rgb(192, 192, 192); ">sbit</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(192, 192, 192); ">CF</span>&nbsp; <span style="color: rgb(192, 192, 192); ">=</span> <span style="color: rgb(192, 192, 192); ">CCON</span><span style="color: rgb(192, 192, 192); ">^</span><span style="color: rgb(192, 192, 192); ">7</span>;&nbsp;&nbsp;&nbsp; <span style="color: rgb(105, 105, 105); ">/*PCA计数器阵列溢出标志。计数值翻转时该位由硬件置位。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果CMOD寄存器的ECF位置位， CF标志可用来产生中断。</span><br /> <span style="color: rgb(105, 105, 105); ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CF位可通过硬件或软件置位， 但只可通过软件清零。*/</span></div>
]]></content:encoded>
			<wfw:commentRss>http://xnian.com/2010/03/1889.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>解决chrome插件网址打不开的方法</title>
		<link>http://xnian.com/2009/12/1885.html</link>
		<comments>http://xnian.com/2009/12/1885.html#comments</comments>
		<pubDate>Mon, 28 Dec 2009 18:03:11 +0000</pubDate>
		<dc:creator>纪小年</dc:creator>
				<category><![CDATA[常用知识]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[hosts]]></category>
		<category><![CDATA[插件]]></category>

		<guid isPermaLink="false">http://xnian.com/?p=1885</guid>
		<description><![CDATA[很简单，在系统的hosts文件里面的最下面，加上两句话： 74.125.39.99 chrome.google.com 74.125.47.139 clients2.google.com 前者解决打不开网页，后者解决无法下载插件。 如何修改hosts请去百度Google一下，域名解析地址来源：http://www.williamlong.info/blog/archives/369.html 现在你可以访问https://chrome.google.com/extensions下载你喜欢的插件咯~ 本文纯属凑字数。好久没写东西，冒个泡，省的大家都把我忘记鸟~]]></description>
			<content:encoded><![CDATA[<p>很简单，在系统的hosts文件里面的最下面，加上两句话：</p>
<blockquote><p>74.125.39.99 chrome.google.com<br />
74.125.47.139 clients2.google.com</p></blockquote>
<p>前者解决打不开网页，后者解决无法下载插件。<br />
如何修改hosts请去百度Google一下，域名解析地址来源：http://www.williamlong.info/blog/archives/369.html<br />
现在你可以访问https://chrome.google.com/extensions下载你喜欢的插件咯~</p>
<p>本文纯属凑字数。好久没写东西，冒个泡，省的大家都把我忘记鸟~</p>
]]></content:encoded>
			<wfw:commentRss>http://xnian.com/2009/12/1885.html/feed</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>蛋疼的时候，拿来消遣的几款游戏（一）</title>
		<link>http://xnian.com/2009/11/1875.html</link>
		<comments>http://xnian.com/2009/11/1875.html#comments</comments>
		<pubDate>Sat, 28 Nov 2009 05:51:27 +0000</pubDate>
		<dc:creator>纪小年</dc:creator>
				<category><![CDATA[游戏]]></category>
		<category><![CDATA[无聊]]></category>
		<category><![CDATA[蛋疼]]></category>

		<guid isPermaLink="false">http://xnian.com/2009/11/1875.html</guid>
		<description><![CDATA[World of Goo《粘粘世界》 研发公司：2D Boy 游戏类型：益智 蛋疼指数：★★★★☆ 基本内容： 《粘粘世界》以凯勒·加布勒的概念游戏《Tower of Goo》为原型，主要玩法是利用粘性小球“粘豆包”（Goo）来构建建筑框架。游戏被分为五个章节，并细分为多个关卡。游戏吸取了蒂姆·伯顿电影作品的特点，让每个章节都有不同的主题画面和音乐风格，渲染出不一样的气氛，此外，游戏提供了联机竞技模式，玩家需要用有限的粘豆包建造尽可能高的结构。玩家的记录会被上传到2D Boys的服务器，让全球其它玩家来挑战记录。 游戏规则： 每个关卡的基本目标是收集一定数量的粘豆包到引向关卡外的水管。玩家要想方设法运用粘豆包构造桥梁、高塔等结构，同时克服重力和裂口、山峰、峭壁、尖刺等不利地形，最终将建筑搭建到水管口，以让没有用于搭建结构的粘豆包进入。如果玩家成功地搜集到了足够多的粘豆包就过关了。如果收集的粘豆包多于标准数额，多出部分可以在联机模式使用。 游戏中有各种各样的粘豆包，各有特点。灰色和绿色的粘豆包可以和周围2-3个结构块连接；半透明的粘豆包则只能和1个结构块连接，它们可以形成一个长链进行特种运输任务；大部分粘豆包塑型后不能回收，但绿色的粘豆包是可以取下再利用的；红棕色的粘豆包组成的结构靠近火源会起火燃烧。部分关卡的水管只能接收特定的粘豆包。在许多关卡中有气球可以让玩家使用，气球可以一定程度上克服重力对建筑结构的影响，取下的气球可以像粘豆包一样在结构上运动，但不能被任何水管吸收。 根据各关卡的设定，当玩家使用较少的步骤，收集一定量粘豆包，或在一定时间内完成关卡时，即可获得OCD奖。在关卡地图中，已通过OCD挑战的关卡会用写有特殊旗帜在选择关卡的地图中标记。 游戏截图： 下载地址：电驴下载 And Yet It Moves《重力世界/撕纸世界》 研发公司：Broken Rules 游戏类型：解谜 蛋疼指数：★★★☆ 基本内容： &#34;重力世界&#34;是一款学生制作的动作解谜类型的参赛游戏，它的试玩版在07年独立游戏节上受到好评，当时的版本只有2个关卡，经过2年多的继续制作开发，游戏推出了正式版，解谜关卡也增加到了共17关，特别推荐给喜爱解谜的玩家，感兴趣的朋友不可错过。 游戏规则： 游戏包括多达17个关卡，在游戏过程中可以欣赏到离奇的游戏世界和独特的画面风格，颠覆性的思维方式动作和解谜的双重挑战会让你体验到前所未有的游戏乐趣，解谜玩家不可错过的经典游戏。在画面，操作方式和谜题设计上，都有自己的独到之处，特别是根据独特的操作来设计的过关谜题，会让你在绞尽脑汁思索来解决谜题的过程中获得难以想象的解谜快感。 游戏采用键盘操作，在游戏开始后，会有逐步的操作提示，游戏中你要操纵角色的移动，同时还要根据情况来控制世界的翻转，对玩家的空间感和操作水平都有比较高的要求。 游戏截图：&#160; 下载地址：电驴下载 Plants Vs. Zombies《植物大战僵尸》 研发公司：PopCap Games 游戏类型：益智 蛋疼指数：★★★★★ 基本内容： 可怕的僵尸即将入侵你的家庭，你唯一的防御方式就是您栽种的植物。一款新奇的游戏即将登陆PC平台，名称为《植物大战僵尸(&#8216;Plants vs. Zombies&#8217; )》。武装您的49种植物，切换他们不同的功能，诸如樱桃炸弹或强悍的食人花，更加快速有效的将僵尸阻挡在入侵的道路上。不同的敌人，不同的玩法构成五种不同的游戏模式，加之夕阳、浓雾以及泳池之类的障碍增加了其挑战性 奇特的游戏乐趣永无止境。 游戏规则： 作为一款小游戏，它成功地借鉴了一些战略游戏的要素——采集资源并利用资源建造其它单位。甚至有一些玩家在拿星际的战略往这款游戏中套用，以阐述这款游戏需要在何时发展“经济”，何时发展“兵力”。游戏中可以选用的植物有40多种，而每个场景最多只能选用10种植物，这就需要玩家根据自己的游戏策略来作出取舍。有的玩家喜欢阻挡僵尸的前进，在后方种植大量的花朵来获取足够的资源，而有的玩家则喜欢在一开始便建造看起来非常顺眼的防御体系。而僵尸的种类也有近三十种，每种都有不同的特点，而每种也都有自己的弱点，针对不同僵尸的弱点来合理地种植植物也是胜利的诀窍。游戏前期会获得植物和僵尸图鉴，通过图鉴可以很直观地看到每种单位的特点，方便布置各种策略。 而随着游戏的推进，各种模式也将不断开启，迷你游戏模式、生存模式、解谜模式等等都由玩家去选择尝试，另外还有非常搞笑的培养模式，各种模式之间又有一定的关联，这款游戏绝不是一款将冒险模式打穿之后就会让人感到索然无味的游戏。 游戏截图： 下载地址：电驴下载 Eets《伊特》 研发公司：KLEI 游戏类型：解谜 蛋疼指数：★★★☆ [...]]]></description>
			<content:encoded><![CDATA[<h3>World of Goo《粘粘世界》</h3>
<p><strong>研发公司：</strong>2D Boy</p>
<p><strong>游戏类型：</strong>益智</p>
<p><strong>蛋疼指数：</strong>★★★★☆</p>
<p><strong>基本内容：</strong></p>
<p>《粘粘世界》以凯勒·加布勒的概念游戏《Tower of Goo》为原型，主要玩法是利用粘性小球“粘豆包”（Goo）来构建建筑框架。游戏被分为五个章节，并细分为多个关卡。游戏吸取了蒂姆·伯顿电影作品的特点，让每个章节都有不同的主题画面和音乐风格，渲染出不一样的气氛，此外，游戏提供了联机竞技模式，玩家需要用有限的粘豆包建造尽可能高的结构。玩家的记录会被上传到2D Boys的服务器，让全球其它玩家来挑战记录。 </p>
<p><a name="2_2"></a><strong>游戏规则：</strong></p>
<p>每个关卡的基本目标是收集一定数量的粘豆包到引向关卡外的水管。玩家要想方设法运用粘豆包构造桥梁、高塔等结构，同时克服重力和裂口、山峰、峭壁、尖刺等不利地形，最终将建筑搭建到水管口，以让没有用于搭建结构的粘豆包进入。如果玩家成功地搜集到了足够多的粘豆包就过关了。如果收集的粘豆包多于标准数额，多出部分可以在联机模式使用。</p>
<p>游戏中有各种各样的粘豆包，各有特点。灰色和绿色的粘豆包可以和周围2-3个结构块连接；半透明的粘豆包则只能和1个结构块连接，它们可以形成一个长链进行特种运输任务；大部分粘豆包塑型后不能回收，但绿色的粘豆包是可以取下再利用的；红棕色的粘豆包组成的结构靠近火源会起火燃烧。部分关卡的水管只能接收特定的粘豆包。在许多关卡中有气球可以让玩家使用，气球可以一定程度上克服重力对建筑结构的影响，取下的气球可以像粘豆包一样在结构上运动，但不能被任何水管吸收。</p>
<p>根据各关卡的设定，当玩家使用较少的步骤，收集一定量粘豆包，或在一定时间内完成关卡时，即可获得OCD奖。在关卡地图中，已通过OCD挑战的关卡会用写有特殊旗帜在选择关卡的地图中标记。</p>
<p><strong>游戏截图：</strong></p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="World of Goo 1" border="0" alt="World of Goo 1" src="http://xnian.com/wp-content/uploads/2009/11/WorldofGoo1.jpg" width="240" height="171" /> <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="World of Goo 2" border="0" alt="World of Goo 2" src="http://xnian.com/wp-content/uploads/2009/11/WorldofGoo2.jpg" width="240" height="171" /></p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="World of Goo 3" border="0" alt="World of Goo 3" src="http://xnian.com/wp-content/uploads/2009/11/WorldofGoo3.jpg" width="240" height="171" /> <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="World of Goo 4" border="0" alt="World of Goo 4" src="http://xnian.com/wp-content/uploads/2009/11/WorldofGoo4.jpg" width="240" height="171" /> </p>
<p><strong>下载地址：</strong><a href="http://www.verycd.com/topics/407550/" target="_blank">电驴下载</a></p>
<hr />
<h3>And Yet It Moves《重力世界/撕纸世界》</h3>
<p><strong>研发公司：</strong>Broken Rules</p>
<p><strong>游戏类型：</strong>解谜</p>
<p><strong>蛋疼指数：</strong>★★★☆</p>
<p><strong>基本内容：</strong></p>
<p>&quot;重力世界&quot;是一款学生制作的动作解谜类型的参赛游戏，它的试玩版在07年独立游戏节上受到好评，当时的版本只有2个关卡，经过2年多的继续制作开发，游戏推出了正式版，解谜关卡也增加到了共17关，特别推荐给喜爱解谜的玩家，感兴趣的朋友不可错过。</p>
<p><strong>游戏规则：</strong></p>
<p>游戏包括多达17个关卡，在游戏过程中可以欣赏到离奇的游戏世界和独特的画面风格，颠覆性的思维方式动作和解谜的双重挑战会让你体验到前所未有的游戏乐趣，解谜玩家不可错过的经典游戏。在画面，操作方式和谜题设计上，都有自己的独到之处，特别是根据独特的操作来设计的过关谜题，会让你在绞尽脑汁思索来解决谜题的过程中获得难以想象的解谜快感。</p>
<p>游戏采用键盘操作，在游戏开始后，会有逐步的操作提示，游戏中你要操纵角色的移动，同时还要根据情况来控制世界的翻转，对玩家的空间感和操作水平都有比较高的要求。</p>
<p><strong>游戏截图：</strong>&#160;</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="And Yet It Moves 1" border="0" alt="And Yet It Moves 1" src="http://xnian.com/wp-content/uploads/2009/11/AndYetItMoves1.jpg" width="240" height="170" /> <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="And Yet It Moves 2" border="0" alt="And Yet It Moves 2" src="http://xnian.com/wp-content/uploads/2009/11/AndYetItMoves2.jpg" width="240" height="170" /> </p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="And Yet It Moves 3" border="0" alt="And Yet It Moves 3" src="http://xnian.com/wp-content/uploads/2009/11/AndYetItMoves3.jpg" width="240" height="170" /> <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="And Yet It Moves 4" border="0" alt="And Yet It Moves 4" src="http://xnian.com/wp-content/uploads/2009/11/AndYetItMoves4.jpg" width="240" height="170" /> </p>
<p><strong>下载地址：</strong><a href="http://www.verycd.com/topics/2742611/" target="_blank">电驴下载</a></p>
<hr />
<h3>Plants Vs. Zombies《植物大战僵尸》</h3>
<p><strong>研发公司：</strong>PopCap Games</p>
<p><strong>游戏类型：</strong>益智</p>
<p><strong>蛋疼指数：</strong>★★★★★</p>
<p><strong>基本内容：</strong></p>
<p>可怕的僵尸即将入侵你的家庭，你唯一的防御方式就是您栽种的植物。一款新奇的游戏即将登陆PC平台，名称为《植物大战僵尸(&#8216;Plants vs. Zombies&#8217; )》。武装您的49种植物，切换他们不同的功能，诸如樱桃炸弹或强悍的食人花，更加快速有效的将僵尸阻挡在入侵的道路上。不同的敌人，不同的玩法构成五种不同的游戏模式，加之夕阳、浓雾以及泳池之类的障碍增加了其挑战性 奇特的游戏乐趣永无止境。</p>
<p><strong>游戏规则：</strong></p>
<p>作为一款小游戏，它成功地借鉴了一些战略游戏的要素——采集资源并利用资源建造其它单位。甚至有一些玩家在拿星际的战略往这款游戏中套用，以阐述这款游戏需要在何时发展“经济”，何时发展“兵力”。游戏中可以选用的植物有40多种，而每个场景最多只能选用10种植物，这就需要玩家根据自己的游戏策略来作出取舍。有的玩家喜欢阻挡僵尸的前进，在后方种植大量的花朵来获取足够的资源，而有的玩家则喜欢在一开始便建造看起来非常顺眼的防御体系。而僵尸的种类也有近三十种，每种都有不同的特点，而每种也都有自己的弱点，针对不同僵尸的弱点来合理地种植植物也是胜利的诀窍。游戏前期会获得植物和僵尸图鉴，通过图鉴可以很直观地看到每种单位的特点，方便布置各种策略。</p>
<p>而随着游戏的推进，各种模式也将不断开启，迷你游戏模式、生存模式、解谜模式等等都由玩家去选择尝试，另外还有非常搞笑的培养模式，各种模式之间又有一定的关联，这款游戏绝不是一款将冒险模式打穿之后就会让人感到索然无味的游戏。</p>
<p><strong>游戏截图：</strong></p>
<p><strong><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Plants Vs. Zombies 1" border="0" alt="Plants Vs. Zombies 1" src="http://xnian.com/wp-content/uploads/2009/11/PlantsVs.Zombies11.jpg" width="240" height="170" /> <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Plants Vs. Zombies 2" border="0" alt="Plants Vs. Zombies 2" src="http://xnian.com/wp-content/uploads/2009/11/PlantsVs.Zombies21.jpg" width="240" height="170" /> </strong></p>
<p><strong><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Plants Vs. Zombies 3" border="0" alt="Plants Vs. Zombies 3" src="http://xnian.com/wp-content/uploads/2009/11/PlantsVs.Zombies31.jpg" width="240" height="170" /> <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Plants Vs. Zombies 4" border="0" alt="Plants Vs. Zombies 4" src="http://xnian.com/wp-content/uploads/2009/11/PlantsVs.Zombies41.jpg" width="240" height="170" /> </strong></p>
<p><strong>下载地址：<a href="http://www.verycd.com/topics/2745208/" target="_blank">电驴下载</a></strong></p>
<hr />
<h3>Eets《伊特》</h3>
<p><strong>研发公司：</strong>KLEI</p>
<p><strong>游戏类型：</strong>解谜</p>
<p><strong>蛋疼指数：</strong>★★★☆</p>
<p><strong>基本内容：</strong></p>
<p>伊特，英文名:Eets，是一只喜欢吃东西的白色小精灵，不同的食物会使它拥有各种神奇的力量，收集拼图是它的最大爱好。</p>
<p><strong>游戏规则：</strong></p>
<p>丰富的游戏道具是这款游戏的一大亮点，游戏中，每个大的关卡道具都不相同，物品种类相当丰富，发挥的作用更是另你想象不到：从大嘴鲸鱼，到放屁猪，再到各种机器人……开动脑筋，来帮助伊特解开谜题收集更多的拼图吧。</p>
<p><strong>游戏截图：</strong></p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Eets 1" border="0" alt="Eets 1" src="http://xnian.com/wp-content/uploads/2009/11/Eets1.jpg" width="240" height="180" /> <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Eets 2" border="0" alt="Eets 2" src="http://xnian.com/wp-content/uploads/2009/11/Eets2.jpg" width="240" height="180" /> </p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Eets 3" border="0" alt="Eets 3" src="http://xnian.com/wp-content/uploads/2009/11/Eets3.jpg" width="240" height="180" /> <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Eets 4" border="0" alt="Eets 4" src="http://xnian.com/wp-content/uploads/2009/11/Eets4.jpg" width="240" height="180" /> </p>
<p><strong>下载地址：<a href="http://www.verycd.com/topics/72608/" target="_blank">电驴下载</a></strong></p>
<hr />
<h3>Chains《泡泡链》</h3>
<p><strong>研发公司：</strong>Meridian4</p>
<p><strong>游戏类型：</strong>益智</p>
<p><strong>蛋疼指数：</strong>★★★★☆</p>
<p><strong>游戏规则：</strong></p>
<p>游戏的目地很简单，把相同颜色邻近的泡泡连起来就可以消除掉。具体操作也很容易上手，点击一个泡泡，然后鼠标经过附近同颜色的泡泡就会拉出一条线，经过的越多当然得分越多，最少连到3颗再点击一下就会消除掉了。当然不是闭着眼消除就可以了，不同的关卡会有不同的目标需要达成，像是第五关，玩家必须一次连出15个泡泡才可以通过。</p>
<p><strong>游戏截图：</strong></p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Chains 1" border="0" alt="Chains 1" src="http://xnian.com/wp-content/uploads/2009/11/Chains1.jpg" width="240" height="180" /> <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Chains 2" border="0" alt="Chains 2" src="http://xnian.com/wp-content/uploads/2009/11/Chains2.jpg" width="240" height="180" /> </p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Chains 3" border="0" alt="Chains 3" src="http://xnian.com/wp-content/uploads/2009/11/Chains3.jpg" width="240" height="180" /> <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Chains 4" border="0" alt="Chains 4" src="http://xnian.com/wp-content/uploads/2009/11/Chains4.jpg" width="240" height="180" /> </p>
</p>
</p>
<p><strong>下载地址：<a href="http://www.verycd.com/topics/2779676/" target="_blank">电驴下载</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://xnian.com/2009/11/1875.html/feed</wfw:commentRss>
		<slash:comments>46</slash:comments>
		</item>
		<item>
		<title>QQ2009_SP3/SP4皮肤制作教程</title>
		<link>http://xnian.com/2009/10/1827.html</link>
		<comments>http://xnian.com/2009/10/1827.html#comments</comments>
		<pubDate>Tue, 20 Oct 2009 13:01:16 +0000</pubDate>
		<dc:creator>纪小年</dc:creator>
				<category><![CDATA[常用知识]]></category>
		<category><![CDATA[QQ]]></category>
		<category><![CDATA[主题]]></category>
		<category><![CDATA[教程]]></category>
		<category><![CDATA[皮肤]]></category>

		<guid isPermaLink="false">http://xnian.com/2009/10/1827.html</guid>
		<description><![CDATA[研究了一下午终于晓得QQ2009 SP3/SP4皮肤的制作如何制作了。要感谢制作im mt主题的邪魔，才得以从他制作的皮肤里面略窥一二。首先看一下我制作的主题： 虽然能改的地方比较少，不过好歹跟原版不一样了，嘿嘿……我已经把我做的皮肤包放到skydrive，down下来修改一下就可以用了哦。 首先要把down下来的皮肤包用winrar解压出来，会得到以下的几个文件： 第二，用记事本打开themeconfig.xml，修改对应项： &#60;theme-config PackPreview=&#34;preview.jpg&#34; PackName=&#34;纪小年&#34; PackMinVer=&#34;1596&#34; PackVersion=&#34;1.0&#34; PackID=&#34;320A8C&#34;&#62; &#60;!&#8211;PackPreview是预览图片，PackName是皮肤包的名字，PackVersion是版本号，PackID是皮肤包的序列号，尽量保证所安装的皮肤包的序列号都不一样&#8211;&#62; &#160;&#160;&#160; &#60;extcontrol&#62; &#160;&#160;&#160;&#160;&#160;&#160;&#160; &#60;adjustcolor enable=&#34;false&#34;/&#62; &#160;&#160;&#160; &#60;/extcontrol&#62; &#160;&#160;&#160; &#60;colorlist&#62;&#60;!&#8211;调色列表max8&#8211;&#62; &#160;&#160;&#160;&#160;&#160;&#160;&#160; &#60;color value=&#34;22b6e7&#34;/&#62; &#160;&#160;&#160;&#160;&#160;&#160;&#160; &#60;color value=&#34;39d6db&#34;/&#62; &#160;&#160;&#160; &#60;/colorlist&#62; &#160;&#160;&#160; &#60;backgroundlist&#62;&#60;!&#8211;底纹列表max8&#8211;&#62; &#160;&#160;&#160;&#160;&#160;&#160;&#160; &#60;background preview=&#34;bg_preview_sea.png&#34; maintopfile=&#34;main_up.png&#34; mainbottomfile=&#34;main_down.png&#34; chattopfile=&#34;aio_up.png&#34; color=&#34;ffffff&#34;/&#62; &#160;&#160;&#160;&#160;&#160;&#160;&#160; &#60;background preview=&#34;bg_preview_rain.png&#34; maintopfile=&#34;main_up_rain.png&#34; mainbottomfile=&#34;main_down_empty&#34; chattopfile=&#34;aio_up_rain.png&#34; color=&#34;22b6e7&#34; /&#62; &#160;&#160;&#160; &#60;/backgroundlist&#62; &#160;&#160;&#160; &#60;configlist&#62;&#60;!&#8211;主面板0和聊天面板1上的图片&#8211;&#62; &#160;&#160;&#160;&#160;&#160;&#160;&#160; &#60;themeconfig file=&#34;main.png&#34; anchor=&#34;topright&#34; [...]]]></description>
			<content:encoded><![CDATA[<p>研究了一下午终于晓得QQ2009 SP3/SP4皮肤的制作如何制作了。要感谢制作im mt主题的邪魔，才得以从他制作的皮肤里面略窥一二。首先看一下我制作的主题：</p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="整体效果" border="0" alt="整体效果" src="http://xnian.com/wp-content/uploads/2009/10/6e0713d3e5f0.jpg" width="625" height="433" /> </p>
<p>虽然能改的地方比较少，不过好歹跟原版不一样了，嘿嘿……我已经把我做的皮肤包放到skydrive，down下来<u>修改</u>一下就可以用了哦。</p>
<p><iframe style="padding-bottom: 0px; background-color: #000000; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-92e875252343697a.skydrive.live.com/embedicon.aspx/.Public/%e7%ba%aa%e5%b0%8f%e5%b9%b4.kipx" frameborder="0" marginwidth="0" scrolling="no"></iframe></p>
<p>首先要把down下来的皮肤包用winrar解压出来，会得到以下的几个文件：</p>
<p><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="文件" border="0" alt="文件" src="http://xnian.com/wp-content/uploads/2009/10/3ad9cb674791.jpg" width="598" height="93" /> </p>
<p>第二，用记事本打开themeconfig.xml，修改对应项：</p>
<blockquote><p><span style="color: rgb(255,255,0); font-weight: bold">&lt;theme-config</span> <span style="color: rgb(255,255,0)">PackPreview=</span><span style="color: rgb(187,187,0)">&quot;preview.jpg&quot;</span> <span style="color: rgb(255,255,0)">PackName=</span><span style="color: rgb(187,187,0)">&quot;纪小年&quot;</span> <span style="color: rgb(255,255,0)">PackMinVer=</span><span style="color: rgb(187,187,0)">&quot;1596&quot;</span> <span style="color: rgb(255,255,0)">PackVersion=</span><span style="color: rgb(187,187,0)">&quot;1.0&quot;</span> <span style="color: rgb(255,255,0)">PackID=</span><span style="color: rgb(187,187,0)">&quot;320A8C&quot;</span><span style="color: rgb(255,255,0); font-weight: bold">&gt;</span>       <br /><span style="color: rgb(105,105,105)">&lt;!&#8211;PackPreview是预览图片，PackName是皮肤包的名字，PackVersion是版本号，PackID是皮肤包的序列号，尽量保证所安装的皮肤包的序列号都不一样&#8211;&gt;</span>       <br />&#160;&#160;&#160; <span style="color: rgb(255,255,0); font-weight: bold">&lt;extcontrol&gt;</span>       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: rgb(255,255,0); font-weight: bold">&lt;adjustcolor</span> <span style="color: rgb(255,255,0)">enable=</span><span style="color: rgb(187,187,0)">&quot;false&quot;</span><span style="color: rgb(255,255,0); font-weight: bold">/&gt;</span>       <br />&#160;&#160;&#160; <span style="color: rgb(255,255,0); font-weight: bold">&lt;/extcontrol&gt;</span>       <br />&#160;&#160;&#160; <span style="color: rgb(255,255,0); font-weight: bold">&lt;colorlist&gt;</span><span style="color: rgb(105,105,105)">&lt;!&#8211;调色列表max8&#8211;&gt;</span>       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: rgb(255,255,0); font-weight: bold">&lt;color</span> <span style="color: rgb(255,255,0)">value=</span><span style="color: rgb(187,187,0)">&quot;22b6e7&quot;</span><span style="color: rgb(255,255,0); font-weight: bold">/&gt;</span>       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: rgb(255,255,0); font-weight: bold">&lt;color</span> <span style="color: rgb(255,255,0)">value=</span><span style="color: rgb(187,187,0)">&quot;39d6db&quot;</span><span style="color: rgb(255,255,0); font-weight: bold">/&gt;</span>       <br />&#160;&#160;&#160; <span style="color: rgb(255,255,0); font-weight: bold">&lt;/colorlist&gt;</span>       <br />&#160;&#160;&#160; <span style="color: rgb(255,255,0); font-weight: bold">&lt;backgroundlist&gt;</span><span style="color: rgb(105,105,105)">&lt;!&#8211;底纹列表max8&#8211;&gt;</span>       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: rgb(255,255,0); font-weight: bold">&lt;background</span> <span style="color: rgb(255,255,0)">preview=</span><span style="color: rgb(187,187,0)">&quot;bg_preview_sea.png&quot;</span> <span style="color: rgb(255,255,0)">maintopfile=</span><span style="color: rgb(187,187,0)">&quot;main_up.png&quot;</span> <span style="color: rgb(255,255,0)">mainbottomfile=</span><span style="color: rgb(187,187,0)">&quot;main_down.png&quot;</span> <span style="color: rgb(255,255,0)">chattopfile=</span><span style="color: rgb(187,187,0)">&quot;aio_up.png&quot;</span> <span style="color: rgb(255,255,0)">color=</span><span style="color: rgb(187,187,0)">&quot;ffffff&quot;</span><span style="color: rgb(255,255,0); font-weight: bold">/&gt;</span>       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: rgb(255,255,0); font-weight: bold">&lt;background</span> <span style="color: rgb(255,255,0)">preview=</span><span style="color: rgb(187,187,0)">&quot;bg_preview_rain.png&quot;</span> <span style="color: rgb(255,255,0)">maintopfile=</span><span style="color: rgb(187,187,0)">&quot;main_up_rain.png&quot;</span> <span style="color: rgb(255,255,0)">mainbottomfile=</span><span style="color: rgb(187,187,0)">&quot;main_down_empty&quot;</span> <span style="color: rgb(255,255,0)">chattopfile=</span><span style="color: rgb(187,187,0)">&quot;aio_up_rain.png&quot;</span> <span style="color: rgb(255,255,0)">color=</span><span style="color: rgb(187,187,0)">&quot;22b6e7&quot;</span> <span style="color: rgb(255,255,0); font-weight: bold">/&gt;</span>       <br />&#160;&#160;&#160; <span style="color: rgb(255,255,0); font-weight: bold">&lt;/backgroundlist&gt;</span>       <br />&#160;&#160;&#160; <span style="color: rgb(255,255,0); font-weight: bold">&lt;configlist&gt;</span><span style="color: rgb(105,105,105)">&lt;!&#8211;主面板0和聊天面板1上的图片&#8211;&gt;</span>       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: rgb(255,255,0); font-weight: bold">&lt;themeconfig</span> <span style="color: rgb(255,255,0)">file=</span><span style="color: rgb(187,187,0)">&quot;main.png&quot;</span> <span style="color: rgb(255,255,0)">anchor=</span><span style="color: rgb(187,187,0)">&quot;topright&quot;</span> <span style="color: rgb(255,255,0)">position=</span><span style="color: rgb(187,187,0)">&quot;0&quot;</span> <span style="color: rgb(255,255,0)">offset=</span><span style="color: rgb(187,187,0)">&quot;-2,-15&quot;</span><span style="color: rgb(255,255,0); font-weight: bold">/&gt;</span>       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: rgb(255,255,0); font-weight: bold">&lt;themeconfig</span> <span style="color: rgb(255,255,0)">file=</span><span style="color: rgb(187,187,0)">&quot;aio.png&quot;</span> <span style="color: rgb(255,255,0)">anchor=</span><span style="color: rgb(187,187,0)">&quot;topright&quot;</span> <span style="color: rgb(255,255,0)">position=</span><span style="color: rgb(187,187,0)">&quot;1&quot;</span> <span style="color: rgb(255,255,0)">offset=</span><span style="color: rgb(187,187,0)">&quot;-2,-2&quot;</span><span style="color: rgb(255,255,0); font-weight: bold">/&gt;</span>       <br />&#160;&#160;&#160; <span style="color: rgb(255,255,0); font-weight: bold">&lt;/configlist&gt;</span>       <br />&#160;&#160;&#160; <span style="color: rgb(255,255,0); font-weight: bold">&lt;facelist&gt;</span>       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: rgb(255,255,0); font-weight: bold">&lt;face</span> <span style="color: rgb(255,255,0)">pack=</span><span style="color: rgb(187,187,0)">&quot;纪小年.eif&quot;</span><span style="color: rgb(255,255,0); font-weight: bold">/&gt;</span>       <br />&#160;&#160;&#160; <span style="color: rgb(255,255,0); font-weight: bold">&lt;/facelist&gt;</span>       <br /><span style="color: rgb(255,255,0); font-weight: bold">&lt;/theme-config&gt;</span></span></p>
</blockquote>
<p>修改完之后保存就可以了，不用特意改成UTF-8格式的。</p>
<p>第三，修改图片……这就不说了，看你的想象啦，我就是单纯的弄了几个字而已。</p>
<p>第四，把所有的文件都压缩到一个包里面，压缩格式是CAB，可以用windows自带的软件IExpress.exe就可以了，关于IExpress.exe详细的使用方法<a href="http://www.yesky.com/397/35397.shtml" target="_blank">在此</a>。我就用图片简单解说如何压缩成CAB格式好了。</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="win+R=&gt;运行" border="0" alt="win+R=&gt;运行" src="http://xnian.com/wp-content/uploads/2009/10/image.png" width="427" height="261" /> </p>
<p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="1" border="0" alt="1" src="http://xnian.com/wp-content/uploads/2009/10/image1.png" width="451" height="324" /> </p>
<p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="2" border="0" alt="2" src="http://xnian.com/wp-content/uploads/2009/10/image2.png" width="451" height="324" /> </p>
<p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="3" border="0" alt="3" src="http://xnian.com/wp-content/uploads/2009/10/image3.png" width="451" height="324" /> </p>
<p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="4" border="0" alt="4" src="http://xnian.com/wp-content/uploads/2009/10/image4.png" width="451" height="324" /> </p>
<p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="5" border="0" alt="5" src="http://xnian.com/wp-content/uploads/2009/10/image5.png" width="451" height="324" /> </p>
<p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="6" border="0" alt="6" src="http://xnian.com/wp-content/uploads/2009/10/image6.png" width="451" height="324" /> </p>
<p>最后，把CAB文件的后缀名改成.kipx就可以了。</p>
<p>PS：可能同学们不一定都是会员，所以聊天框上面有广告，就会把制作的皮肤挡住，很烦人。在这里隆重推荐QQNoAD，最新版本应该是2.95，可以实现本地VIP、去广告和显IP等功能哦~同学们自己GG/MM吧。</p>
<p>PS：原创文章，打字挺麻烦的，转载请注明出处，谢谢。</p>
]]></content:encoded>
			<wfw:commentRss>http://xnian.com/2009/10/1827.html/feed</wfw:commentRss>
		<slash:comments>40</slash:comments>
		</item>
		<item>
		<title>推荐一些在线网站</title>
		<link>http://xnian.com/2009/10/1816.html</link>
		<comments>http://xnian.com/2009/10/1816.html#comments</comments>
		<pubDate>Tue, 20 Oct 2009 04:56:36 +0000</pubDate>
		<dc:creator>纪小年</dc:creator>
				<category><![CDATA[常用知识]]></category>
		<category><![CDATA[推荐]]></category>
		<category><![CDATA[网站]]></category>

		<guid isPermaLink="false">http://xnian.com/2009/10/1816.html</guid>
		<description><![CDATA[textanim.com——该网站能够生成动态文字图片。比如我的域名： &#160; favicon.cc——看域名就知道了，在线生成favicon.ico的网站，一般的favicon.ico生成网站都是要上传图片生成，这样弄出来的ico很不清晰，而favicon.cc是在线绘制ico，做出来的很漂亮哦。嗯，我就是在这个网站上制作的。 金米网——可以查询有哪些域名要到期的，一般的到期时间都是在凌晨4点左右。我守了一次，结果没抢到…… 代码发芽网——这个网站能够把程序语言弄成彩色的，让你摆脱插件的困扰。 汉典 zdic.net——这里面不仅有很多知识，还有小篆字体哦……比如我的博名： 网络名片——就是把你所有的账户资料放在上面，比如tw，Google等等，搞的跟名片一样，好像跟汉字有点不兼容……现在好像只支持以下服务： 万方数据——在线查询论文的数据库，账户密码都是gzdxtsg。 Muzicons——很漂亮的在线flash播放器，只要你知道歌曲的URL就OK了，可惜的是仅能选择MP3格式文件。 快递查询网——经常逛淘宝必备网站。]]></description>
			<content:encoded><![CDATA[<ul>
<li><a href="http://textanim.com/" target="_blank">textanim.com</a>——该网站能够生成动态文字图片。比如我的域名：      <br /><img style="display: inline" title="q9iWtu1256013649" alt="q9iWtu1256013649" src="http://xnian.com/wp-content/uploads/2009/10/q9iWtu1256013649.gif" width="240" height="48" />&#160;</li>
<li><a href="http://www.favicon.cc/" target="_blank">favicon.cc</a>——看域名就知道了，在线生成favicon.ico的网站，一般的favicon.ico生成网站都是要上传图片生成，这样弄出来的ico很不清晰，而favicon.cc是在线绘制ico，做出来的很漂亮哦。嗯，我就是在这个网站上制作的。</li>
<li><a href="http://www.kingnic.com/" target="_blank">金米网</a>——可以查询有哪些域名要到期的，一般的到期时间都是在凌晨4点左右。我守了一次，结果没抢到……</li>
<li><a href="http://fayaa.com/code/new/">代码发芽网</a>——这个网站能够把程序语言弄成彩色的，让你摆脱插件的困扰。</li>
<li><a href="http://www.zdic.net/" target="_blank">汉典 zdic.net</a>——这里面不仅有很多知识，还有小篆字体哦……比如我的博名：      <br /><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="j" border="0" alt="j" src="http://xnian.com/wp-content/uploads/2009/10/j.gif" width="100" height="100" /><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="x" border="0" alt="x" src="http://xnian.com/wp-content/uploads/2009/10/x.gif" width="100" height="100" /><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="n" border="0" alt="n" src="http://xnian.com/wp-content/uploads/2009/10/n.gif" width="100" height="100" /> </li>
<li><a href="http://card.ly/" target="_blank">网络名片</a>——就是把你所有的账户资料放在上面，比如tw，Google等等，搞的跟名片一样，好像跟汉字有点不兼容……现在好像只支持以下服务：      <br /><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="card.ly" border="0" alt="card.ly" src="http://xnian.com/wp-content/uploads/2009/10/card.ly.jpg" width="167" height="66" /> </li>
<li><a href="http://cd.wanfangdata.com.cn/default.aspx" target="_blank">万方数据</a>——在线查询论文的数据库，账户密码都是gzdxtsg。</li>
<li><a href="http://muzicons.com/" target="_blank">Muzicons</a>——很漂亮的在线flash播放器，只要你知道歌曲的URL就OK了，可惜的是仅能选择MP3格式文件。</li>
<li><a href="http://www.kdwang.com/" target="_blank">快递查询网</a>——经常逛淘宝必备网站。</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://xnian.com/2009/10/1816.html/feed</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
		<item>
		<title>无线电力传输[无线充电]</title>
		<link>http://xnian.com/2009/10/1791.html</link>
		<comments>http://xnian.com/2009/10/1791.html#comments</comments>
		<pubDate>Sun, 04 Oct 2009 06:12:00 +0000</pubDate>
		<dc:creator>纪小年</dc:creator>
				<category><![CDATA[常用知识]]></category>
		<category><![CDATA[无线充电]]></category>
		<category><![CDATA[电力]]></category>

		<guid isPermaLink="false">http://xnian.com/2009/10/1791.html</guid>
		<description><![CDATA[无线输电技术是一种利用无线电技术传输电力能量的技术，目前尚在初步应用阶段。但是无线输电的提出最早要追溯到1889年尼古拉·特斯拉这位大师了。 尼古拉·特斯拉（Nikola Tesla，1856－1943） 1856年7月10日，他生于南斯拉夫克罗地亚的斯米良，他父亲是牧师，母亲是打蛋器的发明者。他一生的发明无数。1882年，他继爱迪生发明直流电（DC）后不久，发明了交流电（AC），并制造出世界上第一台交流发电机，并创立了多相电力传输技术。 1895年，他替美国尼亚加拉发电站制造发电机组，致使该发电站至今仍是世界著名水电站之一。 1897年，他使马可尼的无线电通信理论成为现实。 1898年，他制造出世界上第一艘无线电遥控船，无线电遥控技术取得专利（美国专利号#613.809）。 1899年，他发明了X光(X-Ray)摄影技术。其他发明包括：收音机、雷达、传真机、真空管、霓虹灯管、飞弹导航、星球防御系统等。甚至以他名字而命名的磁密度单位（1 Tesla = 10,000 Gause）更表明他在磁学上的贡献。 一个被世人所遗忘的巨人，而另一个发明家却被人津津乐道，那就是爱迪生（Thomas Edison）。但是这两个人并没有成为朋友，反而爱迪生经常性的打压特拉斯及其发明的交流电，因为直流电相对于交流电实在有太多的缺点和限制，从而威胁了爱迪生当时正在经营直流电生意。于是，基于利益上的冲突，爱迪生不得不打压特拉斯。 1889年特拉斯便发明了&#34;无线传电方法&#34;。于是在美国科罗拉多泉（Colorado Spring）建设实验室开发及研究此项&#34;无线传电&#34;技术，即是将当时的低频高压电流（5060Hz）转化为高频电流，然后再经由空气作为传送媒介来输电。此项&#34;无线传电&#34;技术不单省却了输电电缆的成本，更可以免去输电时因电阻所致的损耗。 技术上，无线输电技术与无线电通讯中所用发射与接收技术并无本质区别。但是前者着眼于传输能量，而非附载于能量之上的信息。无线输电技术的最大困难在于无线电波的弥散与不期望的吸收与衰减。对于无线电通讯，无线电波的弥散问题甚至不一定是件坏事，但是却可能给无线输电带来严重的传输效率问题。一个办法是使用微波甚至激光传输，理论上，无线电波波长越短，其定向性越好，弥散越小。P.s: 微波的波长为1mm—1m，可见激光的波长为400nm－700nm，另外，所有的光都是电磁波。 以下信息来源Google资讯: 03年05月，《光明日报》转引了英国《新科学家》的一则报道说：英国通能公司新近发明了一种新颖的无线充电技术。此项技术是根据磁性诱导电力传输原理发展而成的，可为手机、笔记本电脑方便充电。无线充电垫子厚度还不到1毫米，价格在50美元左右。可惜的是，我竟然Google不到该公司的任何消息…… 07年，中国网、中国经济网等多家网站提到英国SplashPower公司2005年初上市的无线充电器Splash pads，就是变压器原理商业化的无线充电产品（未找到该产品资料）。并且在CES 2007上，WildCharge公司也推出了两款无线充电器产品WildCharger 和WildCharger-Mini。WildCharge的无线充电器与SpashPower公司的产品非常相似，也是垫子模样的东西，其中WildCharger功率较大，除了可以给手机和媒体播放器充电，还可以为笔记本电脑充电，而WildCharger-Mini只能给手机等小型设备充电。据称WildCharge公司已从2007年7月7日开始通过网上销售产品。 07年06月，新华网发表了一篇名为&#34;隔空&#34;传电前景如何？我专家称：不太实用的文章中提到：美国麻省理工学院（MIT）的MIT的助理教授马林·索尔贾希克(Marin Soljacic)和他的研究小组在《科学》杂志上发表报告说，其试制的无线电力传输装置，向2米外的60瓦灯泡供电，并成功点亮了它，即使在电源与灯泡中间摆上木头、金属或其它电器，都不会影响灯泡发光。MIT的方案采用了磁场耦合共振器（Magnetically Coupled Resonators），其传输效率得到了大幅提升，在2米的距离达到了40%。但是遗憾的是，这项技术所产生的电磁辐射非常大，安全性太差，距离实用阶段还很远。 08年08月，Intel也不甘寂寞，在英特尔开发者论坛（IDF）的第三天，展示无线电力传输驱动60W灯泡。该项研究是由Intel西雅图实验室的Joshua R. Smith领导的，部分技术基于麻省理工学院物理学家Marin Soljacic的研究。可以在一米距离内无线给60W灯泡提供电力，值得注意的是其效率高达75%。 在08年09月，北美电力研讨会已经在美国内华达州的雷电实验室成功的将800W电力用无线的方式传输到5米远的距离。 可这些设备太巨大了，无法应用到家庭，办公室等小型场所。 Sony 也在今天（2009.10.04）发了一个新闻稿，说明他们在无线电力传输方面的进展。基本上他们已经可以传输 60W 的电力 50 公分的距离，虽然传输本身大约只耗损 20%，但从输电侧交流电转到无线传输，再到接收端换回交流电输出，大约会耗损 40% 的电力，可见索尼的技术还不过硬啊。 现如今无线充电技术应用已经很广泛了，在淘宝上搜索无线充电，在所有分类中共找到&#34;无线充电 &#34;宝贝2082件，从理发器，吸尘器，扫地机等生活电器到各种各样的无线充电器，应有尽有。 想象一下未来的家会是什么样子呢？只要在家里的天花板上安装一个高频发送端（XMTR），电流通过发送端产生一个强烈的电磁场，就可以为房间里面的所有电器供给电能。台灯不再需要电线，笔记本电脑不再需要电池，手机会自动充电……而且，不用在装修的时候就考虑如何布线，想把电器放哪就放哪。只是希望到了那个时候，邻居不要盗用了我付费的“无线电能”。]]></description>
			<content:encoded><![CDATA[<p>无线输电技术是一种利用无线电技术传输电力能量的技术，目前尚在初步应用阶段。但是无线输电的提出最早要追溯到1889年<strong>尼古拉·特斯拉</strong>这位大师了。 </p>
<blockquote><p><img alt="" align="right" src="http://xnian.com/wp-content/uploads/2009/10/100409_0602_1.png" />尼古拉·特斯拉（Nikola Tesla，1856－1943） </p>
<p>1856年7月10日，他生于南斯拉夫克罗地亚的斯米良，他父亲是牧师，母亲是打蛋器的发明者。他一生的发明无数。1882年，他继爱迪生发明直流电（DC）后不久，发明了交流电（AC），并制造出世界上第一台交流发电机，并创立了多相电力传输技术。 1895年，他替美国尼亚加拉发电站制造发电机组，致使该发电站至今仍是世界著名水电站之一。 1897年，他使马可尼的无线电通信理论成为现实。 1898年，他制造出世界上第一艘无线电遥控船，无线电遥控技术取得专利（美国专利号#613.809）。 1899年，他发明了X光(X-Ray)摄影技术。其他发明包括：收音机、雷达、传真机、真空管、霓虹灯管、飞弹导航、星球防御系统等。甚至以他名字而命名的磁密度单位（1 Tesla = 10,000 Gause）更表明他在磁学上的贡献。 </p>
</blockquote>
<p>一个被世人所遗忘的巨人，而另一个发明家却被人津津乐道，那就是爱迪生（Thomas Edison）。但是这两个人并没有成为朋友，反而爱迪生经常性的打压特拉斯及其发明的交流电，因为直流电相对于交流电实在有太多的缺点和限制，从而威胁了爱迪生当时正在经营直流电生意。于是，基于利益上的冲突，爱迪生不得不打压特拉斯。 </p>
<p>1889年特拉斯便发明了&quot;无线传电方法&quot;。于是在美国科罗拉多泉（Colorado Spring）建设实验室开发及研究此项&quot;无线传电&quot;技术，即是将当时的<strong>低频高压电流</strong>（5060Hz）转化为<strong>高频电流</strong>，然后再经由空气作为传送媒介来输电。此项&quot;无线传电&quot;技术不单省却了输电电缆的成本，更可以免去输电时因电阻所致的损耗。 </p>
<p>技术上，无线输电技术与<strong>无线电通讯</strong>中所用发射与接收技术并无本质区别。但是前者着眼于传输能量，而非附载于能量之上的信息。无线输电技术的最大困难在于<span style="text-decoration: underline">无线电波的弥散</span>与<span style="text-decoration: underline">不期望的吸收与衰减</span>。对于无线电通讯，无线电波的弥散问题甚至不一定是件坏事，但是却可能给无线输电带来严重的传输效率问题。一个办法是使用微波甚至激光传输，理论上，无线电波波长越短，其定向性越好，弥散越小。P.s: 微波的波长为1mm—1m，可见激光的波长为400nm－700nm，另外，所有的光都是电磁波。 </p>
<p><span style="color: #fbd4b4">以下信息来源Google资讯:</span></p>
<p>03年05月，<a href="http://www.gmw.cn/01gmrb/2003-05/16/19-63FE3F0875C0007C48256D2700818773.htm">《光明日报》转引了英国《新科学家》的一则报道说：</a>英国通能公司新近发明了一种新颖的无线充电技术。此项技术是根据磁性诱导电力传输原理发展而成的，可为手机、笔记本电脑方便充电。无线充电垫子厚度还不到<strong>1毫米</strong>，价格在50美元左右。可惜的是，我竟然Google不到该公司的任何消息……</p>
<p>07年，<a href="http://www.china.com.cn/news/txt/2007-09/08/content_8839353_2.htm">中国网</a>、<a href="http://sci.ce.cn/discovery/others/200709/08/t20070908_12833057.shtml">中国经济网</a>等多家网站提到英国SplashPower公司2005年初上市的无线充电器Splash pads，就是变压器原理商业化的无线充电产品（未找到该产品资料）。并且在CES 2007上，WildCharge公司也推出了两款无线充电器产品WildCharger 和WildCharger-Mini。WildCharge的无线充电器与SpashPower公司的产品非常相似，也是垫子模样的东西，其中WildCharger功率较大，除了可以给手机和媒体播放器充电，还可以为笔记本电脑充电，而WildCharger-Mini只能给手机等小型设备充电。据称WildCharge公司已<a href="http://www.engadget.com/2006/12/08/wildcharger-charges-your-gadgetry-sans-wires/">从2007年7月7日开始通过网上销售产品</a>。</p>
<p>07年06月，新华网发表了一篇名为<a href="http://news.xinhuanet.com/tech/2007-06/13/content_6234147.htm">&quot;隔空&quot;传电前景如何？我专家称：不太实用</a>的文章中提到：美国麻省理工学院（MIT）的MIT的助理教授马林·索尔贾希克(Marin Soljacic)和他的研究小组在《科学》杂志上发表报告说，其试制的无线电力传输装置，向2米外的60瓦灯泡供电，并成功点亮了它，即使在电源与灯泡中间摆上木头、金属或其它电器，都不会影响灯泡发光。MIT的方案采用了磁场耦合共振器（Magnetically Coupled Resonators），其传输效率得到了大幅提升，在2米的距离达到了40%。但是遗憾的是，这项技术所产生的电磁辐射非常大，安全性太差，距离实用阶段还很远。</p>
<p style="text-align: center"><img alt="" src="http://xnian.com/wp-content/uploads/2009/10/100409_0602_2.png" /> </p>
<p>08年08月，Intel也不甘寂寞，在英特尔开发者论坛（IDF）的第三天，<a href="http://tech.sina.com.cn/h/2008-08-22/1108778154.shtml">展示无线电力传输驱动60W灯泡</a>。该项研究是由Intel西雅图实验室的Joshua R. Smith领导的，部分技术基于麻省理工学院物理学家Marin Soljacic的研究。可以在一米距离内无线给60W灯泡提供电力，值得注意的是其效率高达75%。 </p>
<p style="text-align: center"><img alt="" src="http://xnian.com/wp-content/uploads/2009/10/100409_0602_3.png" /> </p>
<p>在08年09月，北美电力研讨会已经在美国内华达州的雷电实验室成功的将800W电力用无线的方式<a href="http://tech.sina.com.cn/h/2008-12-11/1615910373.shtml">传输到5米远的距离</a>。 可这些设备太巨大了，无法应用到家庭，办公室等小型场所。 </p>
<p style="text-align: center"><img alt="" src="http://xnian.com/wp-content/uploads/2009/10/100409_0602_4.jpg" width="572" height="417" /> </p>
<p>Sony 也在今天（2009.10.04）发了一个新闻稿，说明他们在无线电力传输方面的进展。基本上他们已经可以传输 60W 的电力 50 公分的距离，虽然传输本身大约只耗损 20%，但从输电侧交流电转到无线传输，再到接收端换回交流电输出，大约会耗损 40% 的电力，可见索尼的技术还不过硬啊。 </p>
<p style="text-align: center"><img alt="" src="http://xnian.com/wp-content/uploads/2009/10/100409_0602_5.png" /> </p>
<p>现如今无线充电技术应用已经很广泛了，在淘宝上搜索无线充电，<a href="http://search1.taobao.com/browse/0/n-g,z3pm7x5t4s26o-------2-------b--40--commend-0-all-0.htm?ssid=e-s1&amp;at_topsearch=1">在所有分类中共找到&quot;无线充电 &quot;宝贝2082件</a>，从理发器，吸尘器，扫地机等生活电器到各种各样的无线充电器，应有尽有。 </p>
<p>想象一下未来的家会是什么样子呢？只要在家里的天花板上安装一个高频发送端（XMTR），电流通过发送端产生一个强烈的电磁场，就可以为房间里面的所有电器供给电能。台灯不再需要电线，笔记本电脑不再需要电池，手机会自动充电……而且，不用在装修的时候就考虑如何布线，想把电器放哪就放哪。只是希望到了那个时候，邻居不要盗用了我付费的“无线电能”。</p>
]]></content:encoded>
			<wfw:commentRss>http://xnian.com/2009/10/1791.html/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>提取Chrome的缓存文件（Cache）</title>
		<link>http://xnian.com/2009/09/1776.html</link>
		<comments>http://xnian.com/2009/09/1776.html#comments</comments>
		<pubDate>Sun, 27 Sep 2009 05:52:08 +0000</pubDate>
		<dc:creator>纪小年</dc:creator>
				<category><![CDATA[常用知识]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Goolge]]></category>
		<category><![CDATA[缓存]]></category>

		<guid isPermaLink="false">http://xnian.com/2009/09/1776.html</guid>
		<description><![CDATA[今天在天涯音乐上找到一个搞笑的歌，是翻唱曾哥的《最天使》，带了点美声唱法，美其名曰：不知所云版。试听如下： 感觉不错，想把他搞成MP3格式放到iPod里面慢慢听，由于是通过flash播放出来的，我第一想法就是录音。无奈我的集成声卡跟Windows 7闹了点小矛盾，用ARWizard竟然找不到录音设备，所以这个方案被我抛弃之。然后我就想到了提取Chrome的缓存，点遍了Chrome上面所有的按钮也没找见存放缓存的选项，只好求助于Google大大的搜索引擎了。 要想提取缓存，我最开始的想法是先找到存放缓存的目录。“开始”菜单&#8211;&#62;运行&#8211;&#62;输入“ %HOMEPATH%\Local Settings\Application Data\Google\Chrome\User Data\Default\Cache\ ”&#8211;&#62;Enter之后，打开的就是Chrome的缓存文件夹了。无力的发现，缓存竟然是被压缩过的，传言是7z格式的，反正我用WinRAR是没打开。 是不是有专门查看缓存的软件呢？报着试一试的方法，Google了一下，还真让我找到一个名为ChromeCacheView.exe的查看器，喜滋滋的down下来。运行之后，搜索缓存，一切正常，就是结果不正常，除了文件大小和最后访问时间，其他都是空白。额，下载到目前最新版本1.20之后，发现，他可以正常导出了。只要在选定的文件上按下F4，选择导出的目录，就可以了。如下图所示： 有没有不用软件的方法呢？经过测试之后，发现的确有一种提取的方法。由于chrome的缓存机制，这个过程会非常快。 地址栏输入about:cache 按Ctrl+F，寻找你需要的文件 复制该文件的地址到地址栏，不是链接地址，不要复制错了哟 按Enter，那个文件就被你保存到默认的下载路径里面了]]></description>
			<content:encoded><![CDATA[<p>今天在天涯音乐上找到一个搞笑的歌，是翻唱曾哥的《最天使》，带了点美声唱法，美其名曰：不知所云版。试听如下：</p>
<p><object id="app" type="application/x-shockwave-flash" height="60" width="350" align="middle" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" name="app"><param value="http://music1.tianya.cn/irok/apps/iMusicA/iMusicA.swf?version=2.0.0.1" name="movie" /><param value="transparent" name="wmode" /><param value="high" name="quality" /><param value="#000000" name="bgcolor" /><param value="always" name="allowScriptAccess" /><param value="musicId=135092&amp;userId=28582291" name="FlashVars" /><embed id="app" width="350" height="60" align="middle" type="application/x-shockwave-flash" salign="" allowscriptaccess="always" allowfullscreen="false" menu="true" name="app" bgcolor="#000000" devicefont="false" wmode="window" scale="showall" flashvars="musicId=135092&#038;userId=28582291" loop="true" play="true" pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" src="http://music1.tianya.cn/irok/apps/iMusicA/iMusicA.swf?version=2.0.0.1" /></object></p>
<p>感觉不错，想把他搞成MP3格式放到iPod里面慢慢听，由于是通过flash播放出来的，我第一想法就是录音。无奈我的集成声卡跟Windows 7闹了点小矛盾，用ARWizard竟然找不到录音设备，所以这个方案被我抛弃之。然后我就想到了提取Chrome的缓存，点遍了Chrome上面所有的按钮也没找见存放缓存的选项，只好求助于Google大大的搜索引擎了。</p>
<p>要想提取缓存，我最开始的想法是先找到存放缓存的目录。“开始”菜单&#8211;&gt;运行&#8211;&gt;输入“ <strong><font color="#ff80ff">%HOMEPATH%\Local Settings\Application Data\Google\Chrome\User Data\Default\Cache\ </font></strong>”&#8211;&gt;Enter之后，打开的就是Chrome的缓存文件夹了。无力的发现，缓存竟然是被压缩过的，传言是7z格式的，反正我用WinRAR是没打开。</p>
<p>是不是有专门查看缓存的软件呢？报着试一试的方法，Google了一下，还真让我找到一个名为<a title="下载地址" href="http://wareseeker.com/Network-Internet/chromecacheview-1.20.zip/7caa4d747" target="_blank">ChromeCacheView.exe</a>的查看器，喜滋滋的down下来。<strike>运行之后，搜索缓存，一切正常，就是结果不正常，除了文件大小和最后访问时间，其他都是空白。</strike>额，下载到目前最新版本1.20之后，发现，他可以正常导出了。只要在选定的文件上按下<strong>F4</strong>，选择导出的目录，就可以了。如下图所示：</p>
<p><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://xnian.com/wp-content/uploads/2009/09/image11.png" width="463" height="83" /> </p>
<p>有没有不用软件的方法呢？经过测试之后，发现的确有一种提取的方法。由于chrome的缓存机制，这个过程会非常快。</p>
<ol>
<li>地址栏输入<a href="about:cache" target="_blank">about:cache</a> </li>
<li>按Ctrl+F，寻找你需要的文件 </li>
<li>复制该文件的地址到地址栏，不是链接地址，不要复制错了哟 </li>
<li>按Enter，那个文件就被你保存到默认的下载路径里面了 </li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://xnian.com/2009/09/1776.html/feed</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>软件编程规范之注释</title>
		<link>http://xnian.com/2009/09/1772.html</link>
		<comments>http://xnian.com/2009/09/1772.html#comments</comments>
		<pubDate>Tue, 22 Sep 2009 04:51:56 +0000</pubDate>
		<dc:creator>纪小年</dc:creator>
				<category><![CDATA[电子设计]]></category>
		<category><![CDATA[编程]]></category>
		<category><![CDATA[规范]]></category>

		<guid isPermaLink="false">http://xnian.com/2009/09/1772.html</guid>
		<description><![CDATA[&#60;1：一般情况下，源程序有效注释量必须在20％以上。 说明：注释的原则是有助于对程序的阅读理解，在该加的地方都加了，注释不宜太多也不能太少，注释语言必须准确、易懂、简洁。 &#60;2：说明性文件（如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等）头部应进行注释，注释必须列出：版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等，头文件的注释中还应有函数功能简要说明。 示例：下面这段头文件的头注释比较标准，当然，并不局限于此格式，但上述信息建议要包含在内。 /************************************************* Copyright (C), 19xx-20xx, Company // 版权信息 File name: // 文件名 Author:&#160;&#160;&#160;&#160;&#160;&#160; Version:&#160;&#160;&#160;&#160;&#160;&#160; Date:&#160;&#160;&#160;&#160;&#160;&#160; // 作者、版本及完成日期 Description: // 用于详细说明此程序文件完成的主要功能，与其他模块或函数的接口，输出值、取值范围、含义及参数间的控制、顺序、独立或依赖等关系 Others: // 其它内容的说明 Function List: // 主要函数列表，每条记录应包括函数名及功能简要说明 &#160;&#160;&#160;&#160;&#160;&#160; 1. &#8230; History: // 修改历史记录列表，每条修改记录应包括修改日期、修改 // 者及修改内容简述 &#160;&#160;&#160;&#160;&#160;&#160; 1. Date: &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Author: &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Modification: &#160;&#160;&#160;&#160;&#160;&#160; 2. &#8230; *************************************************/ &#60;3：源文件头部应进行注释，列出：版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。 示例：下面这段源文件的头注释比较标准，当然，并不局限于此格式，但上述信息建议要包含在内。 /************************************************************ Copyright (C), 1988-1999, [...]]]></description>
			<content:encoded><![CDATA[<p>&lt;1：一般情况下，源程序有效注释量必须在20％以上。</p>
<blockquote><p><em>说明：注释的原则是有助于对程序的阅读理解，在该加的地方都加了，注释不宜太多也不能太少，注释语言必须准确、易懂、简洁。</em></p>
</blockquote>
<p>&lt;2：说明性文件（如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等）头部应进行注释，注释必须列出：版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等，头文件的注释中还应有函数功能简要说明。 </p>
<blockquote><p><em>示例：下面这段头文件的头注释比较标准，当然，并不局限于此格式，但上述信息建议要包含在内。</em>       <br /><span style="color: #696969">/*************************************************</span>       <br /><span style="color: #696969">Copyright (C), 19xx-20xx, Company // 版权信息</span>       <br /><span style="color: #696969">File name: // 文件名</span>       <br /><span style="color: #696969">Author:&#160;&#160;&#160;&#160;&#160;&#160; Version:&#160;&#160;&#160;&#160;&#160;&#160; Date:&#160;&#160;&#160;&#160;&#160;&#160; // 作者、版本及完成日期</span>       <br /><span style="color: #696969">Description: // 用于详细说明此程序文件完成的主要功能，与其他模块或函数的接口，输出值、取值范围、含义及参数间的控制、顺序、独立或依赖等关系</span>       <br /><span style="color: #696969">Others: // 其它内容的说明</span>       <br /><span style="color: #696969">Function List: // 主要函数列表，每条记录应包括函数名及功能简要说明</span>       <br /><span style="color: #696969">&#160;&#160;&#160;&#160;&#160;&#160; 1. &#8230;</span>       <br /><span style="color: #696969">History: // 修改历史记录列表，每条修改记录应包括修改日期、修改</span>       <br /><span style="color: #696969">// 者及修改内容简述</span>       <br /><span style="color: #696969">&#160;&#160;&#160;&#160;&#160;&#160; 1. Date:</span>       <br /><span style="color: #696969">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Author:</span>       <br /><span style="color: #696969">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Modification:</span>       <br /><span style="color: #696969">&#160;&#160;&#160;&#160;&#160;&#160; 2. &#8230;</span>       <br /><span style="color: #696969">*************************************************/</span> </p>
</blockquote>
<p>&lt;3：源文件头部应进行注释，列出：版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。</p>
<blockquote><p><em>示例：下面这段源文件的头注释比较标准，当然，并不局限于此格式，但上述信息建议要包含在内。</em>       <br /><span style="color: #696969">/************************************************************ </span>      <br /><span style="color: #696969">Copyright (C), 1988-1999, Huawei Tech. Co., Ltd. </span>      <br /><span style="color: #696969">FileName: test.cpp </span>      <br /><span style="color: #696969">Author:&#160;&#160;&#160;&#160;&#160;&#160; Version :&#160;&#160;&#160;&#160;&#160;&#160; Date:&#160;&#160;&#160;&#160;&#160;&#160; </span>      <br /><span style="color: #696969">Description: // 模块描述 </span>      <br /><span style="color: #696969">Version: // 版本信息 </span>      <br /><span style="color: #696969">Function List: // 主要函数及其功能 </span>      <br /><span style="color: #696969">&#160;&#160;&#160;&#160;&#160;&#160; 1. &#8230; </span>      <br /><span style="color: #696969">History: // 历史修改记录 </span>      <br /><span style="color: #696969">&#160;&#160;&#160;&#160;&#160;&#160; &lt;author&gt; &lt;time&gt; &lt;version &gt; &lt;desc&gt; </span>      <br /><span style="color: #696969">David 96/10/12 1.0 build this moudle </span>      <br /><span style="color: #696969">***********************************************************/</span></p>
<p><em>说明：Description一项描述本文件的内容、功能、内部各部分之间的关系及本文件与其它文件关系等。History是修改历史记录列表，每条修改记录应包括修改日期、修改者及修改内容简述。</em></p>
</blockquote>
<p>&lt;4：函数头部应进行注释，列出：函数的目的/功能、输入参数、输出参数、返回值、调用关系（函数、表）等。 </p>
<blockquote><p><em>示例：下面这段函数的注释比较标准，当然，并不局限于此格式，但上述信息建议要包含在内。</em>       <br /><span style="color: #696969">/************************************************* </span>      <br /><span style="color: #696969">Function: // 函数名称 </span>      <br /><span style="color: #696969">Description: // 函数功能、性能等的描述 </span>      <br /><span style="color: #696969">Calls: // 被本函数调用的函数清单 </span>      <br /><span style="color: #696969">Called By: // 调用本函数的函数清单 </span>      <br /><span style="color: #696969">Table Accessed: // 被访问的表（此项仅对于牵扯到数据库操作的程序） </span>      <br /><span style="color: #696969">Table Updated: // 被修改的表（此项仅对于牵扯到数据库操作的程序） </span>      <br /><span style="color: #696969">Input: // 输入参数说明，包括每个参数的作用、取值说明及参数间关系。 </span>      <br /><span style="color: #696969">Output: // 对输出参数的说明。 </span>      <br /><span style="color: #696969">Return: // 函数返回值的说明 </span>      <br /><span style="color: #696969">Others: // 其它说明 </span>      <br /><span style="color: #696969">*************************************************/</span></p>
</blockquote>
<p>&lt;5：边写代码边注释，修改代码同时修改相应的注释，以保证注释与代码的一致性。不再有用的注释要删除。 </p>
<p>&lt;6：注释的内容要清楚、明了，含义准确，防止注释二义性。 </p>
<blockquote><p><em>说明：错误的注释不但无益反而有害。 </em></p>
</blockquote>
<p>&lt;7：避免在注释中使用缩写，特别是非常用缩写。 </p>
<blockquote><p><em>说明：在使用缩写时或之前，应对缩写进行必要的说明。 </em></p>
</blockquote>
<p>&lt;8：注释应与其描述的代码相近，对代码的注释应放在其上方或右方（对单条语句的注释）相邻位置，不可放在下面，如放于上方则需与其上面的代码用空行隔开。 </p>
<blockquote><p><em>示例：如下例子不符合规范。</em>       <br />例1：       <br /><span style="color: #696969">/* get replicate sub system index and net indicator */</span>       </p>
<p><span style="color: #c0c0c0">repssn_ind</span> <span style="color: #c0c0c0">=</span> <span style="color: #c0c0c0">ssn_data</span><span style="color: #c0c0c0">[</span><span style="color: #c0c0c0">index</span><span style="color: #c0c0c0">].</span><span style="color: #c0c0c0">repssn_index</span>;       <br /><span style="color: #c0c0c0">repssn_ni</span> <span style="color: #c0c0c0">=</span> <span style="color: #c0c0c0">ssn_data</span><span style="color: #c0c0c0">[</span><span style="color: #c0c0c0">index</span><span style="color: #c0c0c0">].</span><span style="color: #c0c0c0">ni</span>;       </p>
<p>例2：       <br /><span style="color: #c0c0c0">repssn_ind</span> <span style="color: #c0c0c0">=</span> <span style="color: #c0c0c0">ssn_data</span><span style="color: #c0c0c0">[</span><span style="color: #c0c0c0">index</span><span style="color: #c0c0c0">].</span><span style="color: #c0c0c0">repssn_index</span>;       <br /><span style="color: #c0c0c0">repssn_ni</span> <span style="color: #c0c0c0">=</span> <span style="color: #c0c0c0">ssn_data</span><span style="color: #c0c0c0">[</span><span style="color: #c0c0c0">index</span><span style="color: #c0c0c0">].</span><span style="color: #c0c0c0">ni</span>;       <br /><span style="color: #696969">/* get replicate sub system index and net indicator */</span>       </p>
<p><em>应如下书写</em>       <br /><span style="color: #696969">/* get replicate sub system index and net indicator */</span>       <br /><span style="color: #c0c0c0">repssn_ind</span> <span style="color: #c0c0c0">=</span> <span style="color: #c0c0c0">ssn_data</span><span style="color: #c0c0c0">[</span><span style="color: #c0c0c0">index</span><span style="color: #c0c0c0">].</span><span style="color: #c0c0c0">repssn_index</span>;       <br /><span style="color: #c0c0c0">repssn_ni</span> <span style="color: #c0c0c0">=</span> <span style="color: #c0c0c0">ssn_data</span><span style="color: #c0c0c0">[</span><span style="color: #c0c0c0">index</span><span style="color: #c0c0c0">].</span><span style="color: #c0c0c0">ni</span>;</p>
</blockquote>
<p>&lt;9：对于所有有物理含义的变量、常量，如果其命名不是充分自注释的，在声明时都必须加以注释，说明其物理含义。变量、常量、宏的注释应放在其上方相邻位置或右方。 </p>
<blockquote><p>示例：      <br /><span style="color: #696969">/* active statistic task number */</span>       <br /><span style="color: #ffffff">#define MAX_ACT_TASK_NUMBER 1000 </span>      </p>
<p><span style="color: #ffffff">#define MAX_ACT_TASK_NUMBER 1000 </span><span style="color: #696969">/* active statistic task number */</span></p>
</blockquote>
<p>&lt;10：数据结构声明(包括数组、结构、类、枚举等)，如果其命名不是充分自注释的，必须加以注释。对数据结构的注释应放在其上方相邻位置，不可放在下面；对结构中的每个域的注释放在此域的右方。</p>
<blockquote><p><em>示例：可按如下形式说明枚举/数据/联合结构。</em>       <br /><span style="color: #696969">/* sccp interface with sccp user primitive message name */</span>       <br /><span style="color: #ff00ff; font-weight: bold">enum</span> <span style="color: #c0c0c0">SCCP_USER_PRIMITIVE</span>       <br /><span style="color: #c0c0c0">{</span>       <br />&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #c0c0c0">N_UNITDATA_IND</span><span style="color: #c0c0c0">,</span> <span style="color: #696969">/* sccp notify sccp user unit data come */</span>       <br />&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #c0c0c0">N_NOTICE_IND</span><span style="color: #c0c0c0">,</span> <span style="color: #696969">/* sccp notify user the No.7 network can not */</span>       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #696969">/* transmission this message */</span>       <br />&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #c0c0c0">N_UNITDATA_REQ</span><span style="color: #c0c0c0">,</span> <span style="color: #696969">/* sccp user&#8217;s unit data transmission request*/</span>       <br /><span style="color: #c0c0c0">};</span></p>
</blockquote>
<p>&lt;11：全局变量要有较详细的注释，包括对其功能、取值范围、哪些函数或过程存取它以及存取时注意事项等的说明。 </p>
<blockquote><p>示例：      <br /><span style="color: #696969">/* The ErrorCode when SCCP translate */</span>       <br /><span style="color: #696969">/* Global Title failure, as follows */</span> <span style="color: #696969">// 变量作用、含义 </span>      <br /><span style="color: #696969">/* 0 － SUCCESS 1 － GT Table error */</span>       <br /><span style="color: #696969">/* 2 － GT error Others － no use */</span> <span style="color: #696969">// 变量取值范围 </span>      <br /><span style="color: #696969">/* only function SCCPTranslate() in */</span>       <br /><span style="color: #696969">/* this modual can modify it, and other */</span>       <br /><span style="color: #696969">/* module can visit it through call */</span>       <br /><span style="color: #696969">/* the function GetGTTransErrorCode() */</span> <span style="color: #696969">// 使用方法 </span>      <br /><span style="color: #c0c0c0">BYTE</span> <span style="color: #c0c0c0">g_GTTranErrorCode</span>;</p>
</blockquote>
<p>&lt;12：注释与所描述内容进行同样的缩排。 </p>
<blockquote><p><em>说明：可使程序排版整齐，并方便注释的阅读与理解。</em> </p>
<p><em>示例：如下例子，排版不整齐，阅读稍感不方便。</em>       <br /><span style="color: #ffffff">void</span> <span style="color: #ff00ff">example_fun</span>( <span style="color: #ffffff">void</span> )       <br /><span style="color: #c0c0c0">{</span>       <br /><span style="color: #696969">/* code one comments */</span>       <br />&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #c0c0c0">CodeBlock</span> <span style="color: #c0c0c0">One</span>       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #696969">/* code two comments */</span>       <br />&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #c0c0c0">CodeBlock</span> <span style="color: #c0c0c0">Two</span>       <br /><span style="color: #c0c0c0">}</span>       <br /><em>应改为如下布局。</em>       <br /><span style="color: #ffffff">void</span> <span style="color: #ff00ff">example_fun</span>( <span style="color: #ffffff">void</span> )       <br /><span style="color: #c0c0c0">{</span>       <br />&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #696969">/* code one comments */</span>       <br />&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #c0c0c0">CodeBlock</span> <span style="color: #c0c0c0">One</span>       </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #696969">/* code two comments */</span>       <br />&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #c0c0c0">CodeBlock</span> <span style="color: #c0c0c0">Two</span>       <br /><span style="color: #c0c0c0">}</span></p>
</blockquote>
<p>&lt;13：将注释与其上面的代码用空行隔开。</p>
<blockquote><p><em>示例：如下例子，显得代码过于紧凑。</em>       <br /><span style="color: #696969">/* code one comments */</span>       <br /><span style="color: #c0c0c0">program</span> <span style="color: #c0c0c0">code</span> <span style="color: #c0c0c0">one</span>       <br /><span style="color: #696969">/* code two comments */</span>       <br /><span style="color: #c0c0c0">program</span> <span style="color: #c0c0c0">code</span> <span style="color: #c0c0c0">two</span>       <br /><em>应如下书写</em>       <br /><span style="color: #696969">/* code one comments */</span>       <br /><span style="color: #c0c0c0">program</span> <span style="color: #c0c0c0">code</span> <span style="color: #c0c0c0">one</span>       </p>
<p><span style="color: #696969">/* code two comments */</span>       <br /><span style="color: #c0c0c0">program</span> <span style="color: #c0c0c0">code</span> <span style="color: #c0c0c0">two</span> </p>
</blockquote>
<p>&lt;14：对变量的定义和分支语句（条件分支、循环语句等）必须编写注释。 </p>
<blockquote><p><em>说明：这些语句往往是程序实现某一特定功能的关键，对于维护人员来说，良好的注释帮助更好的理解程序，有时甚至优于看设计文档。 </em></p>
</blockquote>
<p>&lt;15：对于switch语句下的case语句，如果因为特殊情况需要处理完一个case后进入下一个case处理，必须在该case语句处理完、下一个case语句前加上明确的注释。 </p>
<blockquote><p><em>说明：这样比较清楚程序编写者的意图，有效防止无故遗漏break语句。</em> </p>
<p><em>示例（注意斜体加粗部分）：</em>       <br /><span style="color: #ff00ff; font-weight: bold">case</span> <span style="color: #c0c0c0">CMD_UP</span><span style="color: #c0c0c0">: </span>      <br />&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #c0c0c0">ProcessUp</span>();       <br />&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #ff00ff; font-weight: bold">break</span>;       </p>
<p><span style="color: #ff00ff; font-weight: bold">case</span> <span style="color: #c0c0c0">CMD_DOWN</span><span style="color: #c0c0c0">: </span>      <br />&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #c0c0c0">ProcessDown</span>();       <br />&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #ff00ff; font-weight: bold">break</span>;       </p>
<p><span style="color: #ff00ff; font-weight: bold">case</span> <span style="color: #c0c0c0">CMD_FWD</span><span style="color: #c0c0c0">: </span>      <br />&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #c0c0c0">ProcessFwd</span>();       </p>
<p><span style="color: #ff00ff; font-weight: bold">if</span> <span style="color: #c0c0c0">(&#8230;)</span>       <br /><span style="color: #c0c0c0">{</span>       <br />&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #c0c0c0">&#8230;</span>       <br />&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #ff00ff; font-weight: bold">break</span>;       <br /><span style="color: #c0c0c0">}</span>       <br /><span style="color: #ff00ff; font-weight: bold">else</span>       <br /><span style="color: #c0c0c0">{</span>       <br />&#160;&#160;&#160;&#160;&#160;&#160; <em><strong><span style="color: #c0c0c0">ProcessCFW_B</span>(); <span style="color: #696969">// now jump into case CMD_A </span></strong></em>      <br /><span style="color: #c0c0c0">}</span>       </p>
<p><span style="color: #ff00ff; font-weight: bold">case</span> <span style="color: #c0c0c0">CMD_A</span><span style="color: #c0c0c0">: </span>      <br />&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #c0c0c0">ProcessA</span>();       <br />&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #ff00ff; font-weight: bold">break</span>;       </p>
<p><span style="color: #ff00ff; font-weight: bold">case</span> <span style="color: #c0c0c0">CMD_B</span><span style="color: #c0c0c0">: </span>      <br />&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #c0c0c0">ProcessB</span>();       <br />&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #ff00ff; font-weight: bold">break</span>;       </p>
<p><span style="color: #ff00ff; font-weight: bold">case</span> <span style="color: #c0c0c0">CMD_C</span><span style="color: #c0c0c0">: </span>      <br />&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #c0c0c0">ProcessC</span>();       <br />&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #ff00ff; font-weight: bold">break</span>;       </p>
<p><span style="color: #ff00ff; font-weight: bold">case</span> <span style="color: #c0c0c0">CMD_D</span><span style="color: #c0c0c0">: </span>      <br />&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #c0c0c0">ProcessD</span>();       <br />&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #ff00ff; font-weight: bold">break</span>;       <br /><span style="color: #c0c0c0">&#8230;</span></p>
</blockquote>
<p>¤1：避免在一行代码或表达式的中间插入注释。</p>
<blockquote><p><em>说明：除非必要，不应在代码或表达中间插入注释，否则容易使代码可理解性变差。 </em></p>
</blockquote>
<p>¤2：通过对函数或过程、变量、结构等正确的命名以及合理地组织代码的结构，使代码成为自注释的。 </p>
<blockquote><p><em>说明：清晰准确的函数、变量等的命名，可增加代码可读性，并减少不必要的注释。 </em></p>
</blockquote>
<p>¤3：在代码的功能、意图层次上进行注释，提供有用、额外的信息。 </p>
<blockquote><p><em>说明：注释的目的是解释代码的目的、功能和采用的方法，提供代码以外的信息，帮助读者理解代码，防止没必要的重复注释信息。 </em></p>
<p><em>示例：如下注释意义不大。</em>       <br /><span style="color: #696969">/* if receive_flag is TRUE */</span>       <br /><span style="color: #ff00ff; font-weight: bold">if</span> (<span style="color: #c0c0c0">receive_flag</span>)       </p>
<p><em>而如下的注释则给出了额外有用的信息。</em>       <br /><span style="color: #696969">/* if mtp receive a message from links */ </span>      <br /><span style="color: #ff00ff; font-weight: bold">if</span> (<span style="color: #c0c0c0">receive_flag</span>) </p>
</blockquote>
<p>¤4：在程序块的结束行右方加注释标记，以表明某程序块的结束。 </p>
<blockquote><p><em>说明：当代码段较长，特别是多重嵌套时，这样做可以使代码更清晰，更便于阅读。 </em></p>
<p><em>示例：参见如下例子。</em>       <br /><span style="color: #ff00ff; font-weight: bold">if</span> <span style="color: #c0c0c0">(&#8230;)</span>       <br /><span style="color: #c0c0c0">{</span>       <br />&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #696969">// program code </span>      </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #ff00ff; font-weight: bold">while</span> (<span style="color: #c0c0c0">index</span> <span style="color: #c0c0c0">&lt;</span> <span style="color: #c0c0c0">MAX_INDEX</span>)       <br />&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #c0c0c0">{</span>       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #696969">// program code </span>      <br />&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #c0c0c0">}</span> <span style="color: #696969">/* end of while (index &lt; MAX_INDEX) */</span> <span style="color: #696969">// 指明该条while语句结束 </span>      <br /><span style="color: #c0c0c0">}</span> <span style="color: #696969">/* end of if (&#8230;)*/</span> <span style="color: #696969">// 指明是哪条if语句结束</span></p>
</blockquote>
<p>¤5：注释格式尽量统一，建议使用“/* …… */”。 </p>
<p>¤6：注释应考虑程序易读及外观排版的因素，使用的语言若是中、英兼有的，建议多使用中文，除非能用非常流利准确的英文表达。 </p>
<blockquote><p><em>说明：注释语言不统一，影响程序易读性和外观排版，出于对维护人员的考虑，建议使用中文。 </em></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://xnian.com/2009/09/1772.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>软件编程规范之排版</title>
		<link>http://xnian.com/2009/09/1765.html</link>
		<comments>http://xnian.com/2009/09/1765.html#comments</comments>
		<pubDate>Fri, 18 Sep 2009 13:49:36 +0000</pubDate>
		<dc:creator>纪小年</dc:creator>
				<category><![CDATA[电子设计]]></category>
		<category><![CDATA[编程]]></category>
		<category><![CDATA[规范]]></category>

		<guid isPermaLink="false">http://xnian.com/2009/09/1765.html</guid>
		<description><![CDATA[&#60;1：程序块要采用缩进风格编写，缩进的空格数为4个。 说明： 对于由开发工具自动生成的代码可以有不一致。 &#60;2：相对独立的程序块之间、变量说明之后必须加空行。 示例： 如下例子不符合规范。 if (!valid_ni(ni)) { &#160;&#160;&#160;&#160;&#160;&#160; &#8230; // program code } repssn_ind = ssn_data[index].repssn_index; repssn_ni = ssn_data[index].ni; 应如下书写 。 if (!valid_ni(ni)) { &#160;&#160;&#160;&#160;&#160;&#160; &#8230; // program code } repssn_ind = ssn_data[index].repssn_index; repssn_ni = ssn_data[index].ni; &#60;3：较长的语句（&#62;80字符）要分成多行书写，长表达式要在低优先级操作符处划分新行，操作符放在新行之首，划分出的新行要进行适当的缩进，使排版整齐，语句可读。 示例： perm_count_msg.head.len = NO7_TO_STAT_PERM_COUNT_LEN &#160;&#160;&#160;&#160;&#160;&#160; + STAT_SIZE_PER_FRAM * sizeof( _UL ); act_task_table[frame_id * STAT_TASK_CHECK_NUMBER + index].occupied [...]]]></description>
			<content:encoded><![CDATA[<p>&lt;1：程序块要采用缩进风格编写，缩进的空格数为4个。</p>
<blockquote><p>说明：      <br /><em>对于由开发工具自动生成的代码可以有不一致。 </em></p>
</blockquote>
<p>&lt;2：相对独立的程序块之间、变量说明之后必须加空行。</p>
<blockquote><p>示例：      <br /><em>如下例子不符合规范。</em>       <br /><span style="color: #00ffff; font-weight: bold">if</span> (<span style="color: #c0c0c0">!</span><span style="color: #c0c0c0">valid_ni</span>(<span style="color: #c0c0c0">ni</span>))       <br /><span style="color: #c0c0c0">{</span>       <br /><span style="color: #c0c0c0">&#160;&#160;&#160;&#160;&#160;&#160; &#8230;</span> <span style="color: #696969">// program code</span>       <br /><span style="color: #c0c0c0">}</span>       <br /><span style="color: #c0c0c0">repssn_ind</span> <span style="color: #c0c0c0">=</span> <span style="color: #c0c0c0">ssn_data</span><span style="color: #c0c0c0">[</span><span style="color: #c0c0c0">index</span><span style="color: #c0c0c0">].</span><span style="color: #c0c0c0">repssn_index</span>;       <br /><span style="color: #c0c0c0">repssn_ni</span> <span style="color: #c0c0c0">=</span> <span style="color: #c0c0c0">ssn_data</span><span style="color: #c0c0c0">[</span><span style="color: #c0c0c0">index</span><span style="color: #c0c0c0">].</span><span style="color: #c0c0c0">ni</span>;       <br /><em>应如下书写 。</em>       <br /><span style="color: #00ffff; font-weight: bold">if</span> (<span style="color: #c0c0c0">!</span><span style="color: #c0c0c0">valid_ni</span>(<span style="color: #c0c0c0">ni</span>))       <br /><span style="color: #c0c0c0">{</span>       <br /><span style="color: #c0c0c0">&#160;&#160;&#160;&#160;&#160;&#160; &#8230;</span> <span style="color: #696969">// program code</span>       <br /><span style="color: #c0c0c0">}        </p>
<p></span><span style="color: #c0c0c0">repssn_ind</span> <span style="color: #c0c0c0">=</span> <span style="color: #c0c0c0">ssn_data</span><span style="color: #c0c0c0">[</span><span style="color: #c0c0c0">index</span><span style="color: #c0c0c0">].</span><span style="color: #c0c0c0">repssn_index</span>;       <br /><span style="color: #c0c0c0">repssn_ni</span> <span style="color: #c0c0c0">=</span> <span style="color: #c0c0c0">ssn_data</span><span style="color: #c0c0c0">[</span><span style="color: #c0c0c0">index</span><span style="color: #c0c0c0">].</span><span style="color: #c0c0c0">ni</span>;</p>
</blockquote>
<p>&lt;3：较长的语句（&gt;80字符）要分成多行书写，长表达式要在低优先级操作符处划分新行，操作符放在新行之首，划分出的新行要进行适当的缩进，使排版整齐，语句可读。</p>
<blockquote><p>示例：      <br /><span style="color: #c0c0c0">perm_count_msg</span><span style="color: #c0c0c0">.</span><span style="color: #c0c0c0">head</span><span style="color: #c0c0c0">.</span><span style="color: #c0c0c0">len</span> <span style="color: #c0c0c0">=</span> <span style="color: #c0c0c0">NO7_TO_STAT_PERM_COUNT_LEN</span>       <br /><span style="color: #c0c0c0">&#160;&#160;&#160;&#160;&#160;&#160; +</span> <span style="color: #c0c0c0">STAT_SIZE_PER_FRAM</span> <span style="color: #c0c0c0">*</span> <span style="color: #00ffff; font-weight: bold">sizeof</span>( <span style="color: #c0c0c0">_UL</span> );       <br /><span style="color: #c0c0c0">act_task_table</span><span style="color: #c0c0c0">[</span><span style="color: #c0c0c0">frame_id</span> <span style="color: #c0c0c0">*</span> <span style="color: #c0c0c0">STAT_TASK_CHECK_NUMBER</span> <span style="color: #c0c0c0">+</span> <span style="color: #c0c0c0">index</span><span style="color: #c0c0c0">].</span><span style="color: #c0c0c0">occupied</span>       <br /><span style="color: #c0c0c0">&#160;&#160;&#160;&#160;&#160;&#160; =</span> <span style="color: #c0c0c0">stat_poi</span><span style="color: #c0c0c0">[</span><span style="color: #c0c0c0">index</span><span style="color: #c0c0c0">].</span><span style="color: #c0c0c0">occupied</span>;       <br /><span style="color: #c0c0c0">act_task_table</span><span style="color: #c0c0c0">[</span><span style="color: #c0c0c0">taskno</span><span style="color: #c0c0c0">].</span><span style="color: #c0c0c0">duration_true_or_false</span>       <br /><span style="color: #c0c0c0">&#160;&#160;&#160;&#160;&#160;&#160; =</span> <span style="color: #c0c0c0">SYS_get_sccp_statistic_state</span>( <span style="color: #c0c0c0">stat_item</span> );       <br /><span style="color: #c0c0c0">report_or_not_flag</span> <span style="color: #c0c0c0">=</span> ((<span style="color: #c0c0c0">taskno</span> <span style="color: #c0c0c0">&lt;</span> <span style="color: #c0c0c0">MAX_ACT_TASK_NUMBER</span>)       <br /><span style="color: #c0c0c0">&#160;&#160;&#160;&#160;&#160;&#160; &amp;&amp;</span> (<span style="color: #c0c0c0">n7stat_stat_item_valid</span> (<span style="color: #c0c0c0">stat_item</span>))       <br /><span style="color: #c0c0c0">&#160;&#160;&#160;&#160;&#160;&#160; &amp;&amp;</span> (<span style="color: #c0c0c0">act_task_table</span><span style="color: #c0c0c0">[</span><span style="color: #c0c0c0">taskno</span><span style="color: #c0c0c0">].</span><span style="color: #c0c0c0">result_data</span> <span style="color: #c0c0c0">!=</span> <span style="color: #c0c0c0">0</span>));</p>
</blockquote>
<p>&lt;4：循环、判断等语句中若有较长的表达式或语句，则要进行适应的划分，长表达式要在低优先级操作符处划分新行，操作符放在新行之首。</p>
<blockquote><p>示例：      <br /><span style="color: #00ffff; font-weight: bold">if</span> ((<span style="color: #c0c0c0">taskno</span> <span style="color: #c0c0c0">&lt;</span> <span style="color: #c0c0c0">max_act_task_number</span>)       <br /><span style="color: #c0c0c0">&#160;&#160;&#160;&#160;&#160;&#160; &amp;&amp;</span> (<span style="color: #c0c0c0">n7stat_stat_item_valid</span> (<span style="color: #c0c0c0">stat_item</span>)))       <br /><span style="color: #c0c0c0">{</span>       <br /><span style="color: #c0c0c0">&#160;&#160;&#160;&#160;&#160;&#160; &#8230;</span> <span style="color: #696969">// program code </span>      <br /><span style="color: #c0c0c0">}</span>       <br /><span style="color: #00ffff; font-weight: bold">for</span> (<span style="color: #c0c0c0">i</span> <span style="color: #c0c0c0">=</span> <span style="color: #c0c0c0">0</span><span style="color: #c0c0c0">,</span> <span style="color: #c0c0c0">j</span> <span style="color: #c0c0c0">=</span> <span style="color: #c0c0c0">0</span>; (<span style="color: #c0c0c0">i</span> <span style="color: #c0c0c0">&lt;</span> <span style="color: #c0c0c0">BufferKeyword</span><span style="color: #c0c0c0">[</span><span style="color: #c0c0c0">word_index</span><span style="color: #c0c0c0">].</span><span style="color: #c0c0c0">word_length</span>)       <br /><span style="color: #c0c0c0">&#160;&#160;&#160;&#160;&#160;&#160; &amp;&amp;</span> (<span style="color: #c0c0c0">j</span> <span style="color: #c0c0c0">&lt;</span> <span style="color: #c0c0c0">NewKeyword</span><span style="color: #c0c0c0">.</span><span style="color: #c0c0c0">word_length</span>); <span style="color: #c0c0c0">i</span><span style="color: #c0c0c0">++</span><span style="color: #c0c0c0">,</span> <span style="color: #c0c0c0">j</span><span style="color: #c0c0c0">++</span>)       <br /><span style="color: #c0c0c0">{</span>       <br /><span style="color: #c0c0c0">&#160;&#160;&#160;&#160;&#160;&#160; &#8230;</span> <span style="color: #696969">// program code </span>      <br /><span style="color: #c0c0c0">}</span>       <br /><span style="color: #00ffff; font-weight: bold">for</span> (<span style="color: #c0c0c0">i</span> <span style="color: #c0c0c0">=</span> <span style="color: #c0c0c0">0</span><span style="color: #c0c0c0">,</span> <span style="color: #c0c0c0">j</span> <span style="color: #c0c0c0">=</span> <span style="color: #c0c0c0">0</span>;       <br />&#160;&#160;&#160;&#160;&#160;&#160; (<span style="color: #c0c0c0">i</span> <span style="color: #c0c0c0">&lt;</span> <span style="color: #c0c0c0">first_word_length</span>) <span style="color: #c0c0c0">&amp;&amp;</span> (<span style="color: #c0c0c0">j</span> <span style="color: #c0c0c0">&lt;</span> <span style="color: #c0c0c0">second_word_length</span>);       <br /><span style="color: #c0c0c0">&#160;&#160;&#160;&#160;&#160;&#160; i</span><span style="color: #c0c0c0">++</span><span style="color: #c0c0c0">,</span> <span style="color: #c0c0c0">j</span><span style="color: #c0c0c0">++</span>)       <br /><span style="color: #c0c0c0">{</span>       <br /><span style="color: #c0c0c0">&#160;&#160;&#160;&#160;&#160;&#160; &#8230;</span> <span style="color: #696969">// program code</span></p>
</blockquote>
<p>&lt;5：若函数或过程中的参数较长，则要进行适当的划分。</p>
<blockquote><p>示例：      <br /><span style="color: #c0c0c0">n7stat_str_compare</span>((<span style="color: #c0c0c0">BYTE</span> <span style="color: #c0c0c0">*</span>) <span style="color: #c0c0c0">&amp;</span> <span style="color: #c0c0c0">stat_object</span><span style="color: #c0c0c0">,</span>       <br />&#160;&#160;&#160;&#160;&#160;&#160; (<span style="color: #c0c0c0">BYTE</span> <span style="color: #c0c0c0">*</span>) <span style="color: #c0c0c0">&amp;</span> (<span style="color: #c0c0c0">act_task_table</span><span style="color: #c0c0c0">[</span><span style="color: #c0c0c0">taskno</span><span style="color: #c0c0c0">].</span><span style="color: #c0c0c0">stat_object</span><span style="color: #c0c0c0">),</span>       <br /><span style="color: #00ffff; font-weight: bold">&#160;&#160;&#160;&#160;&#160;&#160; sizeof</span> (<span style="color: #c0c0c0">_STAT_OBJECT</span>));       <br /><span style="color: #c0c0c0">n7stat_flash_act_duration</span>( <span style="color: #c0c0c0">stat_item</span><span style="color: #c0c0c0">,</span> <span style="color: #c0c0c0">frame_id</span> <span style="color: #c0c0c0">*</span><span style="color: #c0c0c0">STAT_TASK_CHECK_NUMBER</span>       <br /><span style="color: #c0c0c0">&#160;&#160;&#160;&#160;&#160;&#160; +</span> <span style="color: #c0c0c0">index</span><span style="color: #c0c0c0">,</span> <span style="color: #c0c0c0">stat_object</span> );</p>
</blockquote>
<p>&lt;6：不允许把多个短语句写在一行中，即一行只写一条语句。</p>
<blockquote><p>示例：      <br /><em>如下例子不符合规范。 </em>      <br /><span style="color: #c0c0c0">rect</span><span style="color: #c0c0c0">.</span><span style="color: #c0c0c0">length</span> <span style="color: #c0c0c0">=</span> <span style="color: #c0c0c0">0</span>; <span style="color: #c0c0c0">rect</span><span style="color: #c0c0c0">.</span><span style="color: #c0c0c0">width</span> <span style="color: #c0c0c0">=</span> <span style="color: #c0c0c0">0</span>;       <br /><em>应如下书写 。</em>       <br /><span style="color: #c0c0c0">rect</span><span style="color: #c0c0c0">.</span><span style="color: #c0c0c0">length</span> <span style="color: #c0c0c0">=</span> <span style="color: #c0c0c0">0</span>;       <br /><span style="color: #c0c0c0">rect</span><span style="color: #c0c0c0">.</span><span style="color: #c0c0c0">width</span> <span style="color: #c0c0c0">=</span> <span style="color: #c0c0c0">0</span>;</p>
</blockquote>
<p>&lt;7：if、for、do、while、case、switch、default等语句自占一行，且if、for、do、while等语句的执行语句部分无论多少都要加括号{}。</p>
<blockquote><p>示例：      <br /><em>如下例子不符合规范。 </em>      <br /><span style="color: #00ffff; font-weight: bold">if</span> (<span style="color: #c0c0c0">pUserCR</span> <span style="color: #c0c0c0">==</span> <span style="color: #c0c0c0">NULL</span>) <span style="color: #00ffff; font-weight: bold">return</span>;       <br /><em>应如下书写：</em>       <br /><span style="color: #00ffff; font-weight: bold">if</span> (<span style="color: #c0c0c0">pUserCR</span> <span style="color: #c0c0c0">==</span> <span style="color: #c0c0c0">NULL</span>)       <br /><span style="color: #c0c0c0">{</span>       <br /><span style="color: #00ffff; font-weight: bold">&#160;&#160;&#160;&#160;&#160;&#160; return</span>;       <br /><span style="color: #c0c0c0">}</span></p>
</blockquote>
<p>&lt;8：对齐只使用空格键，不使用TAB键。</p>
<p>&lt;9：函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格，case语句下的情况处理语句也要遵从语句缩进要求。</p>
<p>&lt;10：程序块的分界符（如C/C++语言的大括号‘{’和‘}’）应各独占一行并且位于同一列，同时与引用它们的语句左对齐。在函数体的开始、类的定义、结构的定义、枚举的定义以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。</p>
<blockquote><p>示例：      <br /><em>如下例子不符合规范。 </em>      <br /><span style="color: #00ffff; font-weight: bold">for</span> <span style="color: #c0c0c0">(&#8230;)</span> <span style="color: #c0c0c0">{</span>       <br /><span style="color: #c0c0c0">&#160;&#160;&#160;&#160;&#160;&#160; &#8230;</span> <span style="color: #696969">// program code </span>      <br /><span style="color: #c0c0c0">}</span>       <br /><span style="color: #00ffff; font-weight: bold">if</span> <span style="color: #c0c0c0">(&#8230;)</span>       <br /><span style="color: #c0c0c0">&#160;&#160;&#160;&#160;&#160;&#160; {</span>       <br /><span style="color: #c0c0c0">&#160;&#160;&#160;&#160;&#160;&#160; &#8230;</span> <span style="color: #696969">// program code </span>      <br /><span style="color: #c0c0c0">&#160;&#160;&#160;&#160;&#160;&#160; }</span>       <br /><span style="color: #ffffff">void</span> <span style="color: #c0c0c0">example_fun</span>( <span style="color: #ffffff">void</span> )       <br /><span style="color: #c0c0c0">&#160;&#160;&#160;&#160;&#160;&#160; {</span>       <br /><span style="color: #c0c0c0">&#160;&#160;&#160;&#160;&#160;&#160; &#8230;</span> <span style="color: #696969">// program code </span>      <br /><span style="color: #c0c0c0">&#160;&#160;&#160;&#160;&#160;&#160; }</span>       <br /><em>应如下书写。 </em>      <br /><span style="color: #00ffff; font-weight: bold">for</span> <span style="color: #c0c0c0">(&#8230;)</span>       <br /><span style="color: #c0c0c0">{</span>       <br /><span style="color: #c0c0c0">&#160;&#160;&#160;&#160;&#160;&#160; &#8230;</span> <span style="color: #696969">// program code </span>      <br /><span style="color: #c0c0c0">}</span>       <br /><span style="color: #00ffff; font-weight: bold">if</span> <span style="color: #c0c0c0">(&#8230;)</span>       <br /><span style="color: #c0c0c0">{</span>       <br /><span style="color: #c0c0c0">&#160;&#160;&#160;&#160;&#160;&#160; &#8230;</span> <span style="color: #696969">// program code </span>      <br /><span style="color: #c0c0c0">}</span>       <br /><span style="color: #ffffff">void</span> <span style="color: #c0c0c0">example_fun</span>( <span style="color: #ffffff">void</span> )       <br /><span style="color: #c0c0c0">{</span>       <br /><span style="color: #c0c0c0">&#160;&#160;&#160;&#160;&#160;&#160; &#8230;</span> <span style="color: #696969">// program code</span>       <br /><span style="color: #c0c0c0">}</span></p>
</blockquote>
<p>&lt;11：在两个以上的关键字、变量、常量进行对等操作时，它们之间的操作符之前、之后或者前后要加空格；进行非对等操作时，如果是关系密切的立即操作符（如－&gt;），后不应加空格。</p>
<blockquote><p>说明：      <br /><em>采用这种松散方式编写代码的目的是使代码更加清晰。        <br />由于留空格所产生的清晰性是相对的，所以，在已经非常清晰的语句中没有必要再留空格，如果语句已足够清晰则括号内侧(即左括号后面和右括号前面)不需要加空格，多重括号间不必加空格，因为在C/C++语言中括号已经是最清晰的标志了。         <br />在长语句中，如果需要加的空格非常多，那么应该保持整体清晰，而在局部不加空格。给操作符留空格时不要连续留两个以上空格。 </em></p>
<p>示例：      <br /><em>(1) 逗号、分号只在后面加空格。</em>       <br /><span style="color: #ffffff">int</span> <span style="color: #c0c0c0">a</span>,<span style="color: #c0c0c0">b</span>,<span style="color: #c0c0c0">c</span>;       <br /><em>(2)比较操作符, 赋值操作符&quot;=&quot;、 &quot;+=&quot;，算术操作符&quot;+&quot;、&quot;%&quot;，逻辑操作符&quot;&amp;&amp;&quot;、&quot;&amp;&quot;，位域操作符&quot;&lt;&lt;&quot;、&quot;^&quot;等双目操作符的前后加空格。 </em>      <br /><span style="color: #00ffff; font-weight: bold">if</span> (<span style="color: #c0c0c0">current_time</span> <span style="color: #c0c0c0">&gt;=</span> <span style="color: #c0c0c0">MAX_TIME_VALUE</span>)       <br /><span style="color: #c0c0c0">a</span> <span style="color: #c0c0c0">=</span> b <span style="color: #c0c0c0">+</span> <span style="color: #c0c0c0">c</span>;       <br /><span style="color: #c0c0c0">a</span> <span style="color: #c0c0c0">*=</span> <span style="color: #c0c0c0">2</span>;       <br /><span style="color: #c0c0c0">a</span> <span style="color: #c0c0c0">=</span> b <span style="color: #c0c0c0">^</span> <span style="color: #c0c0c0">2</span>;       <br /><em>(3)&quot;!&quot;、&quot;~&quot;、&quot;++&quot;、&quot;&#8211;&quot;、&quot;&amp;&quot;（地址运算符）等单目操作符前后不加空格。 </em>      <br /><span style="color: #c0c0c0">*</span>p <span style="color: #c0c0c0">=</span> <span style="color: #00bbbb">&#8216;a&#8217;</span>; <span style="color: #696969">// 内容操作&quot;*&quot;与内容之间 </span>      <br /><span style="color: #c0c0c0">flag</span> <span style="color: #c0c0c0">=</span> <span style="color: #c0c0c0">!</span><span style="color: #c0c0c0">isEmpty</span>; <span style="color: #696969">// 非操作&quot;!&quot;与内容之间 </span>      <br />p <span style="color: #c0c0c0">=</span> <span style="color: #c0c0c0">&amp;</span><span style="color: #c0c0c0">mem</span>; <span style="color: #696969">// 地址操作&quot;&amp;&quot; 与内容之间 </span>      <br /><span style="color: #c0c0c0">i</span><span style="color: #c0c0c0">++</span>; <span style="color: #696969">// &quot;++&quot;,&quot;&#8211;&quot;与内容之间</span>       <br /><em>(4)&quot;-&gt;&quot;、&quot;.&quot;前后不加空格。 </em>      <br />p<span style="color: #c0c0c0">-&gt;</span><span style="color: #c0c0c0">id</span> <span style="color: #c0c0c0">=</span> <span style="color: #c0c0c0">pid</span>; <span style="color: #696969">// &quot;-&gt;&quot;指针前后不加空格</span>       <br /><em>(5) if、for、while、switch等与后面的括号间应加空格，使if等关键字更为突出、明显。 </em>      <br /><span style="color: #00ffff; font-weight: bold">if</span> (<span style="color: #c0c0c0">a</span> <span style="color: #c0c0c0">&gt;=</span> b <span style="color: #c0c0c0">&amp;&amp;</span> <span style="color: #c0c0c0">c</span> <span style="color: #c0c0c0">&gt;</span> <span style="color: #c0c0c0">d</span>);</p>
</blockquote>
<p>&lt;12：一行程序以小于80字符为宜，不要写得过长。</p>
]]></content:encoded>
			<wfw:commentRss>http://xnian.com/2009/09/1765.html/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>
