




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机课程设计报告姓名:汤博文学号:1304010524班级:自动132日期:2016-09-06电动机转动:学习目的:1)熟练掌握已学的单片机知识。2)锻炼自主学习能力,到达能够按照需求,了解各种元器件功能 并运用。3)掌握Proteus、Keil uvision等仿真软件4)完成课程设计课题选择:带LED电子表的直流电动机控制器设计目的a利用8051单片机设计出具有时、分、秒显示的电子表b可以通过键盘设定电机的开始时间和终止时间c可以再设定时间启动直流电动机、并在规定时间停止设计任务利用8051单片机对直流电动机进行启动,终止的操作。通过矩阵开关的设置来调 节LED电子表的显示,从而设定时
2、间让直流电动机启动或是终止。设计原理直流电动机简介:它的固定局部有磁铁,称为主磁极;固定局部上(定子)还有电刷。转动局部 有环形铁芯和绕在环形铁芯上的绕组。在直流电动机固定局部上,装设了一对直流 励磁的静止的主磁极N和S,在旋转局部(转子)上装设有电枢铁心。定子与转子之间有一气隙。在电枢铁心上放置了两根导体连成的电枢线圈。线圈的首端和末端 分别连到两个圆弧形的铜片上,此铜片称为转向片。幻想片之间互相绝缘,由换向 片构成的整体称为换向器。换向器固定在转轴上,换向片与转轴之间亦互相绝缘。 在换向片上放置着一对固定不动的电刷,当电枢线圈通过换向片和电刷与外电路接 通。直流电动机工作过程:对直流电动机
3、,如果去掉原动机,并给两个电刷加上直流电源,这有直流电流 从一个电刷,经过线圈,从另一个电刷流出,根据电磁力定律,载流导体受到电磁 力作用,其方向可由左手定那么判定,两段导体受到的力形成了一个转矩,使得转子 逆时针转动。如果转子转到如图位置,电刷A和换向片2接触,电刷B和换向片1接触,直流电流从电刷A流 入,在线圈中的流动方向是 dcba,从电刷B流出。此时载流导体ab和cd受到 电磁力的作用方向通样可由左手 定那么判定,它们产生的转矩仍然 使得转子逆时针转动。这就是直 流电动机的工作原理。外加的电 源是直流的,但由于电刷和换向片的作用,在线圈中流过的电流是交流的,其产生 的转矩的方向确实不变
4、的。实用中的直流电动机转子上的绕组也不是由一个线圈构成,同样是由多个线圈 连接而成,以减少电动机电磁转矩的波动,绕组形式同发电机。电子表时间的设定如下图,运用了矩阵键盘动态扫描的方式来实现时间的设定,首先不断的给 低四位独立的低电平,然后判断键盘中是否有按键按下将低位中其中一列线置低电 平然后检测行线的状态,只要有一行的电平为低就延时一段时间以消除抖动,然后 再次判断,假如依然为低电平,那么表示键盘中真的有键被按下而且闭合的键位于低 电平的4个按键之中任其一,假设所有行线均为高电平那么表示键盘中无键按下。再其 次,判断闭合键所在的具体位置。在确认有键按下后,即可进入确定具体闭合键的 过程。其方
5、法是:依次将列线置为低电平,即在置某一根列线为低电平时,其它列线 为高电平。同时再逐行检测各行线的电平状态;假设某行为低,那么该行线与置为低 电平的列线交叉处的按键就是闭合的按键。硬件系统的设计::MC:ruK:i 源程序:#includeinclude #define uchar unsigned char#define uint unsigned intsbit b_1 =P1A0;sbit b_2 = P1A1;sbit b_3 = P1A2;sbit b_4 = P1 A3;sbit b_5 = P1A4;sbit b_6 = PI A5;sbit b_7 = P1A6;sbit b_
6、8 = P1A7;sbit ask = P3A7;unsigned char dis= 0 xc0,0 xf9z0 xa4,0 xb0z0 x99,0 x92,0 x82z0 xf8, 0 x8 0z 0 x90,0 xffz Oxbf, Oxff;unsigned int count=0;unsigned int time=0;unsigned int time_flag=O;unsigned int time_ 1 =0;unsigned int time_2=0;unsigned int flag=O;unsigned char bit_1 = 0;unsigned char bit_2
7、 = 0;unsigned char bit_3 = 0;unsigned char bit_4 = 0;unsigned char bit_5 = 0;unsigned char bit_6 = 0;unsigned char bit_7 = 0;unsigned char bit_8 = 0;char display = 0;bit start = 0;#define GPIO_KEY P2char Key Value = 0;void delay (unsigned char m)(unsigned i=3*m;while(-i);)void Delay 10ms(char d)unsi
8、gned char azb,c;for(c=d;c0;c-)for(b=38;b0;b-)for(a=65;a0;a-);void Delay 1ms(char d)(unsigned char a,b,c;for(c=d;c0;c-)for(b=38;b0;b-)for(a=13;a0;a-);)void main。)GPIO_KEY=OXFO;switch(GPIO_KEY)case(0X70):KeyValue=Key/alue+3;break;case(OXbO):KeyValue=KeyValue+2;break;case(OXdO):KeyValue=KeyValue+ 1;bre
9、ak;case(OXeO):KeyValue=KeyValue;break;while(a50) & (GPIO_KEY!=OxfO)(a+;Delay 1ms(1);)void KeyDown() (char a = 0;GPIO_KEY=OxOf;/whilef 1)/if(GPIO_KEY!=OxOf)Delay 10ms( 1);if(GPIO_KEY!=OxOf) (GPIO_KEY=OXOF;switch(GPIO_KEY)(case(0X07): KeyValue=O;break;case(OXOb): KeyValue=4;breakcase(OXOd): KeyVaIue=8
10、;break;case(OXOe):KeyValue= 12;break;TMOD = 0X01;EA= 1;ETO= 1;TRO= 1;THO = (65536-50000)/256;TLO = (65536-50000,%256;ask = 0;while( 1)KeyValue = 99;KeyDownf);if (KeyVa I ue= 10) display = 2;for(;)KeyValue = 99;KeyDown();if(Key/alue=9) (time_flag=Key/alue*3600* 10;Delay 10ms(50);)if(KeyValue=15)(time
11、 = time_flag;break;)Delay 10ms(50);for(;)(KeyValue = 99;Key Down I);if(KeyValue=9)(time_flag=Key/alue*3600;Delay 10ms(50);)if(KeyValue=15)(time += time_flag; break;)Delay1 0ms(50);for(;)(KeyValue = 99;KeyDownf);if(KeyValue=9)time_flag=KeyValue*600;Delay 10ms(50);if(KeyValue=15)time += time_flag;brea
12、k;)Delayl 0ms(50);for(;)(KeyValue = 99;KeyDownf);if(KeyValue=9)(time_flag=KeyValue*60;Delay10ms(50);if(KeyValue=15)(time += time_flag;break;)Delay 10ms(50);display = 0;if(KeyValue=11) display = 2; for(;) (KeyValue = 99; KeyDownf);if(KeyValue=9) (time_flag=KeyValue*3600* 10;Delay 10ms(50);)if(KeyValu
13、e=15) (time=time_flag; break;) Delay10ms(50); for(;) KeyValue = 99;KeyDown();if(KeyValue=9) (time_flag=KeyValue*3600;Delay 10ms(50);)if(KeyValue=15) time_l += time_flag; break;)Delay10ms(50);for(;)KeyValue = 99;KeyDown();if(KeyValue=9)time_flag=KeyValue*600;Delay 10ms(50);if(KeyValue=15)+= time_flag
14、; break;)Delay 10ms(50);for(;)(KeyValue = 99;KeyDownf);if(KeyValue=9)time_flag=Key/alue*60;Delay10ms(50);if(KeyValue=15)time_1 += time_flag;break;Delay 10ms(50);display = 0;)if(KeyValue=12)(display = 2;for(;)KeyValue = 99;KeyDown();if(KeyValue=9)time_flag=KeyValue*3600* 10;Delay 10ms(50);)if(KeyValu
15、e=15)(time_2 = time_flag;break;)Delay 10ms(50);for(;)KeyValue = 99;KeyDown();if(KeyValue=9)time_flag=KeyValue*3600;Delay1 0ms(50);)if(KeyValue=15)time_2 += time_flag; break;)Delay! 0ms(50);for(;)KeyValue = 99;Key Down I);if(KeyValue=9)time_flag=KeyValue*600;Delay 10ms(50);if(KeyValue=15)time_2 += ti
16、me_flag;break;)Delay 10ms(50);for(;)KeyValue = 99;KeyDown();if(KeyValue=time_ 1 )&(time=500) (count =0;time+;)b_1 = b_3 = b_4 =b_5 =b_7=b_2=b_8=b_6=0;switch(count % 8)case 0:b_2=b_3 = b_4 = b_5 = b_6 = b_7 = b_8 = 0;仿真:1)时钟仿真:b_1 = 1;P0 = disbit_1;break;b_1 = b_3 = b_4 = b_5 = b_6 = b_7 =b_8 = 0;b_2 = 1;P0 = disbit_2;break;b_1=b_2 = b_4 = b_5 = b_6 = b_7 = b_8 = 0;b_3 = 1;PO = disbit_3;break;b_1 = b_3 = b_2 = b_5 = b_6 = b_7 =b_8 = 0;b_4 = 1;PO = disbit_4;break;b_1 = b_3 = b_2 = b_4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程监理试题及答案
- 科目一考试题试卷及答案
- 讯飞智能面试题及答案
- 妇科超声考试题及答案
- 压疮管理规范理论考核试题及答案
- 2025年全国保密知识竞赛题库及答案
- 临床护理技术操作常见并发症理论考核试题附答案
- 2025年护士抢救工作试题及答案
- 2025年施工员之装修施工基础知识考试题库及参考答案(典型题)
- 2025年A特种设备相关管理考试题库及答案
- 与欧美网红合作合同范本
- 2025年广东省中考数学试卷(含解析)
- 互操作性标准-第1篇-洞察及研究
- 广告牌安装后维护养护措施
- 大件运输安全管理制度
- 《电子产品制造技术》课件-第1章 电子工艺技术入门
- Q-GDW12562-2024超特高压盘形悬式瓷绝缘子用瓷件原材料、工艺和检验规则
- 一线员工执行力培训内容
- 幼教拍摄培训
- 船舶公司内务管理制度
- 护理职业素养课件
评论
0/150
提交评论