STC89C52Rstc单片机官网,假设我把这个单片机的P0口全部置1(高电平),

豆丁微信公众号
君,已阅读到文档的结尾了呢~~
基于STC89C52RC单片机的秒表程序设计
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
基于STC89C52RC单片机的秒表程序设计
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口用的是STC89C52RC的单片机,写的通信程序只能跑一遍.. - ARM技术论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
林超文手把手教你学!
教你1000种电路设计思路
张飞硬件电路之PFC全集
参与免费送VIP+原创视频
运放、ADC、电磁兼容
用的是STC89C52RC的单片机,写的通信程序只能跑一遍..
16:02:27  
用的是STC89C52RC的单片机,程序想实现的功能大概是通过计时器0计时学习板上的两个按键开关分别闭合的时间间隔t,得到t以后和一些常数运算得到v,然后再将v传输到另一个单片机上去,波特率由计时器1设置。
但是我把程序下载好了以后,用串口监视器查看传输的数据却发现,只有打开单片机后的第一次运行能得到可以正确反映开关闭合时间差异的数据,后面得到的都是00。
在下单片机新手,苦寻半天也未能发现原因,恳请各位前辈高人不吝赐教
#include &reg52.h&
unsigned int time,t,v;
const s=3000;
void Delay(unsigned int xms);
void Init();
void Transmit();
void main()
&&while(1)
& & if(k1==0)
& && && & Delay(10);&&//开关消抖
& && && & if(k1==0)
& && && & {
& && && && && & time=0;
& && && && && & TH0=0x4c;
& && && && && & TL0=0x00;
& && && && && & TR0=1;
& && && && && & while(k2==1);
& && && && && & TR0=0;
& && && && && & Transmit();
& && && & }
void Delay(unsigned int xms)
& & unsigned int i,j;
& && &&&for(i=i&0;i--)
& && && & for(j=112;j&10;j--);
void Init()
&&TMOD=0x21;& && && && && & //计数器0计时用,计数器1波特率
&&TH0=0x4c;& && && && && && && && &//计数器0初值,一次循环为50ms
&&TL0=0x00;
&&TH1=0& && && && && && && && &//设置计数器1的初值,决定波特率
&&TL1=0& && && && && &
&&PCON=0x00;& && &// 波特率不倍增
&&SCON=0x50;& && && && && & //设置工作方式1 开启接受允许
void count() interrupt 1
&&TH0=0x4c;
&&TL0=0x00;
void Transmit()
&&while(!TI);
.k1和k2是开关,电路图如下
1.jpg (150.26 KB, 下载次数: 0)
16:02 上传
2.jpg (13.67 KB, 下载次数: 0)
16:01 上传
已退回1积分
助理工程师
16:08:05  
SBUF是个8位的,以ASCII码传输,这样直接把一个16位的unsigned int扔进去恐怕不行吧,LZ。
16:13:21  
我也是啊&&用gsm模块&&接受短信 控制灯的开关&&明明写在大循环里&&只能执行一次 开关 然后就失效了
用P3.0 和P3.1口的通信
更悲剧的是&&单片机写进这个程序以后 重新写程序写不进去了&&之前写的程序一直在里面运行&&
是不是之前的程序覆盖了下载程序的信号啊
希望有前辈能不吝赐教& &小弟先行谢过了
16:14:39  
SBUF是个8位的,以ASCII码传输,这样直接把一个16位的unsigned int扔进去恐怕不行吧,LZ。
啊!谢谢帮忙!
我忽略了这点...这样直接把一个16位的数据输入是不是会丢失高八位啊?
不过我修改之后还是不能运行...程序问题应该不是出在这里
16:41:38  
开串口中断却没有 中断服务程序,串口发送数据时先关串口中断,发送完再开中断
17:15:26  
键盘电路没有上拉电阻,在这种情况下,K2的状态是不稳定的,单片机复位时,P3均为高电平,当松开K2后,P35的电位就不确定,所以程序运行到此处while(k2==1);会出现不可预料的结果
改变下电路硬件试试。
17:17:50  
开串口中断却没有 中断服务程序,串口发送数据时先关串口中断,发送完再开中断
程序用的是串口查询方式 ,不是串口中断方式
18:16:30  
程序用的是串口查询方式 ,不是串口中断方式
软件的问题,主要是中断程序部分,和主程序设计部分
23:01:46  
K2==1后是不是少个大括号
23:06:09  
开关复位后K1K2是什么电平?应该是没有定吧?
11:35:39  
vnvcbfgdf ds fsdfgdsgf gs sdf gs
23:19:21  
我建议楼主把k1 k2 换个口吧 p3.4 p3.5 是T0,T1复用口吧 可能产生冲突
23:27:46  
RI是硬件置位的,当移位寄存器移完后自动置位,申请中断,要靠软件清零。
07:34:50  
加油写,有时间我也也写一个,,呵呵
林超文手把手教你学!
教你1000种电路设计思路
张飞硬件电路之PFC全集
参与免费送VIP+原创视频
运放、ADC、电磁兼容
Powered by
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司豆丁微信公众号
君,已阅读到文档的结尾了呢~~
STC89C52RC单片机的特点
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
STC89C52RC单片机的特点
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口stc89c52rc单片机 p0口加了上拉电阻 想用用程序置高或低电平 但是无论程序_百度知道
stc89c52rc单片机 p0口加了上拉电阻 想用用程序置高或低电平 但是无论程序
stc89c52rc单片机 p0口加了上拉电阻 想用用程序置高或低电平 但是无论程序怎么改 io口一直输出高电平 电路连接没有问题
我有更好的答案
是否有问题,你得贴上图,才能知道。将原理图贴上来看看。
高级工程师
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。论文发表、论文指导
周一至周五
9:00&22:00
基于STC89C52RC单片机的智能小车设计
  【摘要】系统采用两片STC89C52RC单片机为核心控制器,结合红外收发对管、光电传感开关等模块,完成了履带式电动小车在赛道内安全行进、后车在规定区域超前车等功能。单片机通过检测四个红外光电收发器和安装在车前后部的光电传感开关,从而控制左右两个电机来控制小车的行进。光电传感器可以保证两个小车在行进时保证距离差一定,从而可以以固定模式进行超车。同时小车可在边缘黑胶布线内安全行驶而且不会发生碰撞。设计中,在超车区域两辆小车通过光电传感器进行通信,其中车前部和后部不同位置的光电传感器,都是保证快车与慢车的距离差保证一定距离的设计,可将两小车行使间距固定,从而使多次超车更加容易控制。 中国论文网 /6/view-4665684.htm  【关键词】STC89C52RC;智能小车;超车;红外收发管;光电传感器   一、系统方案   1.1 功能与要求   1.1.1 功能   甲车车头紧靠起点标志线,乙车车尾紧靠边界,甲、乙两辆小车同时起动,先后通过起点标志线,在行车道同向而行,实现两车交替超车领跑功能。跑道如图1-1。   1.1.2 设计要求   (1)甲车和乙车分别从起点标志线开始,在行车道各正常行驶一圈。   (2)甲、乙两车按图1所示位置同时起动,乙车通过超车标志线后在超车区内实现超车功能,并先于甲车到达终点标志线,即第一圈实现乙车超过车。   (3)甲、乙两车在完成(2)时的行驶时间要尽可能的短。   (4)在完成基本要求后,甲、乙两车继续行驶第二圈,要求甲车通过超车标志线后要实现超车功能,并先于乙车到达终点标志线,即第二圈完成车超过乙车,实现了交替领跑。甲、乙两车在第二圈行驶的时间要尽可能的短。   1.2 系统分模块比较与论证   本系统主要由车体、控制器、电机驱动、红外收发传感器、无线收发模块、测距模块组成,现做比较分析如下。   1.2.1 车体的选择比较   方案一:采用四轮双电机电动车。这种电动车具有灵活性和体积较小的优点。但是一般的说来,它还具有如下缺点:首先,这种电动车结构简单,车轮较小而且容易与赛道表面打滑,虽然能够通过两个电机来实现转向,但是不容易控制。其次,这种电动车一般都是两个直流电机通过联轴器带动小车,力矩小,空载转速快,负载性能差,不易调速。   方案二:采用带舵机的电动小车。前端加舵机的电动小车可以精准的控制其转弯方向,能较好的完成题目赛道里的转弯要求。但是舵机小车的转向需要通过MCU对光电收发器进行信号采集,通过处理分别发送给电机和舵机从而控制小车的前进。其优点是转弯精确,能较好的完成转弯路径的实现,但相对其他类型小车成本高,控制较复杂。   方案三:采用履带式电动小车。选择RP5底盘的小车,它是大功率坦克车体,采用带电感的大扭力260马达,组合斜齿+金属齿,形成大扭力系统,具有动力性能强、底盘稳定性高、可原地转圈、转弯灵活精确等特点。履带小车可以完成本次题目的要求,达到转弯灵活,转弯角度可调,可满足小车运行平稳等要求,而且控制两个直流电机相对简单。   综上,选择方案三,使用RP5底盘履带式电动小车。   1.2.2 控制器的选择比较   方案一:采用凌阳公司的16位单片机,它是16位控制器,具有体积小、驱动能力高、集成度高、易扩展、可靠性高、功耗低、结构简单、中断处理能力强等特点。处理速度高,尤其适用于语音处理和识别等领域。   方案二:采用宏晶科技公司的STC89C52RC单片机作为主控制器。本款单片机是单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。其编程下载使用较方便,而且能够完成对本题目要求较简单的控制。   51单片机控制简单,下载使用方便。其处理能力能够满足本题目的要求,故采用方案二。   1.2.3 红外收发传感器模块的选择比较   方案一:使用红外发射和接收管制作红外收发电路,红外发射管发出红外线,当发出的红外线照射到白色的平面后反射,若红外接收管能接收到反射回的光线则检测出白线继而输出低电平,若接收不到发射管发出的光线则检测出黑线继而输出高电平。输出的高低电平通过电压比较器可以得到单片机可以识别的信号,从而进行控制。这样自己制作组装的寻迹传感器基本能够满足要求,但是工作不够稳定,且容易受外界光线的影响。   方案二:采用TCRT5000型光电对管模块。传感器的红外发射二极管不断发射红外线,当发射出的红外线没有被反射回来或被反射回来但强度不够大时,光敏三极管一直处于关断状态,此时模块的输出端为低电平,指示二极管一直处于熄灭状态;当无检测黑线出现在检测范围内时,红外线被反射回来且强度足够大,光敏三极管饱和,此时输出端为高电平。此红外收发模块运行稳定,感应灵敏,可以使单片机采集信号后对小车进行很好的控制。   为使红外收发管感应黑色胶布线保证灵敏从而控制小车,使用方案二的TCRT5000红外收发模块。   1.2.4 电机驱动模块的选择比较   方案一:采用专用芯片L298N作为电机驱动芯片。L298N是一个具有高电压大电流的全桥驱动芯片,它相应频率高,一片L298N可以分别控制两个直流电机,而且还带有控制使能端。用该芯片作为电机驱动,操作方便,稳定性好,性能优良。   方案二:对于直流电机用分立元件构成驱动电路。由分立元件构成电机驱动电路,结构简单,价格低廉,在实际应用中应用广泛。但是这种电路工作性能不够稳定。   为使电机稳定运行,能够灵活控制小车行进,选用方案一。
  1.2.5 避障和牵引模块的选择比较   方案一:采用超声波测距避障。超声测距是一种非接触式的检测方式。与其它方法相比,它不受光线、被测对象颜色等影响。对于被测物处于黑暗、有灰尘、烟雾、电磁干扰、有毒等恶劣的环境下有一定的适应能力。而且超声波传感器具有结构简单、体积小、信号处理可靠等特点。   方案二:采用激光、雷达、摄像等复杂方式测距避障,可以得到精确的距离,但本题并不要求能够得到两车间精确距离,而且控制电路过于复杂,较难实现。   方案三:采用E18-D80NK光电传感器进行避障,这种光电开关具有良好的开关特性,输出测量障碍物距离可调,可自己设置感知物体的距离。在输出端上拉10K电阻后得到5V电压,方便单片机进行控制。   综上,本系统通过避障模块实现的功能是防止撞车的发生而且保证两车间距离,不需要得到精确的距离值,故可以采用方案三,选用E18-D80NK光电传感器进行避障。   1.2.6 总体方案设计与比较   方案一:利用赛道的固定性,采用单片机控制两个小车精准转弯,按赛道和题目要求,严格按照规定好的路线进行两个小车的行进,如转弯和进、出超车区;同时两车间利用无线模块进行通信,通过调节速度实现两个小车的超车;通过光电开关可以进行避障防止撞车发生。此种方案程序复杂,容易受赛道、小车性能等因素干扰,很难实现。   方案二:利用红外反射发送接收开关,使小车在赛道内能够识别边界线、起点/终点标志线、转弯标志线等黑胶带线,从而可以循迹和转弯行进,完成题目要求。此种方案能控制小车按照赛道边缘行进,但在超车区进入和外出部分容易掉出赛道,同时两车进行超车时,单纯利用循迹很难实现。   方案三:综合以上两种方案,在小车的红外收发管检测到转弯标志线车区的信号时,小车按照固定的程序进行相应的行进如转固定角度的方向。同时,可利用红外收发管检测赛道内、外边线,防止小车走出赛道。两车进行超车时,利用无线模块进行通信,调节各自速度,同时有光电传感器的保证两辆车间的距离,使超车安全稳定的完成。此种方案可以完成小车在行车道的行走,并在超车区及附近安全行驶。   综上所述,方案三能够相对完整、稳定的完成题目提出的各项要求。   1.2.7 系统方案确定与系统结构   进过反复论证与实际测试,最终确定系统方案如下:   (1)小车车体采用RP5底盘履带式电动小车两个;   (2)采用STC89C52RC单片机作为系统控制器;   (3)用TCRT5000红外传感器作为光电收发模块;   (4)L298N作为直流电机的驱动芯片;   (5)E18-D80NK光电传感器进行避障和牵引;   二、系统理论分析与计算   2.1 信号检测与控制分析   2.1.1 黑胶带线的检测   小车对黑胶带线的检测是通过接在前端的三个红外收发管完成的,分别标记为左、中、右红外收发管,三个传感器共同工作完成小车的定位和标记识别。对应信号的小车位置和相应动作如表2-1所示。   表2-1:对应信号的小车位置和相应动作   左管 左中管 右中管 右管 小车位置 小车相应动作   × × × × 行车道 正常前进   √ √ √ √ 起点 不动作   转弯标志线 进行转弯   超车标志区(第4条) 进入超车区   √ × × × 跑道内边界 向右调整   × × × √ 跑道外边界 向左调整   2.1.2 前车识别检测与超车   对于小车的超车功能,前车在进过超车标志区后,进行减速缓慢行驶,后车也通过超车标志区后,用光电传感器E18-D80NK对前车进行检测,如果单片机识别到10cm距离的前车,则开启超车程序,在超车区完成超车。   2.2 两车之间的通信方法   两车要完成互相超车的行为,必须进行通信,才能即时的对被超过的车进行控制。甲车进入超车标志区后,进行减速前进,待乙车也进入超车标志区,光电传感器检测到甲车后,按固定路径超车;随后超车完成后,乙车成为前车,再通过甲车前端的光电传感器使其恢复原速前进,从而完成一个超车的过程。   三、电路与程序设计   3.1 电路设计   3.1.1 红外收发管电路设计   TCRT5000红外对管模块采用高发射功率红外光电二极管和高灵敏度光电晶体管组成,输出的高低电平通过电压比较器可以由单片机识别,从而得到传感器信号。传感器的红外发射二极管不断发射红外线,当发射出的红外线没有被反射回来或被反射回来但强度不够大时,光敏三极管一直处于关断状态,此时模块的输出端为低电平;被检测物体出现在检测范围内时,红外线被反射回来且强度足够大,光敏三极管饱和,此时模块的输出端为高电平。   3.1.2 光电传感器电路   E18-D80NK模块是开关电路。集发射与接收于一体的光电传感器。输出端口接上拉电阻可输入至单片机I/O口,进行障碍物的信号检测。   3.1.3 电机驱动电路   电机驱动采用L298N驱动电路,由单片机P1口接四路输入和两路使能信号,从而控制两个电机进行正反转。   3.2 程序设计   程序流程图如图3-1。   四、测试方案与结果   在自制的标准赛道上,将两只小车分别置于起点,小车启动后,均可行进,能完成一圈的行走,最后回到起点。通过观察和测试得到两个小车直行速度不同,一快一慢。这样的情况导致甲、乙两车在多圈互相超车时,不能控制间距,直接导致发生碰撞。因此采用在快车前部、后部和慢车前部安装光电传感器,使得两车间距能够保持一致。这样第一圈和第二圈的软件设计可以得到循环使用,达到多圈互相超车的控制。   测试可得,系统俩只小车能完成各个模块的功能,如检测黑线不出赛道、光电传感开关防止撞车、进入超车区进行超车并继续行进等,但由于赛道材质等原因,超车动作不能稳定实现。   参考文献   [1]黄智伟.全国大学生电子设计竞赛系统设计(第2版)[M].北京:北京航空航天大学出版社,2011.1   [2]童诗白,华成英.模拟电子技术基础[M].北京:高等教育出版社,2003   [3]阎石.数字电子技术基础[M].北京:高等教育出版社,1983   [4]韩毅,杨天.基于HCS12单片机的智能寻迹模型车的设计与实现[J].学术期刊,):.   [5]张桂香.单片机现场应用中的几个技术问题[B].湖北:华中科技大学出版,2007.6   [6]吴金戍.沈庆阳,郭庭吉. 8051单片机实践与应用[M].山东:山东大学出版社,2003.4   作者简介   薛鹏,男,1989年生,东北大学信息科学与工程学院,检测技术与自动化装置硕士研究生,研究方向:生产过程参数测量与优化控制系统   安哲,男,1989年生,东北大学模式识别与智能系统硕士研究生,研究方向:控制系统设计及半实物仿真   宋鹏飞,男,1988年生,东北大学控制理论与控制工程硕士研究生 研究方向:图像处理、目标检测跟踪与识别技术。   注:本文设计曾获2011年全国大学生电子设计竞赛河北赛区一等奖
转载请注明来源。原文地址:
【xzbu】郑重声明:本网站资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有,如有不愿意被转载的情况,请通知我们删除已转载的信息。
xzbu发布此信息目的在于传播更多信息,与本网站立场无关。xzbu不保证该信息(包括但不限于文字、数据及图表)准确性、真实性、完整性等。}

我要回帖

更多关于 stc单片机官网 的文章

更多推荐

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

点击添加站长微信