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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

ATmega8的eeprom讀寫操作程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:501957 發表于 2019-9-18 11:26 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
ATmega8的eeprom讀寫操作,實測沒問題

單片機源程序如下:
  1. //ICC-AVR application builder
  2. // Target : M8
  3. // Crystal: 8.0000Mhz

  4. #include <iom8v.h>
  5. #include <macros.h>
  6. #include <74164.h>
  7. #include <eeprom.h>

  8. unsigned char    display[4];  // 顯示緩沖區
  9. unsigned char    dis;         // 當前顯示
  10. unsigned char    s,m;          // 時間

  11. //TIMER0 initialisation - prescale:256
  12. // WGM: Normal
  13. // desired value: 5mSec
  14. // actual value:  4.992mSec (0.2%)
  15. void timer0_init(void)
  16. {
  17. TCCR0 = 0x00; //stop
  18. TCNT0 = 0x64; //set count
  19. TCCR0 = 0x04; //start timer
  20. }

  21. #pragma interrupt_handler timer0_ovf_isr:10
  22. void timer0_ovf_isr(void)
  23. {
  24. TCNT0 = 0x64; //reload counter value
  25. //  display
  26.     switch(dis){  //  顯示
  27.         case  0:  write164(display[dis] | 0x70);  break;
  28.         case  1:  write164(display[dis] | 0xB0);  break;
  29.         case  2:  write164(display[dis] | 0xD0);  break;
  30.         case  3:  write164(display[dis] | 0xE0);  break;
  31.     }
  32.     if(++dis > 3) dis = 0;
  33. //end  display
  34. }

  35. //TIMER1 initialisation - prescale:1024
  36. // WGM: 0) Normal, TOP=0xFFFF
  37. // desired value: 1Hz
  38. // actual value:  1.000Hz (0.0%)
  39. void timer1_init(void)
  40. {
  41. TCCR1B = 0x00; //stop
  42. TCNT1H = 0xE1; //setup
  43. TCNT1L = 0x7C;
  44. OCR1AH = 0x1E;
  45. OCR1AL = 0x84;
  46. OCR1BH = 0x1E;
  47. OCR1BL = 0x84;
  48. ICR1H  = 0x1E;
  49. ICR1L  = 0x84;
  50. TCCR1A = 0x00;
  51. TCCR1B = 0x05; //start Timer
  52. }

  53. #pragma interrupt_handler timer1_ovf_isr:9
  54. void timer1_ovf_isr(void)
  55. {
  56. //TIMER1 has overflowed
  57. TCNT1H = 0xE1; //reload counter high value
  58. TCNT1L = 0x7C; //reload counter low value
  59. if(++s == 60){
  60.    s = 0;
  61.    if(++m == 60) m = 0;
  62. }
  63. EEPROMwrite(1,s);       //  保存時間
  64. EEPROMwrite(2,m);
  65. display[0] = s % 10;    //  刷新顯示緩沖
  66. display[1] = s / 10;
  67. display[2] = m % 10;
  68. display[3] = m / 10;
  69. }

  70. //call this routine to initialise all peripherals
  71. void init_devices(void)
  72. {
  73. //stop errant interrupts until set up
  74. CLI(); //disable all interrupts
  75. DDRB = 0x01;    //  初始化操作74LS164的管腳
  76. DDRD = 0xC0;    //  初始化操作74LS164的管腳
  77. timer0_init();
  78. timer1_init();

  79. MCUCR = 0x00;
  80. GICR  = 0x00;
  81. TIMSK = 0x05; //timer interrupt sources
  82. SEI(); //re-enable interrupts
  83. //all peripherals are now initialised
  84. }

  85. //
  86. void main(void)
  87. {
  88. init_devices();
  89. s = EEPROMread(1);  //  讀取時間
  90. m = EEPROMread(2);
  91. display[0] = s % 10;    //  刷新顯示緩沖
  92. display[1] = s / 10;
  93. display[2] = m % 10;
  94. display[3] = m / 10;
  95. while(1);
  96. }
復制代碼

所有資料51hei提供下載:
ATmega8的eeprom讀寫操作.rar (18.37 KB, 下載次數: 27)


評分

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

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产探花在线精品一区二区 | 日本福利在线 | 国产成人精品999在线观看 | 亚洲a在线视频 | 久久久久久久久久久一区二区 | 国产精品成人久久久久 | 久久亚洲天堂 | 成人精品一区二区三区四区 | 青青草一区二区三区 | 婷婷丁香激情 | 午夜爱爱毛片xxxx视频免费看 | 天天精品在线 | 九九免费视频 | 天天拍天天射 | 一区二区播放 | 最新高清无码专区 | 成人国产在线视频 | 青青草在线播放 | 日韩精品一区二区三区中文在线 | 97操操 | jizz18国产| 91精品久久久久久久久中文字幕 | 最新国产视频 | 日韩欧美网 | 91在线看片| 久久男人天堂 | 免费日本视频 | 国精日本亚洲欧州国产中文久久 | 亚洲精品视频一区二区三区 | 嫩草视频在线 | 国产精品久久久久aaaa | 国产亚洲精品久久午夜玫瑰园 | 超碰国产在线 | 欧美日韩亚洲国产 | 国产成人精品一区二区三区在线观看 | 婷婷激情综合 | 四色成人av永久网址 | 成人综合视频在线 | 国产福利视频 | 精品综合 | 亚洲欧美日韩精品久久亚洲区 |