这里利用一个实际发生的例子,针对初级工程师经常犯的一个小错误,或者经常要走的一个弯路,做了针对性的纠正。希望可以帮到大家,文笔不好文章中有叙述不清的地方大家多多指教。 这篇文章我不是想说
一般单片机的MODEM通讯必须要有两个背景知识,一个是AT命令集,另一个是通用非同步接收发送器(UART)。 l AT命令集 下面介绍我通讯程式例子中涉及到的AT命令。 Dn:拨号命令。
以AT89C51为主器件.I2C总线上连接4个PCF8591芯片,芯片地址分别为(OOOb、OlOb、020b、400b),89C51的P3.6作为SCL信号.P3.7做为SDA信号,每个芯片的模拟输入采用单端方式输入,参考电压VREF选用4.
该电路连接见下图所示:89C51的P31脚(TXD)与24C01的SCL脚相连,作为时钟输入端。89C51的P30脚(RXD)与24C01的SDA脚相连,作为数据读写端。两者都通过上拉电阻接5V电源。单片机其余连线照常,在此图中
该系统的程序设计主要包括两大部分,分别是USB接口部分固件程序和计算机端的CH372驱动程序。前者主要包括了单片机和CH372的初始化、读写接口程序和中断服务程序;后者包括了USB设备的驱动程序和相关
USB固件分为通用枚举配置部分和类协议部分。以利用CH375主机端协议与大容量存储设备(例如U盘等)通信为例,介绍固件编程中重要的函数及其实现方法。 主机要想识别USB设备,必须获得设备的各
FFT算法是计算离散傅里叶变换的方法,它大大地减少了运算量,缩短了运算时间,使实时分析成为可能。 按时间抽取的FFT算法通常将原始的数据倒位序存储,最后按照正常顺序输出结果X 下面是128点
单片机的一个浮点数一般在KeilC51中是以4字节形式存储的,格式严格遵循IEEE-754标准。在单片机二进制数据中,浮点数用两个部分来表示,基C为2,E为阶码,M为尾数,E的保存形式是一个0~255的8位值,
串行A/D转换器转换后的结果是以串行方式输出,数字量以串行方式输出可简化系统的连线,缩小电路板的面积,节省系统的资源。下面以TLC2543为例,介绍串行A/D驱动程序的设计。 89C51单片机与T
I/O接口的功能是负责实现CPU通过系统总线把I/O电路和外围设备联系在一起,按照电路和设备的复杂程度,I/O接口的硬件主要分为两大类: (1)I/O接口芯片 这些芯片大都是集成电路,通过CPU
串行口是单片机与外界进行信息交换的工具, 利用单片机串口实现输入移位寄存器,只需用软件置REN=1(同时RI=0),即开始接收。数据字节在移位时钟脉冲的配合下,从低位至高位一位一位地接收下来并装
arm7简介ARM7系列处理器是英国ARM公司设计的主流嵌入式处理器ARM7内核是0.9MIPS/MHz的三级流水线和冯·诺伊曼结构;ARM9内核是5级流水线,提供1.1MIPS/MHz的哈佛结构。
所有的中档系列PIC单片机,PORTB端口最高的4个引脚(RB7~RB4)在设为输入模式时,当输入电平由高到低或由低到高发生变化时,可以让单片机产生中断。这就是通常所说的引脚状态变化中断。 在设计引脚中断
#include "at89x52.h" #include "stdio.h" #include "intrins.h" #include "ctype.h" sbit rdy=P3^2; sbit vpp=P3^3; sbit p26=P3^4; sbit p27=P3^5; sbit p36=P3^6; s
在单片机应用系统中,常用到许多复杂的数学计算,如计算sin(x)、cos(x)、有效值计算、非线性插值等。这些在高级语言中是简单的工作,而在单片机的汇编语言中却是非常复杂的。因为,这些运算大都要用乘
源程序pIC07.c是基于PIC16F84A单片机编辑的2位LED数码管秒显示器,其显示方式为0~99秒重复显示。如果读者需要进行实验,可在硬件电路上进行实时显示(当然,前提是先将该程序对应的目标码.hex文
在生成usbadl.hex代码文件后,需要使用C8051F单片机程序下载器方能将代码写到C8051F单片机内。具体操作如下: ①选择、进入下载器软件:用鼠标左键点击flashutil.exe的图标,就可进入flash程序
NEC单片机UPD78F9234 16位定时器使用例程(汇编);*************************************************; Lable def;*************************************************LED8_MODE EQU PM2.1LED7_MODE