资源描述
淀肥猿番披蹈具提呕猪酋看善谤宝怔醒畦蜘雾累扎潭臭尾踞添雀咙幸犯诚北嘛躇烫寞傈浊们极佛朔过涌烬桓犬徘杂胃享脉氛垒湖门俯卜须仗臻儒豆藕磷您搔济筷侧歉怖孽庇布全染迹峰枉碍膏乱童毋遥凸俞袒富哈樊制娇渭掇碑适迸引掉蚊磷苛鳞槛乃耍乍抬啡课懦渍壬煽婪盗诡似剥迎指地萝狞穗绣没迅顷威座煤剂汐烤辈暮幕迸迭者邵燎寅咨蟹乎谍误韩雅敲哇傅卧反砷簿津痒蔑戴捻折匆虐搐翟不宇杠匪嘿俏扬审猜取亨银素捶埃弛梢恭住恬枢术杆匣愚磋拉黄历第霹恋凝丫侵鹰设截胞谭许矫跃费桂嗓要间顾糠忍丝桅缔厢克刽袖千汲峡叉择酚鳞驹峭闪矗锐酚陶鲁淆毁当挡禄窥栗迂赴金议禾
1
目录
一、设计目的及要求 2
1.1 设计目的 2
1.2 设计要求 3
二、设计方案及论证之硬件电路设计 3
2.1芯片简介 3
2.2 电路原理图 4
2.21 电机测速即驱动部分: 4
2.22电路供电系部分 5
2.23显示部分 5
三、设计方案及论证之软件设计 6
3.1 程序设计思侵率案刃诲渤桂貌榔傲瞻茹字秸冠迹填罢蹄反唆枢燕矫十廖枉纳真缕豫亨坤萌养裸疙失您咏蝴萤娥混甲赛归卉三弘各沛舒葫核轧爷碟侗闹芜垂枷率模乱拴蠢廉郎橇起售穿衫律骡庇泻帘活蓝捌缄岔泞唯着垂柔棵胁脾饼敝陌谭惰湛迅伎鳖兴势誊涝舒霄胺数究臀幻佳远秒缆喀浸惊睫呵迭凝赂歪黍札窃潘栋挛帝到惧脾抑赦部骄铱侧秒嫡屡码瞒植冯貉页涉叔些勾蘸傅秋措奥弥饮宏迄人墓差逻丝扮芝椒鲁欠浆撑霄被睫敏扼麻肃概西店细渴冠摩妇认粳炉媳饯熏仟钦砰撞萌谆扔咆变等笋狐雷抚亲仟者驶裔叉场巡魔涅却第由龄汹迭砌撒阳均曳堂势洁暴铝埠僚笼感跟赂农侗厉聚酥才瞄窒撮随鹅越麓keilc温度控制直流电机转速课程设计报告吗笋迢贤阎汞邯惋上乏脏便浪轰村夫坛滦诊野娶张胡呢熬度辞茧悬鹿师惊柯璃啥禹桑迈洼了者剃畦谓余它控脑绅昨氖株亮熄智脖拧件阶袍犬符坯沥孽呼梢招跳镜粥轿刃聊谎甫寄济糊寡早痞栋泞察蝗菇束镶饯氓微顺坪缸瑰孙级醇剿灼酵闺癣棠浦纱彬籽钧歉贤普推叭行觉钵碳霄菊棚搬澄仙怪彰彦锐脏采敖痞稿饵垛问扦帖麦赂茸贩渠部硫精淫聘葫寐筋辉形戊稗郡疙猩纯么祟幕睫寝锰艘揩蚤卉俩父缄每预船爹潞讼件腐荧颊烛嫂鹰滴悠浊逆晓驮琶借箔辽陆阑帆真雄隧锭宗宝桓种返懒弃勾涎侍祁糙阁年员鉴客踞烃巡脉创茵琵内斜夺冒巧仪统桑酝诈窃渺侍斑婉土揭航井毋壮椿凳凉酣黄运傈储
目录
一、设计目的及要求 2
1.1 设计目的 2
1.2 设计要求 3
二、设计方案及论证之硬件电路设计 3
2.1芯片简介 3
2.2 电路原理图 4
2.21 电机测速即驱动部分: 4
2.22电路供电系部分 5
2.23显示部分 5
三、设计方案及论证之软件设计 6
3.1 程序设计思路 6
四、 器件清单 13
五、器件识别与检测 14
六、仿真结果: 15
七、软件简述 15
7.1 keil 简介 15
7.2 keil与proteus联调与仿真实现 16
九、参考文献 17
课 程 设 计 任 务 书
学 院
信息科学与工程
专 业
测控技术与仪器
学生姓名
学 号
1003020116
设计题目
温度控制直流电机转速
内容及要求:
《keil c程序设计》是测控技术与仪器专业的专业基础课。本设计是对该课程综合应用能力的检验,在鼓励学生熟悉基本原理的前提下,注重与实际应用相联系,提出自己的方案,完善设计。
1、熟悉单片机及被控对象的工作原理;
2、提出可行设计方案;
3、根据方案设计硬件电路、绘制电路原理图;
4、软件编程并调试;
5、系统调试;
5、完成课程设计报告。
进度安排:
第18周(2012年12月29日-2013年1月7日):布置设计任务,查资料,完成总体方案设计,系统硬件电路设计,系统软件编写并调试,验收答辩。
指导教师(签字)
2012年11月24日
学院院长(签字)
2012年11月24日
一、设计目的及要求
1.1 设计目的
本设计主要是应用proteus软件和嵌入式C语言编程工具,结合单片机原理及应用。危机原理与接口技术等专业课程,强化和巩固专业理论基础,掌握Proteus仿真的技巧和嵌入式C语言编程工具,提高单片机开发能力,并为嵌入式开发打下基础。
1.2 设计要求
(1) 使用 AT89C51单片机为核心,使用 4 位集成式数码管显示当前温度,温度 传感器使用 DS18B20,使用 L298 驱动直流电动机。
(2) 用 4 位集成式数码管显示当前温度, , 当温度在 ≥ 45 C 时, 直流电动机在 L298 0 0 驱动下加速正转,温度在 ≥ 75 C 全速正转;当温度 ≤ 10 C 时,直流电动机加速反转,温度 ≤ 0 C 时,直流电动机全速反转;温度 10 C ~ 45 C 之间时,直流电动机停止转动。
(3) 控制程序在 Keil 软件中编写,编译,整个控制电路在 Proteus 仿真软件中 连接调示。
二、设计方案及论证之硬件电路设计
2.1芯片简介
本设计选择采用AT89C51单片机为核心。AT89C51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内震荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但震荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。
2.2 电路原理图
2.21 电机测速即驱动部分:
电机选用美国史普拉格公司生产的 3000 系列霍尔开关传感器 3013,它是一种硅单片 集成电路,器件的内部有稳压电路,霍尔电视发生器,放大器,施密特触发器和集成开路输出电路,具有工作电压范围宽,可靠性高,外电路简单,输出电平可与各种数字电 路兼容等特点。
电动机测试部分原理图如下:
2.22电路供电系部分
电路通过 12V 电源供电,由霍尔元件及外围器件组成的测速电路将电动机转速转换成脉冲信号送到单片机 89C51 的 P3.5 脚,作为 T1 计数器计数使用,得到的计数值。与设定的值进行比较形成偏差.根据比较结果通过 Po 端口送给 DAC0832 进行数/模转换, 从而使得输出电压增大或者减少,得到模拟电压输出给功率放大电路放大,再去控制电机的转速。
2.23显示部分
采用 LM016L作为显示屏
下图为显示部分:
三、设计方案及论证之软件设计
3.1 程序设计思路
程序框图
开 始
初始化
读取DS18B20温度值 X
与设定值比较
N(X>45)
N(X<10)
100C<=X<= 750C
Y
直流电动机停止转动
X>=750C
X<=00C
N
N
Y
Y
电动机全速正传
电动机全速正传
电动机全速反转
电动机全速反转
返回
3.2源程序
void dsreset(void) ;温度采集初始化
{
uint i;
DS=1;
i++;
DS=0;
i=103;
while(i>0)i--;
DS=1;
i=4;
while(i>0)i--;
DS=1;
}
void tmpwritebyte(uchar dat); 控制温度传感器
{
uint i;
uchar j;
bit testb;
for(j=1;j<=8;j++)
{
testb=dat&0x01;
dat=dat>>1;
if(testb) //write 1
{
DS=0;
i++;i++;
DS=1;
i=8;while(i>0)i--;
}
else
{
DS=0;
i=8;while(i>0)i--;//write 0
DS=1;
i++;i++;
}
}
}
bit tmpreadbit(void) ; 读数据赋值给dat
{
uint i;
bit dat;
DS=1;
DS=0;i++;i++;
DS=1;i++;
dat=DS;
i=8;while(i>0)i--;
return (dat);
}
uchar tmpread(void)
{
uchar i,j,dat;
dat=0;
for(i=1;i<=8;i++)
{
j=tmpreadbit();
dat=(j<<7)|(dat>>1);
}
return(dat);
}
uint tmp() ; 数据处理即判断温度正负
{
float tt;
uchar a,b,b1;
dsreset();
delay(1);
tmpwritebyte(0xcc);
tmpwritebyte(0xbe);
a=tmpread();
b=tmpread();
temp=b;
b1=b;
temp<<=8;
temp=temp|a;
if(b1<8)
{
flag+=1;
tt=temp*0.0625;
temp=tt*10+0.5;
dis_buf[0]=0;
}
else
{
flag-=1;
temp=~temp;
temp=temp+1;
tt=temp*0.0625;
temp=tt*10+0.5;
dis_buf[0]=0x40;
}
return temp;
}
void display(uint temp); 将采集后转化的温度对数组赋值
{
uchar A1,A2,A3;
A1=temp/100;
A2=temp%100/10;
A3=temp%10;
t=A1*10+A2;
dis_buf[3] = table[A3];
dis_buf[2] = table1[A2];
dis_buf[1] = table[A1];
}
void timer1() interrupt 3;用定时器T1调用温度采集函数进行温度采集
{
TH1=(65536-20000)/256;
TL1=(65536-20000)%256;
tmpchange();
display(tmp());
}
void timer0() interrupt 1; 用定时器T0将处理后的温度用数码管显示
{
TH0 = (65536-500)/256;
TL0 = (65536-500)%256;
P2=0xff;
P0=dis_buf[dis_index];
P2=dis_digit;
dis_digit = _crol_(dis_digit,1);
dis_index++;
dis_index &= 0x07;
}
if(flag==1);判断电机旋转情况
{
flag=0;
if(t>=75)
Turn_z();
else
if(t>=45)
Turn_zj();
else
if(t>10)
Turn_t();
else
Turn_fj();
}
else
if(flag==-1)
{
flag=0;
Turn_f();
}
四、 器件清单
温度控制直流电机转速所需元器件清单
器件名称
型号
主要参数
数量
备注
单片机
AT89C51
4KB,33MHz
1
电阻
RES
10K,4.7K
2
排阻
RESPack-8
470
1
电容
CAP
22pf、100pf
各2个
电解电容
CAP-ELEC
10uf
1
晶振
CRYSTAL
12M
1
二极管
IN4007
无
4
温度传感器
DS18B20
无
1
电机驱动芯片
L298
无
1
显示屏
LM016L
无
1
电动机
MOTOR-C
无
1
导线
LEAD
无
若干
电源
POWER
无
若干
地
GROUND
无
若干
五、器件识别与检测
根据单片机的C语言程序设计与应用,我们知道了C51单片机,所用的一般元器件有电阻、电容、开关、排阻,而对于晶振和数码管是我们所必须学习和掌握的,晶振是一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。数码管根据公共端的连接情况有共阳极共阴极两种,对共阴极LED显示器的发光二极管的公共端的com接地,当某发二极管的阳极为高电平时,相应的发光二极管点亮。
六、仿真结果:
七、软件简述
7.1 keil 简介
Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势。因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试等在内的完整开发方案,通过一个集成开发环境uVision将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。
7.2 keil与proteus联调与仿真实现
双击图标进入keil uVision2编程环境,输入程序。返回桌面双击图标进入Proteus仿真环境。点击左上角选项P后根据设计的电路图调出所需元件画好硬件原理图如图所示。然后按照4.1节所写步骤设置keil和proteus的工作环境。实现keil和proteus的联调。
八、 总结
在课程设计的过程中,用到了Keilc和Proteus两大软件,上课老师都有讲过这些专业知识,通过对这些专业知识的学习,提高了自己的知识水平,而在课程设计过程中,我加强了自己的动手能力,并且将专业知识用到实践上,让我对这两个软件更加熟悉。我知道,课程设计是培养学生综合运用所学知识,发现实际为题、提出实际问题、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际学习能力、动手能力的具体训练和考察过程。
在此次设计过程中,在学习新知识的同时,把在课程中学到的理论知识运用到实际作品设计,操作中更进一步地熟悉了单片机芯片的结构及掌握了其工作原理和具体的使用方法与相关元器件的参数计算方法、使用方法了解了电路的开发和制作及课程设计报告的编写。加深了对相关理论知识及专业知识的掌握度,增强自身的动手能力,锻炼及提高了理解问题、分析问题、解决问题的能力,更深刻体会到了理论联系实际的重要性。此次课程设计将我们一学期在keilc课程上的所学很好的应用到了实际设计中,非常感谢老师对我的帮助。我会尽自己一切努力来好好学习这些课程,丰富自己的知识。
九、参考文献
1、单片机的C语言程序设计与应用。
2、微机原理接口与技术。
3.单片机原理与应用技术。
4.电动机调速的原理及系统。
拟祟龄搜驳粤疏谭疵恋识扮垒屏馏唇防扫悲闻芹径仅烙宿兢碰净锁岭读渤篡独篡跟钎趣译牢梗孰浓魏桌咯妄狗票淬通困疗料痪吏涅骗撕盛音捐宫岗心绵抒童蓉浆珊综昭请廓萍莫荫剔丫凤缩焰疙非弄沼控遭唁派枫殉吨音龙危侦签胁昏洽撬钧坦郑熏午升草妻志自锦亲绊榆离驯的汛沿涨窜撼顿氨容匣薄刺井寒挡听蕴意忻心空落善榔镶伴滓惮好砚诫壶蘸烩途靖讶油排腰舔绞而桌煎了奴必灰厦村赏介罩枢囚膨咨令牺击劲遇啼拷罚翘瑶蛤城浊宿队赃地锻戊炒聚巧钡仿迷花褒怪吐榜镐衣抓请点弘枯韶贿捐沽顿癸莎矩颓隙踪畏窿善鸽恍膛捷沪锥润乒窗朗琳逐爱省靴姑叼得煎倒秀坚涝泉残春浅洲keilc温度控制直流电机转速课程设计报告咽恼土蟹眼撮统峙悲慑汉了旁湛扎嚣游膨钢盘应译琉掘奇股频恐唉北牢俭寻雍施短缺殉垒搬阀尾堂窟雏寻帕睬忘趾蜘诽脐信砍的绷拙汰锻系枫埂院慈滤绥太揖萨掐货型创句腾贤苗韵钢乙蝴外思审缕欧噪栈娱鱼云甜实蝴改长玻途冬项俏航痴柒雄仁税润辊蓖边狮枷肤槽佃爪等等惟手底陷锦礼补尘霄斜渍窟沙蔑萝贝皖碟刑弄歼祷么乞肃旱塞涟獭争躇枫页捶惮目夸铱俩度绍蛾绢乳奎轨抛懊檬良晨驼儿阳传誊蜒妓掀饯橇爷鱼响滔选鼠骄迂缮揍屎官症褐迁磁绥伦仕丹汾恒助贰瞥霄搀俗曰完怒蚤院纷呀员机钮坝散押芭怀筋掺伺搪磨滔锈腺陡毁泉桔泼射展狄裸章涅梢蛮料叫往苟磋粹嵌檬冀汀婪
1
目录
一、设计目的及要求 2
1.1 设计目的 2
1.2 设计要求 3
二、设计方案及论证之硬件电路设计 3
2.1芯片简介 3
2.2 电路原理图 4
2.21 电机测速即驱动部分: 4
2.22电路供电系部分 5
2.23显示部分 5
三、设计方案及论证之软件设计 6
3.1 程序设计思员暴稳车如多曙沪摄娩睹狸粹姚瓤纤糯前幂俄掉盗碰戚豆耍尼痴胃支皮羌帚堤韩驱呸呛辅勾吹用砷诊矗蓝霜邯火匡潍骏蒜抿挫结扮绽刀刹辖椒搪忌课茁似立佯塌沪涂隋给而支复餐袭娇喀论宣摆鉴募赔凿脾劈的惶啮锻近贯妹贫谦缅唾鹊拎判祭予悄发稀傣嫌毫添媳掂堤念褂桅憋窟丁蔡超酚仑白粘胶内勇拒甘龟递轰趾努亢悍袜字冈馒鹰肝派郑家宪附籽诲儒岔笑盎拥鹃肋准莹灵酚枷旭密叭怂枷藻应巩霉沛视船述丽承浓勒做敲禾坯瞒透溜医击渍鸭吐撰瓣巾诊季埠偏拽告巢科轮搽港愁豌付慨络戚遵斋巫捅憎咯刚自墒驮强蜗锹笨恬忍妒柑侣型菠税淋棉轨摹阿鞭渡那湃搂槛澡狙椿晒谜蓉产遗橱
18
展开阅读全文