单片机原理与接口技术
直流电机测速系统
课程设计报告
学院:
专业:
学生姓名:
学号:
指导教师:
时间:
一、前言
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。
为了使大学生更好的将理论学习与实践相结合,同时增加大学生对所学知识的感性认识,提升大学生的动手能力,在每学期末各高校(特别是工科专业)均开设了“课程设计”。
在数控系统中,检测是不可或缺的一个重要环节。最关键的检测环节之一便是电动机的测速。测速的方法多种多样,并且与选择的传感器类型有关。本设计利用旋转编码器实现电动机的测速。
二、设计要求与设计方案
设计要求:(1)设计驱动电路,实现对直流电机控制,可实现电机的启动、加减速、匀速、制动停机及正、反转等功能。
(2)采用旋转编码器测量电机的转速,以十进制数电机显示转速(转/分钟),用数码管或其他类型的显示器。
(3)实验测试时,采用改变直流永磁电机电枢两端电压的形式改变转速及切换其极性改变电机转动方向,测量系统能够实时测量和显示电机的转速和转向。
(4)当测速系统不测量转速期间,测量显示测试现场温度。
(5)每次测量完成后,把测量时间、测量值等信息通过串口传递到监控器上。信息提示模式“××时××分××秒: 转速:××” (可用字符或编码)。
扩充功能:
(1)转速超限报警,通过LED显示器和蜂鸣器报警。可把报警信息通过串口传递到监视器上。
(2)温度超限报警,通过LED显示器和蜂鸣器报警。可把报警信息通过串口传递到监视器上。
(3)当测速系统不测量转速时,可作为钟表和温度计使用,分时显示时间和温度。
方案: 通过单片机实现电机启动、停止、正转、反转的控制,调速利用与电机串联在一起的电位器控制。正反转由H桥电路实现。电路图如下:
图1-1
本设计中采用的旋转编码器,电机每转动一周,输出1024个脉冲。通过统计脉冲个数,经过一系列计算,得出电机转速,并显示在LED数码管上。
本设计中,基准时间为1ms,记脉冲周期为7ms,T0为计数器工作模式,TH0、TL0内存储脉冲个数N。转速n与脉冲N转换公式为:
n=(N*1000*60)/(7*1024)=8.37*N
注:记脉冲周期7ms实现过程为调用七次基准时间,单片机执行程序也会消耗一部分时间,经折中后,n约等于8N,误差在允许的范围内。
显示过程,现将TH0、TL0中数暂存,转换为BCD码,调用显示程序显示BCD码。电机在24V全电压下运行,转速为800r/min。所以显示过程中,只需利用LED数码管后三位。第6位显示正负,以表示正反转。
改变转速利用电位器,改变电机转动方向利用H桥,见图1-1.
实现实时显示是利用:经过转速的处理程序,转速存储在特定单元,判断键盘输入值,当按下四键值时,使程序跳到转速显示模块,显示特定单元的值,从而显示实时转速。
不测量转速时,调用DS18B20测温程序,将温度显示到LED数码管上。
判断键值,如果按下五键,则调用串口显示程序,经过SBUF将数值按字符形式显示在显示器上。
设置上限转速800r/min,将T0中记出的数与上限相比,没有超出上限时,系统正常工作,超出上限,蜂鸣器报警,并调用串口程序,将“OVER SPD!”传递到显示器上。
设置下限温度2度及上限温度35度,当温度超限时,蜂鸣器报警,并将”OVER T TMP!”传递到显示器上。
设计方案:
单片机控制电机启动、停止。利用H桥实现电机正反转控制。利用旋转编码器实现电动机转速测量。单片机、LED、按键等部分原理见图1-2。电机控制图见图1-1。实物图见图1-3
图1-2
图1-3
三、框图及程序介绍
1、整体框图
主程序
初始值设定
调用key程序键值存在R5
2、键值处理程序
3、测温程序
4、中断计时
5、测速程序
程序代码:
FLAG1 BIT 00H
SIGN BIT P3.7
SIGN0 BIT P3.3
DQ BIT P1.3
TPH DATA 3AH
TPL DATA 3BH
FUHAO EQU 20H
WAN EQU 21H
QIAN EQU 22H
BAI EQU 23H
SHI EQU 24H
GEI EQU 25H ;转速存储单元
MIAO EQU 26H
FEN EQU 27H
HOUR EQU 28H ;时间存储单元
MIAO1 EQU 29H
MIAO2 EQU 2AH
FEN1 EQU 2BH
FEN2 EQU 2CH
HOUR1 EQU 2DH
HOUR2 EQU 2EH ;时间调整字符
ORG 0000H
LJMP START
ORG 0003H
LJMP JI_SHI
ORG 001BH
LJMP P_T1 ;基准时间1ms中断
ORG 0030H
START: MOV SP ,#70H
MOV TMOD,#00010101B ;计时初始化
MOV TH1,#0FCH
MOV TL1,#18H ;1ms初值
MOV 33H,#20
MOV 34H,#50
SETB EA
SETB ET1
SETB TR1
SETB PT1
SETB IT0
CLR EX0
SETB EA
CLR PX0
SETB P3.5
SETB P3.6 ;关电机
CLR P3.7
CLR P3.3
MAIN:LCALL KEY
JNB SIGN0,NEXTP
LJMP JI_SHI
NEXTP: LCALL WENDU
SJMP MAIN
;********************************************
;计时中断
;********************************************
P_T1: PUSH ACC ;中断程序 计时
PUSH PSW
CLR SIGN
MOV TH1 ,#0FCH
MOV TL1,#18H
DJNZ 34H,LOOP
MOV 34H,#50
DJNZ 33H,LOOP ;判断是否过完一秒
MOV 33H,#20
INC MIAO
MOV A,MIAO
CJNE A,#59,LOOP
MOV MIAO ,#0
INC FEN
MOV A,FEN
CJNE A,#59,LOOP
MOV FEN ,#0
MOV MIAO ,#0
INC HOUR
MOV A,HOUR
CJNE A,#24,LOOP
MOV HOUR,#0
MOV FEN ,#0
MOV MIAO ,#0
LOOP: POP PSW
POP ACC ;恢复现场
RETI
;****************************************************************
;按键处理部分
;****************************************************************
KEY: ACALL KEY_SCAN
MOV A,R5
CJNE A,#01H,NEXT1
CLR P3.5
SETB P3.6
MOV FUHAO,#0BH
RET ;按一处理
NEXT1: CJNE A,#02H,NEXT2
CLR P3.6
SETB P3.5
MOV FUHAO,#0AH
RET ;按二处理
NEXT2: CJNE A,#03H,NEXT3
SETB SIGN0
RET ;按三处理
NEXT3: CJNE A,#04H,NEXT4
CLR SIGN0
RET ;按四处理
NEXT4: CJNE A,#05H,NEXT5
LCALL SHI_JIAN
LCALL CHUANKOU
RET ;按五处理
NEXT5: RET
;****************************************************************
;温度
;***************************************************************
WENDU: MOV R4,#01H
WENDU1: LCALL D1820
LCALL TEMPDISP ;温度显示
RET
D1820: CALL DS18B20_Reset ;设备复位
MOV A,#0CCH ;跳过ROM命令
CALL DS18B20_WriteByte ;送出命令
MOV A,#044H ;开始转换
CALL DS18B20_WriteByte ;送出命令
JNB DQ,$ ;等待转换完成
CALL DS18B20_Reset ;设备复位
MOV A,#0CCH ;跳过ROM命令
CALL DS18B20_WriteByte ;送出命令
MOV A,#0BEH ;读暂存存储器
CALL DS18B20_WriteByte ;送出命令
CALL DS18B20_ReadByte ;读温度低字节
MOV TPL,A ;存储数据
CALL DS18B20_ReadByte ;读温度高字节
MOV TPH,A ;存储数据
CALL TEMP_REVERSE
RET
DelayX0us:NOP ;2 当改用1T的MCU时,请调整此延时函数
NOP ;1
NOP ;1
NOP ;1
NOP ;1
NOP ;1
NOP ;1
NOP ;1
DJNZ 3DH,DelayX0us ;2
RET ;2
DS18B20_Reset:CLR DQ ;送出低电平复位信号
MOV 3DH,#48 ;延时至少480us
CALL DelayX0us
SETB DQ ;释放数据线
MOV 3DH,#6 ;等待60us
CALL DelayX0us
MOV C,DQ ;检测存在脉冲
MOV 3DH,#42 ;等待设备释放数据线
CALL DelayX0us
JC DS18B20_Reset ;如果设备不存在,则继续等待
RET
DS18B20_ReadByte:CLR A
PUSH 0
MOV 0,#8 ;8位计数器
ReadNext:CLR DQ ;开始时间片
NOP
NOP
SETB DQ ;准备接收
NOP
NOP
MOV C,DQ ;读取数据
RRC A
MOV 3DH,#6 ;等待时间片结束
CALL DelayX0us
DJNZ 0,ReadNext
POP 0
RET
DS18B20_WriteByte:PUSH 0
MOV 0,#8 ;8位计数器
WriteNext:CLR DQ ;开始时间片
NOP
NOP
RRC A ;输出数据
MOV DQ,C
MOV 3DH,#6 ;等待时间片结束
CALL DelayX0us
SETB DQ ;准备送出下一位数据
DJNZ 0,WriteNext
POP 0
RET
TEMP_REVERSE:MOV A,TPH ;将TPH,TPL转换为无符号数,并存放于3CH
ANL A,#0FH ;保留低四位,其最高位为符号位
SWAP A
MOV 3CH,A
MOV A,TPL
ANL A,#0F0H ;保留高四位,丢弃小数部分
SWAP A
ORL A,3CH
MOV 3CH,A
MOV 2FH,A
RET
TEMPDISP: JB 2FH.7,FUWENDU ;高位为1时温度为负
JMP DISP_TEMPZ ;正温度
FUWENDU: CPL A
ADD A,#01
MOV 3CH,A
LCALL DISP_TEMP
MOV DPTR,#TABLE
MOV A,#12
MOVC A,@A+DPTR
MOV P1,#02
MOV P0,A ;显示负号
LCALL DL1MS
CLR C
MOV A,3CH
SUBB A, #10 ;低温报警值
JC DISP_TEMP
MOV 50H,#0FH
DREBAO: MOV P1,#06H ;低温声光报警
LCALL DL1MS
MOV P1,#07H
LCALL DL1MS
DJNZ 50H,DREBAO
LJMP DISP_TEMP
DISP_TEMPZ:CLR C
MOV A,3CH
SUBB A,#35 ;高温报警值
JC DISP_TEMP
MOV 50H,#0FH
GREBAO: LCALL CHUANKOU1
MOV P1,#06H ;高温声光报警
LCALL DL1MS
MOV P1,#07H
LCALL DL1MS
DJNZ 50H,GREBAO
LJMP DISP_TEMP
DISP_TEMP:MOV A,3CH ;温度暂存储
MOV DPTR ,#TABLE1 ;查表获得十进制温度
MOVC A,@A+DPTR
MOV 3CH,A ;十进制温度存储于3CH单元
ANL A,#0F0H ;分离温度的十位数
SWAP A
MOV DPTR,#TABLE
MOVC A,@A+DPTR ;取十位数字型码
MOV P1,#03 ;显示位置
MOV P0,A
LCALL DL1MS ;延时
MOV A,3CH ;
ANL A,#0FH ;分离温度的个位数
MOV DPTR,#TABLE
MOVC A,@A+DPTR ;取个位字型码
MOV P1,#04H ;显示低位
MOV P0,A
LCALL DL1MS
MOV A,#11
MOVC A,@A+DPTR ;取C的字型码
MOV P1,#05 ;显示C,表示摄氏度
MOV P0,A
LCALL DL1MS
RET
;******************************************************
;键盘扫描程序
;******************************************************
KEY_SCAN:MOV P2,#0F0H ;置P2.4~P2.6为入口
MOV A,P2 ;读P2口状态
ANL A,#0F0H
XRL A,#0F0H
JZ NO_KEY ;没有键按下
LCALL DL10MS ;稳定
MOV A,P2
ANL A,#0F0H ;重读键值
XRL A,#0F0H
JZ NO_KEY
MOV R2,#11110111B ;行扫描,从第三行开始
SCAN: MOV A,R2
MOV P2,A ;再次给P2口赋值
MOV A,P2 ;读P2口状态
ANL A,#11110000B
MOV R3,A
CJNE A,#0F0H,KEY_PRSD ;有键按下
MOV A,R2
RR A ;产生下次的行线输出
MOV R2,A
XRL A,#01111111B ;检测完否
JNZ SCAN
NO_KEY:MOV R5,#09H ;存放键值
RET
KEY_PRSD:MOV A,R2 ;取行扫描值
ANL A,#00001111B ;计算行特征值
ORL A,R3 ;计算行特征码
MOV R4,A ;暂存
MOV R5,#01H ;置按键键值初值
MOV DPTR,#KEY_TAB ;特征码表首地址
JIANCE:MOV A,R5
MOVC A,@A+DPTR
XRL A,R4
JZ FIXED ;键值已经找到
INC R5
MOV A,R5
CJNE A,#07H,JIANCE ;七个键是否全部检测完
AJMP NO_KEY
FIXED:MOV P2,#0F0H
MOV A,P2 ;判断键是否释放
ANL A,#0F0H
XRL A,#0F0H
JNZ FIXED
LCALL DL10MS ;延时消抖
MOV A,P2
ANL A,#0F0H
XRL A,#0F0H
JNZ FIXED
RET
;****************************************************
;报警程序
;****************************************************
FENGMING: MOV P1,#00000111B ;蜂鸣器
ACALL DELY
MOV P1,#00000110B ;亮灯
ACALL DELY
DELY: MOV R3,#100
DEL6: MOV R4,#100
DEL7: NOP
NOP
NOP
DJNZ R4,DEL7
DJNZ R3,DEL6
RET
;****************************************************
; 显示程序
;****************************************************
DIS: MOV R0,#20H
MOV R2,#06H
MOV R3,#00H ;地址和输出初始化
RED0: MOV DPTR,#SEG_TAB
MOV A,@R0
MOVC A,@A+DPTR
MOV P0,A
MOV A,R3
MOV P1,A
ACALL DL10MS
INC R0
INC R3
DJNZ R2,RED0 ;从高位循环到低位显示
RET
;****************************************************
;延迟函程序
;****************************************************
DL1MS:MOV R0,#20
DEL1:MOV R7,#10
DEL0:NOP
NOP
NOP
DJNZ R7,DEL0
DJNZ R0,DEL1
RET
DL10MS:MOV R7,#0C9H
DLMS:NOP
NOP
NOP
DJNZ R7,DLMS
STOP:RET
DL50MS:MOV R6,#04H
DLMS1: MOV R7,#0C9H
DLMS0:NOP
NOP
NOP
DJNZ R7,DLMS0
DJNZ R6,DLMS1
RET
DL100MS: MOV R6,#2
DLMS11: MOV R7,#0C9H
DLMS00:NOP
NOP
NOP
DJNZ R7,DLMS00
DJNZ R6,DLMS11
RET
DL500MS: MOV R0,#250
DELY1:MOV R7,#250
DELY2:NOP
NOP
NOP
NOP
NOP
NOP
DJNZ R7,DELY2
DJNZ R0,DELY1
RET
SEG_TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H,3FH,39H,5EH,79H,71H ;转速数据编码表
SEG_TAB1:DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH
KEY_TAB: DB 00H,77H,07BH,7DH,0B7H,0BBH,0BDH,0D7H ;按键键值表,1~7七个键值
TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H,39H,40H
TABLE1: DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H,10H,11H,12H
DB 13H,14H,15H,16H,17H,18H,19H,20H,21H,22H,23H,24H,25H
DB 26H,27H,28H,29H,30H,31H,32H,33H,34H,35H,36H,37H,38H
DB 39H,40H,41H,42H,43H,44H,45H,46H,47H,48H,49H,50H
;**************************************************************
; 计数部分(查询方式记脉冲,每7ms记录一次脉冲数)
;**************************************************************
JI_SHI: NOP
NW0: MOV TH0,#00H
MOV TL0,#00H
SETB SIGN
NW2: JNB SIGN,NW3
AJMP NW2
NW3: SETB TR0
MOV R1,#07
NW7: SETB SIGN
NW4: JNB SIGN,NW5
AJMP NW4
NW5: DJNZ R1,NW7
CLR TR0
MOV 60H,TL0
MOV 61H,TH0 ;存储计数结果
LCALL YOUYI
LCALL YOUYI
LCALL YOUYI
LCALL YOUYI
LCALL JISUAN ;调整计数乘以八
MOV R1,#20
NW6: LCALL DIS
LCALL PANDUAN
LCALL DL100MS
DJNZ R1,NW6
NOP
LJMP MAIN ;循环显示转速
PANDUAN: MOV A,BAI
CJNE A,#8,STOPP
LCALL FENGMING
LCALL CHUANKOU0
STOPP: RET
;***************************************************
;数据处理
;***************************************************
YOUYI: CLR C
MOV A,60H
RLC A
MOV 60H,A
MOV A,61H
RLC A
MOV 61H,A
CLR C
RET ;八位数乘以2
JISUAN: CLR A
MOV R3,#00H
MOV R4,#00H
MOV R5,#00H
MOV WAN,#00H
MOV R2,#10H
CLR C
HB: MOV A,60H ;八位2进制转BCD
RLC A
MOV 60H,A
MOV A,61H
RLC A
MOV 61H,A
MOV A,R5
ADDC A,R5
DA A
MOV R5,A
MOV A,R4
ADDC A,R4
DA A
MOV R4,A
MOV A,R3
ADDC A,R3
DA A
MOV R3,A
DJNZ R2,HB;
MOV A,R5
ANL A,#0FH
MOV GEI,A
MOV A,R5
SWAP A
ANL A,#0FH
MOV SHI,A
MOV A,R4
ANL A,#0FH
MOV BAI,A
MOV A,R4
SWAP A
ANL A,#0FH
MOV QIAN,A
RET
;****************************************
;时间调整
;****************************************
SHI_JIAN: MOV A,MIAO
DA A
MOV MIAO1,A
MOV A,FEN
DA A
MOV FEN1,A
MOV A,HOUR
DA A
MOV HOUR1,A
MOV A,MIAO1
ANL A,#0F0H
SWAP A
MOV MIAO2,A
MOV A,MIAO1
ANL A,#0FH
MOV MIAO1,A
MOV A,FEN1
ANL A,#0F0H
SWAP A
MOV FEN2,A
MOV A,FEN1
ANL A,#0FH
MOV FEN1,A
MOV A,HOUR1
ANL A,#0F0H
SWAP A
MOV HOUR2,A
MOV A,HOUR1
ANL A,#0FH
MOV HOUR1,A ;将时间数据调整为BCD码
;****************************************
;串口助手
;****************************************
CHUANKOU: CLR EA
MOV TMOD,#20H
MOV TH1,#0FDH
MOV TL1,#0FDH
MOV SCON,#40H
MOV PCON,#00H
SETB TR1 ;串口初始化
MOV DPTR,#SEG_TAB0
MOV R2,#05
LOOP00: MOV A,#00H
MOVC A,@A+DPTR
MOV SBUF,A
WAIT00: JBC TI,NEXT00
SJMP WAIT00
NEXT00: INC DPTR
DJNZ R2,LOOP00
MOV R0,#2EH
MOV R2,#06H
RED11: MOV A,@R0
ADD A,#30H
MOV SBUF,A
WAIT11: JBC TI,NEXT11
SJMP WAIT11
NEXT11: DEC R0
DJNZ R2,RED11
MOV DPTR,#SEG_TAB2
MOV R2,#05
LOOP33: MOV A,#00H
MOVC A,@A+DPTR
MOV SBUF,A
WAIT33: JBC TI,NEXT33
SJMP WAIT33
NEXT33: INC DPTR
DJNZ R2,LOOP33
MOV R0,#20H
MOV R2,#06H
RED22: MOV A,@R0
ADD A,#30H
MOV SBUF,A
WAIT22: JBC TI,NEXT22
SJMP WAIT22
NEXT22: DEC R0
DJNZ R2,RED22 ;传递数据到显示器上
MOV TMOD,#00010101B
MOV TH1,#0FCH
MOV TL1,#18H
SETB EA
RET
SEG_TAB0: DB 'T','I','M','E',':'
SEG_TAB2: DB ' ','S','P','D',':' ;字符表
CHUANKOU0: CLR EA
MOV TMOD,#20H
MOV TH1,#0FDH
MOV TL1,#0FDH
MOV SCON,#40H
MOV PCON,#00H
SETB TR1
MOV DPTR,#SEG_TAB4
MOV R2,#10
LOOP44: MOV A,#00H
MOVC A,@A+DPTR
MOV SBUF,A
WAIT44: JBC TI,NEXT44
SJMP WAIT44
NEXT44: INC DPTR
DJNZ R2,LOOP44 ;传递数据到显示器上
RET
SEG_TAB4: DB 'O','V','E','R',' ','S','P','D',' ','!'
CHUANKOU1: CLR EA
MOV TMOD,#20H
MOV TH1,#0FDH
MOV TL1,#0FDH
MOV SCON,#40H
MOV PCON,#00H
SETB TR1
MOV DPTR,#SEG_TAB5
MOV R2,#10
LOOP55: MOV A,#00H
MOVC A,@A+DPTR
MOV SBUF,A
WAIT55: JBC TI,NEXT55
SJMP WAIT55
NEXT55: INC DPTR
DJNZ R2,LOOP55 ;传递数据到显示器上
RET
SEG_TAB5: DB 'O','V','E','R',' ','T','P','E',' ','!'
END
四、系统调试
1、温度显示
单片机写入温度程序后,上电即显示温度。
注:室内温度低于26摄氏度。实验班在工作时,会放出一定热量,导致温度传感器周围温度要比室温高。
显示速度过程中,按下键4,会自动跳回温度界面。
按下键4
2、速度显示
按下键1,电机正转,按下键3,开始测速,并实时显示转速
按下键2,电机反转,按下键3,开始测速,并实时显示转速,此时转速为负数
注:速度是不间断刷新,实时变化的。调动电位器改变转速后,会显示不同的转速。
3、监控器应用
显示实时转速:“TIME 00 00 00 SPD000000“,
显示超速报警:“OVER SPD”,
显示超温报警:“OVER TMP”。
程序改进:
(一)问题:显示器上程序无法实时显示转速,都是000000?
改进:在程序中一处指令本应为INC,结果由于编码疏忽,成了DEC,现已改进
(二)问题:当程序超速报警后,无法调回主程序?
改进:经分析得知,报警程序有些混乱,现在已经重新编码
五、最终结果及个人总结
(一)。最终结果:本次课程设计,基本上完成了设计要求。由于时间紧迫,另外设计人员水平有限,对于扩展功能,只完成了一部分。具体如下:
第一、设计并制作了电机外接驱动电路,利用该驱动电路,完成了电机启动停止、正反转、调速功能。
第二、利用旋转编码器,通过编写测速及显示程序,能够利用LED数码管以十进制数显示电机转速(r/min)。
第三、能够通过改变直流永磁电机电枢两端电压的形式改变转速及切换其极性改变电机转动方向,测量系统能够实时测量和显示电机的转速和转向。(反转显示转速前加负号)
第四、通过编写程序,能够实现在不测量转速时,测量显示现场温度。(由于温度传感器18B20安装在实验板上,时间测量温度会随着实验板工作放热而发生改变,略高于实验室内温度)
第五、通过串口通信,可以将需要的数值输到显示器上,由于时钟程序没有做的精准,显示实时转速时,时间无法调节,但测速基本满足要求
第六、完成了速度超限报警,当速度超过800转上限时,蜂鸣器会报警,并传递信息到显示器上。
第七、完成了温度报警,当温度小于2度或者大于35度,蜂鸣器报警,并传递信息到显示器上。
(二)。个人总结:回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说三极管PNP管脚不懂怎么放置,不懂分得二极管的正负极,对单片机汇编语言掌握得不好,通过这次课程设计之后,一定把以前所学过的知识重新温故。
六鸣谢
这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在实验老师的辛勤指导下,终于游逆而解。同时,在实验老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!
附录:
元器件明细表
中国民航大学单片机课程设计报告数字温度计姓名白杨学号专业班级指导老师常美华赵淑舫所在学院航空自动化学院20xx年12月18日1概述…
51单片机课程设计报告学院:专业班级:姓名:指导教师:设计时间:51单片机课程设计一、设计任务与要求1.任务:制作并调试51单片机…
单片机课程设计:电子钟一、实现功能1、能够实现准确计时,以数字形式显示时、分、秒的时间。2、小时以24小时计时形式,分秒计时为60…
单片机课程设计姓名学号年级专业所在院系电气工程与自动化学院指导教师徐敏关键生提交日期1目录一课程设计任务书二设计项目简介三电路原理…
单片机原理与接口技术直流电机测速系统课程设计报告学院专业学生姓名学号指导教师时间一前言课程设计是培养学生综合运用所学知识发现提出分…
学院:专业班级:姓名:指导教师:设计时间:51单片机课程设计一、设计任务与要求1.任务:制作并调试51单片机学习板2.要求:(1)…
51单片机课程设计报告学院:专业班级:姓名:指导教师:设计时间:51单片机课程设计一、设计任务与要求1.任务:制作并调试51单片机…
江南大学课程名称设计题目班级姓名指导教师物联网工程学院课程设计报告单片机原理及应用基于单片机的步进电机控制器设计号评分20xx年6…
一6该课程设计是利用MCS51单片机内部的定时计数器中断系统以及行列键盘和LED显示器等部件设计一个单片机电子时钟设计的电子时钟通…
内容提要单片微型计算机简称单片机是典型的嵌入式微控制器常用英文字母的缩写MCU表示单片机它最早是被用在工业控制领域单片机由芯片内仅…