创作

完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>

3天内不再提示

使用51单片机读写AT29C040的C语言程序免费下载

来源:网络整理 作者:佚名 2020-11-14 11:31 次阅读

本文档的主要内容详细介绍的是使用51单片机读写AT29C040的C语言程序免费下载

#include 《reg51.h》

#include 《intrins.h》

unsigned char time;

void int_t0(void) interrupt 1 {

time++;

}

unsigned char d; //rec data

bit rec(void) {

TH0=0;time=0;

while (!RI) {if (time》1) return(1);}

RI=0;

d=SBUF;

return(0);

}

void sen(unsigned char dd) {

SBUF=dd;

while (!TI) {}

TI=0;

}

void wait(void) {

time=0;while (time《10) {}

}

void wait10ms(void) {

TH0=150;time=0;

while (!time) {}

}

sbit ce=P3^5;

sbit oe=P3^6;

sbit we=P3^7;

sbit a16=P3^2;

sbit a17=P3^3;

sbit a18=P3^4;

void pro_to_card(void) {

unsigned char no,i,j;

sen(0xaa);

if (rec()) {wait();return;}

no=d;

sen(d);

no《《=2;

no|=0xe3;

P3=0xff;

P3&=no;

i=0;

do {

P0=i;

j=0;

do {

if (rec()) {wait();ce=1;return;}

TI=0;SBUF=d;

P1=j;

P2=d;

ce=0;

we=0;

we=1;

ce=1;

j++;

} while (j);

wait10ms();

i++;

} while (i);

ce=1;

}

void card_to_pro(void) {

unsigned char no,i,j;

sen(0x55);

if (rec()) {wait();return;}

no=d;

sen(d);

no《《=2;

no|=0xe3;

P3=0xff;

P3&=no;

P2=0xff;

i=0;

do {

P0=i;

j=0;

do {

P1=j;

ce=0;oe=0;

no=P2;

oe=1;ce=1;

j++;

sen(no);

if (rec()) {wait();return;}

if (no!=d) {wait();return;}

} while (j);

i++;

} while (i);

}

/*

void load(unsigned int as,unsigned char dd) {

P0=as/256;P1=as;P2=dd;

ce=0;we=0;we=1;ce=1;

}

void erase(void) {

a16=a17=a18=0;

load(0x5555,0xaa);

load(0x2aaa,0x55);

load(0x5555,0x80);

load(0x5555,0xaa);

load(0x2aaa,0x55);

load(0x5555,0x10);

wait10ms();

wait10ms();

}

void unlock(void) {

unsigned char i;

a16=a17=a18=0;

load(0x5555,0xaa);

load(0x2aaa,0x55);

load(0x5555,0x80);

load(0x5555,0xaa);

load(0x2aaa,0x55);

load(0x5555,0x20);

i=0;

do {

P1=i;

ce=0;we=0;we=1;ce=1;

i++;

} while (i);

}

*/

//AT29C040读写主程序开始

