求贤哲大士关于基于单片机步进电机控制系统设计/救命的

\u6b65\u8fdb\u7535\u673a \u63a7\u5236\u5668\uff0c \u7535\u6e90 \u5355\u7247\u673a \u6551\u547d\u5427\uff01\uff01\uff01\uff01\uff01\uff01\uff01\uff01\uff01\uff011

\u4e00\u5927\u5806\u4e1c\u897f\u6ca1\u4e00\u4e2a\u61c2\uff0c\u8fd8\u8981\u8bbe\u8ba1\u673a\u5668\u4eba\uff1f\u548b\u6574\uff1f

\u7b80\u5355\u8bb2\u5c31\u662f\uff1a\u5355\u7247\u673a\u653e\u5728\u63a7\u5236\u5668\u4e0a\uff1b\u7528\u63a7\u5236\u5668\u63a7\u5236\u6b65\u8fdb\u7535\u673a\uff1b\u7528\u7535\u6e90\u7ed9\u63a7\u5236\u5668\u548c\u6b65\u8fdb\u7535\u673a\u4f9b\u7535\u3002
\u5148\u628a\u63a7\u5236\u5668\u6574\u4e2a\u7535\u8def\u677f\u51fa\u6765\u3002\u7136\u540e\u628a\u4f60\u8981\u6c42\u7684\u524d\u8fdb\u3001\u505c\u987f\u3001\u518d\u524d\u8fdb\u3001\u518d\u505c\u987f\u2026\u2026\u7684\u6267\u884c\u7a0b\u5e8f\u7f16\u5199\u597d\u5e76\u70e7\u5199\u5230\u5355\u7247\u673a\u4e0a\u3002
\u7136\u540e\u53ea\u8981\u7535\u6e90\u4e0a\u7535\uff0c\u901a\u8fc7\u6b65\u8fdb\u7535\u673a\u7684\u8f6c\u52a8\u5c31\u53ef\u4ee5\u524d\u8fdb150\u6beb\u7c73\uff0c\u505c\u987fN\u79d2\uff0c\u518d\u524d\u8fdb150\u6beb\u7c73\uff0c\u518d\u505c\u987fN\u79d2...\u7ecf\u8fc7W\u6b21\u5faa\u73af\uff0c\u81ea\u52a8\u53cd\u8f6c\uff0c\u518d\u524d\u8fdb\uff0c\u505c\u987f...\u5230W\u6b21\uff0c\u518d\u53cd\u8f6c...

\u6700\u540e\u5c31\u5b8c\u6210\u4e86~\u5fc3\u82b1\u6012\u653e~
OVER\uff01

\u8fd9\u4e2a\u7b80\u5355\uff0c\u8ba9\u6211\u6765\u6559\u697c\u4e3b\u600e\u4e48\u73a9
\u9996\u5148\u6211\u8bf4\u4e0b\u601d\u8def\uff1a
\u6211\u4eec\u91c7\u7528P1\u53e3\u6765\u91c7\u96c6ADC0832\u76848\u4f4d\u6570\u636e\uff0c\u7528P0.0\u53e3\u63a7\u5236\u6b65\u8fdb\u7535\u673a\u52a8\u4f5c\uff0c\u5229\u7528T0\u7684\u65f6\u95f4\u4e2d\u65ad\u6765\u91c7\u96c6P1\u53e3\u7684ADC0832\u6570\u636e\u5e76\u505a\u51fa\u6bd4\u8f83\u540e\u8bbe\u7f6e\u6b65\u8fdb\u7535\u673a\u542f\u52a8\u6807\u5fd7\u4f4dstart=1;\u5e76\u8bbe\u7f6e\u4ed6\u7684\u8fd0\u884c\u9891\u7387\uff0c\u5f53\u7136\uff0c\u697c\u4e3b\u6ca1\u8bf4\u600e\u4e48\u6bd4\u8f83\uff0c\u6211\u8fd9\u5c31\u53ea\u662f\u5199\u4e86\u4e2a\u7b80\u5355\u7684\u4f8b\u5b50\uff0c\u4e00\u901a\u767e\u901a\uff0c\u5e0c\u671b\u5bf9\u4f60\u6709\u5e2e\u52a9
\u4e0b\u9762\u662f\u7a0b\u5e8f\uff1a
#include //\u9009\u7528\u6676\u632f11.0592MHz
unsigned int m=0,n=0; //\u8bbe\u7f6e\u5faa\u73af\u7684\u5468\u671f
unsigned char start=0,t0temp=0;
sbit Y0=P0^0; //\u63a7\u5236\u6b65\u8fdb\u7535\u673a\u7684\u7ba1\u811a
delay()
{
unsigned char i,j;
for(i=m;i>0;i--)
for(j=n;i>0;j--);
}

