FPGA设计工具简述

在摩尔定律的作用下,FPGA产品的门数量不断增加,性能与专门功能逐渐加强,使得FPGA在电子系统领域能够取代此前只有ASIC和ASSP才能发挥的作用。不过,说到底,FPGA必须要有适当的设计工具辅助,让设计人员充分发挥其作用,否则再好...

简述FPGA的基本特点

它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。特点介绍1)采用FPGA设计ASIC电路(专用集成电路),用户不需要投片生产,就能得到合用的芯片...

FPGA、CPU、DSP的竞争与融合介绍

CPU+FPGA模式的兴起赛灵思根据市场需求,率先于2010年4月28日发布了集成ARM Cortex-A9CPU和28nmFPGA的可扩展式处理平台(Extensible Processing Platform)架构。该公司全球市场营销及业务开发高级副总裁VinRatford曾在...

FPGA引脚信号分配原则

下面这些用于向多用途引脚指配信号的指导方针有助于设计师根据最多到最少的约束信号指配原则提前考虑信号指配,并减少反复的次数。这里有一个前提,即假定设计师已经根据设计的大概规模和信号要求确定了目标器件范围和型...

FPGA为什么这么难的原因

1、不熟悉FPGA的内部结构,不了解可编程逻辑器件的基本原理。FPGA为什么是可以编程的?恐怕很多菜鸟不知道,他们也不想知道。因为他们觉得这是无关紧要的。他们潜意识的认为可编程嘛,肯定就是像写软件一样啦。软件编程的思...

FPGA的基本结构介绍

一、FPGA的基本结构每个单元简介如下:1.可编程输入/输出单元(I/O单元)目前大多数FPGA的I/O单元被设计为可编程模式,即通过软件的灵活配置,可适应不同的电器标准与I/O物理特性;可以调整匹配阻抗特性,上下拉电阻;可以调整输出驱...

DSP CCS软件仿真介绍

1 设置CCS 打开CCS Setup,在Family中选择CPU系列,这里选择C64xx,Platform选择simulator(软件仿真),在Available Configuration中选择配置,大端小端都可以(程序或数据比较大需要选择大端),点击Import按钮,然后点击Close。File...

[DSP+ARM] DSP入门方法

1)DSP的速度较快,DSP的硬件系统需要考虑时序。 2)DSP的指令较复杂,如果需要较高效率的程序,需要从DSP的硬件结构出发,优化你的程序。 开发DSP并不难,选择好的技术支持厂家最为关键。SEED以给您提供从方案论证、器件选择...

DSP芯片的外部存储器的选择

1)对于C2000系列: C2000系列只能同异步的存储器直接相接。 C2000系列的DSP目前的最高速度为150MHz。建议可以用的存储器有:CY7C199-15:32K×8,15ns,5V;CY7C1021-12:64K×16,15ns,5V; CY7C1021V33-12:64K×16,15ns,3...

ARM如何实现延时

1.做好看一下编译出来的汇编语句,再自己用笔做个加减乗除,算出结果。这种方法最直接,但是最麻烦,因为汇编指令的时间不好计算,并且要弄明白流水的工作原理,一个指令执行的时间等,因此对于像我这样的菜鸟级人物,这种方法虽然最...

DSP未来发展趋势介绍

