论坛风格切换切换到宽版
  • 4869阅读
  • 24回复

准备学学单片机, 请高手指点 [复制链接]

上一主题 下一主题
离线BD0AAI
 
发帖
3050
只看楼主 倒序阅读 0楼 发表于: 2005-07-19
周末买了一本单片机的教材, 看了一遍,觉得很有意思, 准备边干边学。
第一个问题就是我现在应该选择一个什么样的编程器或者仿真器? 请推荐型号和价格。
第二个问题是汇编源代码应该用什么软件编译成hex, 哪里下载?
我的第一个课题是uv段天线转向控制器, 芯片打算用89c2051, 控制信号由pc机串口发到楼顶的2051后, 由它的p1.4--p1.7驱动4只5v 20ma以内的继电器分别控制监控用云台的上下左右运动,p1.0和p1.1接云台的水平、垂直限位开关, 程序中随时检测其状态, 如果限位开关被接通则将电机停止。
第三个问题是这两个限位开关是像上述的接在io口上好还是接到int0,int1 上 好些?
关于方向指示, 我不打算改变成品云台的机械结构,准备利用电机时间转动的时间来估算它旋转的角度,当然加电后首先要将两个方向的电机都转到起始的角度(利用限位开关控制), 然后利用计时器中断,只要电机转动,就判断转动方向,相应改变存储角度值的寄存器, 并通过串口发到pc,由pc上的软件进行显示。我个人认为这种利用时间来估算角度的方式虽然误差比较大,但也足以满足通联的需要。
问题四: 上述利用时间推算角度的方式是否可行? 还有没有更好的方式?(听说有电子罗盘,但估计成本比较高)

恳请请高手指教
离线BG7IGJ
发帖
1998
只看该作者 1楼 发表于: 2005-07-19
to851 编程器好用,支持很多系列单片机

编译的话,如果你是汇编语言的话,就用伟福吧,好用

能用中断就用中断,中断是比较实时, 转向的角度嘛,用步进电机做就可以了
离线xjl
发帖
1244
只看该作者 2楼 发表于: 2005-07-19
控制要形成闭环才准确可靠
离线BD4VNF
发帖
1208
只看该作者 3楼 发表于: 2005-07-22
可以用旋转编码器来 确定角度
离线BA3CE
发帖
1652
只看该作者 4楼 发表于: 2005-07-23
1、你用时间估算电极角度不是个什么高明办法,我赞同楼上观点,用旋转编码器。或是用电位器(还要ad也很麻烦)在有就是用n个霍尔来检测。
2、几乎所有的mcu编译器都支持生成hex文件,我一般用kell c。
3、程器关键您是要51的还是通用的,您要需要可以和我联系。
离线ba3dp
发帖
3281
只看该作者 5楼 发表于: 2005-07-23
利用计时,加限位开关的办法,可以低成本的解决问题。

旋转编码器,性能没得说,但价格比较贵。
离线BA5RW
发帖
48263
只看该作者 6楼 发表于: 2005-07-24
天线转向控制器用单片机好象多此一举啊.还是搞个智能车玩比较容易入门直观.
离线BG8WJ
发帖
166
只看该作者 7楼 发表于: 2005-07-25
^_^ 89c2051 用来实现的话可能很困难!程序空间不够实现那么多功能。电子罗盘的想法建议放弃,应为89c2051 i/o口不够支持另外ram 的空间不足以缓冲电子罗盘的数据!建议你使用8xc52系列的片子,可以根据实际情况采用90s52的大容量的片子,至于学习单片机的话,直接学习avr的
便宜的有430系列。省时省钱!烧写器如果你不是很常用的话也建议不要买了!430的仿真下载线很容易制作成本还低。
离线BD0AAI
发帖
3050
只看该作者 8楼 发表于: 2005-07-26
谢谢楼上几位的指教, 正在学习中, 已经定了一个100元的编程器。
就是这个 http://www.01mcu.com/at51s.htm
离线阿坤
发帖
77
只看该作者 9楼 发表于: 2005-08-01
有这个编程器足够了,可以自己做个实验板,买些片子,在板上做实验,反正现在51的片子很多带flash的,反复擦个nnnn次都没问题,这是一种低成本,实用的学习方法。建议先做个有数码管和按键的板玩玩。
离线ahzds
发帖
7423
只看该作者 10楼 发表于: 2005-08-02
奢侈了点!你用stc的51系列,编程器、仿真器都省了,他支持232口直接编程,方便得很!
离线BG4IMP
发帖
139
只看该作者 11楼 发表于: 2005-08-04
能再详细点吗|?
'
奢侈了点!你用stc的51系列,编程器、仿真器都省了,他支持232口直接编程,方便得很!
'
应该具备什么硬件啊?
我手头什么也没有,问商店的人说要1000元左右的一台仿真还是什么的。我感觉他在骗,没有敢买
离线1a2b3c
发帖
204
只看该作者 12楼 发表于: 2005-08-04
仿真器要1000以上是对的,没有骗你。(除非现在那种假的仿真器,不是真正的仿真器!)好一点的都要几千!

现在的确基本上可以不使用单独的编程器了,因为很多新的片子都支持在线下载程序。比如at89s系列(占用io口),stc的51等(占用串口)。可以方便的写入程序,作为学习还是很方便的。
离线BD0AAI
发帖
3050
只看该作者 13楼 发表于: 2005-08-05
我还是买了一个编程器。 另外, 顶楼所述的想法已经付诸实施, 程序已经写入芯片了, 这个周末开始焊电路了。多谢大家指教。
离线BD0AAI
发帖
3050
只看该作者 14楼 发表于: 2005-08-10
电路做好了, 程序也写好了,已经大致达到设计要求。
但是软件里面还有些问题考虑的不是很周全, 等完善后我会上图。
离线李勇
发帖
431
只看该作者 15楼 发表于: 2005-08-17
离线李勇
发帖
431
只看该作者 16楼 发表于: 2005-08-17
乱码了,你是在这里购买的吗?www.01mcu.com 如果是的话我也准备买上一套来学习!
离线迷思
发帖
2388
只看该作者 17楼 发表于: 2005-08-17
如果楼主的电路要实用的话,必须考虑串口的通讯距离问题,232c是通不了多远的,十几米就差不多了,如果想远距离,建议采用rs485串口,不过这根单片机没关系,只是需要232转485,以及5v电平转485的芯片。
离线ljchip
发帖
459
只看该作者 18楼 发表于: 2005-08-18
[quote=迷思]如果楼主的电路要实用的话,必须考虑串口的通讯距离问题,232c是通不了多远的,十几米就差不多了,如果想远距离,建议采用rs485串口,不过这根单片机没关系,只是需要232转485,以及5v电平转485的芯片。[/quote]

支持!!!!!!!!!!!!!!!!
离线BD0AAI
发帖
3050
只看该作者 19楼 发表于: 2005-08-18
李勇 :就是从哪里买的, 三阳电子研究所。 东西还不错。
现在就在用232-485, 那东西太贵了, 居然要80元,比我所有元件和印刷电路板的成本高出一倍多, 接受不了。 目前时借别人的在用。
仔细想了想, 把单片机放楼顶, 需要上楼4根线(交流24v两根,485 两根), 但如果把单片机放在电脑边只需要上楼5根线(加载交流24v控制上、下、左、右和共用端)我屋顶已经拉了一根8芯网线,足够了。此准备把单片机放在电脑边上, 这样就不用485了,大大降低了成本,也省去了防水、温差、安全等方面的考虑。另外, 准备完善一下,用游戏机或者遥控模型的那种可以上下左右进行控制的手柄来控制云台的运动, 另外再加6位数码显示高度角和方位角, 另外还需要一个eprom保存实际的角度信息(免得每次加电都需要复位操作)这样以来,2051的16个io就不够用了, 准备换s51。此外, 原来设想的利用限位开关来确定角度测量的起始位置也准备放弃了, 需要复位的时候只要让电机转动70秒即可(云台转动一圈需要70秒)。
经过我的实际测试, 利用时间控制角度的方法还是很精确的,一边调程序一边转着玩了一晚上,累积误差小于半个格(1格是10度)完全可以满足通联要求。
当然, 当步进角度过小时,比如1度步进时, 电机仅通电100ms,天线只是略微晃一下就停了,累积误差还是比较大的, 但已经在软件中进行了补偿。
软件也基本完成了, 界面显示乌鲁木齐的地图, 并以我家为中心画出xy坐标轴,在地图上随便点一个位置, 天线就会转向这个角度, 在转动过程中,地图上始终有一条射线指示角度。 此外还设有一些标有呼号或者地名的按钮, 点击就会指向特定的方向。这些按钮都支持用户随时定义。