单片机课程设计实验(共9篇)(共9篇)
1.单片机课程设计实验 篇一
《单片机原理与应用》实验教案
第一章 实验安排
共8个实验,要求8次上机完成。这8个实验分别为: 实验一 利用软件仿真器调试算术运算程序 实验二 INT0中断实验
实验三 定时器/计数器定时实验 实验四 定时器/计数器计数实验
实验五 定时器/计数器T0扩展外部中断源实验 实验六 串行口扩展实验 实验七 DAC0832数模转换实验 实验八 8155接口芯片使用实验
其中前六个实验为验证性实验,第七个实验为设计性实验。最后一个为综合性实验。每个实验3学时。
第二章 实验须知
一、预习要求
1、实验前认真阅读实验要求,明确实验目的和实验任务。
2、拟订实验步骤,编好上机程序。
二、报告要求
共八个实验,每个实验完成后交实验报告,写在实验报
告纸上,报告中应包含以下内容:
1、实验名称、实验人姓名、学号、班级
2、实验目的、任务(内容);
3、实验步骤
记录主要实验过程。
4、实验结果
(1)记录实验现象;
(2)要求写出已调试通过的实验程序清单(加适量注 释)
第三章 实验项目及内容
实验一 利用软件仿真器调试算术运算程序 1.目的要求
(1)熟悉WAVE调试软件的使用。(2)熟悉算术运算程序编程和调试的方法。2.实验内容
(1)有6个数据分别放在片内RAM区50H~55H单元中,试求和,并将结果放在片内RAM区03H(高位),04H(低位)单元中。
(2)编程将内部RAM70H~7FH中的16个数据按从小到 大的顺序重新排序。
3.主要仪器设备
PC机一台。
4.程序清单(1)数据和.ASM ORG 0000H LJMP MAIN ORG 1000H MAIN:MOV R2,#06H MOV R3,#00H MOV R4,#00H MOV R0,#50H L1:MOV A,R4 ADD A,@R0 MOV R4,A INC R0 CLR A ADDC A,R3 MOV R3,A DJNZ R2,L1 END(2)数据排序.ASM ORG 0000H LJMP MAIN ORG 1000H MAIN:MOV R2,#70H MOV R3,#71H L2:ACALL L1 INC R2 INC R3 CJNE R3,#80H,L2 L3:SJMP L3 NOP L1:MOV A,R2 MOV R0,A MOV A,R3 MOV R1,A MOV A,@R0 L5:CLR C SUBB A,@R1 MOV A,@R0 JC L4 XCH A,@R1 MOV @R0,A L4:INC R1 CJNE R1,#80H,L5
RET END
实验二 INT0中断实验(验证性实验
3学时,必做)
1.目的要求
(1)掌握MCS-51单片机中断原理以及编程使用方法。(2)理解下降沿中断和低电平中断的区别。
2.实验内容
(1)编写主程序,读取开关SW1的状态,当其闭合时初始化为下降沿中断,反之,初始化为低电平中断,且发光管灭;编写中断服务程序,使发光管闪烁5次,间隔250ms,即中断服务程序的执行时间为2.5秒。退出中断程序时,使发光管灭。(2)用万用表测量C点的电平,按下TR31秒钟,然后松 开,观察C点电平的变化。
3.实验所用仪器
实验板一块、直流稳压电源、编程器一台、万用表一块
4.程序清单(EXP7.ASM)ORG 0000H SJMP MAIN ORG 0003H LJMP INT0 MAIN:MOV SP,#60H mov p1,#0ffh NOP CLR P1.2 NOP NOP MOV C,P1.3 JC LOWER SETB IT0 SJMP CONT LOWER:CLR IT0 CONT:SETB EX0 SETB EA HERE:SJMP HERE INT0:MOV R0,#5 LP:CPL P1.2 DLY:MOV 30H,#5 DEL0:MOV R7,#100 DEL1:MOV R6,#125
DEL2:DJNZ R6,DEL2 DJNZ R7,DEL1 DJNZ 30H,DEL0 DJNZ R0,LP CLR P1.2 RETI END
实验三 定时器/计数器定时实验(验证性实验
3学时,必做)
1. 目的和要求
(1)掌握MCS-51单片机定时器/计数器定时功能的使用方法。
(2)了解定时和计数的本质区别和联系。
2. 实验内容
编写程序,初始化定时器/计数器T0工作在定时方式1,使P1.2输出周期为10秒的方波,即使发光管亮3秒,灭7秒。
3.实验所用仪器
实验板一块、直流稳压电源、编程器一台、万用表一块
4. 程序清单(EXP9.ASM)ORG 0000H LJMP MAIN ORG 000BH LJMP INTT0 MAIN: MOV SP,#60H CLR P1.2 MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#3CH SETB TR0 SETB ET0 SETB EA LP: SETB P1.2 MOV A,#30 MOV 30H,#00 DL1:CJNE A,30H,DL1 CLR P1.2
MOV A,#70 MOV 30H,#00 DL2:CJNE A,30H,DL2 SJMP LP INTT0: MOV TL0,#0B0H MOV TH0,#3CH INC 30H RETI END 实验四 定时器/计数器计数实验(验证性实验
3学时,必做)
1. 实验目的和要求
(1)掌握MCS-51单片机定时器/计数器计数功能的使用方法。
(2)了解定时和计数的本质区别和联系。
2. 实验内容
编写程序,通过8个发光二极管来显示所计脉冲个数。
3.实验所用仪器
实验板一块、直流稳压电源、编程器一台、万用表一块
4.程序清单(EXP10.ASM)
U33CLK EQU 0FF90H ORG 0000H MAIN:MOV SP,#60H MOV TMOD,#05H SETB TR0 MOV DPTR,#U33CLK RDTIMER: MOV A,TH0 MOV R0,TL0 CJNE A,TH0,RDTIMER MOV R1,A MOV A,R0 CPL A MOVX @DPTR,A SJMP RDTIMEr END
实验五 定时器/计数器T0扩展外部中断源实验
(验证性实验
3学时,必做)
1. 实验目的和要求
掌握利用定时器/计数器扩展外部中断源使用的方法。
2. 实验内容
编写主程序,使发光管灭;编写中断服务程序,当执行中断服务程序时,发光管闪烁5次,间隔500ms,主程序运行后通过按TR3按钮触发中断。
3.实验所用仪器
实验板一块、直流稳压电源、编程器一台、万用表一块
3. 程序清单(EXP11.ASM)ORG 0000H LJMP MAIN ORG 000BH LJMP INTT0 MAIN:MOV SP,#60H MOV TMOD,#05H MOV TH0,#0FFH MOV TL0,#0FFH SETB ET0
SETB EA SETB TR0 CLR P1.2 HERE:SJMP HERE INTT0:MOV R0,#10 LP:CPL P1.2 DLY:MOV 30H,#10 DEL0:MOV R7,#100 DEL1:MOV R6,#125 DEL2:DJNZ R6,DEL2 DJNZ R7,DEL1 DJNZ 30H,DEL0 DJNZ R0,LP CLR P1.2 MOV TH0,#0FFH MOV TL0,#0FFH RETI END
实验六 串行口扩展实验(验证性实验
3学时,必做)
1.实验目的和要求
(1)掌握MCS-51单片机串行口方式0的工作原理。(2)了解方式0的应用,即通过串行口扩展输出口,进行静态显示的方法。
(3)掌握串行移位寄存器芯片74LS164的工作原理。
2.实验内容
编制程序使数码管循环依次显示00到99,每秒加1。
3.实验所用仪器
实验板一块、直流稳压电源、编程器一台、万用表一块
4.程序清单(12.ASM)
ORG 0000H LJMP MAIN ORG 000BH LJMP intt0 MAIN:MOV SP,#60H MOV TMOD,#01H SETB ET0 SETB EA MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 LLP:MOV 30H,#0 MOV 31H,#0 MOV 32H,#0 MOV 33H,#0 LP:MOV R0,#32H MOV R7,#2 ACALL BINBCD MOV DPTR,#TAB DSPLY: MOV A,@R0 MOVC A,@A+DPTR;cpl a MOV SBUF,A DSP1:JNB TI,DSP1 CLR TI INC R0 DJNZ R7,DSPLY LP1:MOV A,30H CJNE A,#10,LP1 MOV 30H,#00H INC 31H MOV A,31H
CJNE A,#100,LP SJMP LLP intt0:MOV TL0,#0B0H MOV TH0,#3CH INC 30H RETI;tab:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh tab: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h BINBCD:MOV A,31H MOV B,#10 DIV AB MOV 33H,A MOV A,B MOV 32H,A RET END
实验七 DAC0832数模转换实验(设计性实验
3学时,必做)
1. 设计目的
(1)掌握DAC0832与MCS51单片机的接口方法。(2)掌握D/A转换程序的设计方法。
2. 设计题与要求
认真复习所学习的DAC0832的工作方式,利用单缓冲
方式使0832输出锯齿波和三角波。并设计使运放LM741输出0-5V和0--5V的波形。如果不用示波器,如何测试你所设计的电路和所编写的程序是否正确。
3.实验所用仪器
实验板一块、直流稳压电源、编程器一台、万用表一块、示波器一台。
4.设计原理
D/A转换器的输入为数字量,经转换后输出为模拟量。
DAC0832为一个8位D/A转换器,单电源供电,在+5~+15V范围内均可正常工作。MCS-51单片机与DAC0832的接口有3种连接方式,即直通方式、单缓冲方式及双缓冲方式。所谓单缓冲方式就是使DAC0832的两个输入寄存器中有一个处于直通方式,而另一个处于受控的锁存方式,当然也可使两个寄存器同时选通及锁存。本实验中采用该方式。要求WR1和WR2连接在一起接在89C51的WR端,CS和XFER连接在一起接在片选端,ILE接+5V。
0832可以产生很多波形,如:三角波、锯齿波、梯形波等。5.设计内容
编制程序使运放LM741输出锯齿波和三角波,具体步骤:断开开关SW1,输出锯齿波;闭和开关SW1,输出三角波。
6.程序清单(DAC0832.asm)CS0832 EQU 0FF9FH ORG 0000H MAIN:MOV P1,#0FFH NOP JNB P1.3,RWAVE MOV DPTR,#CS0832 MOV A,#00H LP:MOVX @DPTR,A NOP NOP INC A AJMP LP RWAVE:MOV DPTR,#CS0832 MOV A,#00H LP1:MOVX @DPTR,A NOP INC A CJNE A,#255,LP1 NOP LP3:MOVX @DPTR,A NOP
DEC A CJNE A,#00H,LP3 MOVX @DPTR,A NOP SJMP LP1 END
实验8 8155接口芯片使用实验(综合性实验
3学时,必做)
1.实验目的和要求
(!)掌握MCS-51单片机系统I/O扩展方法。
(2)掌握并行接口芯片8155的性能以及编程使用方法。(3)掌握单片机系统动态LED显示和键盘输入程序的设计方法。
2.实验内容
编写程序实现下列功能:程序运行后数码显示管显示HHMMSS(000000),即时分秒,按键调整其为正确的时间并继续运行。
该实验综合性较强,建议学生分两步走:第一步完成显示,可以参考实验六;第二步完成键盘扫描。
3.实验所用仪器
实验板一块、直流稳压电源、编程器一台、万用表一块
4.程序清单(EXP152.asm)CE8155 EQU 0FF80H CA8155 EQU 0FF81H CB8155 EQU 0FF82H CC8155 EQU 0FF83H HMS EQU 40H SECOND EQU 41H MINUTE EQU 42H HOUR EQU 43H ORG 0000H LJMP MAIN ORG 000BH LJMP INTT0 MAIN:MOV SP,#60H MOV A,#00000011B MOV DPTR,#CE8155 MOVX @DPTR,A MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H SETB ET0 SETB EA
SETB TR0 LP2:MOV HMS,#00H MOV SECOND,#00H MOV MINUTE,#00H MOV HOUR,#00H LP3:MOV R0,#30H MOV R7,#6 ACALL BINBCD MOV R2,#01H MOV A,R2 LOOP:MOV DPTR,#CA8155 MOVX @DPTR,A INC DPTR PUSH DPL PUSH DPH MOV DPTR,#TAB MOV A,@R0 MOVC A,@A+DPTR POP DPH POP DPL MOVX @DPTR,A ACALL DL2MS INC R0 MOV A,R2 JB ACC.5,LP1 RL A MOV R2,A AJMP LOOP lp1:acall kd1 AJMP LP3 INTT0:MOV TL0,#0B0H MOV TH0,#3CH INC HMS MOV A,HMS CJNE A,#0AH,PP MOV HMS,#00H INC SECOND MOV A,SECOND CJNE A,#60,PP MOV SECOND,#00H INC MINUTE MOV A,MINUTE CJNE A,#60,PP MOV MINUTE,#00H
INC HOUR MOV A,HOUR CJNE A,#24,PP MOV HOUR,#00H PP:RETI BINBCD:MOV A,HOUR MOV B,#10 DIV AB MOV 30H,A MOV 31H,B MOV A,MINUTE MOV B,#10 DIV AB MOV 32H,A MOV 33H,B MOV A,SECOND MOV B,#10 DIV AB MOV 34H,A MOV 35H,B RET tab:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH DL2MS:MOV R3,#5 DLT1:MOV R4,#125 DLT2:DJNZ R4,DLT2
DJNZ R3,DLT1
RET KD1:ACALL KS1 JNZ LK1 ACALL DL2MS AJMP QQ LK1:ACALL DL2MS ACALL DL2MS ACALL DL2MS ACALL DL2MS ACALL KS1 JZ QQ MOV R5,#0FEH MOV R4,#00H MOV DPTR,#CA8155 MOV A,R5 MOVX @DPTR,A INC DPTR INC DPTR MOVX A,@DPTR JB ACC.0,LONE mm1:acall dl2ms acall dl2ms acall ks1 jnz mm1 INC HOUR MOV A,HOUR CJNE A,#24, LONE MOV HOUR,#00H LONE:MOV A,R5 RL A MOV R5,A MOV DPTR,#CA8155 MOV A,R5 MOVX @DPTR,A INC DPTR INC DPTR MOVX A,@DPTR JB ACC.0,LONE1 mm2:acall dl2ms acall dl2ms acall ks1 jnz mm2 INC MINUTE MOV A,MINUTE CJNE A,#60,LONE1 MOV MINUTE,#00H LONE1: MOV A,R5 RL A MOV R5,A MOV DPTR,#CA8155 MOV A,R5 MOVX @DPTR,A INC DPTR INC DPTR MOVX A,@DPTR JB ACC.0,QQ mm3:acall dl2ms acall dl2ms acall ks1 jnz mm3 INC SECOND MOV A,SECOND
CJNE A,#60,QQ MOV SECOND,#00H QQ:RET KS1:MOV DPTR,#CA8155 MOV A,#00H MOVX @DPTR,A INC DPTR INC DPTR MOVX A,@DPTR CPL A ANL A,#03H RET END
四、考核办法
每个实验:预习10%、实验操作60%、实验报告30%。最后成绩以每次实验课程成绩累加被实验项目个数相除的办法计算。
五、主要参考资料
1、《单片机接口技术开发实验指导书》
北京科技大学C31实验室
2、《8051实验指导书》
西安唐都科教仪器公司
2.单片机课程设计实验 篇二
(一)模拟实验平台的建立
近年来,随着FLASH型单片机的广泛应用,采用软件模拟加写片验证成为一种经济实用的实验方法。要使学生能够真正掌握单片机技术,需要他们亲自动手焊制单片机实验板,亲自动手烧录程序,而且实验过程不能复杂,通过亲自做实验,把课堂上学习的概念性知识转换成视觉可以观察到的物理现象所发生的各种变化,提高学生的感性认识和激发他们学习的兴趣。下面是广西理工职业技术学校在教学中单片机模拟实验平台的建立:
1. 合理配置公共实验平台。
过去的单片机实验设备,主要以专用的单片机开发系统为主,投资较大而设备的利用率低(中职教学很多功能没用上),编写程序和修改程序很不方便,对初学单片机的学生来说很难掌握复杂的操作界面。由于以上种种原因,教学单位常配置为数不多的单片机开发系统,因此,学生上机实验受到了极大的限制,很难达到理论课与实验课“交替”的教学效果(实验课无法与理论课同步)。广西理工职业技术学校使用30台电脑局域网连接(和PLC实验共用),每台电脑配置一个TOP853编程器,采用MedWin仿真软件和TopWin烧写软件,不算电脑费用,每个工位330元就可以开展单片机实验!TOP853编程器体积小巧,采用USB通用串口与PC机连接通信,传输速率高, 抗干扰性能好,可靠性能极高,特别适合烧写各种电擦除器件。MedWin仿真软件和TopWin烧写软件,全中文界面,操作方法简单易学,学生很容易就掌握了单片机的编程→汇编→固化等等操作界面的使用,大大提高了单片机的实验教学效率。
2. 配置学生专用的单片机模拟实验板。
单片机实验板是单片机实验板是单片机教学中每个学生的必备学习工具,由学生自己购买散件组装一块带LED(发光二极管)的单片机实验板(参考价20元),如图1,人手一套,单片机实验板是一块由89C51单片机和32只LED组成的发光条(发光二极管)及两组三极管输出驱动电路组成(一组驱动0.25W扬声器,另一组驱动5V微型继电器),原理图如图2,让学生第一时间感受到单片机系统是怎么样的,如何进行工作的。其它实验板,如点阵实验板(参考价20元)、单片机控制强电实验板(参考价80元)等由实验室自行设计组装多套,供学生使用,总价格还不到一个单片机开发系统实验箱!这样,人人拥有实训设备,大大缓解中职扩招而造成的实验资源紧缺的压力,实训空间得到了无形的拓展。
(二)根据模拟实验平台,选择适合学生学习的知识点
单片机技术是一门比较难学的课程,它包括了数字电路技术、模拟电路技术、传感器技术、通讯技术、计算机硬件接口技术、计算机软件编程技术等等基础知识,众多的相关内容,对中专层次的学生是难以接受的。根据广西理工职业技术学校多年的单片机教学实践,中等职业学校的培养目标制订在初级目标较为合适,简述如下:掌握通用型MCS-51单片机的基本结构(主要是单片机的内部ROM和RAM及管脚功能和定义);掌握单片机的最小硬件设计系统(单片机最少需要连接几个外围元件才能正常工作);初步掌握单片机的程序设计(利用汇编指令系统进行模仿性编程、程序的烧录)。掌握了单片机以上三个方面的基础知识,学生基本上可以独立的承担单片机系统的维护。
(三)改革教学方法,合理安排授课内容
传统的单片机教学,均是以单片机的结构为主线,先讲单片机的硬件结构,然后是指令、编程、单片机系统的扩展和各种外围器件的应用,最后再讲一些实例,按照这种教学结构,中等职业学校的学生普遍感到难学,一个从未接触过计算机结构的人,甚至数字电路也是刚刚接触的人,要他去理解单片机内部结构,这实在是不容易。以8051系列单片机为例,它是一种大规模的集成电路芯片,具有111条汇编指令系统。许多单片机教科书都是按照内部结构→指令系统→设计实例进行逐步介绍,在讲解单片机内部硬件结构和指令系统的理论概念时,只能按照硬件等效框图、指令书写格式、使用文字说明方法表达它们的功能及作用,当8051单片机的111条汇编指令学完后,学生还是没有弄明白MOVP1,#00H和MOV P1,#0FFH怎么就能使接在单片机P1端口的8只LED点亮或熄灭,如果学习中出现的问题太多,而又没有得到及时解决,学生就会丧失学习单片机技术的信心,也就越学越没有兴趣。基于这种情况,在教学中尝试职业教育倡导的任务驱动教学法。任务驱动教学,就是突出实践在课程中的主体地位,用工作任务引领理论,使理论从属于实践。主要的教学思路是以任务为教学单元,打破原有界限,不管硬件结构、指令、编程的先后顺序,将各部分知识分解成一个个知识点,为了完成一个任务抽取每个部份的不同知识点,加以组合。
1.
以多种形式的点亮LED灯为学习任务,配置为完成该任务而必须掌握的指令、硬件结构知识、软件操作知识等,学完这些知识以后完成该任务,然后较为系统地学习一些硬件结构知识及常用指令,通过这种方式将学生普遍感到比较困难的该部分知识分解,把一个高的台阶变成若干低的台阶,使得学习者从一开始就能体会到成功的喜悦,有利于学习的顺利进行。
2.
用单片机控制点阵动态扫描显示字形,在单片机P0口和P2口分别接入一只8×8 LED点阵显示屏(列共阴极、行共阳极显示屏),在P0口接入显示屏的8列管脚、在P2口接入显示屏的8行管脚,如图3。采用动态扫描显示方式在显示屏上显示字形为学习任务,让学生很直观地学习查表,调用延时子程序等相关指令。
3.
用单片机模拟音频信号输出,使用图1单片机实验板中音频信号驱动电路,其中三极管驱动电路如图4,以单片机模拟警笛音频信号输出、单片机模拟消防车音频信号输出和用单片机模拟音阶音频信号输出(单片机音乐编程)等为学习任务,让学习在快乐、有趣中学习单片机相关指令。
4.
用单片机控制改造继电—接触器控制系统,通过单片机控制继电器电路板,以电力拖动控制线路基本环节为任务,如电动机正反转控制、星—三角降压启动及多台电动机联锁控制等,配置为完成该任务而必须掌握的指令、中断、定时器及查表程序的应用,为学生搭建弱电控制强电的桥梁,如图5为用单片机控制电动机星—三角降压启动控制I/O硬件接线示意。以往单片机教学就是写汇编语言,枯燥无味,现从实际应用的角度来学习单片机,而且是学生正在学习的感受较深的电力拖动控制中的应用,通过横向联系、比较学习,加深对电力拖动控制线路、PLC控制和单片机控制的理解。
唯有实际地做了才能学得更多,通过建立单片机模拟实验平台,拓展了实训空间,让单片机技能实训能人人参与。
摘要:《微机控制技术及应用》 (单片机技术) 是中等职业学校“机电技术应用专业”的主干课程, 单片机难学难教在中职教学中尤为突出。通过单片机模拟实验平台的建立, 提出实验设备、教学内容、教学方法三位一体的解决方案, 探索适合现代职业教育的新路子。
关键词:单片机技术,任务驱动教学法,单片机实验
参考文献
[1]姜大源.单片机技术[M].北京:高等教育出版社, 2005.
[2]周坚.单片机轻松入门[M].北京:北京航空航天大学出版社, 2004.
3.单片机课程设计实验 篇三
关键词:独立学院;单片机;分层教学法;设计性实验
现代工程对应用型人才的工程素质与实践能力的要求不断提高。单片机及接口技术课程是电子信息专业开设的一门重要课程,难度较大。如何提高学生的学习兴趣及工程实践能力,是该课程实验教学中亟待解决的问题。
一、实验教学现状
传统教学中学生主要做一些验证性的实验,理论与实践脱离,无法形成一个系统的知识链。由于现行课程体系采用条块分割的办法,相关课程之间不能进行有机衔接,无法实质性地提高学生实践能力。可见,教师需要在教学中补充与生活相关的设计性实验,激发学生学习的兴趣。
二、分层教学法在设计性实验中的应用
分层教学法是指教师预先设计难度不同的教学目标与练习,使水平不同的学生都能“摘到桃子”,获得成功的喜悦;其次,教师在备课时预先估计了在各层中可能出现的问题,并做了充分的准备,使实际施教可以有的放矢,有利于提高课堂教学的质量和效率。单片机课程涉及多门学科,但由于学生的综合素质参差不齐,必须在设计性实验中设置不同难度的实验目的,让所有学生都有能力参与并锻炼他们的团队协作能力。
1设置任务
新课程开课时就明确提出本课程要完成一个设计性实验,如本系在该课程中就安排实验“多维LED阵列的开放式设计”,用来激发学生的学习兴趣。要求学生自发组成1~3人的项目团队,设计一个多维的LED阵列,主要实现数字、文字或图形的显示。
(1)基本要求:完成一个88LED的平面;全屏LED灯能以至少三种模式被点亮。
(2)提高部分:完成多个88LED的平面;全屏LED灯能以至少三种模式被点亮;
(3)发挥部分:完成888LED的光立方(或其他异形结构);能显示特定的数字或图文。
(4)加分部分:图形或者文字显示时伴随音乐;跟着音乐“跳舞”。
2实验教学与指导
本设计的过程是一个比较完整的工程实践过程,需要经历学习研究、方案论证、系统设计、实现调试、测试标定、设计总结等过程。在实验教学中,应在以下几个方面加强对学生的引导:
(1)学习收集查阅相关资料,既要学习又要对比,还要修改总结,最终能根据实际情况制订合理的可实现方案。
(2)在选择器件时,既要考虑功能性也要考虑成本,以性价比为指导进行工程设计。
(3)仿真过程中,在满足功能的基础上要注重对程序进行优化,要考虑程序的兼容性并为后续的升级留有余地。
(4)由于实物的形体较为复杂,制作过程不太容易操作,要学会提出问题并解决问题。比如888分解为8个面,然后8个面分解为8行,最终从点构成线,从线构成面,再最终构建成立方体。
(5)在实验完成后,组织学生进行项目演示、汇报,学习交流不同的设计思想和方案,拓宽知识面。
在设计中,要注意学生设计的规范性,如基本电子线路的设计规范和惯用法;在仿真中,注意仿真器件的选择要与实物相符;在焊接制作中,要注意焊接方法,注意实物的美观性;在整个工程合作中,要着重交流和协作。
3考核要求与方法
项目完成后进行分组演示问答,最终教师和其他学生共同给出成绩,其中教师评分占70%,学生评分占30%。
(1)实物验收:按照实验任务等级的完成情况獲得一定的基础分值;在各等级内根据焊接质量、实物的演示效果获得一定的实物外观成绩。
(2)实物质量:能达到预期的演示效果,并具备一定的灵活性
(3)自主创新:功能构思、电路设计的创新性,自主思考与独立实践能力。
(4)实验成本:是否充分利用实验室已有条件,材料与元器件选择合理性,成本核算与损耗。
(5)实验报告:实验报告的规范性与完整性。
因开放式的设计内容难度不同,教师要注意根据不同方案细化评分准则,即鼓励学生创新又包容学生的多元。
三、小结
开放性、多层次的实验任务要求扩大学生自主选择空间。将分层教学法应用在单片机课程设计性实验中,极大提高了教学质量,对单片机的实验教学改革与创新有积极的指导意义。学科竞赛为电子学科的综合性设计实验教学明确了方向,可将其作为综合型实验和创新型实验项目的重要来源,学科竞赛是大学生实践能力和创新能力培养的重要手段和途径。
参考文献:
[1]谢辉,陈强,陈立万,赖于树单片机实训课程改革与工程应用型人才培养[J]职业教育研究,2015(2):60-63
[2]林建英,吴振宇电子设计竞赛在综合设计实验课程建设中的促进作用[J]实验室科学,2016(4):130-132
4.单片机课程设计 篇四
前言
在各种灾害中,火灾是最经常、最普通地威胁公众安全和社会发展的灾害之一。人类能够对火进行利用和控制,是文明进步的一个重要标志。火,给人类带文明进步、光明和温暖。但是,失去控制的火,就给人类造成灾害。据统计,我国 70 年代火灾年平均损失不到 2.5 亿元,80 年代火灾年平均损失不到
3.2 亿元。进入 90 年代,特别是 1993 年以来,火灾造成的直接财产损失上升到年均十几亿元,年均死亡 2000 多人。2010年上海静安区高层住宅着火,导致58人死亡,70余人受伤。2014年1月云南香格里拉大火,烧毁房屋100多栋,直接经济损失1亿多元人民币。火灾事件经常发生,防止火灾事故关系到人民群众的生命财产安全和社会和谐稳定。现在各种电子产品的普及,再加上人们防火意识的不强,这些都给火灾的发生带来了巨大的安全隐患。
5.单片机课程设计 篇五
学生姓名:
学
院: 电气与信息工程学院
班
级: 电子111班 指导教师:
日 期: 2014年9月20日
一、课程设计目的:
了解电子元器件的功能与原理,掌握单片机的结构和原理,学会使用单片机应用开发技术的相关软件如 keill、STC_ISP_V394等,能够使用c语言的语言编程简单的功能。
二、设计的思想:
利用所提供的单片机和开发板的原理图用keill软件编程程序以实现一些功能。然后用STC_ISP_V394.exe软件将编译完全正确的程序生成的hxe文件下载到开发板上,再调试编译的程序能否实现其所设计的功能。
1、对蜂鸣器的了解:
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,它由振荡器、电磁线圈、磁铁、振动膜片及外壳组成,接通电源后,振荡器产生的音频信号由电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,周期性的振动发声。
2、设计:
我们所使用的开发板实物图如图一,单片机对右上角蜂鸣器的控制是加入三极管接入vcc,单片机的第22引脚和负极上,以此来控制蜂鸣器工作。单片机我们选择STC89C52RC+1602液晶来实现对蜂鸣器的控制及显示所需要的信息。
图一 调试说明:
首先用Keil软件创建一个工程,将程序源代码输入并编译生成单片可执行的.hex文件。其次,打开单片机实践板的电源,接好串口线,用STC-ISP烧录软件,将.hex文件烧录入单片机中。程序下载完毕后,单片机会自动执行程序功能。最后,观察程序功能的执行情况,看是否达到了设计要求。
如果单片机实践板硬件电路的执行结果与设计结果一致,则说明设计过程及流程没有问题,完全符合设计要求。否则,先检查单片机实践板的硬件电路是否完好,是否有断点、漏焊、虚焊以及元器件是否完好等情况,排除故障重新连接后重新进行调试。如果仍然无法正
常实现,则说明程序编写有误,需要认真检查程序流程,然后经过反复的修改与调试排除故障,实现设计要求的各项功能。编译和烧写该程序到单片机:
(1)用Keil编译上面的代码,并设置产生16进制代码文件*.hex.(2)用专用下载线,连接好实验板和电脑串口(DB9)(2)运行hex文件烧写软件STC_ISP_V394.exe
选单片机的型号,并打开编译产生好的hex文件
点击下载,给开发板上电。
3、实现的功能:使用单片机将歌曲《八月桂花》的调子通过蜂鸣器播放出来,用1602液晶将想要表达的信息有步骤地显示在液晶显示屏上,并且调子与显示内容可以任意通过修改的程序烧录到单片机内,实现设计产品的使用性与灵活性。
三、实验程序:
/************************************************************************
[主题] C51音乐程序《八月桂花》
[功能]
通过单片机演奏音乐,显示一些内容
/**********************************************************************/
#include
#include
//本例采用89C52, 晶振为11.0592MHZ
//关于如何编制音乐代码, 其实十分简单,各位可以看以下代码.//频率常数即音乐术语中的音调,而节拍常数即音乐术语中的多少拍;
//所以拿出谱子, 试探编吧!
unsigned char i=0;sbit Beep = P2^7;
unsigned char p,m;
//m为频率常数变量
unsigned char n=0;//n为节拍常数变量
unsigned char code music_tab[] ={
0x18, 0x30, 0x1C , 0x10, //格式为: 频率常数, 节拍常数, 频率常数, 节拍常数,0x20, 0x40, 0x1C , 0x10,0x18, 0x10, 0x20 , 0x10,0x1C, 0x10, 0x18 , 0x40,0x1C, 0x20, 0x20 , 0x20,0x1C, 0x20, 0x18 , 0x20,0x20, 0x80, 0xFF , 0x20,0x30, 0x1C, 0x10 , 0x18,0x20, 0x15, 0x20 , 0x1C,0x20, 0x20, 0x20 , 0x26,0x40, 0x20, 0x20 , 0x2B,0x20, 0x26, 0x20 , 0x20,0x20, 0x30, 0x80 , 0xFF,0x20, 0x20, 0x1C , 0x10,0x18, 0x10, 0x20 , 0x20,0x26, 0x20, 0x2B , 0x20,0x30, 0x20, 0x2B , 0x40,0x20, 0x20, 0x1C , 0x10,0x18, 0x10, 0x20 , 0x20,0x26, 0x20, 0x2B , 0x20,0x30, 0x20, 0x2B , 0x40,0x20, 0x30, 0x1C , 0x10,0x18, 0x20, 0x15 , 0x20,0x1C, 0x20, 0x20 , 0x20,0x26, 0x40, 0x20 , 0x20,0x2B, 0x20, 0x26 , 0x20,0x20, 0x20, 0x30 , 0x80,0x20, 0x30, 0x1C , 0x10,0x20, 0x10, 0x1C , 0x10,0x20, 0x20, 0x26 , 0x20,0x2B, 0x20, 0x30 , 0x20,0x2B, 0x40, 0x20 , 0x15,0x1F, 0x05, 0x20 , 0x10,0x1C, 0x10, 0x20 , 0x20,0x26, 0x20, 0x2B , 0x20,0x30, 0x20, 0x2B , 0x40,0x20, 0x30, 0x1C , 0x10,0x18, 0x20, 0x15 , 0x20,0x1C, 0x20, 0x20 , 0x20,0x26, 0x40, 0x20 , 0x20,0x2B, 0x20, 0x26 , 0x20,0x20, 0x20, 0x30 , 0x30,0x20, 0x30, 0x1C , 0x10,0x18, 0x40, 0x1C , 0x20,0x20, 0x20, 0x26 , 0x40,0x13, 0x60, 0x18 , 0x20,0x15, 0x40, 0x13 , 0x40,0x18, 0x80, 0x00
};
void int0()interrupt 1
//采用中断0 控制节拍
{ TH0=0xd8;
TL0=0xef;
n--;
}
void delay(unsigned char m)
//控制频率延时
{
unsigned i=3*m;
while(--i);
}
void delayms(unsigned char a)//豪秒延时子程序
{
while(--a);
//采用while(--a)不要采用while(a--);各位可编译一下看看汇编结果就知道了!
}
typedef unsigned char BYTE;typedef bit BOOL;
sbit LCD_RS = P2^0;
sbit LCD_RW = P2^1;sbit LCD_EP = P2^2;
BYTE code dis1[] = {“
WLCOME TO
”};BYTE code dis2[] = {“
DanPianJi ”};BYTE code dis3[] = {“
111iZnaiD
”};BYTE code dis4[] = {“
eiXeiX ”};
delays(int ms){
// 延时子程序 int i;while(ms--){
for(i = 0;i< 250;i++)
{
_nop_();
_nop_();
_nop_();
_nop_();
} } }
BOOL lcd_bz(){
// 测试LCD忙碌状态 BOOL result;LCD_RS = 0;LCD_RW = 1;LCD_EP = 1;_nop_();_nop_();_nop_();_nop_();result =(BOOL)(P0 & 0x80);LCD_EP = 0;return result;}
lcd_wcmd(BYTE cmd){
while(lcd_bz());LCD_RS = 0;LCD_RW = 0;LCD_EP = 0;_nop_();_nop_();P0 = cmd;_nop_();_nop_();_nop_();_nop_();LCD_EP = 1;_nop_();_nop_();_nop_();_nop_();LCD_EP = 0;
}
lcd_pos(BYTE pos){
lcd_wcmd(pos | 0x80);
// 写入指令数据到LCD //设定显示位置
}
lcd_wdat(BYTE dat)
{
//写入字符显示数据到LCD while(lcd_bz());LCD_RS = 1;LCD_RW = 0;LCD_EP = 0;P0 = dat;_nop_();_nop_();_nop_();_nop_();LCD_EP = 1;_nop_();_nop_();_nop_();_nop_();LCD_EP = 0;}
lcd_init(){
lcd_wcmd(0x38);
delays(1);lcd_wcmd(0x0c);
delays(1);lcd_wcmd(0x06);
delays(1);lcd_wcmd(0x01);
delays(1);}
void main()
{
BYTE j;
lcd_init();
delays(10);
//LCD初始化设定
//16*2显示,5*7点阵,8位数据//显示开,关光标 //移动光标 //清除LCD的显示内容
// 初始化LCD
lcd_wcmd(0x06);
//向右移动光标
lcd_pos(0);
//设置显示位置为第一行的第1个字符
j = 0;
while(dis1[ j ]!= ')
{
//显示字符“Welcome TO”
lcd_wdat(dis1[ j ]);
j++;
delays(30);
//控制两字之间显示速度
}
lcd_pos(0x40);
j = 0;
while(dis2[ j ]!= ')
{
lcd_wdat(dis2[ j ]);
j++;
delays(30);
}
delays(800);
lcd_wcmd(0x01);
delays(1);
lcd_wcmd(0x04);
lcd_pos(15);
j = 0;
while(dis3[ j ]!= ')
{
lcd_wdat(dis3[ j ]);
j++;
delays(30);
}
lcd_pos(0x4F);
j= 0;
while(dis4[ j ]!= ')
{
lcd_wdat(dis4[ j ]);
j++;
delays(30);
}
delays(800);
//设置显示位置为第二行第1个字符 //显示字符“ DanPianJi ”
//控制两字之间显示速度
//控制停留时间
//清除LCD的显示内容
//向左移动光标
//设置显示位置为第一行的第16个字符
//显示字符“DianZi111”
//控制两字之间显示速度
//设置显示位置为第二行的第16个字符//显示字符“ XieXie ”
//控制两字之间显示速度
//控制停留时间
TMOD&=0x0f;
TMOD|=0x01;
TH0=0xd8;TL0=0xef;
IE=0x82;
play:
while(1)
{
a: p=music_tab[i];
if(p==0x00)
{ i=0, delayms(1000);goto play;}
//如果碰到结束符,延时1秒,回到开始再来一遍
else if(p==0xff){ i=i+1;delayms(100),TR0=0;goto a;} //若碰到休止符,延时100ms,继续取下一音符
else
{m=music_tab[i++], n=music_tab[i++];} //取频率常数 和 节拍常数
TR0=1;
//开定时器1
while(n!=0)Beep=~Beep,delay(m);
//等待节拍完成, 通过P1口输出音频(可多声道哦!)
TR0=0;
//关定时器1
}
}
四、电路图的protue仿真
五、单片机课程设计心得体会:
这个学期的单片机课已经早早的上完了,但是理论纯属理论,没有与实践的结合总让我们学的不踏实,感觉没有达到学以致用的效果。所庆幸的是在课程介绍考试完之后,老师给我们安排了这次单片机课程设计,给了我们学以致用的做好的实践
关于这次课程设计,我们花费了比较多的心思,既是对课程理论内容的一次复习和巩固,还让我们丰富了更多与该专业相关的其他知识,比如软件应用等,在摸索中学习,在摸索中成长,在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获,在真正设计之前我们做了相当丰富的准备,首先巩固一下课程理论,再一遍熟悉课程知识的构架,然后结合加以理论分析、总结,有了一个清晰的思路和一个完整的的软件流程图之后才着手设计。在设计程序时,我们不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;养成注释程序的好习惯是非常必要的,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也能为资料的保存和交流提供了方便;我觉得在设计课程过程中遇到问题是很正常,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计又出错了。
除了对此次设计的准备工作之外,我们还学到了很多平时难得的东西,首先是团队协作,在这次设计当中,难免和同学产生观点和意见的分歧,以及分工明细、时间安排等不合理,通过这次设计,我们体会到了团结合作的重要性及力量之强大,还有让我们处理事情更加有条理,思路更加清晰明了了,发现、提出、分析、解决问题和实践能力的提高都将受益于我在以后的学习、工作和生活中。
6.单片机课程设计实验 篇六
射频识别技术(RFID)[1]是利用射频方式进行通信,实现一定距离接触或非接触通信和识别,可用来追踪和管理所用的对象。是物联网底层的各种数据采集设备中重要的一种,在物流、电子证件、工业自动化控制、商业自动化、ETC、防伪,以及军事领域都有着广泛的应用。尤其是现在的物联网,有着重大的研究价值和商业前景。RFID一般包括读写器和电子标签(应答器)两部分:电子标签由天线和内置芯片构成,RFID读写器有手持或固定的两种。RFID的主要任务是控制射频模块向电子标签发射读写信号,接收标签的应答信息,由连接的终端完成信息存储和处理。根据EPC规范,可以把电子标签分为三类:CLASS0(900MHz)、CLASS1(13.56MHz)和CLASS2(860~930MHz)。CLASS0由生产厂商一次写入数据用户不能修改;CLASS1可由用户一次写入;CLASS2允许用户多次写入,并且电子标签有一定存储空间,可存储一些附加数据。本文主要讨论利用已有的RFID相关芯片,结合AT89S52单片机[2],设计并实现射频识别读卡器[3]实验装置,为今后向可编程逻辑FPGA[4]移植和进一步研究奠定基础。
1 系统设计
完整的RFID系统包括:读写器、通讯总线、液晶屏、按键组、天线、标签等。系统总体结构如图1所示。由MCU(S52单片机)控制读写器模块完成对电子标签的读写操作,将获取的数据在液晶屏显示和存储器进行相关操作。MCU集中控制外设,负责和外设交换数据,与RF模块通信。RF接口负责调制解调信号,并从载波信号中提取数字信号。
1.1 硬件设计
1.1.1 射频模块
射频模块对标签的读写是通过发射高频电磁波,电子标签内置的线圈在电磁感应原理下产生电流驱动内置的芯片,进行应答。读写器的射频模块接收到回波信号将其调制成基带信号,提取有用的信息并送到单片机的MCU进行处理。射频模块功能框图见图2。
该模块以FM1702SL[5]为核心芯片,应用于13.56MHz非接触式IC卡的读写。支持该频率下CLASS1非接触通讯协议,支持多种加密算法。不需要增加有源电路就可以驱动近距离天线,最远作用距离可达10cm。采用正交解调电路解调RX引脚的负载波信号,其原理图如图3所示。
FM1702SL芯片有8个寄存器页,每页8个寄存器,每个寄存器位宽为8,采用统一编址方式。MCU通过SPI接口与FM1702SL通信,如果MCU要让FM1702SL执行某种命令,只需将相关命令写入相应寄存器即可。
1.1.2 SPI接口
SPI(serial peripheral interface)总线技术是Motorola公司开发的一种同步串行接口,用于CPU和各种外围器件进行全双工、同步串行通讯。它只需要四根线就可以完成MCU与各种外围器件的通讯,这四条线是:串行时钟线MSCK、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI、低电平有效从机选择线SS。当SPI工作时,移位寄存器中的数据逐位从输出引脚(MOSI)输出,高位在前,同时从输入引脚(MISO)接收数据逐位移位到移位寄存器(高位在前)。发送一个字节后,从另一个外围器件接收的字节数据进入移位寄存器,主SPI的时钟信号使传输同步。
SPI接口[6,7]的主要特点有:可以同时发送和接收串行数据,可以当作主机(Master)和从机(Slave)工作。提供频率可编程时钟(频率可变或可编程的时钟发生器),发送结束终端标志,写冲突保护,总线竞争保护等。SPI接口芯片与主机的连接方式见图4。SPI的工作时序见图5。
SPI为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟和极性可以进行配置,时钟极性(CPOL)对传输协议没有大的影响。当CPOL=0,串行同步时钟的空闲状态为低电平;如果CPOL=1,串行同步时钟的空闲状态为高电平。另外还有时钟相位(CPHA)。当CPHA=0,在串行同步时钟的第一个跳变沿数据被采样;CHPA=1时,在串行同步时钟的第二个跳变沿数据被采样。
1.2 软件实现
1.2.1 系统工作流程
MCU读写芯片的工作流程如下:(1)复位并初始化FM1702SL、SPI通信接口、FM1702SL定时器、设置定时器控制寄存器。(2)请求:当IC卡在天线工作范围且读写器模式为Read时,卡片ATR启动,卡片Block0中卡片类型号共2个字节传送给读写器,建立卡片和读写器通信。通过复位请求操作回到初始状态,选择其他模式进行相应操作。出现错误按RESET键,在响应状态实现对卡片读、写、增值、减值等操作。操作流程如图6所示。
1.2.2 主函数
根据读卡器工作流程,需要设计的模块包括APP、EE-PROM、KEY、LCD、SOFTUART。主函数调用的头文件如“reg52.h”以及功能函数需要的头文件等将会在主程序中包含进来。头文件省略,主函数设计如下:
其中showi()是字符串显示函数,cmdi()接收numid转入相应的功能函数进行处理并返回处理结果,将处理的数据显示出来。对于不同的numid下对应的show(),不同的cmd()中嵌套的功能函数不同。至于功能函数,在下面进行了部分列举,其它函数的结构类似不再赘述。
1.2.3 功能模块函数
系统的硬件有两个部分很重要:一是MCU,另一个是射频模块。二者之间的连接是通过SPI接口实现的,下面给出SPI的软实现代码架构:
另外,还有一些重要的功能如寻卡、读卡、CRC校验、防冲突技术等等的实现,在此仅给出读卡功能函数,其他函数不作介绍。
读块函数:
2 实验验证
在该实验平台上可以验证读卡、写卡、充值、减值、更改密码等操作,这里选取读值部分实验验证过程及结果作简要阐述。
(1)连上电源适配器,输出DC5V到板上,准备一张IC卡(白卡)没有记录任何数据。
(2)打开板上的电源开关,电源指示绿灯亮显示正常。将卡片放在射频感应区,按左右方向键进行状态的切换有CMD1~CMD8种状态,转到Initi_Purse状态,按确认键可以写入程序中已设的数据,数据是32000000CDFFFFFF。结果如图7所示。
(3)转到ADD_Purse状态,确认键可以将钱包增加一定数额,数值的大小由程序设定。
(4)进行读块操作,看钱包是否增值到指定数额。图7显示最后为370000000C8 FFFFFF。
(5)进行减值操作,完成后进入读状态,读出卡片中的值,回到32000000CDFFFFFF(见图8)。
3 总结
RFID并不是一种新的技术,但是最近兴起的物联网浪潮无疑将会拉动该领域的发展。本文探讨了使用S52单片机和射频芯片实现RFID系统基本功能的软硬件原理和方法,通过实验验证了系统能满足预定的功能。对以后深入研究更高频段的RFID技术,且能够同时实现多卡快速读取都有指导意义,具有一定的实用性。本文的缺点是同现实生活中使用的读写器的性能相比在功耗响应速度上有差距,有待改进。
参考文献
[1]Finkenzeller K.射频识别(RFID)技术——无线电感应的应答器和非接触IC卡的原理与应用[M].北京:电子工业出版社,2001:256-273.
[2]孙育才.ATMEL新型AT89S52系列单片机及其应用[M].北京:清华大学出版社,2009:152-183
[3]Q i Lei,Geng Wang.Design of a Handheld UHF RFID Reader for the Internet of Things[C]//2011International Conference on Computer and Management,China,ShangHai,May19-21,CAMAN,2011:1-4.
[4]田耘,徐文波.Xilinx FPGA开发教程[M].北京:清华大学出版社,2010:23-53.
[5]上海正勤电子公司.FM1702SL技术手册[M].上海:上海复旦微电子公司,2009:3-26.
[6]权建军.虚拟SPI在XFS4240与MCS51通信中的应用[J].单片机与嵌入式系统,2010,6:18-21.
7.单片机课程设计教学改革探讨 篇七
关键词:单片机;课程设计;教学改革
中图分类号 G420 文献标识码 A 文章编号 1007-7731(2013)06-160-02
安徽农业大学电气工程及其自动化专业2009年首次开始招生,2011年秋开始学习单片机原理及应用课程,讲解中采用了汇编语言与C语言两种版本,之后2012年上半年该专业2009级开始为期2周的单片机课程设计,在设计过程中初期发现如下问题:(1)学生设计题目由教师指定,数目较多,难度各异,学生自主选择空间不大;(2)学生理论基础尚可,但实践能力普遍较弱,主要表现在程序读写不熟悉(3)少数同学能很好完成任务,但不少同学存在“打酱油”情况;(4)小组成员虽然有明确分工,大多成员除了对自己的工作熟悉外,对其他成员所做工作不太熟悉,与其他小组间也缺乏交流。针对上述存在问题,在查阅大量参考文献的基础上[1-6],笔者着重从学生分组、选题、实施及考核等方面进行了整体设计,并依此对课程设计及时进行了重新部署。
1 分组
2009级共有99人,分两班进行,笔者所带班有50人。分组时主要考虑分组数量、组内成员搭配和班级协助小组(1)分组数量。组数过少,则组成员较多,会产生冗余人员,造成有些成员得不到有效实践机会;1人一组,虽然可以增加成员的动手机会,但缺乏团队协作方面的锻炼机会。因此,笔者选择了2人一组,这样整个班共分成25小组。(2)组内成员组成。若采且成员自由搭配的话,势必造成有些成绩好的同学在一组,一些成绩差的在一组,为了消除这些影响,选取单片机课程设计前修课程单片机原理及应用、C语言、模拟电路、数字电路、C语言课程设计、模拟电路课程设计和数字电路课程设计等7门课程的成绩,选取100为基数,分别对各科成绩进行归一化处理;把课程设计类归一化成绩权重设为2,单片机原理及应用归一化成绩权重设为1.5,其他课程归一化成绩权重设为1;把各科归一化成绩乘以权重后进行累加,得出该学生的综合成绩;最后按综合成绩进行排序,把第1名与第50名进行组合,第2名与第49名进行组合,其他以此类推。(3)班级协助小组。选取综合成绩前5名成员组成班级协助小组,由指导老师进行强化指导,然后在课程实施过程中负责协助老师指导其他相同课题小组。
2 选题
选题主要遵循以下原则。(1)采取指导教师定题或学生自主选题结合的原则。选题要贴近现实,便于学生了解课程设计的应用价值;(2)知识点要求原则。考虑单片机课程原理及应用的特点,设计选题应主要考虑锻炼各知识点,主要包括中断、定时器/计数器、串口通信和扩展与接口技术,因此,在笔者设置题目或学生自主选择的题目应至少涵盖3个知识点。(3)便于管理原则。以笔者所带班级为例,50人分为25组,若每组1题,势必造成题目过多,在电路元器件购置上引发更多工作量,组间不便于交流,协助小组也无法发挥其作用。因此,笔者先确定5个协作小组成员所在组的课程设计课题,协作小组成员间课题各不相同,可以选择指定课题,也可以自选课题,协作小组成员由指导教师强化训练,确保其可以指导其他小组;然后以协作小组成员所在组选题为参照,把其他20组分成5大组,每大组内所选课题均相同,指定每大组的具体协作指导人员。
3 实施
确定分组与选题后,开展前关键是阐述清楚考核机制(见下节)。明确考核办法后,开始正式进入实施阶段。采取的办法主要有:(1)采取一般指导与个别指导相结合的原则,一般指导针对全体人员开展包括文献检索、任务书制定、任务分配、时间节点安排、keil c51使用、proteus软件使用方面的整体介绍。个别指导主要是对协作小组人员或小组内主要人员针对上述难点问题进行具体指导;(2)明确各小组人员分工,确定任务时间节点;(3)明确协作小组人员任务;(4)先用keil 51编写应用程序,再用ASM编写应用程序,用proteus绘制电路并进行仿真,通过检查后方可焊接电路板;(5)电路板检验通过后,参照本科毕业设计要求,撰写设计说明书;(6)按小组采用PPT进行答辩,限时10min,包括电路设计、程序设计和经验体会。
4 考核
考核办法是确保分组管理、协作小组管理、选题及开展环节有效的关键措施,笔者在实施过程中主要遵循以下原则:(1)连带原则:小组成员答辩时必须清楚本小组课题的所有技术环节,包括电路设计、代码解释等;否则视为不合格,重新组织进行答辩;协作人员所负责大组初次答辩时存在成员不熟悉电路或代码情况下,协作人员不能加分(2)同组不同分原则:在小组答辩符合要求的情况下,根据任务安排,小组主要完成人在小组成绩基础上进行一定上浮;次要完成人进行一定下浮;(3)组间协作原则:在完成本小组课题的基础上,选则另一大组内课题进行学习,答辩时一同汇报,若不能,视为不合格,重新组织答辩,但不影响本小组的协作人员考核。
5 结论
笔者用上述分组、选题、实施及考核办法先后应用于安徽农业大学电气工程及其自动化专业2009级和2010级单片机原理课程设计,虽然设计的周期最后远远大于了2周,但方法从机制上保障了分组的合理性,从考核上杜绝了“打酱油”学生的存在;从机制上保障了选题的科学性,由此引发学生对于创新性的思考;从机制上明确了小组内、小组间的交流合作机会,锻炼了协作小组成员的领导能力,培养了学生间的互助协作精神。与学院同年级其他专业相同课程设计学生相比,笔者所指导的班级在整体上体现了很强的实践能力, 2009级学生在今年的毕业设计过程中,实践能力普遍受到了指导教师的认可,其中段熊波同学以单片机为基础的一个项目获得了安徽农业大学第五届“兴农杯”一等奖和第五届安徽省挑战杯创业大赛银奖;2010级87人也依此积极申请了10多项的校创新基金。但是由于方法尚处于试运行阶段,还存在一些尚需探讨的问题,希望能广大单片机课程设计指导教师提出宝贵的意见。
参考文献
[1]郝凤涛,祝名钰. 采用应用型题目提高单片机课程设计实验教学效果[J]. 实验室研究与探索,2005(24):224-226.
[2]胡瑞强,张毅刚,李成伟. 单片机课程设计教学改革探讨[J]. 实验科学与技术,2010(3):46-49.
[3]董亮,朱磊,何鹏. MCS-51单片机课程设计的研究[J]. 实验室科学,2008(4):56-57.
[4]马金祥,何一鸣. 单片机课程实践能力培养方法的探讨[J]. 常州工学院学报,2007(3):87-91.
[5]张毅刚. 单片机原理及应用[M]. 哈尔滨:哈尔滨工业大学出版社,2004:1-9.
[6]肖伸平,凌云,何小宁,等. 单片机应用技术课程实践化教学改革的探索[J]. 实验技术与管理,2006,23(12):104-106.
8.单片机课程设计要求 篇八
要求以AT89S52单片机为核心设计一个多功电子表,具有时钟和跑表功能。做时钟时在LED 显示器上显示分、秒,做跑表时显示范围000.0秒~999.9秒并具有跑表启动和跑表复位功能键。电子时钟的计时范围00分00秒59分-59秒,并在LED 显示器上显示;做跑表时显示范围000.0秒-999.9秒,当按下启动按钮跑表开始计时,按下停止按停止计时,当按下复位按钮跑表回零。
2.汽车尾灯的设计
设计要求:假设汽车尾部左右两侧各有3个指示灯(用发光二极管代替),应使指示灯达到三个要求:
(1)汽车正常运行时指示灯全灭;
(2)右转弯时,右侧三个指示灯按右循环顺序点亮;左转弯时左侧3个指示灯按左循环顺序点亮。
(3)临时刹车时所有指示灯同时闪烁。
3.数字温度计设计
要求采用8051单片机和温度传感器DS18B20设计一种数字温度计,测温范围-55到128度,测量精度为0.1摄氏度,由按键设定温度报警上下限值TH和TL,采用LCD作为数字温度计的显示器,分两行显示,第一行显示工作状态,正常时显示”DS18B20OK”,不正常时显示“DS18B20 ERROR”;第二行显示实测温度值和状态符号,“>H”表示实测温度大于温度报警值TH,“ 4、带温度显示功能的计时器 功能及技术指标: (1)本设计主要分为计时和温度显示功能两部分,实现天、时、分、秒的显示和温度的采集并显示功能。时间显示时、分、秒各两位数,并能够手动设置时间参数;温度表采集经过A/D转换显示并每60秒刷新。时分秒、温度交替显示。 (2)技术指标:显示计时小时、分钟和秒数(各2位);参数可手动设置;选择传感器,并设计相应的信号处理电路;实现实时温度显示功能(每60秒刷新一 次),温度测量范围-20~+60C 主要器件清单: 1、51芯片一个 2、显示管驱动芯片 3、AD590或 DS18B120温度传感器一个 4、显示管 5、译码芯片6、8位串行模数转换器 7、其他 若干。 5、具有语音功能的光控计数器 功能及技术指标: 实现数字式光电计数器的功能,对于某一空间内(例如:酒店、图书馆)的人数统计,通过单片机实现,有人进来说:(欢迎光临),有人出去说:(谢谢惠顾),并通过按钮来控制单片机报其总人数,大概实现0——100人的计数。 (1)语音的清晰度。 (2)计数的准确度。 (3)红外感应灵敏度。 主要器件清单: 1、51芯片一个 2、语音芯片:ISD17003、按键 4、开关:单刀双掷 5、扬声器 6、电压比较器:LM3587、其他 若干。 6、基于单片机便携式酒精含量测试的设计 功能及技术指标: 设计一个基于单片机便携式驾驶员酒精含量测试仪,测试人体呼出气体中酒精含量。测试仪采用气体传感器作为敏感单元,把气体中含有的乙醇气态浓度转换成电信号,再经AD模块以及微处理器的处理,由LCD直观显示出被测气体中的乙醇浓度,由此检测驾驶员是否醉酒驾车。 (1)通过分析测试仪测试原理、依据以及对酒精浓度的检测方法,拟定了酒精浓度与测试仪输出电压关系曲线; (2)通过分析ADC0809转换的要求,设定放大器对酒精传感器输出模拟信号放大,使电压在0到5V内,从而能够使ADC0809正常工作; (3)对 LCD1602 液晶显示模块进行调试,使其能够正确动态酒精浓度值。 主要器件清单: 1、酒精传感器 2、运算放大器 3、A/D:08094、LCD:16025、51芯片 6、其他。 八路智能抢答器 要求:八路抢答,只有最先按键的一路能选中,选中的显示红灯。 智能时钟 要求:显示年月日,闰年是否,调整时间,闹钟功能。 声控灯光控制器 要求:在受到声音影响时开关开,灯打开,30秒钟后灯自动熄灭。 7、基于单片机的数字频率计设计 设计要求: 1、用十进制数字显示被测信号的频率,能测量正弦信号、方波信号、尖脉冲信号以及其他各种单位时间内变化的物理量。 2、能测量周期性正弦方波信号.测量范围100Hz~100kHz。测量正弦信号、方波信号,测量范围100Hz~100kHz。 3、应用单片机为主控芯片,完成算术运算和控制功能,并采用LED数码管显示所测频率。 8、定时器设计 1、使用6位数码管显示时,分,秒,以24小时单位制; 2、利用键盘输入定时时间,定时时间一到立刻报警; 3、汇编语言编写程序。 9、数字温度计的设计 设计要求: 1、利用温度传感器测量温度,要求测温范围-55~125℃,误差±5℃以内; 2、采用单片机控制的方法,采用LED数码管显示温度; 3、汇编语言编写程序。 10、基于51单片机的直流电机PWM调速控制设计 基本要求:利用单片机生成不同宽度的PWM波形,进行直流电机的速度调节。设置四个按键K1,K2,K3,K4:按K1,K2进行直流电机的加速控制和减速控制(五级以上),按K3让电机正反转,相应的级别和正反转用led或数码管显示,按K4启停电机。 11、基于51单片机的两相四线步进电机调速控制设计 基本要求:设置五档以上速度,进行步进电机的速度调节。设置四个按键K1,K2,K3,K4:按K1,K2进行步进电机的加速控制和减速控制(五级以上),按K3让电机正反转,相应的级别和正反转用led或数码管显示,按K4启停电机。 12、基于51单片机的温度测控系统设计 基本要求:利用温度传感器(如DS18B20等)采集温度,数据经51单片机处理后,在数码管或字符型液晶屏1602上实时显示出所测温度。温度测量范围0~99.9摄氏度,设置上限报警温度、下限报警温度,即高于上限值或者低于下限值时利用蜂鸣器报警。 13、数字测温仪的设计 本课题以单片机为核心,设计并制作出一台数字测温仪,具有以下功能: 1)单点温度测试; 2)测温范围: 10℃~40℃; 3)分辨率:0~1℃; 4)温度输出显示:2 位; 5)设定上下限(下限18℃,上限25℃),超出范围时报警。 14、智能空调控制系统设计 功能要求: 1)设置自动、制冷、加热和换气四种模式,通过一个模式按键进行模式切换 2)设置2个按键,分别用来增加或减少温度值的设置 3)能实现温度设定,最高温度限制为35℃,最低温度限制为12℃,温度调整范 围为1℃ 4)可通过电脑进行远程设置(串口实现) 15、电子跑表的设计 本课题以单片机为核心,设计出电子跑表,具有以下功能: 1)做时钟时在6位LED 显示器上显示分、秒; 2)做跑表时显示范围10000.0秒~10999.9秒; 3)当按下启动按钮跑表开始计时,按下停止按钮停止计时,当按下复位按钮跑表回零。 16、简易数字电压表 基本要求: ⑴ 硬件设计:根据任务要求,完成单片机最小系统及其扩展设计,焊接电路板,组成功能完整的样机。 ⑵ 软件设计:根据电压测量及显示功能要求,完成相关软件的编写与调试; ⑶ 功能要求:2位数字及1位小数点显示,基本测量范围为0~5V,测量误差为±0.2V。⑷ 设计说明书(论文):设计说明书应表明设计思想和所使用的设计方法,主要内容包括:① 系统简介、整体功能说明、各功能模块说明(附图)及系统使用说明;② 设计还需要改进的地方及设计的心得体会;③ 参考文献:包括参考书、资料、网站等,按标准格式列出(可参考教材最后的参考文献引用格式);④ 附件:系统总体原理图及源程序。 扩展功能: 根据实际情况自由添加附加功能,如扩展电压测量范围(可扩展为0~10V,0~20V,0~100V等)、提高精度,实现量程的自动转换等。每扩展一项完整的功能增加20分。 17.数字显示温度计 基本要求: ⑴ 硬件设计:根据任务要求,完成单片机最小系统及其扩展设计,焊接电路板,组成功能完整的样机。 ⑵ 软件设计:根据温度测量及显示功能要求,完成控制软件的编写与调试; ⑶ 功能要求:至少利用3位数码管进行测量值的显示,温度测量范围:-50℃~100℃,测量误差≤0.1℃; ⑷ 设计说明书(论文):设计说明书应表明设计思想和所使用的设计方法,主要内容包括: ① 系统简介、整体功能说明、各功能模块说明(附图)及系统使用说明; ② 设计还需要改进的地方及设计的心得体会; ③ 参考文献:包括参考书、资料、网站等,按标准格式列出(可参考教材最后的参考文献引用格式); ④ 附件:系统总体原理图及源程序。 扩展功能: 根据实际情况自由添加附加功能,如设置温度的上下限报警功能,利用语音或声光报警等。附加一项完整的功能增加20分。 18.数字电子钟 基本要求: ⑴ 硬件设计:根据任务要求,完成单片机最小系统及其扩展设计,焊接电路板,组成功能完整的样机。 ⑵ 系统软件设计:根据数字电子钟系统功能,完成控制软件的编写与调试; ⑶ 基本功能:设计一个数字电子钟电路,能显示年、月、日和时、分、秒;通过功能键可以完成年、月、日与时、分、秒的调整和显示切换。 ⑷ 设计说明书(论文):设计说明书应表明设计思想和所使用的设计方法,主要内容包括: ① 系统简介、系统整体功能说明、各功能模块说明(附图)、系统使用说明; ② 设计还需要改进的地方及设计的心得体会; ③ 参考文献(包括参考书、资料、网站等,按标准格式列出); ④ 附件:系统总体原理图及源程序。 扩展功能: 根据实际情况自由添加附加功能,如万年历、秒表等功能。附加一项完整的功能增加20分。 19、基于单片机的音乐盒的设计 要求存储三首歌曲,可以进行歌曲的暂停播放前进后退等功能; 20、基于单片机的电热水器的设计 要求可以进行温度的设定,修改,报警,对热水器进行快速和慢速加热。 21、基于单片机的电子密码锁的设计 课设的选题,方案的设计与确定,元器件的选择,硬件的焊接,这一系列的课设准备工作早在课设开始之前,老师就向我们做了相关的介绍和明确的说明,同时非常友好的提示我们早点着手准备自己的课设项目。但是如此语重心长的话语在当时似乎没有引起所有人的注意,只到有同学拿出已成型的作品时,只到课程设计进入第二周时,只到看到有同学拿着作品去验收时,只到发现自己在规定的时间里无法完成扩展功能是,我们开始醒悟,开始想起老师之前的友情提示,开始意识到课设的准备工作没做好,开始产生恐惧。这样的情形并不只是出现在的课程设计过程中,而是经常出现在我们的生活中。整个课程设计的过程中都显得有些盲目,有些匆忙。 像这样的实训课程,对我们学习自动化的学生来说意义非常重大,它不仅是对单片机这一门课程的理解与运用,同时也涉及到数字电路和模拟电路的领域;这也是一次锻炼我们动手动脑的绝佳机会,能让我们切实感受理论与实际相结合的过程。 设计的过程是枯燥的,程序的调试过程是让人感到乏味的、无奈的、头疼的,但是看到完工的作品却是激动高兴的。对于硬件的焊接,这可能是很多同学都喜欢做的一个环节。但是这次的硬件焊接与上一次实训时的不一样,这次你需要自己设计电路,自己学习理解某些芯片的引脚功能。芯片引脚的接线是我们容易出错的地方,如果接线图或者焊接有问题,这将对对芯片有很大的危害。硬件完工后,是软件的调试。我认为程序的调试是课设全过程中最难得部分,原因是我这块的功底非常薄弱。很坦诚的讲,以自己现有的能力,没法写出设计中的程序,我和同学只能借鉴高手的程序,努力地去修改源程序,使其能够实现想要的功能。软件的调试不像硬件焊接那么容易,调试过程中,我们必须考虑硬件与程序相匹配。在比如在这个环节中,很感谢我的同学,因为他能够非常耐心的为我讲解C语言中一些语句的用法和功能。 这次实训还有一重大收获是学会写一份正式的科技论文。报告的书写与软硬件同等重要,我们应遵守论文的格式要求,这也是对思维严谨性的一种锻炼。 完成一个出色的作品,单靠一个人的力量是不行的,小组成员之间必须相互配合,相互支持,相互团结,所以这也是一次锻炼我们团队合作精神的机会。 虽然本次实训结束了,但是实训留给我们思考的地方还很多,需要我们学习的地方还很多。无论在现在的学习中还是在以后的工作中,我们都应养成多学习,理解、多思考、多合作,多实践的好习惯,重视理论与实践相结合。 课程设计心得 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。 这次实习让我受益匪浅,无论从知识上还是其他的各个方面。上课的时候的学习从来没有见过真正的单片机,只是从理论的角度去理解枯燥乏味。但在实习中见过甚至使用了单片机及其系统,能够理论联系实际的学习,开阔了眼界,提高了单片机知识的理解和水平。在这次课程设计中又让我体会到了合作与团结的力量,当遇到不会或是设计不出来的地方,我们就会在QQ群里讨论或者是同学之间相互帮助。团结就是力量,无论在现在的学习中还是在以后的工作中,团结都是至关重要的,有了团结会有更多的理念、更多的思维、更多的情感。 回顾起此次单片机课程设计,我仍感慨颇多,的确,从选题到定稿,从理论到实践,在接近四星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程 设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在XXX、XXX、老师的辛勤指导下,终于游逆而解。同时,在XXX、XXX、老师那里我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢! 【单片机课程设计实验】推荐阅读: 51单片机课程设计作业08-11 《单片机与外围电路设计》课程设计大纲10-27 单片机实验报告10-27 单片机综合实验报告格式11-13 单片机课设实验心得10-19 单片机实训实验案例10-23 基于单片机的毕业设计06-25 单片机设计实训报告08-08 基于单片机的频率计设计07-01 基于51单片机的智能小车设计08-319.单片机课程设计心得 篇九