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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7398|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产午夜精品一区二区三区在线观看 | 99久久婷婷国产综合精品电影 | 日本成人午夜影院 | 日韩中文字幕在线 | 澳门永久av免费网站 | 国产视频日韩 | а√中文在线8 | 国产精品自产拍在线观看蜜 | 99成人| 无吗视频 | 国产精品久久久久久久岛一牛影视 | 青青草av在线播放 | 97伦理影院| 久久成人一区 | 久久久久久国产精品 | 久久精品无码一区二区三区 | 亚洲激情网站 | 精精国产xxxx视频在线播放 | 精品一区二区三 | 亚洲乱码一区二区三区在线观看 | 久久精品一区二区三区四区 | 国产成人精品一区二区三区网站观看 | 久久久久国 | 亚洲欧美中文日韩在线v日本 | 国产中文区二幕区2012 | 最新中文字幕在线播放 | 巨大黑人极品videos精品 | 深夜爽视频 | 成人精品在线视频 | 欧美日韩综合视频 | 精品一区二区三区av | 日韩视频免费 | 欧美操操操 | 亚洲国产精品一区在线观看 | 欧美一区二区三区在线 | 亚洲国产第一页 | 欧美二区三区 | 午夜激情影院 | 国产精品国产精品国产专区不片 | 99精品视频一区二区三区 | 色综合久久久 |