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

📄 mega8学习笔记(7)-------cocoguojia 原创--单片机实验室-----嘉哥.htm

📁 AVR学习心得体会
💻 HTM
📖 第 1 页 / 共 4 页
字号:
                        </FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">P252</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">CVAVR</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">独有的数据类型</SPAN><SPAN 
                        lang=EN-US><FONT face="Times New Roman"> 
                        eeprom</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,用</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">eeprom</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">声明</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">eeprom</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">变量会使</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">eeprom</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">操作更便捷。</SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><o:p><FONT 
                        face="Times New Roman">&nbsp;</FONT></o:p></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">注意:</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">eeprom</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">变量声明后,就可直接写了,但每次写都是要消耗</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">eeprom</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的写寿命的,所以它是个“有写寿命的变量(写超过</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">1</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">万次后</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">mcu</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">eeprom</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">区就有可能损坏)。”</SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><o:p><FONT 
                        face="Times New Roman">&nbsp;</FONT></o:p></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">以下是我编写的例程,来实现每次开机</SPAN><SPAN 
                        lang=EN-US><FONT face="Times New Roman"> 
                        eeprom</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">里的数(</SPAN><SPAN 
                        lang=EN-US><FONT face="Times New Roman">unsigned 
                        char</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">)就自加一,并反映在</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">PORTB</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">IO</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">口上,由于</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">eeprom</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的初始态是</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">0xff</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,所以第一次开机后,</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">PORTB=0X00(</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">自加一后,溢出</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">)</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,每次开机都自加一,直到</SPAN><FONT 
                        face="Times New Roman"> </FONT><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">加到</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">0xff</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">后,再开机</SPAN><FONT 
                        face="Times New Roman"> </FONT><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,</SPAN><SPAN 
                        lang=EN-US><FONT face="Times New Roman">PORTB=0X00 
                        </FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如此循环。</SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">-----------------</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用声明</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">eeprom</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的方法来实现。</SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><o:p><FONT 
                        face="Times New Roman">&nbsp;</FONT></o:p></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">/*****************************************************</FONT></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><FONT face="Times New Roman">Chip type<SPAN 
                        style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                        </SPAN>: ATmega<st1:chmetcnv w:st="on" UnitName="l" 
                        SourceValue="8" HasSpace="False" Negative="False" 
                        NumberType="1" 
                        TCSC="0">8L</st1:chmetcnv></FONT></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><FONT face="Times New Roman">Program 
                        type<SPAN 
                        style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                        </SPAN>: Application</FONT></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><FONT face="Times New Roman">Clock 
                        frequency<SPAN 
                        style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; 
                        </SPAN>: 8.000000 MHz</FONT></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><FONT face="Times New Roman">Memory 
                        model<SPAN 
                        style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                        </SPAN>: Small</FONT></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><FONT face="Times New Roman">External SRAM 
                        size<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>: 
                        0</FONT></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><FONT face="Times New Roman">Data Stack 
                        size<SPAN 
                        style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; 
                        </SPAN>: 256</FONT></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">*****************************************************/</FONT></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><o:p><FONT 
                        face="Times New Roman">&nbsp;</FONT></o:p></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><FONT face="Times New Roman">#i nclude 
                        &lt;mega8.h&gt;</FONT></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><o:p><FONT 
                        face="Times New Roman">&nbsp;</FONT></o:p></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><FONT face="Times New Roman">// Declare your 
                        global variables here</FONT></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><FONT face="Times New Roman">eeprom unsigned 
                        char n;</FONT></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><SPAN style="mso-spacerun: yes"><FONT 
                        face="Times New Roman"></FONT></SPAN></SPAN>&nbsp;</P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><FONT face="Times New Roman">void 
                        main(void)</FONT></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">{</FONT></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">PORTB=0xFF;</FONT></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">DDRB=0xFF;</FONT></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">n++;</FONT></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><o:p><FONT 
                        face="Times New Roman">&nbsp;</FONT></o:p></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><FONT face="Times New Roman">while 
                        (1)</FONT></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><FONT face="Times New Roman"><SPAN 
                        style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                        </SPAN>{</FONT></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><FONT face="Times New Roman"><SPAN 
                        style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                        </SPAN>PORTB=~n;</FONT></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><FONT face="Times New Roman"><SPAN 
                        style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                        </SPAN>}</FONT></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">}</FONT></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><o:p><FONT 
                        face="Times New Roman">&nbsp;</FONT></o:p></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">注意:我采用的是双龙电子的</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">SLISP</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">软件对</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">mega8</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">烧程序的,在烧写程序的时候,若编程选项中的擦除前面的“对号”保留,则在烧写程序的时候会把</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">eeprom</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">都擦除(即都是</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">0xff</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">),若去掉擦除前面的“对号”,则在烧写程序的时候不会擦除</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">eeprom</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">(即都以前是什么值就是什么值)。</SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        lang=EN-US><o:p><FONT 
                        face="Times New Roman">&nbsp;</FONT></o:p></SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">双龙电子的</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">SLISP</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">软件挺好,大家也要熟悉一下它的环境,特别是熔丝的配置等操作,网上也有使用说明,抽空看看。</SPAN></P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"></SPAN>&nbsp;</P>
                        <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编程设备我是自己做的</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">ISP</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,很简单,大家也可以自制,资料网上都有,淘宝上也有卖的价格在(</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">10</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">元到</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">30</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">元之间不等</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">-----</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">足可满足初学者的需要了,(高级的</SPAN><SPAN 
                        lang=EN-US><FONT 
                        face="Times New Roman">ISP</FONT></SPAN><SPAN 
                        style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">多少钱的都有,也有上千的))。建议自己做。</SPAN></P></SPAN></TD></TR></TBODY></TABLE>
                  <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
                    <TBODY>
                    <TR>
                      <TD height=3>&nbsp;</TD></TR></TBODY></TABLE>
                  <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
                    <TBODY class=seyle99>
                    <TR>
                      <TD>
                        <DIV align=right><A 

⌨️ 快捷键说明

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