根据无人机系统的控制特点,提出了一种基于FPGA的无人机控制器设计方案,并完成了该方案的软硬件设计。该方案将键盘扫描、AD采样、指令编码与显示和指令异步串行发送等功能模块集成到FPGA内部,简化了控制器硬件结构。实际应用表明,该无人机控制器具有指令群延时低、功能可扩展性强等优点,能够满足使用要求。
上传时间: 2013-10-30
上传用户:jiahao131
温湿度传感器 sht11 仿真程序 sbit out =P3^0; //加热口 //sbit input =P1^1;//检测口 //sbit speek =P2^0;//报警 sbit clo =P3^7;//时钟 sbit ST =P3^5;//开始 sbit EOC =P3^6;//成功信号 sbit gwei =P3^4;//个位 sbit swei =P3^3;//十位 sbit bwei =P3^2;//百位 sbit qwei =P3^1;//千位 sbit speak =P0^0;//报警音 sbit bjled =P0^1;//报警灯 sbit zcled =P0^2;//正常LED int count; uchar xianzhi;//取转换结果 uchar seth;//高时间 uchar setl;//低时间 uchar seth_mi;//高时间 uchar setl_mi;//低时间 bit hlbz;//高低标志 bit clbz; bit spbz; ///定时中断程序/// void t0 (void) interrupt 1 using 0 { TH0=(65536-200)/256;//5ms*200=1000ms=1s TL0=(65536-200)%256; clo=!clo;//产生时钟 if(count>5000) { if(hlbz) { if(seth_mi==0){seth_mi=seth;hlbz=0;out=0;} else seth_mi--; } if(!hlbz) { if(setl_mi==0){setl_mi=setl;hlbz=1;out=1;} else setl_mi--; } count=0; } else count++; } ///////////// ///////延时/////// delay(int i) { while(--i); } ///////显示处理/////// xianshi() { int abcd=0; int i; for (i=0;i<5;i++) { abcd=xianzhi; gwei=1; swei=1; bwei=1; qwei=1; P1=dispcode[abcd/1000]; qwei=0; delay(70); qwei=1; abcd=abcd%1000; P1=dispcode[abcd/100]; bwei=0; delay(70); bwei=1; abcd=abcd%100; P1=dispcode[abcd/10]; swei=0; delay(70); swei=1; abcd=abcd%10; P1=dispcode[abcd]; gwei=0; delay(70); gwei=1; } } doing() { if(xianzhi>100) {bjled=0;speak=1;zcled=1;} else {bjled=1;speak=0;zcled=0;} } void main(void) { seth=60;//h60秒 setl=90;//l90秒 seth_mi=60;//h60秒 setl_mi=90;//l90秒 TMOD=0X01;//定时0 16位工作模式 TH0=(65536-200)/256; TL0=(65536-200)%256; TR0=1; //开始计时 ET0=1; //开定时0中断 EA=1; //开全中断 while(1) { ST=0; _nop_(); ST=1; _nop_(); ST=0; // EOC=0; xianshi(); while(!EOC) { xianshi(); } xianzhi=P2; xianshi(); doing(); } }
上传时间: 2013-10-16
上传用户:黄蛋的蛋黄
交通灯: 1. 因为本设计是交通灯的控制,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北依然红灯。最后循环至状态1。 2. 双色LED是由一个红色LED管芯和一个绿色管芯封装在一起,公用负端。当红色正端加高电平,绿色正端加低电平,红灯亮;红色正端加低电平,绿色正端加高电平,绿灯亮;两端都加高电平,黄灯亮。 急救车和交通灯: 中断服务程序的关键是:1. 保护进入中断时的状态,并在推出中断之前恢复进入时的状态;2. 必须在中断程序中设定是否允许中断重入,即设置EX0位。 本设计使用了INT0中断,一般中断程序进入时应保护 PSW,ACC以及中断程序使用但非其专用的寄存器。本设计中的INT0程序保护了PSW,ACC,2等三个寄存器并且在退出前恢复了这三个寄存器。另外中断程序中涉及到关键数据的设置时应关中断,及设置时不允许重入。本设计中没有涉及这种情况。 name:trled1.asm trled2.asm
上传时间: 2014-01-05
上传用户:凌云御清风
很好用 因为本设计是交通灯的控制,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北依然红灯。最后循环至状态1。 2. 双色LED是由一个红色LED管芯和一个绿色管芯封装在一起,公用负端。当红色正端加高电平,绿色正端加低电平,红灯亮;红色正端加低电平,绿色正端加高电平,绿灯亮;两端都加高电平,黄灯亮。 急救车和交通灯: 中断服务程序的关键是:1. 保护进入中断时的状态
上传时间: 2014-01-25
上传用户:agent
做看门狗应用实验时不能用51单片机仿真模块或51单片机仿真器,因为仿真模块或仿真器都占用串口资源。在while循环语句中应用喂狗延时程序,单片机不会复位,蜂鸣器响一声。
上传时间: 2014-11-28
上传用户:qweqweqwe
单片机开发系统延时间程序,C语言开发,采用中断实现,程序简单易用,可以自由更改, 延时1秒到99999秒均可以实现。
上传时间: 2013-12-03
上传用户:sunjet
嵌入式应用如图1所示,当P1.0端口输出高电平,即P1.0=1时,根据发光二极管的单向导电性可知,这时发光二极管L1熄灭;当P1.0端口输出低电平,即P1.0=0时,发光二极管L1亮;我们可以使用SETB P1.0指令使P1.0端口输出高电平,使用CLR P1.0指令使P1.0端口输出低电平。 作为单片机的指令的执行的时间是很短,数量大微秒级,因此,我们要求的闪烁时间间隔为0.2秒,相对于微秒来说,相差太大,所以我们在执行某一指令时,插入延时程序,来达到我们的要求,但这样的延时程序是如何设计呢?下面具体介绍其原理:
标签: 嵌入式应用
上传时间: 2016-03-21
上传用户:jjj0202
LCD1602液晶屏的四线驱动模块,可以替换原来的文件,直接使用,函数入口相同。 1、可直接嵌入到项目中使用 2、晶振频率:1M 3、如晶振提高低层驱动延时要作相应修改 4、程序在原来基础上只使用了PB口的高四位,即PB4—PB7,PB0—PB3可以做它用
上传时间: 2014-12-22
上传用户:集美慧
该程序的功能是把演示板当做一个按键计数器。接通电源时,按下IDE软软件的运行键6只数码管全显示000000。 每按下开关S3(RB0)时,计数器的值加1,数码管显示也增加1,然后松开按钮;以些类推,反复循环。 2、程序中包含按键按下检测跟释放检测,并且都伴有一定的延时去抖功能,只有在一次按键被释放后才进行第2次按键的判断 3、程序中需开启B口的内部弱上拉功能,因DEMO板上无上拉电阻;并把A口全部设置为普通I/O口,上电复位后A口为模拟输入口
上传时间: 2016-08-30
上传用户:frank1234
在一些系统中,经常用到对触发信号延时一段时 间后,再对某些目标信号进行采集,通常这段延时要求 非常精确,还要做到范围可调,一般这种延时的最小时 间单位小于100ns。如果选用普通微控制器,延时系统的操作界面比较容易实现,但是靠软件延时得到结果的准确性较低。考虑到芯片功能、开发环境以及接口方便等问题,最终选用一片常用的AlteraSVCPLD EPM7128SLC3411]作为系统的核心控制部分,来实现 信号延时、输人设定、运行显示的功能。应用Veril- o苦2〕语言,在Altera的Quartus11WebEditio详3〕软件 环境下进行编程仿真,最后烧写芯片进行系统硬件测试
标签:
上传时间: 2016-09-26
上传用户:invtnewer