void main(void) {

SCON=0x80;

TMOD=0x21;

ET0=TR0=1;EA=1;

wait10ms();

// erase();

// unlock();

REN=1;

while (1) {

REN=1;RI=0;

while (!RI) {} RI=0;

switch (SBUF) {

case 0x55:card_to_pro();break;

case 0xaa:pro_to_card();break;

case 0xa5:

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

sen(0xaa);

break;

}

}

收藏 人收藏

    评论

    相关推荐

    如何去实现一种ARM汇编语言程序设计呢

    ARM 程序设计 由于 C 语言便于理解,有大量的支持库,所以它是当前 ARM 程序设计所使用的主要编程语言 对硬件系统的初始...
    发表于 05-27 17:37 1961次 阅读

    ATPCS基本规则

    有调用关系的所有子程序必须遵守同一种ATPCS,编译器或者汇编器在ELF格式的目标文件中设置相应的属....
    的头像 安芯教育科技 发表于 05-27 10:12 85次 阅读

    down2local下载中转程序

    ./oschina_soft/gitee-down2local.zip
    发表于 05-27 09:36 3次 阅读
    down2local下载中转程序

    JWebFileTrans(JDownload)从网络上下载文件的程序

    ./oschina_soft/JDownload.zip
    发表于 05-27 09:10 7次 阅读
    JWebFileTrans(JDownload)从网络上下载文件的程序

    详解回调函数的概念及使用步骤

    回调函数就是一个被作为参数传递的函数。在C语言中,回调函数只能使用函数指针实现,在C++、Pytho....
    的头像 嵌入式应用开发 发表于 05-26 15:20 135次 阅读

    bvi二进制/16进制编辑器

    ./oschina_soft/bvi.zip
    发表于 05-25 10:07 9次 阅读
    bvi二进制/16进制编辑器

    Vitis HLS工具简介及设计流程

    Vitis HLS 是一种高层次综合工具,支持将 C、C++ 和 OpenCL 函数硬连线到器件逻辑....
    的头像 Xilinx赛灵思官微 发表于 05-25 09:43 241次 阅读

    skyWriter文本编写程序

    ./oschina_soft/skywriter.zip
    发表于 05-25 09:19 9次 阅读
    skyWriter文本编写程序

    深入介绍嵌入式开发中三种不同的程序架构

    三种常用的软件架构有:顺序执行的前后台系统、时间片轮询系统和多任务操作系统:STM32单片机开发中的....
    的头像 STM32嵌入式开发 发表于 05-24 16:02 304次 阅读

    C语言基础知识分享

    常见问题答疑 1. 学习 java为什么建议先学 语言 没学过计算机专业课程能够学懂 语言 英....
    发表于 05-23 16:07 15次 阅读

    Mailnag邮件提示程序

    ./oschina_soft/mailnag.zip
    发表于 05-23 10:51 6次 阅读
    Mailnag邮件提示程序

    基于non-OS和RT-Thread的按键库源码及应用

    核心的按键扫描代码仅有三行,没错,就是经典的 三行按键扫描算法。使用 C 语言标准库 API 编写,....
    的头像 硬件攻城狮 发表于 05-23 09:39 318次 阅读
    基于non-OS和RT-Thread的按键库源码及应用

    51单片机-LED灯模块

    LED灯模块是通过74573锁存器芯片与单片机IO口连接,并与数码管共用IO口。
    的头像 DS小龙哥-嵌入式技术 发表于 05-23 09:14 3027次 阅读
    51单片机-LED灯模块

    C语言_二维数组与一维指针

    字符串:本身属于字符数组、字符串结尾有’\0’。
    的头像 DS小龙哥-嵌入式技术 发表于 05-21 09:11 361次 阅读

    详解内存池技术的原理与实现

    最近在网上看到了几篇篇讲述内存池技术的文章,有一篇是有IBM中国研发中心的人写的,写的不错~~文章地....
    的头像 Linux内核补给站 发表于 05-20 08:58 3542次 阅读
    详解内存池技术的原理与实现

    微控制器中各式各样的编程语言

    在上一篇文章中,我们探索了微控制器中的软件与硬件,并分析了为何微控制器的软件和硬件相辅相成缺一不可。....
    的头像 东芝半导体 发表于 05-19 19:58 651次 阅读

    你知道怎么写简单的C代码?

    还有一点,我相信每个程序员都想要写好代码,或者认为短小精悍的代码才算好。我们也会经常吹牛逼说:这个功....
    的头像 痞子衡嵌入式 发表于 05-19 11:18 105次 阅读

    C语言—数组详解

    介绍C语言数组的知识点。
    的头像 DS小龙哥-嵌入式技术 发表于 05-19 10:15 3611次 阅读

    如何设计RFID道闸控制PCB图

    利用门禁系统的话门的控制代替道闸控制行不行 ...
    发表于 05-19 02:25 3225次 阅读

    arduino开发版和51单片机的区别是什么

    很多初次学习arduino和单片机的同学都会问同一个问题,那就是arduino与51单片机有什么区别....
    的头像 创客生活 发表于 05-18 15:48 404次 阅读
    arduino开发版和51单片机的区别是什么

    将C/C++语言编写的程序转换成为处理器能够执行的二进制代码的过程

    大家肯定都知道计算机程序设计语言通常分为机器语言、汇编语言和高级语言三类。高级语言需要通过翻译成机器....
    的头像 马哥Linux运维 发表于 05-18 13:30 242次 阅读

    关于CAS等原子操作介绍 无锁队列的链表实现方法

    在开始说无锁队列之前,我们需要知道一个很重要的技术就是CAS操作——Compare & Set,或是....
    的头像 书生途 发表于 05-18 09:12 162次 阅读
    关于CAS等原子操作介绍 无锁队列的链表实现方法

    求助,请问relocation truncated to fit一般是什么问题引起的?

    make -j8 all ./User/U***.o: in function `U***SegDescriptor': L:\PRJ_WCH32\CH32V103x8U***HidIap\obj/...
    发表于 05-18 09:09 71次 阅读

    编程案例 使用MPLAB®X开发AVR®MCU 写C程序框架

    从新建一个空白程序开始,从头写一个程序框架,能有助于更好的理解MPLAB® X开发环境所提供的各种编....
    的头像 物联网评论 发表于 05-17 11:24 2142次 阅读
    编程案例 使用MPLAB®X开发AVR®MCU 写C程序框架

    BPF ring buffer解决的问题及背后的设计

    文章介绍了 BPF ring buffer 解决的问题及背后的设计,并给出了一些代码示例和内核 pa....
    的头像 Linux阅码场 发表于 05-17 09:37 183次 阅读

    用C语言写出简单的加密算法

    有一套四位数加密系统,输入四位数以后会自动加密。加密规则如下:每位数字都加上 5,然后用和除以 10....
    的头像 FPGA之家 发表于 05-16 10:20 166次 阅读

    PLC程序源码之三得利啤酒灌装机图纸和程序

    PLC程序源码——上海光明三得利啤酒灌装机图纸和程序(三菱)
    发表于 05-13 14:50 62次 阅读

    用FPGA解一道初中数学题

    由平方和4361末尾为1,再根据整数平方和的几种可能,计算出仅有0+1和5+6这两种可能,而且平方之....
    的头像 嵌入式ARM 发表于 05-13 14:41 195次 阅读

    C语言与C++面试知识点总结

    相对而言,C语言和C++相关的面试题比较少见,没有Java方向写的人那么多,这是一篇 C 语言与 C....
    的头像 安芯教育科技 发表于 05-13 11:59 461次 阅读

    POFSwitch虚拟交换机

    ./oschina_soft/POFSwitch.zip
    发表于 05-13 11:03 13次 阅读
    POFSwitch虚拟交换机

    小白学C语言如何上手?

    如何学好C语言呢,下面总结了几个点:1:首先就是C语言的编辑软件,其实有很多,有什么vim等,可以看自己的情况来选择。这边可以...
    发表于 05-12 15:32 908次 阅读

    C语言与C++面试知识点总结

    相对而言,C语言和C++相关的面试题比较少见,没有Java方向写的人那么多,这是一篇 C 语言与 C....
    的头像 嵌入式ARM 发表于 05-12 14:59 317次 阅读

    就算你是高手你也会犯的Bug

    但是这个程序,只能在Unix/Linux下工作,因为 Microsoft 的tmpfile()的实现....
    的头像 硬件攻城狮 发表于 05-12 09:46 120次 阅读

    三菱PLC编程实例之一个三台发电机两用一备的PLC程序

    三菱PLC(可编程逻辑控制器)编程实例项目例程:一个三台发电机两用一备的PLC程序
    发表于 05-11 15:04 67次 阅读

    三菱PLC编程实例之注塑机改造的程序(含触摸屏)

    三菱PLC(可编程逻辑控制器)编程实例项目例程,注塑机改造的程序(含触摸屏有注释)
    发表于 05-11 15:04 40次 阅读

    三菱PLC编程实例项目之饮水机生产线PLC程序

    三菱PLC(可编程逻辑控制器)编程实例项目例程,饮水机生产线PLC程序《带注释》
    发表于 05-11 14:54 39次 阅读

    三万多步马扎克系统三菱梯形图程序(英文)

    三万多步马扎克系统三菱梯形图程序英文注释(日本人写)
    发表于 05-11 14:47 56次 阅读

    MM32F0010与ht1621液晶显示的应用程序

    使用MM32F0010单片机连接ht1621液晶,显示1234的程序
    发表于 05-11 14:45 21次 阅读

    NDock.NET应用运行容器

    ./oschina_soft/ndock.zip
    发表于 05-11 09:51 12次 阅读
    NDock.NET应用运行容器

    51单片机简单易学教材(C语言版)

    本书旨在培养和锻炼单片机系统实用开发技能,全书以实践为主线,让读者在一个个实践案例中 逐步掌握单片....
    发表于 05-10 17:37 91次 阅读

    CRC校验原理及C51程序

    CRC校验原理: 其根本思想就是先在要发送的帧后面附加一个数(这个就是用来校验的校验码,但要注意,....
    发表于 05-10 15:38 22次 阅读

    C和C++的经典教材

    经典著作《Pointers on C》中文名《C和指针》,适合C语言有一定基础或初学者学习
    发表于 05-10 15:06 34次 阅读

    关于C语言陷阱与缺陷

    经典C语言著作,适合C语言初学者学习
    发表于 05-10 15:04 15次 阅读

    关于C语言大坑你知道嘛?

    为了不让别人篡改鱼鹰的代码,鱼鹰设计了多套机制,其中一个就是定时检查关键代码是否已执行,如果有一次没....
    的头像 嵌入式ARM 发表于 05-10 14:43 137次 阅读

    SZ/SNZ/LSZ/LSNZ指令功能及注意事项

    SZ [m] / SNZ [m] / LSZ [m] / LSNZ [m] 属于转移类型指令,其功能....
    发表于 05-10 14:40 19次 阅读
    SZ/SNZ/LSZ/LSNZ指令功能及注意事项

    cocker C语言实现的容器引擎

    ./oschina_soft/gitee-cocker.zip
    发表于 05-10 09:54 19次 阅读
    cocker C语言实现的容器引擎

    用C语言实现MD5加密算法

    一、摘要算法摘要算法又称哈希算法。它表示输入任意长度的数据,输出固定长度的数据,它的主要特征是加密过程不需要密钥,并且经...
    发表于 05-10 09:15 550次 阅读

    污水处理FX2NPLC程序(有注解的)

    污水处理FX2NPLC程序(有注解的)
    发表于 05-09 17:05 47次 阅读

    如何编写优质嵌入式C程序

    本文面向的,正是使用单片机、ARM7、Cortex-M3这类微控制器的编程人员。
    的头像 STM32嵌入式开发 发表于 05-09 12:05 239次 阅读

    Whitewidow SQL漏洞自动扫描工具

    ./oschina_soft/whitewidow.zip
    发表于 05-09 10:48 11次 阅读
    Whitewidow SQL漏洞自动扫描工具

    wickr-crypto-c Wickr安全加密库

    ./oschina_soft/wickr-crypto-c.zip
    发表于 05-09 10:38 15次 阅读
    wickr-crypto-c Wickr安全加密库

    触摸屏程序无法下载的解决方法

    故障类型一:点击下载没反应 1. 检查“账户控制设置”(HMI 软件菜单栏:工具-账户控制设置)
    发表于 05-07 15:00 62次 阅读

    触摸屏程序读取的设置步骤

    触摸屏程序默认不支持读取,需通过设置如下设置后即可支持: 1、打开触摸屏软件中的应用---保存和备....
    发表于 05-07 14:48 70次 阅读

    《C和指针》高清版资料分享

    共466页,版面很清晰,非常好的资料。有需要的可下载 ...
    发表于 05-07 10:15 9200次 阅读

    如何在rt-thread的env环境中配置C++11?

    1、rt-thread的env环境是否支持C++11 2、如何在rt-thread的env环境中配置C++11 ...
    发表于 05-06 09:52 1406次 阅读

    如何在程序中判断程序处于调试模式还是非调试模式?

    如何在程序中判断程序处于调试模式还是非调试模式? 程序进入调试的入口或标志在哪里? 主要是为了实现USB虚拟串口的功能,在...
    发表于 05-05 10:14 1362次 阅读

    使用arm-none-eabi-gcc编译cubemx生成的项目没有程序跳到uart_init是为什么

    使用arm-none-eabi-gcc编译cubemx 生成的项目。 发现没有程序没有跳到uart_init void rt_hw_board_init(void) {   &nb...
    发表于 05-05 09:43 1163次 阅读

    这个错哪了,求助

    已经在c++里面把头文件路径包含了,怎么还是出错...
    发表于 05-03 13:50 3011次 阅读
    这个错哪了,求助