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

標題: ATmega8的eeprom讀寫操作程序 [打印本頁]

作者: 筑夢守心    時間: 2019-9-18 11:26
標題: ATmega8的eeprom讀寫操作程序
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)







歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲二区在线 | 日韩中文字幕一区二区 | 九九免费在线视频 | 亚洲成人一级 | 一区二区视频在线 | 国产精品揄拍一区二区 | 91麻豆精品一区二区三区 | 日韩一区二区在线免费观看 | 久久男人| 无人区国产成人久久三区 | 99久久婷婷国产综合精品电影 | 欧美91| 久久久激情 | 99久久久久久 | 中文字幕欧美日韩 | 成人av观看| 自拍偷拍欧美 | 99视频在线免费观看 | 日韩精品一区二区三区 | 国产激情福利 | 国产视频二区 | 亚洲精品乱码久久久久久按摩 | 秋霞在线一区 | 一级a性色生活片久久毛片 午夜精品在线观看 | 爱爱综合网 | 日本精品在线一区 | 99re在线视频观看 | 日韩一二区 | 国产不卡视频在线 | 91视频一区二区三区 | 欧美中文 | 成人精品一区二区 | 国产精品美女一区二区三区 | 日韩精品一区二区三区久久 | 国产成人精品久久二区二区91 | 一级a爱片性色毛片免费 | 天天操夜夜操 | 色视频www在线播放国产人成 | 国产ts人妖一区二区三区 | 天堂资源最新在线 | 麻豆一区二区三区 |