当前位置:首页 > 单片机 > 单片机
[导读] ;该试验功能是单片机复位一次,自动从24C02中读取数据到数码管显示,然后对值加1再写入24C02,最终数码管中的数据就是开机的次数,具有一定的实用意义;本电路所使用24C02为ATMEL的,或不是该厂的,则烧写时

;该试验功能是单片机复位一次,自动从24C02中读取数据到数码管显示,然后对值加1再写入24C02,最终数码管中的数据就是开机的次数,具有一定的实用意义
;本电路所使用24C02为ATMEL的,或不是该厂的,则烧写时间可能会有差异
;必须调整本程序的DELAY时间
;本实战的目的是让大家进上步熟悉I2C通信的时序,熟悉24CXX的读写,会用软件模拟I2C通信
;硬件接法:


;1.24CXX的SDA接877A的RB5口,SCLK接877A的RB4口,WP接地,A0,A1,A2接地
;2.实验本实验须将MCD-DEMO实验板上的93CXX系列芯片先取下,在实验过程中不要按动同样接在RB口的按键,以免影响通信时序.
;3.实验板上拔码开关S4,S5要置ON,其它拔码开关都可以关闭。
;PIC单片机 学习网 陈学乾 http://www.pic16.com 讨论论坛:http://pic16.com/bbs/
;版权所有,转载请注明出处,并不能去掉或改变文件中的说明文字。
;程序文件名“MCD-24C02.ASM"
;程序清单如下:
;************************************
LIST P=16F877A, R=DEC
include "P16F877A.inc"
;***********************************
__CONFIG _DEBUG_OFF&_CP_OFF&_WRT_HALF&_CPD_OFF&_LVP_OFF&_BODEN_OFF&_PWRTE_ON&_WDT_OFF&_XT_OSC;
;************************************ 定义查表偏移量
#define SDA PORTB,5
#define SCLK PORTB,4
;*********************
COUNT EQU 20H
ADDR EQU 21H
DAT EQU 23H
TEMP EQU 24H
;**********************
ORG 000H
NOP ;放置一条ICD必需的空操作指令
GOTO MAIN
ORG 004H
RETURN
ORG 0008H
;******************************************************
TABLE
ADDWF PCL,1 ;地址偏移量加当前PC值
RETLW 0C0H ;0
RETLW 0F9H ;1
RETLW 0A4H ;2
RETLW 0B0H ;3
RETLW 99H ;4
RETLW 92H ;5
RETLW 82H ;6
RETLW 0F8H ;7
RETLW 80H ;8
RETLW 98H ;9
RETLW 00H ;A
RETLW 00H ;B
RETLW 00H ;C
RETLW 00H ;D
RETLW 00H ;E
RETLW 00H ;F
;*******************************************************
MAIN
MOVLW 0FFH
MOVWF PORTC ;数码管先全部熄灭
MOVLW 0FFH
MOVWF PORTA
MOVLW 0FFH
MOVWF PORTB ;SDT,SCLK都为高

BSF STATUS,RP0 ;定义RA口,RC,RB口全部为输出
MOVLW 07H
MOVWF ADCON1 ;设置RA口全部为普通数字IO口
CLRW
MOVWF TRISB ;
MOVWF TRISA
MOVWF TRISC
MOVWF OPTION_REG ;开启RB口内部弱上拉
BCF STATUS,RP0

CLRW ;地址00H
CALL RD24 ;读地址
MOVWF DAT ;读出的值送F1
SUBLW .9 ;若读出的值大于9,则F1送为0,从0开始(因为1位数码管只能显示到0-9)
BC TT2 ;C=0就转TT2
TT1
CLRF DAT
TT2
MOVFW DAT
CALL TABLE ;取显示段码
MOVWF PORTC ;段码送C口
BCF PORTA ,1 ;点亮第一位数码管
INCF DAT ,1 ;每次上电,存入24CXX的00H地址的值加1
CLRW ;地址00H
CALL WT24 ;写24CXX
GOTO $
;****************************
RD24
MOVWF ADDR ;地址暂存于F4中
CALL START24 ;启动I2C
MOVLW 0A0H
CALL SUBS ;写器件地址1010000+最后一位0写操作
MOVFW ADDR ;载入地址
CALL SUBS ;写地址
CALL START24 ;再发开始信号
MOVLW 0A1H ;写器件地址1010000+最后一位1读操作
CALL SUBS
BSF STATUS ,RP0
BSF TRISB ,5 ;设SDA脚为输入,准备读
BCF STATUS ,RP0
MOVLW 08H ;共读8位数据
MOVWF COUNT
RD000
NOP
NOP
NOP
BSF SCLK ;读数据
NOP
BSF STATUS,C
BTFSS SDA
BCF STATUS,C
RLF TEMP ,1
BCF SCLK
DECFSZ COUNT ,1 ;循环读完8位
GOTO RD000
BSF STATUS ,RP0
BCF TRISB ,5 ;恢复SDA脚为输出
BCF STATUS ,RP0
BSF SDA
CALL DELAY2
BSF SCLK
CALL DELAY2
BCF SCLK ;应答毕,SDA置1
CALL STOP ;送停止信号
MOVFW TEMP ;将读的数据送入W中
RETURN
;******************************写入24C02程序
WT24 MOVWF ADDR ; 先将地址暂存于F4
CALL START24 ;开始条件
MOVLW 0A0H
CALL SUBS ;写器件地址1010000+最后一位0写操作
MOVFW ADDR ;载入地址
CALL SUBS ;写地址
MOVFW DAT ;载入数据
CALL SUBS ;写数据
CALL STOP ;停止信号
RETURN

