读写PIC16F877单片机內部EEPROM的实例

发布者:AngelicJourney最新更新时间:2017-12-07 来源: eefocus关键字:读写PIC16F877  单片机  內部EEPROM 手机看文章 扫描二维码
随时随地手机看文章

LIST  P=16f877 
    #INCLUDE     

;- RAM LOCATIONS------ 

; Reserve RAM location 0x70 for IC


Data_EE_Addr    equ    0X71 
Data_EE_Data    equ    0X72 

;--------VECTORS------------ 

          org    0x0  
  nop 
          goto   START 

;-------PROGRAM-------------- 
    
          org   0X20 
START 
         call    INIT 

;----   Test the WRITE EEPROM Routine ---- 

  movlw 0x0 
  movwf Data_EE_Addr 
  movlw '0'    ; Load a ASCII code "0" to W 
  movwf Data_EE_Data 
EE_Write 
  call WRITE_EEPROM 
  incf Data_EE_Data,F ; 0x30+ N 
  incf Data_EE_Addr,F  ; Point to next EEPROM Address 
  btfss Data_EE_Addr,5 ; Write 32 bytes ? 
  goto EE_Write 

;----   Test the READ EEPROM Routine ---- 

  movlw 0x20  ; Get back EEPROM data to RAM with start addr at 0x20 
  movwf FSR 
;   
  movlw 0x0  ; Point to EEPROM start address at 0x00 
  movwf Data_EE_Addr 
EE_Read 
  call READ_EEPROM ; Read EEPROM data with curent address to W registre 
  movwf INDF  ; move W --> RAM  

  incf FSR,F 
  incf Data_EE_Addr,F  ; Point to next EEPROM Address 
  btfss Data_EE_Addr,6 ; Read 32 bytes ? 
  goto EE_Read 
;     
         GOTO    $    

;------ INTERNAL EEPROM READ ------ 

READ_EEPROM 
  banksel EEADR 
  movf Data_EE_Addr,W  ; Load EEPROM Address into Pointer 
  movwf EEADR 

;       bcf     INTCON,GIE   
  banksel EECON1 
  bcf EECON1,EEPGD 
  bsf EECON1,RD 

  banksel EEDATA 
  movf EEDATA,W 
;        bsf     INTCON,GIE   

  banksel PORTA 
  return 
;  
;----INTERNAL EEPROM WRITE----- 

WRITE_EEPROM 
  banksel EEADR   
  movf Data_EE_Addr,W  ; Load EEPROM Address & Data into Register 
  movwf EEADR 
  movf Data_EE_Data,W 
  movwf EEDATA 
;   
  banksel EECON1 
  bcf EECON1,EEPGD  ; Selected Data EEPROM for Writing 
  bsf EECON1,WREN  ; Enable write function 

;  bcf INTCON,GIE  ; DISAble Interrupt 

  movlw 0x55   ; Write Sequence control  
  movwf EECON2  
  movlw 0xAA 
  movwf EECON2  
    
  bsf EECON1,WR  ; Start EEPROM write operation 

;  bsf INTCON,GIE  ; Enable Interrupt (If used interrupt ) 
  bcf EECON1,WREN  ; Disable write EEPROM   

  btfsc EECON1,WR  ; Waiting for writing completed (4mS) 
  goto $-1   ; During write period, must hold both EEADR & EEDATA until complete 

  banksel PORTA 
  return   

;---------INITIAL---------------- 
INIT       
         BCF     PIR2,EEIF 
  banksel PIE2 
           BCF     PIE2,EEIE 
          RETURN 
;-------------------------------- 
             END   


关键字:读写PIC16F877  单片机  內部EEPROM 引用地址:读写PIC16F877单片机內部EEPROM的实例

上一篇:PIC16F877A+18B10温度测量+LCD1602显示温度
下一篇:菜鸟学PIC单片机(一)

推荐阅读最新更新时间:2024-03-16 15:48

STM32F103C8T6中断特征介绍 用按钮为STM32 MCU触发一个中断
中断是MCU的特征之一,STM32F103C8T6也不例外。以下通过STM32F103C8T6 Blue Pill外接一个按钮,向MCU触发外部中断。 STM32F103C8T6中断特征 中断有硬件中断和软件中断两种,当一个中断发生时,相应的中断服务程序(ISR)和中断处理程序就开始运行了。其中,ISR的指令必须尽可能小,ISR中也不能出现delay ()之类的阻塞函数。 STM32 Blue Pill或者STM32F103C8T6 MCU指定NVIC来管理所有外部中断和外设中断,其应用采用了Arduino IDE。因此,我们可使用相同的句法来配置外部中断,这可通过以下称作 “attachInterrupt ()” 的句法
[单片机]
STM32F103C8T6中断特征介绍 用按钮为STM32 <font color='red'>MCU</font>触发一个中断
单片机固件的"驱动分离"式设计思想
今天跟大家找了一种常见的应用与驱动分离设计的方式,对于目前一些高性能MCU还是值得使用一下的,不过对于原本主频不够高、性能不太强的MCU不建议使用,毕竟这样的设计还是牺牲了一定的性能。 在正规的项目开发中,项目往往是并行开发的,也就是说硬件设计、底层软件设计、应用软件设计等是同步进行的。比如说在开发板上调试模块驱动,在其他平台上调试应用程序再移植到目前这个平台等。 1、为何不见嵌入式软件架构师职位? 在招聘网站搜索架构师,会出现各种系统架构师:web架构师,后台服务端架构师等等,但是唯独很难看到嵌入式软件架构师。嵌入式软件不需要架构吗,驱动不需要架构吗? 答案当然是需要,不过为什么没有这方面的职位? 一般的人会说,小项目才
[单片机]
<font color='red'>单片机</font>固件的
一种基于单片机和PSD的数制化电源
    摘 要 根据单片机80C196KC和现场可编程系统器件PSD302的特性,设计了一种数制化电源装置,提供了程序框图,并对其进行了谐波分析。它是一种高性能的通用装置,可替代传统的PWM逆变电源。     关键词 电力电子器件 电源 单片机 现场可编程系统器件         随着现代工业的发展和社会进步,人类对电能种类的需求不断增加,如要求电能有多种制式:直流稳压电源、交流工频电源、中高频感应加热电源、高压电解电源等,而且需求的数量也在不断增加。要提供这些制式的电能,就要有许多不同的电源变换装置。此外,为满足各种电气设备对电源的特殊要求,也需要一些装置对电源进行变换和控制。这些装置品种繁多,其原理