main()
{

//\u81ea\u68c0\u6d4bT0\u65f6\u95f4\u8bbe\u7f6e
ET0=1;
TMOD|=0x01;
TH0=0XFC; //1ms\u4e2d\u65ad\u626b\u63cf
TL0=0X66;
IT0=1; //\u4e0b\u964d\u6cbf\u89e6\u53d1
TR0=0; //\u5173\u95ed\u626b\u63cf
/***********************\u521d\u59cb\u5316\u5b8c\u6bd5***********************/
//****************I/O\u53e3\u7a0b\u5e8f
while(1)
{
while(start)
{
delay();
Y0=~Y0;
}
}
}


void counter1(void) interrupt 1 //T0\u8ba1\u65f6\u5668\u4e2d\u65ad
{
if(t0temp%4)t0temp++; //4ms\u65f6\u95f4\u624d\u91c7\u96c6\u4e00\u6b21P0\u53e3\u7684\u6570\u636e
else
{
t0temp++;
//\u8fd9\u91cc\u5c31\u5199\u4f60\u600e\u4e48\u505a\u5bf9\u6bd4\u7684\u7a0b\u5e8f,\u6211\u4e3e\u4e2a\u4f8b\u5b50
if(P1>150)
{start=1;n=1000;m=0;} //\u5165\u9519\u91c7\u752812M\u6676\u632f\uff0c\u90a3\u8fd9\u65f6\u5019\u63a7\u5236\u6b65\u8fdb\u7535\u673a\u7684\u8f93\u51fa\u5468\u671f\u5c31\u662f1ms\u4e00\u6b21\uff0c\u4e5f\u5c31\u662f1000HZ
else {start=0;n=0;m=0;}
}
}
//PS\uff1a\u6211\u5728\u8f93\u51fa\u9891\u7387\u4e2d\u7528\u4e86\u4e24\u4e2a\u5168\u5c40\u53d8\u91cfm\uff0cn\u53ef\u4ee5\u5ef6\u8fdf\u5f88\u957f\u65f6\u95f4\uff0c\u697c\u4e3b\u53ef\u4ee5\u6839\u636e\u9700\u8981\u9009\u7528\uff0c\u4e00\u822c16\u4f4d\u7684\uff0c\u9009\u7528\u4e00\u4e2a\u5c31\u53ef\u4ee5\u4e86\uff0c\u53e6\u4e00\u4e2a\u653e\u5f03
OK\uff0c\u81f3\u4e8e\u7535\u8def\u56fe\uff0c\u6211\u8f6f\u4ef6\u6ca1\u6709ADC0832\u7684\u5c01\u88c5\uff0c\u4e0d\u7136\u5c31\u53d1\u7ed9\u4f60\u4e86\uff0c\u4f46\u60f3\u6765\u697c\u4e3b\u5b8c\u5168\u5c31\u6ca1\u5fc5\u8981\u62c5\u5fc3\uff0cADC0832\u76848\u4f4d\u6570\u636e\u63a5\u5230P1\u53e3\uff0cP0.0\u63a7\u5236\u6b65\u8fdb\u7535\u673a\u542f\u52a8\u7684\u4e09\u6781\u7ba1\uff0c\u7535\u8def\u56fe\u5c31\u90a3\u4e48\u7b80\u5355\uff01

