📄 easy 51pro编程器的原理与扩充之easy isp篇.htm
字号:
border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
padding:0cm 5.4pt 0cm 5.4pt;height:94.15pt'>
<p class=MsoNormal><span class=SpellE><span lang=EN-US style='font-size:14.0pt'>CParlPro</span></span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>派生自</span><span class=SpellE><span lang=EN-US>CParallelPort</span></span></p>
<p class=MsoNormal><span class=SpellE><span lang=EN-US>CParallelPort</span></span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>:负责安装驱动程序,提供丰富的函数方便<span class=GramE>对并口</span>进行操作。</span></p>
<p class=MsoNormal><span class=SpellE><span lang=EN-US>CParlPro</span></span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>:封装了</span><span lang=EN-US>ISP</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>编程的一般流程,通过</span><span class=SpellE><span lang=EN-US>CIsPro</span></span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>的派生类对象<span class=GramE>控制并口对</span>器件进行编程。</span><span
lang=EN-US><o:p></o:p></span></p>
</td>
<td width=300 valign=top style='width:225.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt;height:94.15pt'>
<p class=MsoNormal><span class=SpellE><span lang=EN-US style='font-size:14.0pt'>CSerialPro</span></span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>派生自</span><span class=SpellE><span lang=EN-US>CSerialPort</span></span></p>
<p class=MsoNormal><span class=SpellE><span lang=EN-US>CSerialPort</span></span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>:提供丰富的函数方便串口通讯</span></p>
<p class=MsoNormal><span class=SpellE><span lang=EN-US>CSerialPort</span></span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>:把</span><span class=SpellE><span lang=EN-US>CPro</span></span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>传递过来的用户操作信息转换成编程命令按照协议发送给编程器</span></p>
</td>
</tr>
</table>
<p class=MsoNormal><span lang=EN-US><span
style='mso-spacerun:yes'> </span></span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:1'> </span></span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>由于</span><span class=SpellE><span lang=EN-US>CParallelPort</span></span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>中设计了这样一些函数:</span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:1'> </span><span
style='mso-tab-count:1'> </span>BOOL <span
class=SpellE>SetPinLogic</span>(<span class=SpellE>int</span> <span
class=SpellE>nPin,BOOL</span> <span class=SpellE>bLogic</span>); <span
style='mso-tab-count:1'> </span>//</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>设置指定引脚</span><span lang=EN-US>,<span class=SpellE>bLogic</span>=1</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>高电平</span><span lang=EN-US>,<span class=SpellE>bLogic</span>=0</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>低电平</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span>BOOL
<span class=SpellE>GetPinLogic</span>(<span class=SpellE>int</span> <span
class=SpellE>nPin</span>);<span style='mso-tab-count:5'> </span>//</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>得到指定引脚的电平</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span>BOOL
<span class=SpellE>SetPinL</span>(<span class=SpellE>int</span> <span
class=SpellE>nPin</span>);<span style='mso-tab-count:4'> </span><span
style='mso-tab-count:1'> </span>//</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>设置指定引脚为低电平</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span>BOOL
<span class=SpellE>SetPinH</span>(<span class=SpellE>int</span> <span
class=SpellE>nPin</span>);<span style='mso-tab-count:5'> </span>//</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>设置指定引脚为高电平</span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>他们可以通过<span class=GramE>并口引脚号对并口</span>的某个引脚进行操作,这就使</span><span
lang=EN-US>Easy ISP</span><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>天生具备支持任何下载线的能力。看看是怎么支持的:</span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span><span
class=SpellE>int</span><span style='mso-spacerun:yes'> </span><span
style='mso-spacerun:yes'> </span><span class=SpellE>m_nPinMosi</span>;<span
style='mso-tab-count:7'> </span>//</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>控制</span><span lang=EN-US>MOSI</span><span style='font-family:
宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>所用<span
class=GramE>的并口引脚</span></span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span><span
class=SpellE>int</span><span style='mso-tab-count:1'> </span>
<span class=SpellE>m_nPinMiso</span>;<span style='mso-tab-count:7'> </span>//</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>控制</span><span lang=EN-US>MISO</span><span style='font-family:
宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>所用<span
class=GramE>的并口引脚</span></span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span><span
class=SpellE>int</span><span style='mso-tab-count:1'> </span>
<span class=SpellE>m_nPinRst</span>;<span style='mso-tab-count:7'> </span>//</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>控制</span><span lang=EN-US>RST</span><span style='font-family:
宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>所用<span
class=GramE>的并口引脚</span></span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span><span
class=SpellE>int</span><span style='mso-tab-count:1'> </span>
<span class=SpellE>m_nPinSck</span>;<span style='mso-tab-count:7'> </span>//</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>控制</span><span lang=EN-US>SCK</span><span style='font-family:
宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>所用<span
class=GramE>的并口引脚</span></span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span><span
class=SpellE>int</span><span style='mso-tab-count:1'> </span>
<span class=SpellE>m_nPinLe</span>;<span style='mso-tab-count:7'> </span>//</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>控制器件锁存所用<span class=GramE>的并口引脚</span></span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span><span
class=SpellE>int</span><span style='mso-tab-count:1'> </span>
<span class=SpellE>m_nPinOe</span>;<span style='mso-tab-count:7'> </span>//</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>控制器件</span><span lang=EN-US>OE</span><span style='font-family:
宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>所用<span
class=GramE>的并口引脚</span></span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span><span
class=SpellE>int</span><span style='mso-tab-count:1'> </span>
m_nPinR1;<span style='mso-tab-count:7'> </span>//</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>保留引脚</span><span lang=EN-US>1</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span><span
class=SpellE>int</span><span style='mso-tab-count:1'> </span>
m_nPinR2;<span style='mso-tab-count:7'> </span>//</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>保留引脚</span><span lang=EN-US>2</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span>BOOL
<span class=SpellE>m_bLe</span>;<span style='mso-tab-count:8'> </span>//</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>锁存有效时的电平</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span>BOOL
m_b2Le;<span style='mso-tab-count:7'> </span>//</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>锁存无效时的电平</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span>BOOL
<span class=SpellE>m_bOe</span>;<span style='mso-tab-count:7'> </span>//OE</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>有效时的电平</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:1'> </span><span
style='mso-tab-count:1'> </span>BOOL
m_b2Oe;<span style='mso-tab-count:7'> </span>//OE</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>无效时的电平</span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>上面这一些变量保存了下载线用到的<span class=GramE>所有并口引脚</span>号。这么多引脚资源,应该够用了吧。要知道</span><span
lang=EN-US>MOSI</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>,</span><span lang=EN-US>MISO</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>,</span><span lang=EN-US>SCK</span><span style='font-family:
宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>这些引脚的用途可以看《</span><span
lang=EN-US style='mso-bidi-font-size:10.5pt'>Easy 51Pro</span><span
style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>编程器的原理与扩充</span><span
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -