A. 89c51单片机最多能控制几个二相四线步进电机需要同时控制
理论上不添加外设,可以像楼上说的,32个IO口接8个电机,如果接外设,可以和2楼说的一样,接满地球,因为有专用的控制步进电机的芯片,单片机控制电机就非常方便了,不过这样可能就没体会到提问者的意思。我们仅就不添加外设进行讨论。
但是除了IO口的限制,还有单片机的限制,由于单片机运行指令是一条一条执行的,没有并发机制,所以如果对多个步进电机进行同时操作,如果操作频率并不高,可以做到几乎同时(不是严格意义上的完全同时,因为指令一次只执行一条,当然两个电机同步操作同步运转不在讨论范围之内)。但如果接上比较精密的高速度高频率操作的步进电机时,可能就会有问题。
通俗的说,你给步进电机发一个指令,电机会运动一个步距,在电机运动到下一个步距之后,单片机再发送下一个指令,在这两个指令之间单片机可以去做别的事情,比如去控制另一个电机。如果电机操控精细,在最极端的情况下,两个指令之间的间隔,还不足以执行额外的一条指令,那么单片机就只能控制一个电机了。即使用中断也是没用的,第一个电机的运转会受到影响。
所以可以控制多少个电机,要参考你单片机的晶振,和你电机到底需要什么样的控制,如果需要的操作并不太精细,在第一个电机的两条指令间隔能够有时间发送多条指令,那么就能够增加控制电机的数量,这个数量需要根据实际情况来看。
B. 单片机中断是并行还是并发
这个问题不太敢确定,我以个人观点回答,仅供参考。 拿定时器来说,51开中断,设置初始置后,便不用再管定时器,此时看来应该属于并行,因为单片机在执行其他程序时的同时定时器仍在工作,属于同时进行,直到定时溢出,进入中断,此时应该属于“并发”,其他程序压栈,系统进入中断服务程序,中断处理完后再弹栈,继续其他程序,因为51属8位单核心单进程,还不能说是操作系统里的并发,我认为,实质上和并发没有“并发”没有多大区别 个人观点,仅供参考!
C. 单片机串行通信实验
1、实验:用单片机串行口,实现两个实验台之间的串行通讯。其中一个实验台作为发送方,
另一侧为接收方。发送方读入按键值,并发送给接收方,接收方收到数据后在LED上显示
2、原理:串行通信是指数据按位顺序传送的通信。串行数据传送的特点是:通信线路简单,最多只需一对传输线即可实现通信,成本低但速度慢,其通信线路既能传送数据信息,又能传送控制信息。它对信息的传送格式有固定要求,具体分为异步和同步两种信息格式.与此相应有异步通信和同步通信两种方式;在串行通信中,对信息的逻辑定义与TTL不兼容,需要进行逻辑电平转换:计算机与外界的数据传送大多是串行的,其传送的距离可以从几米到几千公里。单片机中使用的串行通信通常都是异步方式的
3、实验目的:1)掌握单片机串行口工作方式的程序设计,及简易三线式通讯的方法。 2)了解实现串行通讯的硬环境、数据格式的协议、数据交换的协议。 3)学习串口通讯的中断方式的程序编写方法
4、参考实现:
http://wenku..com/link?url=uyYKlkBQqwjGl-akFJ3xWa67R814ShF50uwd3