c语言小车倒车程序,STC12C5A60S2串口演示程序(C语言版)
描述
#include "reg51.h"
#define FOSC 18432000L
#define BAUD 115200
#define NONE_PARITY 0 //无校验位
#define ODD_PARITY 1 //奇校验
#define EVEN_PARITY 2 //偶校验
#define MARK_PARITY 3 //标记校验
#define SPACE_PARITY 4 //空校验
#define PARITYBIT EVEN_PARITY
#define S2RI 0x01
#define S2TI 0x02
#define S2RB8 0x04
#define S2TB8 0x08
sfr AUXR = 0x8e;
sfr S2CON = 0x9a;
sfr S2BUF = 0x9b;
sfr BRT = 0x9c;
sfr IE2 = 0xaf;
bit busy;
void SendData(char dat);
void SendString(char *s);
void main()
{
#if (PARITYBIT == NONE_PARITY)
S2CON = 0x5a; //8位可变波特率 (无校验位)
#elif (PARITYBIT == ODD_PARITY) || (PARITYBIT == EVEN_PARITY) || (PARITYBIT == MARK_PARITY)
S2CON = 0xda; //9位可变波特率,校验位初始为1
#elif (PARITYBIT == SPACE_PARITY)
S2CON = 0xd5; //9位可变波特率,校验位初始为0
#endif
BRT = -(FOSC/32/BAUD); //设置独立波特率发生器的重载初值
AUXR = 0x14; //独立波特率发生器工作在1T模式
IE2 = 0x01; //使能串口2中断
EA = 1; //开总中断
SendString("STC12C5A60S2\r\nUART2 Test !\r\n");
while(1);
}
void Uart2() interrupt 8 using 1
{
if (S2CON & S2RI)
{
S2CON &= ~S2RI; //清除接收完成标志
P0 = S2BUF; //P0显示串口数据
P2 = (S2CON & S2RB8); //P2.2显示校验位
}
if (S2CON & S2TI)
{
S2CON &= ~S2TI; //清除发送完成标志
busy = 0;
}
}
void SendData(char dat)
{
while (busy); //等待上个数据发送完成
ACC = dat; //取得偶校验位P
if (P) //根据P来设置串口数据的校验位
{
#if (PARITYBIT == ODD_PARITY)
S2CON &= ~S2TB8; //置校验位为0
#elif (PARITYBIT == EVEN_PARITY)
S2CON |= S2TB8; //置校验位为1
#endif
}
else
{
#if (PARITYBIT == ODD_PARITY)
S2CON |= S2TB8; //置校验位为1
#elif (PARITYBIT == EVEN_PARITY)
S2CON &= ~S2TB8; //置校验位为0
#endif
}
busy = 1;
S2BUF = ACC; //发送数据
}
void SendString(char *s)
{
while (*s) //判断字符串结束标志
{
SendData(*s++); //发送字符
}
}
打开APP精彩内容
点击阅读全文
c语言小车倒车程序,STC12C5A60S2串口演示程序(C语言版)相关推荐
- c语言小车倒车程序,基于单片机的汽车倒车系统设计(超声测距报警)(C语言程序)...
基于单片机的汽车倒车系统设计(超声测距报警)(C语言程序)(任务书,毕业论文22000字) 摘要 本设计是以单片机技术为基础,实现对前方物体距离的测量.根据超声波指向性强,能量消耗慢,在介质中传播距离 ...
- c语言转换为stc程序,STC51单片机入门(C语言)
以前老资料,可继续下载参考. 目 录 第1篇 单片机KEIL开发环境 第1章 点亮LED实例与经典延时程序介绍(看不懂就从第2章动手) 1.1 51单片机最小系统与芯片引脚图 1.2 点亮LED ...
- 用 C 语言编写的程序被称为,用c语言编写的程序被称为
快速导读: Q1:用C语言编写以下程序 #includeintmain(void){ intm,n,i,t; printf("InputM,N(int0if(scanf("%d%d ...
- 程序员学c语言吗,为什么程序员要学C语言
请点击此处输入图片描述 C语言不是面向对象语言.因为这一点,任何程序员学习C语言必须学会用函数思考问题.当程序员真正的去学习一门面向对象语言时,就会有C语言的函数学习基础去对比.这会使学习面向对象编程 ...
- c语言多文件程序编译和链接,C语言知识汇总 | 04-源文件、可执行程序、编译与链接...
一.源文件(Source File) 在开发软件的过程中,需要将编写好的代码(Code)保存到一个文件中,这样代码才不会丢失,才能够被编译器找到,才能最终变成可执行文件.这种用来保存代码的文件就叫做源 ...
- c语言黑匡程序,2020年新版C语言实用程序设计100例流程图.docx
C 语言实用程序 100 例 第一篇 基础与提高 实例 1 利用库函数编写基本显示程序 实例 2 变量属性 实例 3 运算符与类型 实例 4 关于程序结构 实例 5 显示函数曲线图 实例 6 二分法选 ...
- c语言冒泡排序法程序填空_【C语言】两种方式实现冒泡排序算法
题目要求 编写一个C语言程序,实现基本的冒泡排序算法. 算法 冒泡排序,用一句话来总结: 一组数中,相邻的两个数进行比较.交换,将最大(小)数交换至尾(首)部,即完成了一次冒泡排序 要想对N个数字进行 ...
- c语言写红绿灯程序,51单片机用C语言实现交通灯(红绿灯)源程序
51单片机用C语言实现交通灯(红绿灯)源程序 交通灯,红黄绿灯交替亮,怎样实现呢?其实就是根据单片机定时器及倒计时的程序修改. 源程序如下: /* 1.程序目的:使用定时器学习 倒计时 红绿灯原理 主 ...
- c语言流水灯程序详细讲解,用c语言编写单片机流水灯程序详解
用C语言编写的单片机流水灯程序 一.硬件电路 因为电路用单片机控制,所以电路非常简洁.其电路原理图见下图,印制板图如下图所示. ? 电路的核心部分是AT89C2051单片机,前面提到它有Pl和P3两组 ...
最新文章
- python的优点-python的功能与优缺点
- MySQL服务的启动与停止-使用命令行工具
- java解析静态AIS原始数据
- LeetCode 21. 合并两个有序链表(单链表)
- ( linker command failed with exit code 1) 错误解决方案 项目使用的是pod
- xml2 交叉编译移植
- 95-190-044-源码-window-window三要素
- android java include_Android开发:javah的使用方法
- 推荐一个免费申请ssl数字证书的地方
- 微型计算机接口技术论文,微机原理与接口技术课程论文
- 求职软件测试工程师英文简历,软件测试工程师英文简历范文
- 记录Linux开发板串口调试、静态ip
- 基于dsp28035之Simulink实验系列(1)-点亮第一盏灯
- MyBatis缓存结构
- wps插入批注快捷键是哪个?
- 航天晨光:永中DCS与原有OA系统整合,文件阅览效率大幅提升!
- 同态加密之Paillier算法
- java 前置_java – 何时添加前置条件以及何时(仅)抛出异常?
- 中标麒麟系统安装达梦8 数据库
- LeetCode题解(0657):根据操作列表判断机器人是否能回到原点(Python)
热门文章
- 元件原理图旋转45度_你能看懂电气原理图有多少?建议收藏共同学习
- vscode 文件夹中查找_真香!使用 VSCode 进行远程开发调试
- 图片 过度曝光_实际拍摄中,经常遇到曝光不足或过曝的结果,6种手段帮你解决...
- laravel queue java_使用 Laravel Queue 不得不明白的知识
- kotlin t class.java_尝试Java,从入门到Kotlin(下)
- PSOLA基音同步叠加算法
- Qt安装事件过滤器、过滤子控件事件、截获控件按键、鼠标事件
- eclipse代码自动提示,eclipse设置代码自动提示
- JavaScript菜鸽子基础知识总结(一)
- linux 安装Centos源