随着更多新应用的更高要求,未来的DSP发展将呈现哪些趋势?带着这个问题我们特意采访了ADI、Atmel、Freescale以及TI公司在DSP领域的资深专家,并总结出以下五大发展趋势:第一,DSP内核指令并行处理能力增强,SIMD(单指令多重数...

这位软件工程师的6年总结,我们得看看!

1、分享第一条经验:“学历代表过去、能力代表现在、学习力代表未来。”其实这是一个来自国外教育领域的一个研究结果。相信工作过几年、十几年的朋友对这个道理有些体会吧。但我相信这一点也很重要:“重...

有关DSP 基础介绍

DSP微处理器DSP(digital signal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解...

DSP与普通MCU的区别介绍

比如有限冲击响应滤波器(FIR)。用数学语言来说,FIR滤波器是做一系列的点积。取一个输入量和一个序数向量,在系数和输入样本的滑动窗口间作乘法,然后将所有的乘积加起来,形成一个输出样本。类似的运算在数字信号处理过程中...

ST针对物联网应用推出STM32L4

在物联网时代,推动其快速发展的因素有很多,比如“互联网+”概念、智能硬件的多样发展、开发工具的层出不穷……但是抛开这些外围的概念和应用,能够决定物联网中每一个“物”的用户体验...

如何选择 DSP芯片

不同的DSP应用系统由于应用场合、应用目的等不尽相同,对DSP芯片的选择也是不同的。一般来说,选择DSP芯片时应考虑到如下诸多因素。1.DSP芯片的运算速度。运算速度是DSP芯片的一个最重要的性能指标,也是选择DSP芯片时所需...

有关DSP的简单介绍

其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序...

DSP入门必看知识点

如何设置硬件断点? 在profiler ->profile point -> break pointc54x的外部中断是电平响应还是沿响应? 是沿响应,准确的说,它要检测到100(一个clk的高和两个clk的低)的变化才可以。参考程序,里面好象都要 dISAble wachdo...

怎样由单片机升级到DSP

DSP器件与单片机的比较1.单片机的特点所谓单片机就是在一块芯片上集成了CPU、RAM、ROM(EPROM或EEPROM)、时钟、定时/计数器、多种功能的串行和并行I/O口。如Intel公司的8031系列等。除了以上基本功能外,有的还集成有A/...

51、PIC、AVR、16、32-BIT系列单片机区别与特点

1、8031的特点8031片内不带程序存储器ROM,使用时用户需外接程序存储器和一片逻辑电路373,外接的程序存储器多为EPROM的2764系列。用户若想对写入到EPROM中的程序进行修改,必须先用一种特殊的紫外线灯将其照射擦除,之后再...

单片机程序开发时,针对初级工程师的几点建议

这里利用一个实际发生的例子,针对初级工程师经常犯的一个小错误,或者经常要走的一个弯路,做了针对性的纠正。希望可以帮到大家,文笔不好文章中有叙述不清的地方大家多多指教。这篇文章我不是想说编程的规范性的东西,如果你...

数字信号处理(DSP)应用系统中的低功耗设计原则

一、合理选择DSP器件应根据系统要求来选择合适的DSP器件。在典型的DSP应用系统中,通常其核心是由一片或多片DSP构成数据处理模块,由于系统运算量大且速度要求高,因此DSP内部的部件开关状态转换十分频繁,这使得DSP器件的功...

单片机硬件抗干扰经验总结

一、下面的一些系统要特别注意抗电磁干扰:1、微控制器时钟频率特别高,总线周期特别快的系统。2、系统含有大功率,大电流驱动电路,如产生火花的继电器,大电流开关等。3、含微弱模拟信号电路以及高精度A/D变换电路的系统。二...

菜鸟必读的嵌入式学习路线

第一阶段:C语言高级编程在嵌入式领域中大部分开发都会用到C语言。C语言简洁,紧凑,使用方便灵活加上GNU在实际项目开发中所做的拓展,使得c语言在整个嵌入式开发过程中起着至关重要的作用。更重要的是c语言开发的程序在嵌入...

AVR—使用定时器必须弄清的几个概念!

在MCU中(M16),定时器是独立的一个模块,M16有三个独立的定时器模块,即T/C0、T/C1和T/C2;其中T/C0和T/C2都是8位的定时器,而T/C1是一个16位的定时器。定时器的工作是独立于CPU之外自行运行的硬件模块。1、定时器何时开始工...

如何来为MSP430单片机加密?

1、为什么要加密,如何加密?当您的产品推向市场的时候,您的竞争对手就开始盯上它了,如果您的产品硬件很容易被模仿,而且您使用的MSP430单片机没有被加密的话,那么您辛辛苦苦的劳动成功就很容易成为您竞争对手的产品了,使用JT...

STC89C52单片机内部EEPROM驱动

STC89C52单片机内部带有4K的EEPROM,严格来说,应该是4K的FLASH,它分为8个扇区,每个扇区有512个字节。读写数据只能按字节操作,擦除数据只能按扇区操作。 由于它掉电不易失的特性,可以用来存储程序运行过程中产生的用户数据,掉...

MSP430-复位电路介绍

POR是上电复位信号,它只在以下两个事件发生时产生:1、芯片上电。2、RST/NMI设置成复位模式,在RST/NMI引脚上出现低电平信号。PUC信号是上电清除信号,POR信号的产生总会产生PUC信号,但PUC信号的发生不会产生POR信号。产生它...

单片机串口通讯RXD与TXD对接

首先需要明白两个概念,就是DTE和DCE。DTE是指数据终端设备,典型的DTE就是计算机和单片机。DCE是指数据通信设备,典型的DCE就是MODEM。RS232串口标准中的RXD和TXD都是站在DTE立场上的,而不是DCE。明白了这一点,再讲下面的接...

单片机位操作指令介绍

位寻址区在8031中,有一部份RAM和一部份SFR是具有位寻址功能的,也就是说这些RAM的每一个位都有自已的地址,能直接用这个地址来对此进行操作。内部RAM的20H-2FH这16个字节,就是8031的位寻址区。看图1。可见这里面的每一个RA...

STM32 F7—— 一颗高度智能化的MCU

在ARM宣布推出最新的32位CortexM处理器CortexM7之后的第二天,意法半导体(ST)就推出了其基于ARM CortexM7的STM32 F7系列微控制器。 在讨论STM32 F7能够做些什么之前,先来看看CortexM7架构与之前熟悉的CortexM3/M4相比,有哪...

Altera提供下一代非易失MAX 10 FPGA和评估套件

近日,Altera公司开始提供非易失MAX 10 FPGA,这是Altera第10代系列产品中的最新型号。基于TSMC的55 nm嵌入式闪存工艺技术,MAX 10 FPGA这一革命性的非易失FPGA,在小外形封装、低成本和瞬时接通可编程逻辑器件封装中,包含了...

C51单片机功能模块和Keil C 数据类型

单片机特点:集成度高,价格低廉,功能强,速度快,功耗低,体积小,使用灵活,稳定可靠使用领域:家用电器,智能仪器仪表,通信系统,网络系统,数控机床,数据采集和处理,自动检测,工业控制,火箭制导51单片机数据类型数据类型 位(bit) 字节(byte) ...

浅谈FPGA基础入门相关知识

1.FPGA器件有三类配置下载方式:主动配置方式(AS)和被动配置方式(PS)和最常用 的(JTAG)配置方式。AS由FPGA器件引导配置操作过程,它控制着外部存储器和初始化过程,EPCS系列.如EPC S1,EPCS4配置器件专供AS模式,目前只支持 C...

单片机软件抗干扰的这几种办法

1、软件抗干扰方法的研究在工程实践中,软件抗干扰研究的内容主要是:一、消除模拟输入信号的噪声(如数字滤波技术);二、程序运行混乱时使程序重入正轨的方法。本文针对后者提出了几种有效的软件抗干扰方法。(1) 指令冗余CPU取...

单片机100分钟定时继电器程序

#includesbit Key_UP=P1^0;sbit Key_DOWN=P1^1;unsigned char KeyV,TempKeyV; sbit P25=P2^0;//数码管第1位sbit P26=P2^1;//数码管第2位sbit gang=P2^2;//分钟与秒的间隔符sbit P27=P2^3;//数码管第4位sbit...

单片机9999S定时继电器程序

#includesbit Key_UP=P1^0;sbit Key_DOWN=P1^1;unsigned char KeyV,TempKeyV; sbit P25=P2^0;//数码管第1位sbit P26=P2^1;//数码管第2位sbit P27=P...

带详细注释的单片机闹钟程序

#include //头文件#include#define uchar unsigned char//宏定义#define uint unsigned intsbit key1=P1^0; //位声明sbit key2=P1^1;sbit key3=P1^2;sbit fmq=P3^3;//闹钟uchar code table[]={0...

带详细注释的LCD1602屏幕单片机电子时钟程序

//按K1按键进入设定状态//按K2,依次进入闹钟功能是否启用,闹钟时,分秒,年,月,日及时间时,分,秒的设置,直到退出设置状态//按K3,调整是否起用闹钟和调节闹钟时,分,秒,年,月,日,时间的时,分,秒的数字//LCD第二排中间显示...

单片机PWM控制流水灯渐亮渐灭程序

//跳线设置:默认跳线位#include typedef unsigned char uchar;#define Ton 40#define LED P1sbit leds=P1^4;sbit LED0 = P1^0;sbit LED1 = P1^1;sbit LED2 = P1^2;sbit LED3 = P1^3;sbit LED4 = P1...

单片机LED流星雨源程序分享

#include #define uchar unsigned char#define led P1 bit flag=0; uchar code lshift[3]={0x07,0x03,0x01};uchar code shift[7]={0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe};//imitate PWM d...

单片机按键一次处理的优化方法

以前做单片机的时候总会遇到一个问题就是:在单片机的键盘输入的键盘一次处理时,原来的做法通常是通过“延时”等待键盘的松开,所以单片机就会停留在此处,其他的程序进行不下去。会出现显示不正常、无响应等错误...

简单的单片机矩阵键盘程序

#include sbit ADDR0 = P1^0;sbit ADDR1 = P1^1;sbit ADDR2 = P1^2;sbit ADDR3 = P1^3;sbit ENLED = P1^4;sbit KEY1 = P2^4;sbit KEY2 = P2^5;sbit KEY3 = P2^6;sbit KEY4 = P2^7;unsigned char co...

单片机程序“_crol_” 与“_cror_”的用法

“_crol_” 与“_cror_”其实就是左右循环代码,其具有程序代码简单执行效率高的优点!现实中的应用很多,例如我们经常见到的流水灯,广告牌,马路上的红绿灯 等。。。 下面是最基本的流水灯代码,流水灯移...

与单片机Bug战斗的那些经历

玩转单片机有几年的时间了,从接触51开始就走上了看不到尽头的程序员之路。也许大多会认为,敲了几天几夜代码将作品或者项目完美完成的那一刻是最开心最得意的时候。我却认为,真正快乐的是与Bug斗争的过程,最后完成作品或...

DSP电路板设计中的无源晶体与有源晶振

1、无源晶体——无源晶体需要用DSP片内的振荡器,在datasheet上有建议的连接方法。无源晶体没有电压的问题,信号电平是可变的,也就是说是根据起振电路来决定的,同样的晶体可以适用于多种电压,可用于多种不同时钟...

单片机按键密码锁源代码

#include #define uchar unsigned char#define uint unsigned int#define KeyPort P1sbit Dula=P2^2; //段选sbit Wela=P2^3; //位选sbit Led =P2^0;uchar code smg_du[]={0x3f,0x06,0x5b,0x4f,0x66,0x...

简单的数码管时钟显示程序

没有开发板,用慧净四驱的主控板四位数码管显示时间,运行准确,电路图大家可以搜一下。小数点隔一秒闪烁一下,按钮3和4分别调制时和分。附上源程序:#include #define uchar unsigned char#define uint unsigned intsbit KEY1...

按键控制步进电机并在数码管显示

/*****************************************************程序说明通过改变脉冲个数改变步进电机的角度,通过按键可以让步进电机停在任意角度及正反转 并在数码管显示,正转显示1,反转显示2单片机 :STC12C5A60S2...

感应电机与步进电机的性能比较

感应电机就是电机的零部件之间靠感应力作用的电机,该电机的结构相对比较简单,制造也就比较方便,价格方面也是比较便宜的。步进电机就是感应电机的一种,他的工作原理也是利用电子电路将直流电转变为分时供电的,控制电流,用这...

新手必看:关于ARM的22个常用概念

1.ARM中一些常见英文缩写解释MSB:最高有效位;LSB:最低有效位;AHB:先进的高性能总线;VPB:连接片内外设功能的VLSI外设总线;EMC:外部存储器控制器;MAM:存储器加速模块;VIC:向量中断控制器;SPI:全双工串行接口;CAN:控制器局域网,一种串行通...

浅析ATMEL89C系列单片机解密及加密原理

ATMEL 89C系列是ATMEL 51单片机典型的低功耗,高性能CMOS 8位微控制器,也是OTP(一次性编程)MCU,采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统,芯片内集成了RAM和Flash存储单元,功能强大的ATMEL AT89...

PIC单片机的一些学习心得与总结

PIC单片机的概述PIC16F616是一款14引脚、8位的CMOS单片机。采用精简指令集,仅有35条指令,由于采用了数据总线和指令总线分离的哈佛总线结构,使得除少量指令不是单周期之外,大部分的指令都是单周期指令。这样有利于提高单...

PIC16F1829 DATA EEPROM 读写操作示例

#defineReadRomString_CALL#defineWriteRomString_CALL//*************************************// 函数名称:ReadRomByte// 函数功能:从ROM的某一地址读数据// 入口参数:所读数据的地址// 出口参数:所读地址的数据//****...

PIC16F1829 TIMER0初始化程序

//timer0 分频值#defineTIMER0_DIV2(0<<0)#defineTIMER0_DIV4(1<<0)#defineTIMER0_DIV8(2<<0)#defineTIMER0_DIV16(3<<0)#defineTIMER0_DIV32(4<<0)#defineTIMER0_DIV64(5<<0)#defineT...

PIC16F1829 TIMER1初始化程序

//timer1 分频值#defineTIMER1_DIV1(0<<4)#defineTIMER1_DIV2(1<<4)#defineTIMER1_DIV4(2<<4)#defineTIMER1_DIV8(3<<4)//-------------#defineT1_FOSC(1<<6)#defineT1_FOSC_4(0<<6)//...

STM32F030 看门狗DWOG应用

//==文件wdog.h============================================================#ifndef _WDOG_H_#define _WDOG_H_#define VT_WDGT_WDG_64MS#defineT_WDG_4096MS 5120#defineT_WDG_1024MS 1280#de...

浅析51单片机P0口上拉电阻的选择应用

P0作输入时不需要上拉电阻,但要先置1。因为P0口作一般I/O口时上拉场效应管一直截止,所以如果不置1,下拉场效应管会导通,永远只能读到0。因此在输入前置1,使下拉场效应管截止,端口会处于高阻浮空状态,才可以正确读入数据。由...

PIC单片机“跑马灯”实验程序代码

;实验目的:本程序主要实现一个简单的流水灯程序;即轮流点亮C口的8个灯(先点亮RC0,再熄灭RCO点亮RC1。。。。);硬件要求:拨码开关S11全部置ON。#include ;调用头文件__CONFIG _DEBUG_OFF&_CP_ALL&_WRT_HALF&_CPD_ON&_LVP_OF...

c51中的intrins.h库函数

#ifndef __INTRINS_H__#define __INTRINS_H__extern void _nop_ (void);extern bit _testbit_ (bit);extern unsigned char _cror_ (unsigned char, unsigned char);extern unsigned int _iror_ (unsigned int, u...

51单片机的状态机消抖代码

#includeenum State {Init, Press, Free}; //定义按键状态的枚举类型enum State Key_State; //按键状态sbit Key1 = P2^4;sbit Key2 = P2^5;sbit Key3 = P2^6;sbit Key4 = P2^7;void Delay_ms(unsigned int x)...

STM32F030 IO口外部中断应用

//==文件exit.h============================================================#ifndef __EXIT_H#define__EXIT_H#include "stm32f0xx.h"extern void EXIT_HALL_Init(void);#endif /* __EXIT_H *///==文件exit.c===...

模糊控制算法子程序

程序为模糊控制程序,基于8位单片机,为模糊控制算法程序,实现简单的模糊控制,经实践总结得出,当调整幅度较大时,会出现振荡,系统难以达到稳定,这就需要更高一级的算法控制调整,当调整幅度较小时,系统可以很快达到稳定。以下为模...

keil 51启动代码

;------------------------------------------------------------------------------; STARTUP.A51: 用户上电初始化程序;------------------------------------------------------------------------------;; 用户定...

avr单片机双通信C程序

将下面2个程序分别烧录进2个单片机中.单片机U1//ICC-AVR application builder : 2013-6-14 10:17:58// Target : M16// Crystal: 8.0000Mhz#include #include #define LED1_ON PORTD|=(1<<PD4)#define LED1_...

AVR单片机的工作状态

当 AVR 芯片的 Vcc 与系统电源接通后,根据 RESET 引脚的电平值的不同,单片机将进行不同的状态:复位状态、常规工作状态、编程状态。1. RESET 引脚电平为高通常情况下,RESET 引脚通过一个上拉电阻接系统电源,为高电平&ldquo;...

用AT89S51单片机软件解码PT2262的C程序

编码芯片PT2262发出的编码由:地址码、数据码、同步码组成。地址码和数据码都用宽度不同的脉冲来表示,两个窄脉冲表示&ldquo;0&rdquo;;两个宽脉冲表示&ldquo;1&rdquo;;一个窄脉冲和一个宽脉冲表示&ldquo;F&rdquo;,也就是地...

用状态机编写的VHDL60分计时器

---------------------------状态机---------------------------Library ieee;Use ieee.std_logic_1164.all;-------------------------------------------Entity statem isPort(clk,clr:in std_logic;Q0,Q1,Q2,Q3:...

FPGA牛人的多年经验总结,很值得深思!

在IC工业中有许多不同的领域,IC设计者的特征也会有些不同。在A领域的一个好的IC设计者也许会花很长时间去熟悉B领域的知识。在我们职业生涯的开始,我们应该问我们自己一些问题,我们想要成为怎样的IC设计者?消费?PC外围?...

基于AT89C2051+ds18b20的温度计程序设计

#include #include #define uchar unsigned char#define uint unsigned intuchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};uint tempe;sbit DQ=P3^5;sbit p=P3^1;sbit q=P3^2;sbit r=P3...

51单片机C语言中.c文件和.h文件的关联

1)h文件作用1 方便开发:包含一些文件需要的共同的常量,结构,类型定义,函数,变量申明;2 提供接口:对一个软件包来说可以提供一个给外界的接口(例如: stdio.h)。2)h文件里应该有什么 常量,结构,类型定义,函数,变量申明。...

单片机超频之PLL锁相环设置

什么是锁相环呢? MCU的支撑电路一般需要外部时钟来给MCU提供时钟信号,而外部时钟的频率可能偏低,为了使系统更加快速稳定运行,需要提升系统所需要的时钟频率。这就得用到锁相环了。例如MCU用的外部晶振是16M的无源晶振,则...

单片机软件滤波的几种方法

1、限幅滤波法(又称程序判断滤波法) A、方法: 根据经验判断,确定两次采样允许的最大偏差值(设为A) 每次检测到新值时判断: 如果本次值与上次值之差A,则本次值无效,放弃本次值,用上次值代替本次值 B、优点: 能有效克服因偶然因...

关于FPGA的VHDL算数运算

算数运算时FPGA编程设计中常会用到的功能,其规则直接影响变成效果,调用use ieee.std_logic_unsigned.all;此程序包对不同的数据类型可以进行适当的算数运算:1.对std_logic_vector()可进行相同位数的加减运算(被加数必须...

8位单片机的程序优化11条

1 采用短变量一个提高代码效率的最基本的方式就是减小变量的长度。使用 C 编程时,我们都习惯于对循环控制变量使用 int 类型,这对 8 位的单片机来说是一种极大的浪费,你应该仔细考虑你所声明的变量值可能的范围,然后选择...

MSP430 IIC总线程序

#ifndef _I2C_H#define _I2C_H#define SDA_1 P4OUT|=0x02 //SDA = 1#define SDA_0 P4OUT&=~0x02 //SDA = 0#define SCL_1 P4OUT|=0x01 //SCL = 1#d...

基于MSP430的无线传输协议

该协议基于在同一块MSP430上用串口1发射,串口0接收,使用两块无线收发的NRF401模块。初始化串口0,用于接收void init_UART0(void){UCTL0 &= ~SWRST; UCTL0 |=CHAR;//0X10;UBR00 = 0x03;UBR10 = 0x00;UMCTL0 = 0x4A;UTCTL...

51单片机模拟PS2协议制作5X5矩阵工业键盘

根据客户的要求利用单片机制作一个小的工控键盘,将下面对应的键值发送到电脑显示,利用的协议就是PS2,单片机型号为stc89c52rc,晶振为12M; 1 06 5 4 3 27 8 9 减号 等号y u i o pq w e r t#include #include "PS2.H"BY...

51单片机PWM电机调速程序

#include#define TH0_TL0 (65536-1000)//设定中断的间隔时长unsigned char count0 = 50;//高电平的占空比unsigned char count1 = 0;//比较用的临时变量bit Flag = 1;//电机正反转标志位,1正转,0反转sbit Key_add=P2 ^...

单片机中关于定时中断1和3

一、定时器的结构以及工作原理MCS-51单片机内部有两个16位可编程定时器/计数器,即定时器T0和定时器T1。他们既可以用作定时器的方式,又可以用作计数器的方式,共4种不同的工作方式寄存器TMOD用于控制T0和T1的工作方式,可通...

单片机两级中断嵌套的示例C程序

#ifndef __DEMO_4_13_C__#define __DEMO_4_13_C__#include#define _MHZ_ 12 // 设置单片机使用的晶振频率void delay10ms(unsigned int count); // 声明延时函数void LED_show(unsigned long second);unsigned ...

单片机如何用C申请一个固定地址的变量

/************************************单片机C语言如何申请一个固定地址的变量************************************//*****一、各系列单片机通用性的写法-->指针指向地址法RStu1 指针变量名RStu2 指针变量名ADDR1 ...

一种经典适用的AD采样值进行滤波的方法

本节讲讲一种非常适用的采样AD值进行滤波的方法此滤波方法是把AD采样值经过两种处理:1 对当前三次AD采样值进行提取中间值处理在通常情况下,中值处理一次就够,但是必须的,因为AD偶尔会受到干扰导致采样到的值为0XFF或0X00...

无刷电机之有感PID调试心得

无刷有感电机PID调试心得一、换相脉宽采集的方法通常来讲,换相脉宽的采集精度越高越好,但也受MCU内部资料的限制,如果有多余的16位的定时器,那就不用犹豫了,直接用它来作换相脉宽的计数吧,精度可高达1us,要是没有这个16位的...

51单片机晶振的问题总结

在初学51单片机的时候,总是伴随很多有关与晶振的问题,其实晶振就是如同人的心脏,是血液的是脉搏,把单片机的晶振问题搞明白了,51单片机的其他问题迎刃而解。一,为什么51单片机爱用11.0592MHZ晶振?其一:因为它能够准确地划分...

LCD1602液晶屏显示I LOVE YOU

#include #define uint unsigned int#define uchar unsigned charuchar string1[]={"I LOVE YOU"};uchar string2[]={"FOR EVER! "};/****delay1ms***//*函数功能:延时1ms参数:count返回类型:无*/void delay1ms...

单片机4路遥控开关源程序

用的是带解码芯片的那种315m的遥控模块,所以单片机只需要用io来检测模块输出的电平即可:#include "reg52.h"#define ucahr unsigned char#define uint unsigned intuint i=0,j=0,a=0,b=0;sbit switch1=P2^0;sbit swit...

ADC0809做的51单片机8路电压采集

#include "reg52.h"float shuju;unsigned char sj;unsigned int gata;unsigned char gw,sw,bw;unsigned char kk,tdao;//4联共阳数码管,最高位显示通道号,其他三位为电压值unsigned char code shuzi[]={0xC0,0xF9,0x...

DS18B20测温51驱动程序

#includesbit DQ = P3^4; //定义DS18B20总线I/O//16进制转10进制数uchar code ditab[16] = {0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};void Delay_DS18B20(int num){...

51单片机实现红外编码检测

一直以来就像做个红外线检测,因为我是做空调扇的,我们组专门负责遥控器.前几天在百度文库找到一篇文章,之后就做了一个#include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义#includesbit IR=P3...

自制51单片机常用头文件

#ifndef __COM_H__#define __COM_H__#define uchar unsigned char#define uint unsigned int#define XTAL 11059200 // CUP 晶振频率#define baudrate 9600 // 通信波特率void sendmsg(uint ps){SBUF = ps;...

51单片机制作电子琴

#includeunsigned char tone;unsigned char op;sbit led=P1^1;sbit spk=P1^0;sbit key1=P3^2; //两只老虎演奏按键sbit key2=P3^3; //1~i演奏按键unsigned char code shuma[]={0xC0,0xF9,0xA4,0xB0,0x99,...

51单片机IO口模拟驱动AT24c02

#include#includevoid somenop(){uchar i=5;while(i--){_nop_();}}//8位扫描显示,共阳数码管uchar shum[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};void delaym(){uchar i;for(i=0;i<0xff;i++);}void in...

51单片机读写2G SD卡程序

SD卡,是一种基于半导体快闪记忆器的新一代记忆设备,SD于1999年8月研制成功,其重量只有2克。但却拥有高记忆容量、快速数据传输率、极大的移动灵活性以及很好的安全性。SD卡也很容易重新格式化,有广泛的应用领域,如音乐、电...

PIC单片机编译通不过错误总汇

一、Error[000] : Can't find 0x12C words for psect rbss_1 in segment BANK1连接器告诉你总共有0x12C(300)个字节准备放到bank1 中但bank1 容量不够。显然,只有把一部分原本定位在bank1 中的变量改放到其它bank 中才...

PIC单片机的复位系统模块

PIC16F87X系列单片机的复位功能设计得比较完善,引起单片机内部复位的条件和原因可以大致归纳成以下5种.1.上电复位每次单片机加电时,上电复位电路都要对电源电压VDD的上升过程进行检测,当VDD值上升到规定值1.6~1.8V时,就产生...

反转法键盘扫描 ATmega128

#include#include #define F_CPU 7372800 #include #include #include//***********************************************************************// 定义变量区//*****************************************...

网站建设 电商