<wbr id="pbjqz"><pre id="pbjqz"><noscript id="pbjqz"></noscript></pre></wbr>

            <nav id="pbjqz"></nav>
              <wbr id="pbjqz"><legend id="pbjqz"><video id="pbjqz"></video></legend></wbr>

              PLC企業資訊
                中穎SH79F3283寄存器、時鐘、ADC、串口中斷、存儲空間和燒錄問題的小結
                發布者:shwksy  發布時間:2020-12-14 14:57:21

                一、bank0和bank1

                SH79F3283的從數據手冊或者f3283的頭文件里能看到,一些寄存器背后有備注在“bank1”,一定要注意,如果要對這些寄存器進行設置,一定要像以下配置。


                如果不切換的話一些寄存器的地址是重疊的,到賦值的時候就會出現莫名其妙的錯誤。包括P5的所有腳都是在bank1的,配置的時候一定要留意。

                二、時鐘

                手冊上并沒寫的太清楚外部晶振究竟能搞到一個什么范圍,一會兒說12M一會兒又16M,其實外部最多12M,內部可以達到16M。

                一般51都是一個機器周期=12個震蕩周期,這款是1:1,不過需要注意的一點是CLKCON這個寄存器默認將時鐘12分頻。

                使用的時候一定要記得給它設置成不分頻,不然速度太慢了

                三、ADC采樣和串口中斷

                當你配置完ADC打開中斷和總中斷之后,一定要等待至少10us的時間再寫下:ADCON|=0X01;

                否則ADC模塊會出現問題。

                串口中斷的RI和TI任意一個為1時,都不能觸發串口中斷。

                我用了個芯片將232轉485了,每次發送完成后一定要把TI這個標志清零再接收,不然根本收不到數據。

                四、RAM

                不得不說這個RAM實在是太小了,內部就256字節,外部撐死1k,我用的時候真的要很小心,生怕ram滿了導致中斷保持現場對的時候不正常。

                最后我發現:

                實際上你只要加一個關鍵字"xdata"就可以直接把變量定義在外部ram了,例如"xdata int i=0;"

                至于你想驗證我定義完之后是不是能正常給這個變量賦值,很簡單,你插上這個東西的仿真器,跑一個最簡單的i++;語句,看看在watch窗口這個i有沒有增加就是了。

                五、燒錄時的代碼選項

                1、關于時鐘配置:

                中穎SH79F3283時鐘選擇并不是通過某個寄存器選擇的,而是要通過下載軟件來配置的,在代碼選項OP_OSC這個來選,如果不選擇等你把程序燒進去之后會發現你的外部晶振甚至沒有起振。以ISP51為例:


                2、中穎默認代碼選項中開門狗是開的,OP_WDT一定要選擇關閉。


                整理者:上海微可實業有限公司

                由飛天小鯨魚和LI2590266418文章收集整理而來,侵權必刪


                上海微可實業有限公司 
                電話:18221985986 
                QQ/微信:634121371
                淘寶網店 :  wksy.taobao.com  (中穎單片機)
                聯系人:程先生



                版權聲明PLC信息網轉載作品均注明出處,本網未注明出處和轉載的,是出于傳遞更多信息之目的,并不意味 著贊同其觀點或證實其內容的真實性。如轉載作品侵犯作者署名權,或有其他諸如版權、肖像權、知識產權等方面的傷害,并非本網故意為之,在接到相關權利人通知后將立即加以更正。聯系電話:0571-87774297。
              0571-87774297  
              免费人成激情视频在线看