串口同步异步c语言程序,同步串口spi的c语言编程
原标题:同步串口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语言编程相关推荐
- c语言程序第一章编程,c语言程序的设计第一章 C语言编程入门.ppt
c语言程序的设计第一章 C语言编程入门 第1章 C语言编程入门 本章是本书的入门篇,专为初学者熟悉编程过程.掌握程序结构而准备的. 本章学习目标 ? 1)? 能够通过模仿与改变来构造带有测试函数的C语 ...
- 统计字符 c语言程序,统计字符个数的C语言程序.doc
统计字符个数的C语言程序.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文 ...
- c语言程序与设计苏小红,c语言程序设计苏小红
<实验教学示范中心建设教材·国家精品课程主讲教材:C语言程序设计(第2版)>是一本兼具趣味性和实用性的C语言程序设计教材.全书由13章组成,内容包括:为什么要学C语言,C数据类型,简单的算 ...
- 电子时钟单片机c语言程序,51单片机电子时钟C语言程序
本程序基于ATM89系列单片机的电子时钟C语言程序,能显示月日时分秒,同时还能调节其值!显示方式用六个8段数码管! #include//头文件 #define uchar unsigned char/ ...
- c语言程序中的基本功能,c语言程序中的基本功能模块为什么?
c语言程序中的基本功能模块为"函数".一个C语言程序可以由一个主函数和若干个函数构成:一个大的应用程序一般应该分为多个程序模块,每一个模块用来实现一个功能,而模块的功能是由函数完成 ...
- 重庆理工大学c语言程序实验报告,重庆理工大学-C语言程序实验报告.doc
重庆理工大学-C语言程序实验报告 程序设计基础C实验报告 PAGE 47 <程序设计基础C> 实 验 报 告 教学班级: 学号: 姓名: 课程教师: 实验辅导教师: 重庆理工大学计算机学院 ...
- 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 ...
- c语言程序的入口是哪部分,C语言入口函数和LD_PRELOAD环境变量
零.C语言入口函数 从第一天学习C语言开始,我们的脑子里就深深烙下这样一个概念:C语言程序总是从main()函数开始执行,main()函数结束,程序也就结束了.在平时的练习中貌似这没有问题,但事实真的 ...
- 避障跟随测距c语言程序,红外避障小车c语言程序.pdf
智能小车红外避障智能小车红外避障 c 语言程序语言程序 #include bit RandomFactor = 0 ; bit RandomFactorBuf = 0 ; #include #defi ...
最新文章
- 二十六、二叉树--查找指定节点
- python 源码解析
- java 页面错误转发提示页面 errorPage转跳报HTTP500内部服务器错误
- MM--移动类型的配置相关的系统表,举例说明SAP是如何根据配置抛帐的
- 菜鸟之路-浅谈设计模式之单例设计模式
- Iphone屏幕旋转
- 工作198:无法选中的状态一定要绑定在select上面
- springboot mybatis-plus 配置 yml 、druid 配置 yml 、mybatis-plus 代码生成
- 云计算底层技术-虚拟网络设备(Bridge,VLAN)
- 二本院校学生的命运,是中国最基本的底色
- ThinkPHP 3.1 404页面的设置
- 花钱你都学不到的“饭局“规矩
- 【离散数学笔记】计数原理:解决计数问题的基本方法
- java第七章jdbc课后简答题_Java进阶之JDBC面试题(7)
- ele-ui表单验证规则中的手机号码和邮箱的验证规则
- Android安装软件的后缀,apk是什么文件,后缀是apk是什么文件
- 用python自动办公_用Python自动办公,做职场高手
- 上古卷轴5:重制版窗口化运行1920*1080画面显示不全的问题解决
- 知识图谱(七)——事件抽取
- okhttp的视频下载
热门文章
- 使用hyperopt(Bayesian optimization)为lightGBM模型挑选最优参数进行模型构建、by Cross Validation
- MATLAB 半球面
- 一种基于三代PacBio测序数据的补洞方法
- 查看依赖树_Python中的依赖关系处理
- pcb 理论阻值、 过孔_射频电路PCB设计的困境和改善措施
- 图像拼接--Robust image stitching with multiple registrations
- 人脸检测--Scale-Aware Face Detection
- linux主机释放cache和buffer
- Linux下 curl 代理设置注意事项--curl proxy
- Linux系统16进制形式查看二进制文件