推荐阅读最新更新时间:2024-03-16 15:01
《初学者C51自学笔记》之PS/2
当从设备向主设备发送数据时,首先检查时钟线,以确认时钟线是否为高电平。如果是高电平,从设备就可以开始传输数据;反之,从设备要等待获得总线的控制权,才能开始传输数据。传输的每一帧数据由11位组成。 主设备与从设备进行通信时,主设备首先将时钟线和数据线设置为“请求发送”状态,具体方式为:首先下拉时钟线至少100us抑制通信,然后下拉数据线“请求发送”,最后释放时钟线.在此过程中,从设备在不超过10us的间隔内必须检查这个状态,当设备检测到这个状态时,它将开始产生时钟信号.此时数据传输的每一帧由12位构成。多了一个ACK位,这是从设备应答接收到字节的应答位,由从设备通过拉低数据线产生,应答位ACK总是为0.主设备到从设备通信
[单片机]
Proteus C51仿真学习板9——IIC
IIC总线电气参数就不做多介绍了,了解IIC有2根线,一个SCL时钟,一个SDA数据,然后直接通过时序来看看其是如何工作的。 老规矩,先来句通俗易懂的解释: 老湿:同学们,现在开始点名(起始信号); 学生:一阵骚动,端起小板凳坐好(若干从机上电); 老湿:小明在吗?(寻址); 学生:…(无应答ACK); 老湿:再次开始点人,那小花呢?(再寻址) ——如果老湿很暴躁就不点名了(直接结束) 学生:老湿,我(应答ACK)在(数据Data); 老湿:知道了(应答ACK),结束点名(结束信号)或继续进行其他交流(再次起始信号)。 IIC时序: Start状态: SDA和SCL默认都是上拉为1的,启动数据传输时,需要
[单片机]
C51-关于中断系统
中断系统
[单片机]
c51:串口中断方式接收、方式字符串
/* 程序设计功能: 1.f=12MHZ,baud=1200 2.串口中断方式:发送字符串存放tran_buf 中,接收字符串存放rec_buf 中。 3.函数首先发送字符串 abc . 4.接收到的字符串存放rec_buf 中,接收字符串完成后,再发送出去。 */ #include reg52.h #include string.h #define uchar unsigned char //发送字符串缓存 uchar tran_buf ; //接收字符串缓存 uchar rec_buf ; uchar tnum=0; uchar rnum=0; //串口初始化 void
[单片机]
C51单片机学习笔记之密码锁
简介 根据之前学的LCD1602显示器和矩阵键盘实现一个简单的密码锁。 原理图 请翻之前的文章 LCD1602:C51单片机学习笔记之LCD1602 矩阵键盘:C51单片机学习笔记之矩阵键盘 代码部分 LCD1602.c #include reg52.h #include intrins.h sbit RS = P2^0; sbit RW = P2^1; sbit EN = P2^2; #define RS_CLR RS = 0 #define RS_SET RS = 1 #define RW_CLR RW = 0 #define RW_SET RW = 1 #define EN_CLR
[单片机]
STM32学习笔记之Keil工程Lib库文件的制作和运用
最近看了百度手环开源项目,发现所有的算法都被封装成了一个lib文件在keil中调用 也是第一次学习到。 问题引出:为什么要做成lib库? 1、有些方案公司为了将自己写的关键部分源代码不进行公开,但是同时库文件又需要让别人能够正常调用,那封装成lib的格式就是一个好方法。 2、编译某些工程文件时非常耗时,像UCGUI和ST官方的库时,由于文件众多,编译一次可能得1两分钟,这时可以打包成库,这时编译工程时就不会再次编译库的文件,节省不少的时间。 唯一一点不好的是:不能用右键go to Definition 'XXX'来直接找到源文件定义了。但是一般别人都是测试好就封装成lib的 制作方法:以UCGUI为例 第一步:
[单片机]
Keil C51 总线外设操作问题的深入分析
阅读了《单片机与嵌入式系统应用》2005年第10期杂志《经验交流》栏目的一篇文章《Keil C5l对同一端口的连续读取方法》(原文)后,笔者认为该文并未就此问题进行深入准确的分析。文章中提到的两种解决方法并不直接和简单。笔者认为这并非是Keil C51中不能处理对一个端口进行连续读写的问题,而是对Keil C51的使用不够熟悉和设计不够细致的问题,因此特撰写本文。
本文中对原文提到的问题,提出了三种不同于原文的解决方法。每种方法都比原文中提到的方法更直接和简单,设计也更规范。(无意批评,请原文作者见谅)
1 问题回顾和分析
原文中提到:在实际工作中遇到对同一端口反复连续读取,Keil C5l编译并未达到预期的结果。原文作
[应用]
STC单片机在KEIL编译器中的头文件
STC单片机在 keil 编译器里找不到头文件如何处理。首先在网络上找到一个关于STC单片机的升级包。安装上去以后,就可以看到有STC型号的单片机可以选择了。但是此时,它的头文件却无法调用。也没有在keil的安装文件下找到这个升级包应该附带的STC单片机头文件。 解决办法就是打开一个AT89S52的头文件,在此头文件的基础上假如STC独有的一些SFR声明,然后把文件名改为STC89S52.H,然后放入工程所在文件夹,就可以进行正常调用了。 STC的特殊SFR声明如下: /* After is STC additional SFR */ /* sfr AUXR = 0x8e; */ /* sfr
[单片机]