原标题:同步串口spi的c语言编程

#include

#include

#define uchar unsigned char

#define uint unsigned int

uchar Table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

uchar Data[4]={0,0,0,0};

void DelayMs(uint i)

{uchar j;

for(;i!=0;i--)

{for(j=2000;j!=0;j--) {;}}

}

void Display(uchar *p)

{uchar i,sel=0x01;

for(i=0;i<4;i++)

{PORTA=sel;

PORTC=0xff-Table[p[i]];

DelayMs(10);

sel=sel<<1;

}

}

void DelayNOP(uchar i)

{for(;i!=0;i--)

{ NOP();}

}

void Convert(uchar *p,uchar i)

{p[0]=0;

p[1]=i/100;

p[2]=(i-p[1]*100)/10;

p[3]=i-p[1]*100-p[2]*10;

}

void Write_Byte(uchar Address,uchar Data)

{uchar clear;

PORTB=PORTB|0x10; //使能SPI器件

SPDR=Address;

while(!(SPSR&0x80)) {;}

clear=SPSR;

clear=SPDR;

SPDR=Data;

while(!(SPSR&0x80)) {;}

clear=SPSR;

clear=SPDR;

PORTB=PORTB&0xef;

}

uchar Read_Byte(uchar Address)

{uchar clear;

uchar Data;

PORTB=PORTB|0x10;

SPDR=Address;

while(!(SPSR&0x80)) {;}

clear=SPSR;

clear=SPDR;

SPDR=Address;//发空数据

while(!(SPSR&0x80)) {;}

clear=SPSR;

Data=SPDR;

PORTB=PORTB&0xef;

return(Data);

}

void main(void)

{uchar value;

DDRA=0xff;

DDRC=0xff;

DDRB=0xbf;

PORTA=0xff;

PORTC=0x00;

DelayMs(3000);

PORTC=0xff;

SPCR=0x5c;//0101 1100

Write_Byte(0x80,0xf0);//8位,自由转换模式

while(1)

{value=Read_Byte(0x01);

value=Read_Byte(0x02);

Convert(Data,value);

Display(Data);}

}

责任编辑:

串口同步异步c语言程序,同步串口spi的c语言编程相关推荐

  1. c语言程序第一章编程,c语言程序的设计第一章 C语言编程入门.ppt

    c语言程序的设计第一章 C语言编程入门 第1章 C语言编程入门 本章是本书的入门篇,专为初学者熟悉编程过程.掌握程序结构而准备的. 本章学习目标 ? 1)? 能够通过模仿与改变来构造带有测试函数的C语 ...

  2. 统计字符 c语言程序,统计字符个数的C语言程序.doc

    统计字符个数的C语言程序.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文 ...

  3. c语言程序与设计苏小红,c语言程序设计苏小红

    <实验教学示范中心建设教材·国家精品课程主讲教材:C语言程序设计(第2版)>是一本兼具趣味性和实用性的C语言程序设计教材.全书由13章组成,内容包括:为什么要学C语言,C数据类型,简单的算 ...

  4. 电子时钟单片机c语言程序,51单片机电子时钟C语言程序

    本程序基于ATM89系列单片机的电子时钟C语言程序,能显示月日时分秒,同时还能调节其值!显示方式用六个8段数码管! #include//头文件 #define uchar unsigned char/ ...

  5. c语言程序中的基本功能,c语言程序中的基本功能模块为什么?

    c语言程序中的基本功能模块为"函数".一个C语言程序可以由一个主函数和若干个函数构成:一个大的应用程序一般应该分为多个程序模块,每一个模块用来实现一个功能,而模块的功能是由函数完成 ...

  6. 重庆理工大学c语言程序实验报告,重庆理工大学-C语言程序实验报告.doc

    重庆理工大学-C语言程序实验报告 程序设计基础C实验报告 PAGE 47 <程序设计基础C> 实 验 报 告 教学班级: 学号: 姓名: 课程教师: 实验辅导教师: 重庆理工大学计算机学院 ...

  7. c语言程序中cost的作用,C语言考试题基础版(21页)-原创力文档

    if (x>y)z=x; s=z*z;elsez=y;s=1/(z*z); if (x>y) z=x; s=z*z; else z=y;s=1/(z*z); 7. B. C. PAd, P ...

  8. c语言程序的入口是哪部分,C语言入口函数和LD_PRELOAD环境变量

    零.C语言入口函数 从第一天学习C语言开始,我们的脑子里就深深烙下这样一个概念:C语言程序总是从main()函数开始执行,main()函数结束,程序也就结束了.在平时的练习中貌似这没有问题,但事实真的 ...

  9. 避障跟随测距c语言程序,红外避障小车c语言程序.pdf

    智能小车红外避障智能小车红外避障 c 语言程序语言程序 #include bit RandomFactor = 0 ; bit RandomFactorBuf = 0 ; #include #defi ...

最新文章

  1. 二十六、二叉树--查找指定节点
  2. python 源码解析
  3. java 页面错误转发提示页面 errorPage转跳报HTTP500内部服务器错误
  4. MM--移动类型的配置相关的系统表,举例说明SAP是如何根据配置抛帐的
  5. 菜鸟之路-浅谈设计模式之单例设计模式
  6. Iphone屏幕旋转
  7. 工作198:无法选中的状态一定要绑定在select上面
  8. springboot mybatis-plus 配置 yml 、druid 配置 yml 、mybatis-plus 代码生成
  9. 云计算底层技术-虚拟网络设备(Bridge,VLAN)
  10. 二本院校学生的命运,是中国最基本的底色
  11. ThinkPHP 3.1 404页面的设置
  12. 花钱你都学不到的“饭局“规矩
  13. 【离散数学笔记】计数原理:解决计数问题的基本方法
  14. java第七章jdbc课后简答题_Java进阶之JDBC面试题(7)
  15. ele-ui表单验证规则中的手机号码和邮箱的验证规则
  16. Android安装软件的后缀,apk是什么文件,后缀是apk是什么文件
  17. 用python自动办公_用Python自动办公,做职场高手
  18. 上古卷轴5:重制版窗口化运行1920*1080画面显示不全的问题解决
  19. 知识图谱(七)——事件抽取
  20. okhttp的视频下载

热门文章

  1. 使用hyperopt(Bayesian optimization)为lightGBM模型挑选最优参数进行模型构建、by Cross Validation
  2. MATLAB 半球面
  3. 一种基于三代PacBio测序数据的补洞方法
  4. 查看依赖树_Python中的依赖关系处理
  5. pcb 理论阻值、 过孔_射频电路PCB设计的困境和改善措施
  6. 图像拼接--Robust image stitching with multiple registrations
  7. 人脸检测--Scale-Aware Face Detection
  8. linux主机释放cache和buffer
  9. Linux下 curl 代理设置注意事项--curl proxy
  10. Linux系统16进制形式查看二进制文件