例K6-1.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  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文档。上传文档
查看更多
例K6-1

//例K5-1.c //该程序的功能是通过控制芯片CH376对U盘文件和目录进行操作 //在单片机系统中使用U盘,主要目的是长期保存大批量的文件数据,并方便与PC机进行数据交换 //在一般情况下,这些数据会转移到PC机,并由它做进一步的后续处理 //所以该实验安排了以下的硬件环境:51实验主板+keil仿真器+CH376读写U盘扩展板 //在该扩展板上还安排有转接PC机USB口的电缆接口和切换开关 //系统所用CH376为SSOP20封装的CH376T,与单片机的通信采用软件模拟SPI,系统时钟为11.0592MHz, //该程序首先对CH376按主机工作方式进行初始化,然后等待U盘的插入和就绪 //此后,用户可通过按键以字节操作方式(另一种为扇区操作方式)实现以下功能 //K1键--打开或创建1级子目录/20yy,修改它的生成日期和时间,然后关闭 //K2键--在前一操作的基础上,打开或创建2级子目录/20yy/mm-dd,修改它的生成日期和时间,然后关闭 //K3键--在2级子目录下打开或创建文本文件DEMO1.TXT,追加模拟数据块,修改目录项后关文件 //K4键--第1步:在1级子目录下创建二进制文件DEMO2.DAT,写入18B20测温数据2B和读1302得到的时间数据6B //修改目录项后关文件;第2步:再次打开该文件,读取文件中的8B数据,先显示十六进制原始数据 //经处理后再显示实际的温度,年月日和时分秒 //若程序运行出错(如中途拔出U盘),它就会进入一个出错处理的死循环,此时实验主板上的8个红色LED会不断闪烁 //注意程序中的C函数分别来自本书作者(函数名全部小写)和沁恒公司(函数名大小写并用) //由沁恒公司提供的源代码以文件包含的形式被利用,其中 //1,文件SPI_SW.C和HAL_BASE.C中的一些源码要根据系统的具体硬件连接和时钟频率进行修改 //2,文件DEBUG.C中的源码用于系统出错指示和调试时能通过串口来输出调试信息,一般也要适当修改 //3,文件FILE_SYS.C中的源码不会全部用到,对那些没有用到C函数最后应进行清理(一般是将它们注释掉) //该程序在运行中会输出较多的调试信息,注意它们将显示在串口窗口#1,这些信息与输出到文件中的数据不是一回事 //还要注意程序对文件DEMO1.TXT和DEMO2.DAT的操作有以下不同 //1,文件打开方式不同:前者是打开文件,若原先没有则创建;后者是创建文件,若原先有将抹去重建 //2,数据表示形式不同:前者是写入文本,并以逗号来间隔数据,以回车换行来结束记录;后者是直接写入原始数据 //3,数据写入方式不同:前者是追加数据到文件尾;后者是从头写入数据,所以原有数据将被覆盖 //Program Size: data=121.2 xdata=0 code=7411 //以下头文件由uVision提供,存于系统子目录 #include reg52.h #include stdio.h #include string.h #include intrins.h #include absacc.h //以下文件由沁恒公司提供,存于当前项目,有些经过修改 #include CH376INC.H //说明操作CH376需要用到的数据和数据结构 #include HAL.H //说明软件延时函数 #include HAL_BASE.C //经修改,内含2个软件延时函数 #include SPI_SW.C //经修改,内含软件模拟SPI需要用到的一批函数 #include DEBUG.H //说明系统出错处理和UART串口初始化函数 #include DEBUG.C //经修改,内含出错处理和UART串口初始化函数 #define EN_DIR_CREATE 1 //允许新建多级子目录 #include FILE_SYS.H //说明一批文件目录操作类的函数和数据 #include FILE_SYS.C //内含一批文件目录操作类的函数 #define uchar unsigned char #define uint unsigned int #define ON 0 #define OFF 1 #define FILE_MODIFY 0 #define FILE_CREATE 1 #define RST_1302 A15=0;A14=A13=1; //1302复位有效 #define NRST_1302 A15=A14=A13=0; //1302复位无效 #define skiprom_cmd1820(); wr_byte18

文档评论(0)

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

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

1亿VIP精品文档

相关文档