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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7903|回復: 2
打印 上一主題 下一主題
收起左側

AVR單片機ATmega8/16內部晶振校準 源程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:882468 發表于 2021-2-3 14:14 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
AVR單片機ATmega8/16內部晶振校準,本例程適用于內部8M  波特率38400。使用方法:

下載到單片機后打開串口(波特率38400)自動發送十六進制55,成功時串口收到OK指令。

單片機源程序如下:
  1. #define F_CPU 4000000UL
  2. #include <avr/io.h>
  3. #include <string.h>
  4. #include <util/delay.h>
  5. #include <avr/interrupt.h>
  6. #define INT8U unsigned char
  7. #define INT16U unsigned int

  8. INT8U flag=0,flag1=0;
  9. INT8U DataBuf;

  10. //初始化
  11. void Init_USART()
  12. {
  13.         UCSRB=_BV(RXEN)|_BV(TXEN)|_BV(RXCIE);
  14.         UCSRC=_BV(URSEL)|_BV(UCSZ1)|_BV(UCSZ0);
  15.         UBRRL=(F_CPU/38400/8-1)%256;
  16.         UBRRH=(F_CPU/38400/8-1)/256;
  17.         UCSRA|=_BV(U2X);
  18. }
  19. //發送一個字符
  20. void PutChar(char c)
  21. {        
  22.         UDR=c;
  23.         while(!(UCSRA&_BV(UDRE)));
  24. }

  25. void tx(char *s) //發送一個字符串
  26. {
  27.         INT8U i=0;
  28.         while(s[i]!='\0') PutChar(s[i++]);
  29. }
  30. void EepromWrite(INT16U uiAddress,INT8U ucData)
  31. {
  32.         while(EECR&(1<<EEWE));
  33.         EEAR=uiAddress;
  34.         EEDR=ucData;
  35.         EECR|=(1<<EEMWE);
  36.         EECR|=(1<<EEWE);
  37. }
  38. /******************************************/
  39. /******************************************/
  40. INT8U EepromRead(INT16U uiAddress)
  41. {
  42.         while(EECR&(1<<EEWE));
  43.         EEAR=uiAddress;
  44.         EECR|=(1<<EERE);
  45.         return (EEDR);
  46. }


  47. int main()
  48. {
  49.         DDRC=0xFF;// 輸出低
  50.         PORTC=0x00;//氣閥,測試開關
  51.         
  52.         DDRB=0x00;//下載輸入弱上拉
  53.         PORTB=0xFF;//傳感器
  54.         
  55.         DDRD=0x02;// D0輸入上拉D1輸出高
  56.         PORTD=0xFF;//按鍵  檢測
  57.         Init_USART();
  58.         sei();
  59.         OSCCAL=0x00;
  60.         /**************** 晶振修正 **************************
  61.         DataBuf=EepromRead(0x0F);
  62.         PutChar(DataBuf);
  63.         if(DataBuf!=0xFF)
  64.         OSCCAL=DataBuf;
  65.         _delay_ms(500);
  66.         ***************************************************/                                       
  67.         while (1)
  68.         {
  69.                                        
  70.         }
  71. }
  72. ISR (USART_RXC_vect)
  73. {
  74.         static INT8U i=0;
  75.         INT8U a;
  76.         a=UDR;
  77.                
  78.         if(a==0x55)
  79.         {
  80.                 //PutChar(a);
  81.                 i++;
  82.                 if (i==50)
  83.                 {
  84.                         UCSRB&=0x7F;
  85.                         EepromWrite(0x0F,OSCCAL);
  86.                         tx("OK");
  87.                 }
  88.         }
  89.         else
  90.         OSCCAL++;        
  91. }
  92. /*串口接受中斷
  93. ISR (USART_RXC_vect)
  94. {
  95.         static INT8U i=0;
  96.         INT8U a;
  97.         a=UDR;
  98.         PutChar(a);        
  99.         if(a=0x55)
  100.         {
  101.                 PutChar('0');
  102.                 i++;
  103.                 if (i==50)
  104.                 {                        
  105.                         UCSRB&=0x7F;                        
  106.                         EepromWrite(0x03,a);
  107.                         tx("OK");
  108.                 }
  109.         }
  110.         else
  111.         OSCCAL++;
  112. }*/
  113.                         
復制代碼

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:656419 發表于 2022-6-3 13:58 來自觸屏版 | 只看該作者
這個是8m的嗎?
回復

使用道具 舉報

板凳
ID:163139 發表于 2024-2-1 13:27 | 只看該作者
這個是8m的嗎?
回復

使用道具 舉報

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

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日一日操一操 | 伊人精品一区二区三区 | 亚洲区一区二 | 91亚洲国产精品 | 一级黄片一级毛片 | 中文字幕视频在线 | 国产精品亚洲综合 | 久久国产婷婷国产香蕉 | 浴室洗澡偷拍一区二区 | 欧美电影大全 | 国产三区四区 | 国产成人精品一区二区三区 | 粉嫩av在线| 97精品超碰一区二区三区 | 免费看黄色国产 | 欧美成人一区二区 | 人人干在线 | 成人精品国产免费网站 | 国产97人人超碰caoprom | 日本三级网 | 日韩一区二区三区视频在线观看 | 成人国产精品久久 | 一区二区日韩 | 又黑又粗又长的欧美一区 | 久久久久久久久中文字幕 | 国产精品高潮呻吟久久av黑人 | 色综合久久久久 | 久久久毛片 | 日日操视频 | 亚洲视频免费观看 | 久久久美女| 国产福利资源在线 | 男女爱爱福利视频 | 在线看片国产精品 | 一区二区三区欧美 | 成人在线观看免费 | 精品无码久久久久久久动漫 | 亚洲精品在线免费 | 日韩免费1区二区电影 | 中文字幕日韩一区 | 在线免费国产视频 |