AM2120单总线温湿度传感器移植与应用
AM2120单总线温湿度传感器移植与应用 基于STC8G1K08单片机和AM2120温湿度传感器单总线接口技术移植与应用 作者: 郑贤亨 金建强 浙江省江山江汇电气有限公司 摘要:温湿度控制器在高低压开关柜中的运
AM2120单总线温湿度传感器移植与应用 基于STC8G1K08单片机和AM2120温湿度传感器单总线接口技术移植与应用 作者: 郑贤亨 金建强 浙江省江山江汇电气有限公司 摘要:温湿度控制器在高低压开关柜中的运
AM2120单总线温湿度传感器移植与应用 基于STC8G1K08单片机和AM2120温湿度传感器单总线接口技术移植与应用 作者: 郑贤亨 金建强 浙江省江山江汇电气有限公司 摘要:温湿度控制器在高低压开关柜中的运
1.SG90舵机官方数据 尺寸:21.5mmX11.8mmX22.7mm 重量:9克 (1kg1公斤2斤) 无负载速度:0.12秒/60度(4.8V) 0.002s/度 堵转
这篇呢,是对一些出现的问题做统一解答。(嘿嘿,我是没想到真的还有人会问我问题。开心) 目录 一、GZY Code (Keil C51)(4个&
一、前言 本篇主要讲一下51单片机定时器实现PWM,并且使用到keil的示波器方便大家对定时器实现的PWM做一个直观的了解。 在此之前相信大家都对PWM(脉冲宽度调制)或多或少的都有一定了解。下面来一
答:HOLTEK的编程语句就汇编指令来说,与MCS51是不一样的,但是很多指令比较类似;而C语言,每家公司的C编译器都会有点差异,但是很多 与TURBO C相似,所以还是有很大相似性,所以可读性要比汇编语言好得多,但是不同厂家也还是有一定差别,HOLTEK C语言的介绍请下载http://www.holtek.com.cn/referanc/ht-ide3k.pdf,第十章有详细介绍。而关于汽车电子 设计的资料或网站地址您可以到GOOGLE上面去搜索一下,应该有比较多的链接地址。
答:从51转到ARM,其实编程之类的原理都是一样的,但是要注意的是ARM是一个RISC的架构,在ARM的应用开放源代码的程序很多,要想提高自己,就要多看别人的程序,linux,uc/os-II等等这些都是很好的源码。
1.当SM0=0,SM1=1时,串行口选择方式0。为同步以为寄存器输入/输出方式。 2.当SM0=0,SM1=1时,串行口选择方式1.为双机通信方式。 3.当SM0=1,SM1=0时,串行口选择方式2。方式2发送或接收一帧信息为 11位:1位起始位,8位数据位,1位可编程位和1位停止位。发送时可编程位TB8可设置为1或0,接收时可编程位进入SCON寄存器的RB8位。 4.当SM0=1,SM1=1时,串行口选择方式3。方式3为波特率可变的9位异步通信方式.
SCON是串行口控制寄存器,字节地址为98H,位寻址如下: 位序D7 D6 D5 D4 D3 D2 D1 D0位符号SM0 SM1 SM2 REN TB8 RB8 TI RI位地址9FH 9EH 9DH 9CH 9BH 9AH 99H 98H (1)SM0、SM1——串行口4种工作方式选择位 (2)SM2——多机通信控制位 (3)REN——允许串行接收位。 由软件置“1”或清“0”。REN=1,允许串行口接收数据。REN=0,禁止串行口接收数据。 (4)TB8——发送的第9位数据 (5)RB8——接收的第9位数据 (6)TI——发送中断标志位 (7)RI——接收中断标志位
(1)有申请的中断为高优先级中断。 (2)现行指令周期为最后一个机器周期。 (3)正在执行的指令不是中断返回指令或者是对IE,IP的写操作指令,如果是则还需执行一条指令。
CPU响应中断的过程可归纳如下: (1)置位相应的优先级状态触发器,阻止低级中断。 (2)清零中断请求源标志(串行口中断除外)。 (3)把程序计数器PC的内容入栈(保护断点)。 (4)把相应的中断入口地址送PC。 (5)执行中断子程序。 (6)遇到指令RETI时,先清零优先级状态触发器,从栈顶弹出两字节送PC,返回主程序。
关于中断优先级可以归纳为下面两条基本规则: (1)低优先级可被高优先级中断,高优先级不能被低优先级中断。 (2)任何一种中断(不管是高级还是低级)一旦得到响应,不会再被它的同级中断源所中断。
51有5个中断源. 外部中断0定时器/计数器T0外部中断1定时器/计数器T1串行口
堆栈特点: (1)堆栈结构—向上生长型。 (2)堆栈按“先进后出”原则。 (3)数据入栈时,先SP自动加“1”,后入栈。数据出栈时,先出栈,后SP自动减“1”。 (4)SP指针始终指向栈顶。 单片机复位后,SP为07H。 堆栈实际上从08H单元开始,由于08H~1FH单元分别是属于1~3组的工作寄存器区,最好在复位后把SP值改置为60H或更大的值,避免堆栈与工作寄存器冲突。
(1)00H~1FH的32个单元为4组通用工作寄存器区,每区包含8字节,用R0~R7标记。可通过指令改变RS1、RS0两位来选择。既可用寄存器寻址也可用直接地址寻址。 (2)20H~2FH的16个单元为128位位寻址区,位地址为00H~7FH,也可字节寻址。 (3)30H~7FH为通用数据区,只能字节寻址,用作存数据以及作为堆栈区。
00H~1FH的32个单元为4组通用工作寄存器区,每区包含8字节,用R0~R7标记。可通过指令改变RS1、RS0两位来选择。既可用寄存器寻址也可用直接地址寻址。
MC=12/12=1μs 1ms/1μs=1000/1=1000=3E8H (3E8H)补=10000H-3E8H=FC18H
试举例说明。 MCS-51指令操作数主要有以下7种寻址方式: 寻址方式 举例 立即寻址MOV A,#16 直接寻址MOV 20H,P1 寄存器寻址MOVA,R0 寄存器间接寻址MOVXA, @DPTR 变址寻址MOVCA, @A+DPRT 相对寻址SJMPLOOP 位寻址 ANLC,70H
答:C8051F020/F022共有4个参考电压引脚,VREF,VREF0,VRFE1和VREFD。允许ADC和DAC使用一个外部电压基准或片内电压基准。通过配置VREF0CF基准电压控制寄存器,ADC0还可以使用DAC0的输出作为内部基准,ADC1也可以使用模拟电源作为电压基准。内部基准电压必须通过VREF引脚连接到芯片内部。所以当您的系统中使用到内部基准电压时,必须确保VREF与VREF0,VREF1,VREFD(全部或部分)引脚的连接。 C8051F021/F023共有两个参考电压引脚,VREFA和VREF。如果ADC0和ADC1使用内部参考源,必须将VREFA与VREF引脚连接。 注意:如果使用ADC或DAC,则不管电压基准取自片内还是片外,REF0CN寄存器中的BIASE位必须被置为逻辑1。
答:因为模拟输入(AINx)引脚不能承受5V电压,任何引脚在任何情况下(不管ADC或PGA的设置如何)必须使其输入 电压保持在AGND和AV+之间,这是为了避免沉(或源)电流通过ESD保护装置。为了测试0-5V范围的信号,必须使信号衰减(衰减到AV+以下)才能进入到ADC输入。当使用外部VREF时,要求VREF的最大值比AV+小300mV。
答:可以,你可以用VREF信号作为输出驱动其它电路(像放大器的偏置电压等)。注意,VREF引脚只能提供源电流,也就是说,要有负载接地使电流流出C8051器件。例如,如果你将VREF连到OP运放的(+)节点,你要加一个下拉电阻对地(24K左右)将电流限制在100μA。
我以前一直用的是51,不过一直是C51,对C已经有10多年的经验,汇编用的很少。后来因为项目需要转到了arm