[工业控制]
ARM和单片机AVR的区别
AVR单片机是ATMEL公司研制开发的一种新型单片机,它与51单片机、PIC单片机相比运行效率高很多、芯片内部的Flsah、EEPROM、SRAM容量较大、全部支持在线编程烧写(ISP、每个IO口都可以以推换驱动的方式输出高、低电平,驱动能力强、内部资源丰富,一般都集成AD、DA模数转换器;PWM;SPI、USART、TWI、I2C通信口;丰富的中断源等。主要现在使用的型号是ATMEGA8/16。 ARM不是单片机,准确来讲ARM是一种处理器的IP核。英国ARM公司开发出处理器结构后向其他芯片厂商授权制造,芯片厂商可以根据自己的需要进行结构与功能的调整,因此实际中使用的ARM处理器有很多种类,主要有三星、飞利浦、ATMEL、I
[单片机]
触控温度计设计
  1. 内容简介   温度的量测应用非常的广泛,从农业上的气温观测,及日常防疫的体温量测至工业上的半导体制程,温度都是相当重要的一个指标及依据。本文主要是介绍HYCON HY16F188 Series芯片在温度量测上的应用,并透过Touch Key的界面进行操作。由于HY16F188芯片内部集成高精度 △ADC,且ADC输出频率最快可以到达10KHZ,藉由外部LCD驱动IC HY2613B完成显示。HY16F188用于温度上的量测,不需外接的感测组件即完成,达到周边电路简单且省电的应用。   2.原理说明   2.1量测原理   本应用的温度量测组件是采用,IC内部的绝对温度传感器TPS,绝对温度传感器由二极管(BJT)组成,其
[单片机]
触控温度计设计
合泰单片机闪烁程序
;目的 ;1合泰单片机多功能口设置 ;2学习控制合泰单片机输出口操作 #INCLUDE HT66F50.INC ;================================================================================= ORG 0000H JMP A1 ORG 0020H A1: MOV A,08H ; MOV CP1C,A ;设置PC口为I/0口而不是中断口 CLR PCC ;设置pc 口为输出口 A2: SET PC ;PC口输出高电平点亮LED CALL M001 ;延时 CLR PC ;PC口输出低电平熄灭LED CALL M001 ;延时 JM
[单片机]
基于C8051F020单片机的数据采集电路设计
数据采集是为了对温度、压力、流量、速度、位移、光强度、声音等物理量进行在线测量和控制,通过传感器把上述物理量转换成模拟物理量的电信号。然后将模拟电信号经过处理并转换成计算机能识别的数字量,送入计算机处理、存储、传输和显示。 在操纵杆控制器的工作过程中,需要对操纵杆X轴和Y轴输出的2路电压信号进行A/D转换,转换后的数据范围要求在-1 500~1 500,采样精度为12位。另外还需要对采集后的数据进行计算,并通过串口与两自由度光电稳定平台进行通信,实现对稳定平台的功能控制,通信周期为80 ms。出于成本的考虑,没有采用传统专用A/D芯片+单片机的设计模式,只用了一片C8051F020单片机实现了上述功能。 1 芯片简介 C
[单片机]
基于C8051F020<font color='red'>单片机</font>的数据采集电路设计
利用MCU 设计离线锂电池充电器
高效、低成本及可靠的电池充电器设计可用各种方法来实现,但采用8 位闪速MCU 不仅能缩短设计时间、降低成本及提供安全可靠的产品,而且还能使设计人员以最少的工作量来进行现场升级。考虑到电池安全充电的成本、设计效率及重要性,基于MCU 的解决方案可为设计者们提供诸多优势。通过选择带适当外围与闪存的8 位MCU,工程师们能充分利用其优势来设计一种离线锂电池充电器。带2KB 闪存及适当外围以提供一种廉价解决方案的飞利浦 80C51 型MCU 就是这样一个例子。集成化闪存还能提供高效及方便地调试应用代码并进行现场软件升级(如果需要)的能力。由于设计界不仅熟悉而且广泛接受8 位MCU,故软硬件开发可快速进行。由众多厂商提供的各种功能强大且并不昂
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved