-
-
1我想让单片机的数据通过电脑以表格的形式展现出来,比如我做模型火箭发动机的推力时间图表,压力传感器数模转换后得到的数据电脑上怎么打表?我只知道串口助手。Excel可以采纳串口数据吗?
-
1HC89S003P 是一颗采用高速低功耗 CMOS 工艺设计开发的增强型 8 位单片机,内部有 12K Bytes FLASH 程序存储器,256 Bytes IRAM 和 256 Bytes XRAM,最多 18 个双向 I/O 口,1 个外设功能引脚全映射模块 PTM,5 个 16 位定时器/计数器,3 组 12 位带死区控制互补 PWM,1 个 8 位 PWM,2 个 UART,1 个 SPI,16 个外部中断,11+2 路 12 位 ADC,四种系统工作模式(正常、低频、掉电和空闲)和 16个中断源。选型表:产品型号ROM BytesRAM BytesMAX FreqI/OADCTimerPWMINTWDTHC89S003P12K256+25616MHZ1811+2312Bit*
-
1
-
0K32XX 是一个高度集成的 32 位 MCU 系列产品,适合于多功能、低功耗的物联网应用。它集成了 Cortex-M0 核, 256KB FLASH,32KB SRAM,UART/SPI/I2C 接口,LCD,WDT 和 RTC。K32XX 系列支持多种低功耗工作模式, 支持 RTC 电源独立供电。 特点 K3200/K3280/K3281/K3264 工作电压:2.2V~5.5V K3248 工作电压:2.2V~3.6V 工作电流: - 正常模式:1.633mA@6.5536MHz - IDLE 模式:0.379mA@6.5536MHz - 浅睡眠模式(LCD 开启):9.3μA - 浅睡眠模式(LCD 关闭):3.1μA - 深睡眠模式:2.9μA - RTConly 模式:1.3μA 封装:
-
3HC18P12xL是一颗采用高速低功耗CMOS工艺设计开发的8位高性能精简指令单片机,内部有2K×16 位一次性编程ROM(OTP-ROM),256×8位的数据寄存器(RAM),3组双向I/O口,三个Timer定时器/计 数器,两个CCP模块。一个10通道的12位模数转换器,多个系统时钟,四种系统工作模式以及多个中断 源。这款单片机可以广泛应用于液晶梳子、电动车码表、移动电源等产品。
-
0HC18P23xL是一颗采用高速低功耗CMOS工艺设计开发的8位高性能精简指令单片机,内部有 8K×16位一次性编程ROM(OTP-ROM),512×8位的数据寄存器(RAM),6组双向I/O口、三个Timer定 时器/计数器,两个CCP模块,支持一路UART及SPI通信,一个8×32(4×32)的液晶显示驱动模块及 8×16LED驱动模块,一个16通道的12位模数转换器,多个系统时钟,四种系统工作模式以及多个中断源。 这款单片机可以广泛应用于带有显示功能的游戏摇杆、定时器、遥控器等产品。
-
0HC18P010L是一颗采用高速低功耗CMOS工艺设计开发的8位高性能精简指令单片机,内有1K*14位一 次性可编程ROM(OTP-ROM),49×8位的数据存储器(RAM),两组双向I/O口,2个8位定时器/计数器 ,5路PWM,多级LVD检测。这款单片机可以广泛应用于简单控制和小家电等产品。
-
4无线接收模块和继电器扩展板怎么连接都能实现无线摇控啊!无线接收模块控制继电器动作
-
0
-
0As we all know,芯片是一个机器能够运作起来的重要零件,它里面有一些指令可以去操作机器,像吹风机,就是温度控制,如果温度太高,芯片就会自动执行温度过高的程序,让吹风机能够正常工作。芯片就是起到这样一个作用。 FLASH芯片适用于各类工业、小家电、消费类产品应用领域,它满足了客户的多元化需求。全产品为工业温度规格,丰富的外设功能,集成PWM、ADC、UART、SPI、I2C、LCD,支持外设功能映射、在线系统编程(ISP),高抗干扰能力(4KVESD
-
0计算机专业学生,实习中,指望能有得空的大佬手把手教下,要用 ISIS 7 Professional 这个软件先画个线路图,有大佬能帮我安排下么,好商量。
-
0随着芯片产业的高速发展,我国已经是芯片大国了。根据不同的需求,芯片封装尺寸分成多种规格。那么芯片封装尺寸具体有哪些?芯片封装尺寸如何规定?接下来,让我为大家讲解一下。 一、sop封装 SOP(Small Out-LinePackage小外形封装)是一种很常见的元器件形式,也是最常用的芯片封装类型。表面贴装型封装之一,引脚从封装两侧引出呈海鸥翼状(L字形)。像我司产品大多都是用SOP的脚位来做封装的,运输便捷,SOP封装的应用范围很广泛,而且SOP也衍生
-
0一款20引脚8位FLASH单片机、管脚完全兼容STM8S003和N76E003内置增强型1T 8051内核,基于Keil C51开发,芯片资源丰富,性价比高。联系Q:415021063特性●容量大,内置16K Bytes FLASH程序存储器●18个多种模式可配的GPIO1、全部IO可以用于外部中断2、全部IO可以通过外设功能引脚全映射模块来定义功能,方便布板。●丰富的定时器资源5个可自动重载的16位定时器/计数器●3组12位带死区控制互补PWM●1个8位PWM●丰富的通讯接口,2个UART,1个SPI●可支持IAP自编程FLASH的操作
-
0芯圣8051内核FLASH MCU,产品系列齐全,为客户提供最佳性价比解决方案,适用于各类 工业、小家电、消费类产品应用领域,满足客户的多元化需求。 全产品线为工业温度规格,丰富的外设功能,集成PWM、ADC、UART、SPI、I²C、LCD, 支持外设功能映射、在线系统编程(ISP),高抗干扰能力(4KV ESD/4KV EFT),可满足不同 市场的应用需求。 注1:只能使用ISP烧录,程序开发、仿真可以使用HC89S003F4进行。 注2:I/O口配备4级电流可配置功能,COM口和SEG口数量任意配置,
-
0使用几次 RelInFLASH 后不能正常工作,包括其他两种方式也不能工作在 RelInFLASH 和 DeBUGinflash 时显示一个错误 Warnning! interrupt vectors data is not correct! Program you downloaded can not run freely! 不知怎么回事 使用 DebugInRAM 虽然不报错,但无法正常工作. 答:可能是启用了加密功能引起的,使用 ISP 擦除 FLASH.
-
0问:寄存器 VICVectAddr 和 VICVectAddr0~15 的使用区别。 答:VICVectAddr 在发生中断时,存放有服务程序的地址(来自 VICDefVectAddr 或VICVectAddr0~15);而 VICVectAddr0~15 是存放各个向量中断服务程序地址的寄存器,当发生向量中断时,相应的地址会自动装载到 VICVectAddr 中.
-
0后缀L的都可以,使用时请注意,V3.0.2.0版本前(包含)的IDE不要使用静态局部变量,具体请看: http://bbs.21ic.com/icview-2507314-1-1.html
-
0HC89S003内部有个低电压检测模块LVD,我觉得这个功能很好。感觉可以用来做掉电检测电路来使用,不知道有人用过没有,方案可行否?我的初步方案是这样:在L7805前端(输入端),通过分压电路后,把电压接入LVD检测端口。
-
1问: VECTORS.s 中的一段,里面的 REMAP 操作都做了些什么 好像是保护一类的操作.REMAP 和 MEMMAP 各是什么含义 如果我要同时使用两个外部中断,应当怎样写这一段REMAPS MOV R2,#0x40000000LDR R1,=VectorsLDMIA R1!,{R3-R10}STMIA R2!,{R3-R10}LDMIA R1!,{R3-R10}STMIA R2!,{R3-R10}LDR R2,=MEMMAPMOV R1,#0x02STR R1,[R2]MSR CPSR_c, #0x1fMOV PC, R0 答:REMAP 是重映射的意思,MEMMAP 是存储器映射控制寄存器.MEMMAP = 0b01,不映射,程序由 FLASH 开始.MEMMAP = 0b10,程序从 RAM 开始,如果你的程序在 RAM 中,必须使用这种方式.如同
-
0问:软件中断是用软件置位的方法产生中断请求,比如定时器 0 中断请求.用软件中断的方法可以产生 IRQ, FIQ 中断,对吗 答:VIC 中的软件中断是这样,而 swi 产生的异常,英文也为软件中断,它是不一样的.
-
0问:什么时候需要通过软件中断进入管理模式 答:如果你的程序是在用户模式下运行,那就可以通过软中断进入特权模式,修改 CPSR 寄存器.如开关 IRQ 中断(CPSR 的 I 位).
-
0问:特定的异常出现时,处理器进入相应的异常模式.如出现 IRQ 就进入 IRQ 模式,那出现什么情况进入管理模式呢 答:复位或 SWI 中断.
-
0问: VECTORS.s 中的一段,里面的 REMAP 操作都做了些什么 好像是保护一类的操作.REMAP 和 MEMMAP 各是什么含义 如果我要同时使用两个外部中断,应当怎样写这一段REMAPS MOV R2,#0x40000000LDR R1,=VectorsLDMIA R1!,{R3-R10}STMIA R2!,{R3-R10}LDMIA R1!,{R3-R10}STMIA R2!,{R3-R10}LDR R2,=MEMMAPMOV R1,#0x02STR R1,[R2]MSR CPSR_c, #0x1fMOV PC, R0 答:REMAP 是重映射的意思,MEMMAP 是存储器映射控制寄存器.MEMMAP = 0b01,不映射,程序由 FLASH 开始.MEMMAP = 0b10,程序从 RAM 开始,如果你的程序在 RAM 中,必须使用这种方式.如同
-
0问:是不是 FIQ 与 IRQ 的使用上没有什么区别FIQ 自己独有的寄存器有什么用我是否可以把 INT1,UART1 等中断设为 FIQFIQ 的中断服务程序应该定位到什么位置 答:没有本质的区别.FIQ 拥有独立的 R8_fiq~R12_fiq,FIQ 中断时,其它模式相应的寄存器就可不入栈,从而加快 FIQ 的处理.多个中断源共用还不如单独用 IRQ.因为 FIQ 比较适合在人命关天的情况下用.
-
0问:执行 FIQ 代码时,操作系统在做什么呢 当执行 FIQ 中断代码时,需要注意什么呢 要对相关寄存器进行入栈吗 那执行完了以后,又怎么返回到 OS 里执行任务呢 FIQ 可不可以调用 OS 函数 IRQ 呢 答:1.FIQ 服务程序中断了 OS 啊.2.FIQ 中断服务不在 OS 管理范围内,所以不能访问任何与 OS 相关的函数及变量.3.FIQ 其实就是普通的 FIQ 中断服务函数而已,与普通的一样处理.4.受 OS 管理的 IRQ 可以调用 OS 的系统功能函数.
-
0问:为什么在 EINT1 中断实验程序中,中断函数里没有 VICVectAddr=0x00;是因为它是非向量中断吗 答:因为它根本没有使用 VIC 的 VICVectAddr 来判断中断服务程序入口.
-
0问:寄存器 VICVectAddr 和 VICVectAddr0~15 的使用区别。 答:VICVectAddr 在发生中断时,存放有服务程序的地址(来自 VICDefVectAddr 或VICVectAddr0~15);而 VICVectAddr0~15 是存放各个向量中断服务程序地址的寄存器,当发生向量中断时,相应的地址会自动装载到 VICVectAddr 中.
-
0问:还有在 AXD 环境下,单步执行怎么起不了作用,会跳到 void IRQ_Exception(void)里面呢? 答:有中断时不能单步调试,否则 VIC 工作异常.
-
0问:作向量 IRQ 中断实验时,将 EINT0 设为最高优先级,EINT1 次之.在 IRQ_Eint1(void)函数中加入一条 while(1)指令,想作一下优先级差别的实验.先让 EINT1 中断,这时进入 IRQ_Eint1(void)函数中,并产生死循环,之后按下 KEY3 想产生 EINT0 中断,结果没反应,已经将 EINT0 的优先级设成了最高,为什么不进入 EINT0 中断函数 答:有没有允许中断 进入中断后处理器自动设置 cpsr 中的中断允许位,禁止中断.
-
0问:在一个程序中同时编入两个中断时,不知道如何将一个中断的优先级设定高于另一个中断.例如:外部中断和定时器的中断. 答:VICVectCntl0~15 优先级递减
-
0问:程序下载到 FLASH 中发现 MEMMAP 的值是 01,可是我把程序下载到 RAM 时发现 MEMMAP的值是 0;不过程序都能运行.我这个程序没有中断,是不是如果我的程序中有中断而且在 RAM 中运行时就必须修改 MEMMAP 同时拷贝向量表到 0x40000000 呢 如果程序中没有中断并在 RAM 中运行时就可以不管 MEMMAP 的值了阿 答:是的.
-
0问:断点如果设置在启动时钟节拍之后,在断点处停顿后在继续运行,程序运行就异常了,这是什么原因 答:不是不中断,而是时钟走过头,还需很长时间才中断.target.c 如下修改即可避免:T0MCR = 0x01; 改为 T0MCR = 0x03;函数 Timer0 改为void Timer0(void){T0IR = 0x01;// T0MR0 += (Fpclk / OS_TICKS_PER_SEC); // 删除此句74VICVectAddr = 0; // 通知中断控制器中断结束OSTimeTick();}
-
0问:请教寄存器 VICVectAddr 和 VICVectAddr0~15 的使用区别 答:VICVectAddr 在发生中断时,存放有服务程序的地址(来自 VICDefVectAddr 或VICVectAddr0~15);而 VICVectAddr0~15 是存放各个向量中断服务程序地址的寄存器,当发生向量中断时,相应的地址会自动装载到 VICVectAddr 中.
-
0问:断点如果设置在启动时钟节拍之后,在断点处停顿后在继续运行,程序运行就异常了,这是什么原因 答:不是不中断,而是时钟走过头,还需很长时间才中断.target.c 如下修改即可避免:T0MCR = 0x01; 改为 T0MCR = 0x03;函数 Timer0 改为void Timer0(void){T0IR = 0x01;// T0MR0 += (Fpclk / OS_TICKS_PER_SEC); // 删除此句74VICVectAddr = 0; // 通知中断控制器中断结束OSTimeTick();}
-
0问:可固化的中断程序中,是将中断向量表先拷贝到 0X40000000,再REMAP 到 FLASH 的底部(我的理解).我认为既然是固化到 FLASH 里,把完成上述功能的程序去掉不是也可以吗即下面的程序段:; 实现 REMAP 操作REMAPS MOV R2,#0x40000000 ; 复制中断向量代码,设置目标地址LDR R1,=Vectors ; 设置源地址LDMIA R1!,{R3-R10} ; 共复制 16 个字(64 字节)STMIA R2!,{R3-R10}LDMIA R1!,{R3-R10}STMIA R2!,{R3-R10} LDR R2,=MEMMAP ; REMAP 操作MOV R1,#0x02STR R1,[R2] 答:可以去掉,只是这样做可以动态改变向量表.
-
0问:看到 LPC2114 外围电源用的是 3.3V 供电,想用它的 I2C 接口去控制后面用 5V 供电的芯片,因此想问一下是否可以直接接上拉电阻和 5V 相连 如果不能是不是只能加 电平转换了? 答:可以的.
-
0请问:LPC2214 的 GPIO 的管脚在输入时没有上拉,在输出时有没有上拉 答:P0.2,P0.3 是 I2C 接口,是开漏输出,所以要外接上拉电阻,其它 GPIO 不用接.
-
0问:LPC2104 实验板接上 JTAG 线时,P0.22 变为 0 在测试键盘时发现的,一拿下 JTAG 插 头,一切正常. 答:使用主 JTAG 调试时,P0.22 为 ETM 跟踪调试口,不能作 GPIO 用.
-
0Q:LPC2119 的 IO 口输出电压是多少 它的 IO 口带不带上拉电阻 A:GPIO 输出可输出高电平电压约为 3.3V,手册上的 Voh. GPIO 作输入时没有内部上拉.
-
0问:在 LPC2119 与光隔相连时遇到问题,以前用的片子 IO 口都是 5V 电压,由于 2119 是 3.3V 所以和以前系统中采用的高速光耦相连时就涉及到两个问题: 接受光耦送来的信号 2119 可否承受 还有 2119 输出的信号能否驱动光耦 搞 CAN 的朋友可否同样遇到此问题,我觉得可以解决这个问题,但不敢肯定,我想通过 分析光耦内部结构可以解决这个问题,有经验的朋友谈谈吧 答:可以将 CAN 引脚当成普通 IO 口对待,就不会存在疑惑了.
-
0问:2104 开发板上用了 MAX708,其已有高/低电平复位输出,为什么还要用 74HC125 呢 答:为了使手动与 JTAG 都可以对芯片复位.
-
0问:开发板上的 74HC125 的 U5C,U5D 起什么作用 答:去抖动.
-
0问:如果我的 AD 转换需要的满量程是 0V~5V,是不是把 AD 部分的电源即 V3A 由现在的 3.3V 改为 5V 供电就可以了 答:把输入的电压用电阻分压就可以了.
-
0问:lpc2104 和 RTL8019AS 的接口问题. 以前在 C8051F 上做,高低地址是固定的,容易接口,RTL8019 映射地址也容易算出.现 在 lpc2104 是 32 位的,32 个地址线和 32 个数据线,和外围器件接口时带到很困惑.不 知有没有高手看过周立功网站的提供的 lpc2104+RTL8019AS 的接口电路,SA0-SA4 和 lpc2104 的哪个脚接在一起 请指点由一个 573 来控制地址与数据总线复用现在有点明 白虚拟总线了,加上一个地址锁存器,和 51 机的就很相似了. 答:对,为了兼容 51.
-
0Q:请教关于"IAP 实验的问题" 1. IAP 服务程序放在了什么地方(汇编部分) 2. 我想向其中写入 10 字节数据,而不是诸如 256 个字节,是否可以,如何实现 3. 在主程序中定义一个数组,如何把此数组中的数据固定在特定地址中阿,然后我好 进行 RamToFlash. A:1.在 BOOT 区,入口地址为 0x7ffffff0,IAP 服务程序为 THUMB 指令. 2.先读取原数据到 RAM 中.如果只需要保存小量数据,且经常要更改,最好使用外部 E2PROM. 3.可能不好实现
-
0问:任务间的数据传输除邮箱等外是否可以建立一个全局变量在任务间传递数据! 答:可以,但要注意重入问题和代码优化问题,最好使用 volatile 修饰变量,如果不能一次 读写完毕则需要加上开关中断的代码.
-
0问:uc/os 任务堆栈问题. 在 ucos 移植的程序 EX1_arm 中: #define TASK_STK_SIZE 128 /* Size of each task's stacks (# of WORDs) */ #define N_TASKS 10 /* Number of identical tasks */ 请问,任务堆栈设为什么设这么大 答:可以变小,但要在复杂任务中应保证够用.
-
0问:uc/os 任务堆栈问题. 在 ucos 移植的程序 EX1_arm 中: #define TASK_STK_SIZE 128 /* Size of each task's stacks (# of WORDs) */ #define N_TASKS 10 /* Number of identical tasks */ 请问,任务堆栈设为什么设这么大 答:可以变小,但要在复杂任务中应保证够用.
-
0问:请问在 OS_CORE.C 中的常数数组 OSUnMapTbl[]是做什么用的 答:用来计算优先级的,查表计算比较快.
-
0问:一个任务中的子函数的局部变量算不算进堆栈的容量. 我发现我在用邮箱传递一个较大的值时,是在一个任务的函数中声明了 uint8 byte[500],可在传递时值发送了变化,只好用的外部变量了,最后搞得邮箱只起了信号 量的作用,所以我觉得局部变量虽然是从堆栈中取得数据,最后在任务切换时,把局部 变量也保存到堆栈中,不知道我这种理解是否正确 答:算.局部变量在函数退出后(不管任务是否却换过)被释放.