久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3571|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

STC8A單片機(jī)外部晶振這樣啟動(dòng)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:22266 發(fā)表于 2021-5-24 04:27 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
來自網(wǎng)絡(luò)大神的帖子

沒事試了一下STC8A外部晶振這樣啟動(dòng)

以前用STC15系列,使用外部晶振時(shí)在軟件上選一下就可以,如果外部晶振沒有焊,單片機(jī)默認(rèn)是內(nèi)部時(shí)鐘運(yùn)行的,現(xiàn)在STC8A單片機(jī)軟件上沒有選項(xiàng),需要在代碼中啟動(dòng)外部晶振,官方的例程是死等晶振穩(wěn)定,如果晶振沒有焊,就卡住了,試了一下將死等改成等一段保守時(shí)間,如果晶振沒有穩(wěn)定啟動(dòng),就默認(rèn)用內(nèi)部時(shí)鐘工作。考慮到有些情況用晶振可以更穩(wěn)定,但用內(nèi)部時(shí)鐘也能滿足的情況下,這樣啟動(dòng),即使晶振損壞也能像STC15一樣正常工作

  1. //這個(gè)是拷貝STC-ISP里的范例程序。

  2. //我使用時(shí)都是與或操作。
  3. P_SW2 |= 0x80;     //bit7=1
  4. //操作代碼略
  5. P_SW2 &= ~0x80;  //bit7=0

  6. //而在中斷中,則是:
  7. u8 i;
  8. i = P_SW2;
  9. P_SW2 |= 0x80;     //bit7=1
  10. //操作代碼略
  11. P_SW2 &= ~0x80;  //bit7=0
  12. P_SW2 = i;




  13.   P_SW2 |= 0x80;
  14.   XOSCCR = 0xc0;                              //啟動(dòng)外部晶振
  15.   for(j=0;j<65535;j++)                        //官方例程是while (!(XOSCCR & 1));
  16.    {
  17.           if ((XOSCCR & 1))                     //判斷時(shí)鐘穩(wěn)定位
  18.           {
  19.                 CKDIV = 0x00;                   //時(shí)鐘不分頻
  20.                    CKSEL = 0x01;                   //選擇外部晶振
  21.                    break;
  22.           }
  23.    }
  24. P_SW2 &= ~0x80;
復(fù)制代碼
  1. //========================================================================
  2. //請參考STC-ISP里的范例程序里的STC8系列的“選擇系統(tǒng)時(shí)鐘源”,我拷貝到這里。


  3. #include "reg51.h"
  4. #include "intrins.h"

  5. #define CKSEL           (*(unsigned char volatile xdata *)0xfe00)
  6. #define CKDIV           (*(unsigned char volatile xdata *)0xfe01)
  7. #define IRC24MCR        (*(unsigned char volatile xdata *)0xfe02)
  8. #define XOSCCR          (*(unsigned char volatile xdata *)0xfe03)
  9. #define IRC32KCR        (*(unsigned char volatile xdata *)0xfe04)

  10. sfr     P_SW2       =   0xba;

  11. void main()
  12. {
  13.     P_SW2 = 0x80;
  14.     CKSEL = 0x00;                               //選擇內(nèi)部IRC ( 默認(rèn) )
  15.     P_SW2 = 0x00;

  16.     /*
  17.     P_SW2 = 0x80;
  18.     XOSCCR = 0xc0;                              //啟動(dòng)外部晶振  B7 ENXOSC   B6 XITYPE
  19.     while (!(XOSCCR & 1));                      //等待時(shí)鐘穩(wěn)定
  20.     CKDIV = 0x00;                               //時(shí)鐘不分頻
  21.     CKSEL = 0x01;                               //選擇外部晶振
  22.     P_SW2 = 0x00;
  23.     */

  24.     /*
  25.     P_SW2 = 0x80;
  26.     IRC32KCR = 0x80;                            //啟動(dòng)內(nèi)部32K IRC
  27.     while (!(IRC32KCR & 1));                    //等待時(shí)鐘穩(wěn)定
  28.     CKDIV = 0x00;                               //時(shí)鐘不分頻
  29.     CKSEL = 0x03;                               //選擇內(nèi)部32K
  30.     P_SW2 = 0x00;
  31.     */
  32.     while (1);
  33. }
復(fù)制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕av一区 | 日日碰狠狠躁久久躁婷婷 | 亚洲高清一区二区三区 | 亚洲精品一区在线 | 中国美女撒尿txxxxx视频 | 国产一区二区三区日韩 | 亚洲欧美日韩中文字幕一区二区三区 | 夜夜爽99久久国产综合精品女不卡 | 欧美黑人一级爽快片淫片高清 | 色99视频 | 91精品久久久久 | 久久99精品久久 | 日本久久网| 韩日精品一区 | av手机在线免费观看 | 国产精品日产欧美久久久久 | 黄视频网站免费观看 | 亚洲瑟瑟 | 黄色毛片视频 | 亚洲啪啪| 午夜爽爽爽男女免费观看 | 人人草天天草 | 国产一区二区av | 成人网在线 | 日本中文在线视频 | 国产污视频在线 | 久久久精品一区 | 欧美国产视频 | 亚洲国产精品久久久久秋霞不卡 | 亚洲国产精品成人久久久 | 精品一区二区三区不卡 | 国产一区二区三区免费观看视频 | 国产成人在线视频免费观看 | 青青草一区| 久久午夜视频 | 国产精品国产精品国产专区不卡 | 九九伦理电影 | 美女黄网 | 欧美日韩综合一区 | 一区二区影院 | 免费一级片 |