START24
;开始条件
BSF SDA
BSF SCLK
CALL DELAY2
BCF SDA
CALL DELAY2
BCF SCLK
RETURN

STOP
BCF SDA ;停止条件
NOP
NOP
BSF SCLK
CALL DELAY2
BSF SDA
RETURN

SUBS ;写数据
MOVWF TEMP ;将要写的数据存于F2中
MOVLW 08H
MOVWF COUNT ;写8位数据
SH01
RLF TEMP ,1
BSF SDA
BTFSS STATUS ,C
BCF SDA
NOP
BSF SCLK
CALL DELAY2
BCF SCLK
DECFSZ COUNT ,1 ;循环写完8位
GOTO SH01
BSF SDA
NOP
NOP
BSF SCLK
BSF STATUS,RP0
BSF TRISB ,5
BCF STATUS,RP0
REP
BTFSC SDA ;判应答到否,未到则等待
GOTO REP
BCF SCLK
BSF STATUS,RP0
BCF TRISB ,5
BCF STATUS,RP0
RETURN

DELAY2
NOP
NOP
NOP
NOP
RETURN
;********************************************
end ;源程序结束
;*****************************************************

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

当地时间 9 月 8 日,SpaceX 与 EchoStar 正式达成一项价值 170 亿美元的频谱交易,SpaceX 将收购 EchoStar 旗下 AWS-4 频段(2GHz 频段)及 H 频段的频谱许可证,此举引发...

关键字: SpaceX EchoStar 星链 通信

上海2025年8月26日 /美通社/ -- 在全球数字经济加速演进的时代浪潮中,海量数据资源正成为企业发展的双刃剑。超66%的企业面临"数据沉睡"危机——分散于供应链、财务、客户运营等数十个系统的业务...

关键字: AI 模型 软件 数据分析

在现代工业和汽车领域,控制器局域网(CAN)总线作为一种可靠且高效的通信方式,广泛应用于各种电子设备之间的数据传输。在 CAN 总线系统中,有一个看似毫不起眼却至关重要的元件 ——120Ω 终端电阻。这个小小的电阻,对于...

关键字: 控制器局域网 总线 通信

8月14日消息,今天,国务院新闻办公室举行“高质量完成‘十四五’规划”系列主题新闻发布会,国家数据局介绍“十四五”时期数字中国建设发展成就。

关键字: 算力 通信

加快开发进程;提升质量、安全性、性能与成本效益 利用耐世特在底盘领域的专业知识和线控技术产品组合 美国密西根州奥本山2025年8月11日 /美通社/ -- 耐...

关键字: MOTION 软件 运动控制 NI

北京2025年8月8日 /美通社/ -- 8月7日,浪潮信息发布面向万亿参数大模型的超节点AI服务器"元脑SD200"。该产品基于浪潮信息创新研发的多主机低延迟内存语义通信架构,以开放系统设计向上扩展...

关键字: 模型 节点 SD 通信

从自然汲取,向未来创造 上海2025年8月8日 /美通社/ -- 2025 世界机器人大会将于8月8-12日在北京亦创国际会展中心拉开帷幕,Festo(A112展位­)将以"从自然汲取,向未来创造&q...

关键字: FESTO 机器人 BSP 软件

引言:穿越变革浪潮,迎接智能金融时代 上海2025年7月28日 /美通社/ -- 在全球科技变革的浪潮中,生成式AI正加速驱动各行业变革,金融行业尤为显著。在强监管与用户需求升级的双重压力,行业亟需重构服务模...

关键字: 软件 生成式AI 模型 数字化

宁波2025年7月28日 /美通社/ -- 日前,在第四届宁波市专利创新大赛的聚光灯下,中之杰智能的创新技术"一种基于电子周转箱的生产管理方法及系统"强势斩获专利优秀奖。这枚沉甸甸的奖章背后...

关键字: 软件 电子 智能工厂 BSP

杭州2025年7月28日 /美通社/ -- 近日,大华股份与北京北大软件工程股份有限公司(以下简称"北大软件")签署战略合作协议。双方将重点围绕长江禁渔等领域,发挥各自在产品、技术、平台等方面的经验和...

关键字: 软件 数字化
关闭