求单片机应用实例的实例的文章

08-1108-1808-2009-17
04-1702-2204-1001-23
也许你感兴趣
1. 2. 3. 4. 5. 6. 7. 8. 9. 10.> 这是一个系列的单片机实验例子
这是一个系列的单片机实验例子
在电子工程世界为您找到如下关于“这是一个系列的单片机实验例子”的新闻
这是一个系列的单片机实验例子资料下载
这是一个系列的单片机实验例子,有流水灯、数码管显示、行列式键盘、串口通信、系统功能等内容,是单片机初学者的最佳学习内容...
,所以,教材最多,例子最多。本板采用了特别的设计,40PIN的万能插座,20PIN的万能插座(8位单片机也有很多精简版本,例如89C2051只有20个引脚),省时省力,充分保护您的单片机芯片,延长寿命。40个I/O口都完全开放独立的,使用时用连接跳线连接到板载硬件资源上,任意一个I/O口都可以连接到相同的硬件资源上,这样在开发单片机产品时可以任意定义各引脚功能,市面上的同类产品将外围硬件直接与单片机...
这是一个系列的单片机实验例子相关帖子
为什么要发个这个帖子呢?
& &学习BLE4.0有一个月了吧,发这个帖子也是为了记录自己的学习过程
相信大家都是学过其他系列的单片机,CC2541集51内核,肯定少不了51的影子,肯定要知道串口,在学习中,串口调试是必不可少的,它能打印出很多有用的信息出来。CC2541的串口引脚是:
P0.2--------UART_RX
P0.3--------UART_TX...
还有删减,加多了一个功分器,VCO的设计(网上也能下载的到的例子),说到这里,不得不提一下,我就感觉人邮的书比电子工业的差远了,人邮写了很多软件操作类的书,内容浅显,而且动不动就说很厚的一本,价格也很高,实际内容去很少. 但我还是支持继续出ADS书,买一本也算是支持一下,希望下一版出来更好,有更多实在新颖的内容.让更多的射频同行掌握ADS,更好应用于产品设计,更加提高国人的射频设计能力!
Cortex-M3核和一个DSP 28335核,虽然外部电路设计引脚引出有点别扭,其他还好。双核的效率也有所提高。
我们这学期才学习了DSP课程,课程使用Ti TMS320C2812 实验用的是F28335 ,今天DSP才考完试。30分钟交卷
大致了解了一下DSP,发现DSP和之前的ARM没有太大的差别,(可能我们学习过程中很少用到DSP的强项数据处理吧,实验都是按照单片机的套路来做的)自己感觉...
就是用的C55XDSP啊!!!实验什么的也用的它啊!
哈哈,上面是开个玩笑,其实C55x系列DSP入门上手还是很容易的,有单片机经验,微机原理学得好,看看资料就很容易上手,而且价格相对便宜,工业应用较多(然而听说人家用C6000的更多,只是学校穷,没钱更新实验室),其实学习资料我是想推荐我们教材的,然并卵,贴个链接吧:/tool/sprc133 这里有很多实用的...
写的很好。讲了很多例子,学习了很多知识。特别适合电池供电的应用,例子中讲了LCR仪器,已经计步器的详细设计。非常好。学习了。支持TI,支持TI的MCU,430.
第一次看到有介绍Linux下安装CCS的教程,终于不用在双系统之间切换来切换去的了。
在污染日益严重、能源消耗持续走高的今天,低功耗的战略意义不言而明,而作为一个电子专业的学生,掌握之必然能为将来的发展打下坚实的基础。MSP430系列...
方便了不少,就软件方面而言,免费的Atmel Studio
6 集成开发环境,而且配有充足的例子程序,这是非常好的,因为对于用户而言,一个新的开发环境,
新的开发板只能说是从简单的开始,了解相关的开发环境,了解相应的编程思路,这对与一个工程师
是非常重要,这可以很方便的为以后开发项目做准备。
SAM D21 MCU系列
Processor:
ARM Cortex-M0+ CPU...
,怎么开始却是不容易的。
这里,继续上一次的开启记录,继续写这一过程中的思考和选择。
一则我是一个只有靠书写才能清晰思路的人,二则,也算是一点乐趣~~
Contiki(2) 怎么开始以及目的 首先是选择一个硬件平台。
我个人使用的主要平台是 stm32,我当然希望是能找到直接在这个平台上的例子。
可是事情还没完。因为我接触这个东西,还有一点想弄的是 网络,特别是无线组网,那看起来我还得关心...
面的内容,我以后会出相关的教程。 & & PIC32还提供了一项非常强大的功能,也就是“原子级”对基址寄存器操作。听起来有点抽象啊,听我慢慢道来。实际上,上面所讲的所有寄存器都可以加一个功能,也就是X+CLR/SET/INV的功能。神马意思呢?举个例子:如果我们在用一般的单片机时,比如要对PORTC端口的Bit0位置1(原来都是0),大家可能用:PORTC | = 0x0001...
,让人感觉很舒服,有读下去的动力。
自己接触过很多单片机,51,430,stm32等等,但是像BBB这样的单板计算机是第一次接触,感觉有很多内容都没有涉及过,需要进行大量的学习。
开发环境的搭建这一章讲的十分详细,让新手们都可以快速入门,不会浪费大量的时间用于搭建环境。
总而言之,这是一个非常好的文档,感谢编者的付出!
大概看了一下 觉得挺不错的 包括基础的试验和实战 提个建议:感觉里面的...
。启动转换并指定转换模式。 从“MSP430FR59xx LaunchaPad系列培训(六) — 内存保护单元MPU的介绍和实验”学习到(1)&&MSP430FR5969 的内存保护单元(2)&&FRAM相对于其他存储器来说非常易于写入,所以代码和常量都需要防止意外操作。(3)&&学到:创建一个存储器段。通过MPU寄存器为不同的段设置边界...
这是一个系列的单片机实验例子视频
这是一个系列的单片机实验例子创意
本周热门资源推荐51单片机串口通信例子
单片机&嵌入式
单片机应用
嵌入式操作系统
学习工具&教程
学习和开发单片机的必备工具
(有问必答)
(带你轻松入门)
电子元件&电路模块
当前位置: >>
>> 浏览文章
51单片机串口通信例子
& & &小记:本例子是在别人的版本修改而来的,因本人没有11.0592MHz的晶振,进而采用12MHz的,经过波特率的调整发现在波特率为1200时,定时器工作在方式二,穿口工作在模式二,且SMOD=1.此时定时器的TH1=TL1=0xCC,此时调试串口没有错误。
发送例子:
#include&reg52.h&
#include&stdio.h&
void delay(unsigned int i);
char code message[]=&welcome&;
void main(void)
&SCON=0x50; //REN=1 ,串口工作模式2;
&TMOD=0x20; //定时器工作方式2;
&PCON=0x80;
&TH1=0xCC;
&TL1=0xCC;
&TR1=1;//启动定时器
&ES=1; //串行中断允许
&EA=1;//开总终端
& while(message[a]!='\0')
& &SBUF=message[a];
& &while(!TI) &//等待一帧数据(一个字符)发完,TI置1,
& & TI=0; & &//让TI为0就继续接收,直至跳出while。
& & a++; & &//接收下一字符
& &delay(1000);
void delay(unsigned int i)
&for(i;i&0;i--)
& for(j=200;j&200;j--);
接收例子:
#include&reg52.h&
#include&stdio.h&
sbit BEEP=P1^4;
void main(void)
&.................
& if(RI==1) &//如果一帧数据接收完毕
& &RI=0; & &//RI清零;继续接收下一帧数据
& &P1=SBUF; //数据送P1口
&} & & & & //如果P1^4为0或1,可驱动蜂鸣器发声
} & & & & &//即发送的数据bit4为0或1
发送加接收例子:
#include&reg52.h&
unsigned int redata,
void main(void)
..................
& if(flag==1)
& &SBUF= //发送数据
& &while(TI==0);//等待发送完毕
& &TI=0; & & & &//发送完毕,TI=0
& &flag=0; & & //flag清零
void ser_int(void) interrupt 4 &using 1
&if(RI==1) &//数据接收完毕
& RI=0; & & //等待接收下一帧数据
& redata=SBUF;
& sendata= //将接收的数据发回
& flag=1; &//flag置1,发回接收数据
【】【】【】【】
上一篇:下一篇:
CopyRight @
单片机教程网
, All Rights Reserved单片机交通灯设计实例-文章-课设毕设-显示类 - 畅学电子网
&&可用鼠标对图片进行拖动&
&单片机交通灯设计实例
*温馨提示:点击图片可以放大观看高清大图
简介:本系统由单片机系统、键盘、LED 显示、交通灯演示系统组成。系统包括人行道、左转、右转、以及基本的交通灯的功能。系统除基本交通灯功能外,还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间以及根据具体情况手动控制等功能。
一、 方案比较、设计与论证1 电源提供方案为使模块稳定工作,须有可靠电源。我们考虑了两种电源方案
方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。方案二:采用单片机控制模块提供电源。改方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。综上所述,我们选择第二种方案。2 显示界面方案该系统要求完成倒计时、状态灯等功能。基于上述原因,我们考虑了三种方案:方案一:完全采用数码管显示。这种方案只显示有限的符号和数码字苻,无法胜任题目要求。方案二:完全采用点阵式LED 显示。这种方案实现复杂,且须完成大量的软件工作;但功能强大,可方便的显示各种英文字符,汉字,图形等。方案三:采用数码管与点阵LED 相结合的方法因为设计既要求倒计时数字输出,又要求有状态灯输出等,为方便观看并考虑到现实情况,用数码管与LED灯分别显示时间与提示信息。这种方案既满足系统功能要求,又减少了系统实现的复杂度。权衡利弊,第三种方案可互补一二方案的优缺,我们决定采用方案三以实现系统的显示功能。3 输入方案:题目要求系统能手动设灯亮时间、紧急情况处理,我们讨论了两种方案:方案一:采用8155扩展I/O 口及键盘,显示等。该方案的优点是:使用灵活可编程,并且有RAM,及计数器。若用该方案,可提供较多I/O 口,但操作起来稍显复杂。方案二: 直接在IO口线上接上按键开关。因为设计时精简和优化了电路,所以剩余的口资源还比较多,我们使用四个按键,分别是K1、K2、K3、K4。由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O 口就可实现,且本身的计数器及RAM已经够用,故选择方案二。二、理论分析与计算1.交通灯显示时序的理论分析与计算对于一个交通路口来说,能在最短的时间内达到最大的车流量,就算是达到了最佳的性能,我们称在单位时间内多能达到的最大车流为车流量,用公式:车流量= 车流 / 时间 来表示。
先设定一些标号如图2-1 所示。
说明:此图为直方图,上边为北路口灯,右边为东路口灯,下边为南路口灯,左边为西路口灯。图2-2 所示为一种红绿灯规则的状态图,分别设定为S1、S2、S3、S4,交通灯以这四的状态为一个周期,循环执行(见图2-3)。
请注意图2-1b和图2-1d,它们在一个时间段中四个方向都可以通车,这种状态能在一定的时间内达到较大的车流量,效率特别高。依据上述的车辆行驶的状态图,可以列出各个路口灯的逻辑表,由于相向的灯的状态图是一样的,所以只需写出相邻路口的灯的逻辑表;根据图2-3 可以看出,相邻路口的灯它们的状态在相位上相差180&。因此最终只需写出一组S1、S2、S3、S4的逻辑状态表。
如表2-1 所示。
表中的&&&代表是红灯亮(也代表逻辑上的0),&&&是代表绿灯亮(也代表逻辑上的1),依上表,就可以向相应的端口送逻辑值。
2.交通灯显示时间的理论分析与计算
东西和南北方向的放行时间的长短是依据路口的各个方向平时的车流量来设定,并且S1、S2、S3、S4各个状态保持的时间之有严格的对应关系,其公式如下所示。T-S1+T-S2=T-S3T-S2=T-S4T-S1=T-S3我们可以依据上述的标准来改变车辆的放行时间。按照一般的规则,一个十字路口可分为主干道和次干道,主干道的放行时间大于次干道的放行时间,我们设定值时也应以此为参考。三、电路图及设计文件1.灯控制电路设计由于32个LED 来实现红绿灯状态,若直接接在单片机的口线,路口倒计时的显示就不能实现,所以本次设计中采用一种新型的电路如图3-1 所示。
图中74LS04的作用是倒相和驱动,它输出的电流大约48mA,实际测试发现足以满足要求,而且发光管也能达到足够的亮度。观察图可以看出:两组发光管(一组红、一组绿)由于反相器的作用,其逻辑状态恰恰相反。图中和电阻串联的二极管的作用是为了分压,防止因上下两组发光管分压不同导致逻辑的错误。共四组和上述相同的电路分别代表东西南北四个方向的红绿灯,使用两片74LS04 作为驱动。2.倒计时显示电路设计前面已经分析过相向的灯的状态和倒计时都是相同的,所以为了节省,采用两组四个数码管作为倒计时的显示;同时为了节省口资源,采用串口显示的方式驱动数码管。见图3-2 所示。
四、程序设计思路与流程图1.主程序流程图主程序中主要是一个死循环,不停的循环四个状态,如图4-1 所示。
2.按键子程序流程图它包含倒计时调整和紧急状态两个状态。主程序中放了一个按键的判断指令,当有按键按下的时候,程序就自动的跳转到按键子程序处理。当检测到K2键按下的时候就自动返回到主程序。当出现紧急的情况的时候,按下K3或者K4 就切换到紧急状态,当紧急事件处理完毕的时候,按下K2,就可以返回正常状态。
五、测试、数据及结果分析1.状态灯显示测试当电路连接完毕后,将写好的测试程序刷写到芯片内,K1 和K2分别给端口送高电平和低电平,通电即可检测。2.数码管的测试将串口的和电路板上的接口连接,将写好的测试程序刷写到芯片内,开电源即可测试。3.整体电路测试系统上电,刷写好程序即可开始测试,观测一个周期(共计S1~S4四个状态,默认140秒)灯的显示状态是否正常,同时观察倒计的计数是否正常。六、总结由于使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。但是在我们设计和调试的过程中,也发现了一些问题,譬如红灯和绿灯的切换还不够迅速,红绿灯规则不效率还不是很高等等,这需要在实践中进一步完善。
附录 系统总体电路图
1.满足南北向红绿灯亮,东西向红灯亮,占25秒&&南北向黄灯亮,东西向红灯亮,占5秒&&南北向红灯亮,东西向绿灯亮,占25秒&&南北向红灯亮,东西向黄灯亮,占5秒。如此循环,周而复始。 2.十字路口要有数字显示,提示行人把握时间:当某方向绿灯亮时,置显示器为24,然后以每秒减1计数方式工作,直到减为0,绿灯灭,黄灯亮。黄灯灭,红灯亮时,再次置显示器为29,并开始减计数,直到为0,十字路口红绿灯交换,完成一次工作循环。 3.可手动调整和自动调整,夜间为黄灯闪耀。
下面是一个单片机交通灯程序
/* ****************************************************************************************** * * * Keil C 89S51 交通信号控制程序 * * * ******************************************************************************************
*/ #include "reg51.h"
#define UINT unsigned int #define ULONG unsigned long #define UCHAR unsigned char
/* 信号灯变量 南北方向绿灯 sbit n_bike_g = P1^0; //自行车 sbit n_right_g = P1^1; //右转 sbit n_up_g = P1^2; //直行 sbit n_left_g = P1^3; //左转 调头
南北方向红灯 sbit n_bike_r = P1^4; //自行车 sbit n_right_r = P1^5; //右转 sbit n_up_r = P1^6; //直行 sbit n_left_r = P1^7; //左转 调头
南北方向黄灯 sbit n_bike_y = P3^0; //自行车 sbit n_right_y = P3^1; //右转 sbit n_up_y = P3^2; //直行 sbit n_left_y = P3^3; //左转 调头
东西方向绿灯 sbit e_bike_g = P2^0; //自行车 sbit e_right_g = P2^1; //右转 sbit e_up_g = P2^2; //直行
东西方向红灯 sbit e_bike_r = P2^4; //自行车 sbit e_right_r = P2^5; //右转 sbit e_up_r = P2^6; //直行
东西方向黄灯 sbit e_bike_y = P3^4; //自行车 sbit e_right_y = P3^5; //右转 sbit e_up_y = P3^6; //直行 */
//延时 void delay(UINT t, UINT s) { while (t) { UINT for (i = 0; i & i++) { } t --; } }
//信号灯状态 void time_x(UCHAR P_P1, UCHAR P_P2, UCHAR P_P3) { P1 = P_P1; P2 = P_P2; P3 = P_P3; delay(150, 65535); }
void time_s(UCHAR P_P1, UCHAR P_P2, UCHAR P_P3, UCHAR P_P11, UCHAR P_P22) { UINT for (i = 0; i & 3; i ++) { P1 = P_P1; P2 = P_P2; delay(5, 65535); P1 = P_P11; P2 = P_P22; delay(5, 65535); } P1 = P_P1; P2 = P_P2; P3 = P_P3; delay(10, 65535); }
//主程序 void main() { P1 = P2 = P3 = 0x0; while (1) { time_x(0xA5, 0x38, 0x0);
time_s(0xA4, 0x38, 0x1, 0xA5, 0x38);
time_x(0x96, 0x52, 0x0);
time_s(0x92, 0x52, 0x4, 0x96, 0x52);
time_x(0x5A, 0x52, 0x0);
time_s(0x50, 0x50, 0x2A, 0x5A, 0x52);
time_x(0xF0, 0x25, 0x0);
time_s(0xF0, 0x24, 0x20, 0xF0, 0x25);
time_x(0xD2, 0x16, 0x0);
time_s(0xD0, 0x10, 0x62, 0xD2, 0x16);
} } 给你一个定时控制的信号系统,我只做的简单的测试,至于延时我用的软件,你自己想办法。^_^
重新给你说明 /* *********************************************************************************** * * * Keil C AT89S51 交通信号控制程序 * * * *********************************************************************************** 开发说明: 固定时间信号变换,南北设置调头、左传、直行、右转、自行车。 东西设置左传、直行、右转、自行车。 时序状态: 红 绿 红 绿 序号 左 前 右 自 左 前 右 自 前 右 自 前 右 自 1 1 0 1 0 0 1 0 1 1 1 1 0 0 0 2 1 0 0 1 0 1 1 0 1 0 1 0 1 0 3 0 1 0 1 1 0 1 0 1 0 1 0 1 0 4 1 1 1 1 0 0 0 0 0 1 0 1 0 1 5 1 1 0 1 0 0 1 0 0 0 1 1 1 0 */ 另外修正个错误 while (1) { time_x(0xA5, 0x70, 0x0);
time_s(0xA4, 0x70, 0x1, 0xA5, 0x70);
金币:32737个|学分:50185个
暂无相关计划
关注我们:
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!
已有畅学电子网帐号?
可从合作网站帐号登录:}

我要回帖

更多关于 单片机项目开发实例 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信