[QL200]软件模拟93LC46B读写程序[PIC16F877A+汇编].docVIP

[QL200]软件模拟93LC46B读写程序[PIC16F877A+汇编].doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[QL200]软件模拟93LC46B读写程序[PIC16F877A汇编]

[QL200]软件模拟93LC46B读写程序[PIC16F877A+汇编] ;功能说明: ;1.做一个灯的左移,将左移的8个码建于TABLE中. ;2.从TABLE中取出数据并以16位的方式存入93C46中,地址00H-03H. ;3.将93C46的00H-03H地址中的数据码取出并存入877A的RAM(30H)-(37H),并输出至877A的RC口. ;当断电再复电,数据码不会消失. ;4.本电路所使用93C46为ATMEL或MICROCHIP的,或不是该厂的,则烧写时间会有差异 ;必须调整本程序的DELAY时间 ;本实战的目的是让大家进上步熟悉SPI通信的时序,熟悉93C46的读写,会用软件模拟SPI通信 ;硬件接法: ;1.93C46的CS接877A的RB1口;CLK接877A的RB2口;DI接877A的RB4口;DO接877A的RB5口;93C46的ORG端接VCC,使93C46工作于16位方式 ;2.在实验过程中不要按动同样接在RB口的按键,和打开B口的LED,以免影响通信时序. ;3.实验板上拔码开关S11要置ON,其它拔码开关都关闭。 ;************************************ ??? LIST????? P=16F877A, R=DEC ??? include P16F877A.inc ;*********************************** __CONFIG _DEBUG_OFF_CP_ALL_WRT_HALF_CPD_ON_LVP_OFF_BODEN_OFF_PWRTE_ON_WDT_OFF_HS_OSC ;芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡 ;************************************ 定义查表偏移量 READ?? EQU?? 0? ;读93C46 WRITE? EQU?? 1? ;写入93C46 EWEN?? EQU?? 2? ;93C46写入使能 EWDS?? EQU?? 3? ;93C46写入禁止 ;*************************************定义引脚位地址 CS???? EQU?? 1 CLK??? EQU?? 2 DI???? EQU?? 4 DO???? EQU?? 5 ;********************* ADR46? EQU?? 20H F1???? EQU?? 23H F2???? EQU?? 24H F3???? EQU?? 25H F4???? EQU?? 26H F5???? EQU?? 27H F6???? EQU?? 28H F7???? EQU?? 29H ;********************** ? ORG 000H ? NOP????????????? ;放置一条ICD必需的空操作指令 ? GOTO MAIN ? ORG 0008H ;****************************************************** TABLE ? ADDWF PCL ,1?? ;查表,PORTC一个灯左移 ? RETLW? 01H ? RETLW? 02H ? RETLW? 04H ? RETLW? 08H ? RETLW? 10H ? RETLW? 20H ? RETLW? 40H ? RETLW? 80H ;******************************************************* TO9346 ? MOVWF F1??????? ;将W的值送F1暂存 ? BSF? PORTB ,CS????????? ;写入起始位1 ? BSF? PORTB ,DI ? BSF? PORTB ,CLK ? CALL DELAY ? BCF? PORTB ,CLK ? CALL DELAY ? MOVFW F1 ? ADDWF PCL ,1 ? GOTO? SREAD??? ;读 ? GOTO? SWRITE?? ;写 ? GOTO? SEWEN??? ;写使能 ? GOTO? SEWDS??? ;写禁止 ;***************************************************** MAIN ? MOVLW? 00H ? MOVWF? PORTC??????????? ;LED先全部熄灭 ? MOVLW? 20H ? MOVWF? PORTB??????????? ;除DO外,其它通信口全送0 ? BSF STATUS,RP0????????? ;定义RA口,RC口全部为输出 ? MOVLW 20H ? MOVWF TRISB?????

您可能关注的文档

文档评论(0)

803322fw + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档