1.把外部RAM中1000H~1030H的内容传送到内RAM的30H~60H中。

2.试编制程序实现1+2+3+……+100=?结果的商8位保存内RAM中51H单元中,低8位保存在50H单元中。

3.已知8051单片机使用的晶振为12HZ,试编制延时40ms的程序。
我需要知道程序!
提问者: Oct_JuJu - 童生 一级 最佳答案
6月4日 20:56 我来提个思路吧,具体程序有你来编写.单片机这个东西是越琢磨越有意思,只要思路对头你就能做得出来.对自己要有信心.
1、这个问题主要应解决两部分
一是状态的读入和处理。因为是高电平有效,在电路设计中应该为P1口上装上下拉电阻。处理主要是把他们从二进制转换到十进制,然后转换成七段码以便驱动数码管。转换的方法有多种,你可以对他进行判断他是否在100以内、100与200之间还是大于200。小于100直接用DA转换成十进制,并记高位为0;在100与200之间就先减去100然后用DA转换并记高位为1;大于200之间就先减去200然后用DA转换并记高位为2。至于转换为七段码的方法无非有两个——译码器译码和查表译码。对于这个小项目没必要增加硬件消耗,所以建立一个译码表查表即可。这里需要查三次,分别是高位、低位高4位和低位低4位。查表后要在RAM中建立一个显示缓冲区,三个字节就可以了。
二是输出问题。采用动态显示3个数码管就可以了,定时10ms把显示缓存区相应的数据送到P0口,当然P0口需要驱动放大的。同时利用P3口的3个引脚做位选信号分别选择相应的数码管,同样也少不了驱动。
2、这个问题比较简单,你只要把信号输入到外部中断INT0或INT1就可以。外部中断设置为脉冲中断,这个中断子程序在一个标准时间段(如1S)内对一个计数器加一计数。然后把这个数乘以6(这个数是60除以10得到的)就是一分钟内的转数了。另外虽然你没提到,不过我想你还是要做个显示的,显示同上。
3、这题因为我不太了解574所以没办法帮你了,不好意思。

希望我说的这几句话能帮到你,也希望你能因此对单片机产生兴趣:)

去看一下工电专业的51单片机

电机型号?

  • 姹傝搐鍝插ぇ澹叧浜庡熀浜庡崟鐗囨満姝ヨ繘鐢垫満鎺у埗绯荤粺璁捐/鏁戝懡鐨
    绛旓細1.鎶婂閮≧AM涓1000H锝1030H鐨勫唴瀹逛紶閫佸埌鍐匯AM鐨30H~60H涓2.璇曠紪鍒剁▼搴忓疄鐜1+2+3+鈥︹+100锛濓紵缁撴灉鐨勫晢8浣嶄繚瀛樺唴RAM涓51H鍗曞厓涓紝浣8浣嶄繚瀛樺湪50H鍗曞厓涓3.宸茬煡8051鍗曠墖鏈浣跨敤鐨勬櫠鎸负12HZ锛岃瘯缂栧埗寤舵椂40ms鐨勭▼搴忋傛垜闇瑕佺煡閬撶▼搴忥紒鎻愰棶鑰咃細 Oct_JuJu - 绔ョ敓 涓绾 鏈浣崇瓟妗 6鏈4鏃 20...
  • 扩展阅读:plc基础知识指令27个 ... 基恩士plc代码一览表 ... 编码器型号对照表 ... 基于plc的电 硕士论文 ... plc编程必背50个程序 ... 基于plc的自动报靶系统 ... 基恩士错误代码一览表 ... 基恩士指令一览表 ... 基恩士plc编程kv软件 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网