单片机课程设计指导书.docx

上传人:b****3 文档编号:4942296 上传时间:2022-12-11 格式:DOCX 页数:33 大小:702.97KB
下载 相关 举报
单片机课程设计指导书.docx_第1页
第1页 / 共33页
单片机课程设计指导书.docx_第2页
第2页 / 共33页
单片机课程设计指导书.docx_第3页
第3页 / 共33页
单片机课程设计指导书.docx_第4页
第4页 / 共33页
单片机课程设计指导书.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

单片机课程设计指导书.docx

《单片机课程设计指导书.docx》由会员分享,可在线阅读,更多相关《单片机课程设计指导书.docx(33页珍藏版)》请在冰豆网上搜索。

单片机课程设计指导书.docx

单片机课程设计指导书

单片机实验和课程设计任务书

(供2008级通讯专业使用,刘玉宏编制)

特别提醒

1、注意各个工作的时间安排!

按时到指定地点工作!

2、仔细阅读此任务书,内含所有用到的器件和软件说明

3、项目流程:

写源程序――通过KeiLC编译为机器代码――烧写入单片机――调运行试

4、课程设计报告每人一份,可手书,亦可双面打印,不得抄袭,否则分数为0。

5、本任务书的3-8页作为实验报告,按时上交,不得抄袭,否则分数为0,此分计入平时成绩和考卷分数综合为课程分数。

单片机课内实验和课程设计任务书

一、课程设计的目的与意义

《单片机》是一门技术性、应用性很强的学科,实验课教学是它的一个极为重要的环节。

不论理论学习还是实际应用,都离不开实验课教学。

如果不在切实认真地抓好学生的实践技能的锻炼上下功夫,单凭课堂理论课学习,势必出现理论与实践脱节,学习与应用脱节的局面。

《单片机课程设计》的目的就是让同学们在理论学习的基础上,通过完成一小系统的设计,使学生不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立进行某些传感器应用系统的开发设计工作打下一定的基础。

二、任务与要求

1、实验部分

实验内容:

实验1两级中断,使用实验箱电路B、C、F、H部分,含参考程序。

实验2定时器实验,使用实验箱电路B、D、C部分,无参考程序。

实验3串口通讯,使用实验箱电路B、G部分,含参考程序。

具体实验内容见下页,电路见实验箱电路说明部分。

实验报告和要求见下页

实验名称:

两级中断

一、实验目的

1、掌握外部中断的原理和过程,

2、熟悉中断方式的设置及中断程序的设计方法,

3、掌握中断优先级的原理及设计方法,

二、实验内容

模拟广告灯的变化,

主程序要求:

P2接8个LED,令8个LED闪烁,

外部中断INT0要求:

令P2的8个LED作跑马灯左移,

外部中断INT1要求:

令P2的8个LED作跑马灯右移,

三、实验步骤:

1、按要求编辑、编译程序,

2、输入程序并运行之,分别给予不同的中断组合,记录实验现象,

中断组合为:

①给予中断0,执行中断程序后,返回主程序,

②给予中断1,执行中断程序后,返回主程序,

③先给予中断0,执行中断程序0时,再给予中断1,

④先给予中断1,执行中断程序1时,再给予中断0,

四、实验电路

 

五、实验程序框图

 

六、思考题:

1、参考程序程序中两条指令TCON=TCON&0xfd;

TCON=TCON&0xf7有什么作用?

可以去掉吗?

为什么?

若采用电平触发方式,可以去掉吗?

为什么?

实验名称:

定时器实验

一、实验目的

1、掌握定时器的原理和过程,

2、掌握定时器的初始化方法

3、掌握定时器的中断服务程序编写

二、实验内容

P0接8个LED,令其作跑马灯左右移,亮灯时间0.5S由定时器控制,

定时器是否溢出,采用中断方式,

三、实验步骤:

1、按要求编辑、编译程序,

2、改变定时常数亮灯时间为1S重复实验

四、实验电路

 

五、实验程序并注释

 

六、思考题:

T0最大的定时时间为多长?

 

实验名称:

串口通讯

一、实验目的

1、掌握串行口的原理和编程方法,

2、掌握串行口的初始化及波特率计算

3、掌握串行口中断的编程方法

二、实验内容

1、PC机运行串口调试助手,从串口发送一个数据,由单片机接收

2、单片机将刚接收到的数据加1后,再发送给PC机

三、实验步骤:

1、按要求编辑、编译运行单片机端程序,

2运行PC机端串口调试助手,并发送一个数据

3、改变波特率,观察波特率对通讯的影响

四、实验电路

 

五、实验程序并注释

 

实验一参考程序:

#include

voiddelay(void)

{

unsignedintj;

for(j=0;j<32000;j++);

}

voidint0()interrupt0/*外部中断0服务子程序*/

{

unsignedchari;

unsignedcharj;

TCON=TCON&0xfd;

i=0x01;

for(j=0;j<8;j++)

{

P0=i;

i=i<<1;

delay();

}

}

voidint1()interrupt2/*外部中断1服务子程序*/

{

unsignedchari;

unsignedcharj;

TCON=TCON&0xf7;

i=0x80;

for(j=0;j<8;j++)

{

P0=i;

i=i>>1;

delay();

}

}

voidmain(void)

{

unsignedchari,j;

IE=0x85;

IP=0x04;

TCON|=0x05;

while

(1)

{

P0=0xff;

delay();

P0=0x00;

delay();

}

 

实验三参考程序:

#include

#defineSPEAKRD

voiddelay(void)

{

unsignedintj;

for(j=0;j<32000;j++);

}

voidsint()interrupt4

{

unsignedchartemp;

if(RI==1)RI=0;

temp=SBUF;

SBUF=temp+1;

while(!

TI);

TI=0;

SPEAK=0;

P0=0xff;

delay();

SPEAK=1;

P0=0;

delay();

}

voidmain(void)

{

TMOD|=0x20;

TL1=0xfd;

TH1=0xfd;//9600

SCON=0x50;

PCON=0x00;

TR1=1;

EA=1;

ES=1;

while

(1);

2、课程设计部分

时间:

学校课表安排的时间是:

12周六、日;13周六、日;14周六、日共6天

15周五前,交课程设计报告,统一由班长收交给老师。

分组:

两人一组。

成绩:

需要评优同学需做答辩。

验收:

单人单组

课程设计内容:

所有课程设计内容均采用实验板上基础电路部分实现,同学们无需自搭电路,主要考虑软件结构即可。

电路见实验箱电路说明部分。

题目一:

定时闹钟

要求:

利用动态数码管作为显示器,K20-K27作为输入按键,蜂鸣器作为声音输出制作一个定时闹钟。

要求:

1、正确显示时分。

2、可以利用按钮调整时间和设定闹钟时间。

3、当时间到达设定的闹钟时间时,蜂鸣器发出嘀、嘀、嘀的报警声。

提示:

利用定时器作为时间的基准。

提高:

通过串口在PC上设定时间和闹钟。

题目二:

八音盒

利用蜂鸣器和K20-K27制作一个八音盒,内存八首乐曲,当按下不同的按键时,奏出不同的乐曲。

其中《茉莉花》是必选曲目,其他任意。

例如:

按下K20奏出《茉莉花》。

提示:

利用定时器产生不同的音调,需要查do、re、mi等音调的频率。

提高:

把其他按键当作琴键,可以弹奏乐曲。

题目三:

模拟电话键盘

S207、S206、S205;

S217、S216、S215;

S227、S226、S225;

S237、S236、S235;按键分别当作电话按键的123456789*0#。

当拨打电话时,电话号码显示在动态LED上(相当于手机的显示屏)。

当按下S204键Call电话时,电话号码通过串口发送到PC上,通过串口调试助手可以观察。

(相当于把号码发给基站)

提示:

掌握动态led显示和逐行扫描键盘原理。

提高:

模拟电话不同时,每隔1分钟自动重拨一次。

题目四:

零件计数器

把接在INT0上的单稳信号当作零件信号,每来一个零件,单片机计数一次,当计满10次时,蜂鸣器发出一声警告音,并使继电器闭合一次,产生零件打包动作。

要求LED上显示当前一共生产了多少零件。

提示:

主要掌握外部中断和动态显示的应用。

提高:

实时通过串口把零件数量发送给PC。

三、项目工作流程:

编写源程序――通过KeiLC编译为机器代码――烧写入单片机――调运行试

四、课程设计报告要求

整个报告包括:

●封面

●摘要

●关键字

●目录

●正文

●系统设计

●实验结果与讨论

●结论

●参考文献

●附录

封面

包括题目、专业、年级、学号、姓名、指导教师、学校名称

摘要

以最简洁的文字来表达这篇课程设计报告的主要构架,300字以内为宜,主要方便参阅者在短时间内了解其内容,因此文字的使用必需简洁有力。

一般包括以下部分:

1.课程设计动机

2.主要问题所在

3.解决该问题使用的方法

4.重要的结果

关键字:

本篇内容非常重要的3-5词

正文:

分章节论述主要包含系统设计、实验结果讨论、结论等部分。

系统设计

整篇报告的核心部分,一般包括:

要求的目标及总体方案

1.使用的主要组件及特殊零件功能说明

2.电路方框图及说明

3.电路设计及说明

4.软件方框图及流程图说明

实验结果及讨论

完整记录实验的结果,并对结果进一步的分析及讨论,包含以下部分:

1.实际电路设计及程序设计

2.记录实际的数据及测试所用设备

3.实验测量的波形、数据记录

4.对实验数据做分析及讨论

结论

对整篇报告做一总结,包括:

1.本课程设计的特点

2.本课程设计的主要贡献

3.评估结果

4.改善建议

5.自我体会

参考文献

本设计用到的参考资源,列出资料的出处,包括书名、作者、出版社、页码、发行日期

标准参考文献写法:

例:

①专著类:

作者名.著作题名[M].出版地,出版者.,出版年。

②期刊类:

作者名.文献题名[J].刊名,年,卷(期):

文献起止页码.

附录

整篇设计中可以陈述的记录却未放入报告的部分,包括:

1.硬件电路零件列表

2.软件程序清单及说明

3.特殊零件技术数据

4.特殊仪器的规格数据

实验箱电路说明

实验电路共分为A、B、C、D、E、F、G、H、I、J,10个部分,每部分各完成一个基本功能。

现对各个部分进行说明。

A部分由一个8位琴健开关(U11)和8个LED(D00-D07)组成。

连在P1口上完成基本输入输出功能。

输入功能:

当某开关闭合后,对应P1口线上输入0,同时相应的LED点亮。

否则,对应P1口线上输入1,同时相应的LED熄灭。

例如:

第一位开关闭合,D10点亮,同时P1.0输入0。

LED可以做为开关是否闭合的直观指示。

输出功能:

当某开关打开时,对得用P1口线可以做为输出引脚使用。

当输出1时,相应的LED熄灭,当输出0时,相应的LED点亮。

当某开关闭合时,无法做输出功能使用。

B部分是单片机的最小系统部分,只有这部分电路正常,整个系统才能工作。

单片机为内含8KFLASH程序存储器的STC89C52RC,EA接高电平;各并行口都加了10K的上拉电阻;晶振为11.0592M。

设置了上电复位和手动复位电路。

S1为手动复位按钮。

C部分电路由4位一体的数码管LED1、单个数码管LED2和8个独立发光二极管L1-L7组成。

这3个部分都是共阴结构,并联在一起,连接在P0口上。

LED1用于完成LED动态显示实验,各个位选线为P24-P27,段码由P0口输出;LED2的COM端接地,完成LED静态显示实验;L1-L7,可以方便地读出P0输出的二进制数据,亦可做流水灯实验。

7407在此起驱动作用。

D部分电路由555和电容构成多谐振荡器经7400后接到单片机T0端,做为计数器的外部时钟源,频率约1Hz。

当SW_CLK开关闭合后,振荡信号可以到达T0端,同时D_CLK闪烁。

人工可以观察D_ClK的闪烁次数,从而知道T0端输入了多少个振荡周期。

便于对计数器工作过程的理解。

当SW_CLK开关断开后,不再有振荡信号输入T0端。

F和H两部分电路构成相同,都是有555和电容组成的单稳电路。

当S_INT0按钮按下后产生一个低电平单稳信号送单片机的INT0,同时D_PLUS1亮一次,做为外部中断请求信号。

当S_INT1按钮按下后产生一个低电平单稳信号送单片机的INT1,同时D_PLUS2亮一次,做为外部中断请求信号。

单稳时长约50ms。

E部分电路为行列式键盘和独立式按键输入电路。

P20-P23为行,P24-P27为列,构成4×4行列式键盘。

按键编号规律为S2+行号+列号。

例如S226表示P22行和P26列跨接处的按键。

K20-K27构成独立式按键,分别接在P20-P27上,当按键按下时,对应的口线输入0,同时相应的LED点亮。

D20-D27构成P20-P27的状态指示,当某口线输出0,相应的LED点亮。

有4个用途:

1、当行列式键盘逐行扫描时,可做为正在被扫描的行的指示。

2、当行列式键盘逐行扫描时,可做为已按下键的指示。

例:

当S215键按下,扫到P21行时,D21和D25会被点亮。

3、可做为独立式按键被按下的指示。

见上一段。

4、当P2口不做为键盘输入时,D20-D27可做为输出器件,实现流水灯等功能。

G部分电路为串口通讯部分。

U5PL2303HX构成了USB转URAT电路,即完成USB口转TTL串口电平。

U6MAX232构成了RS232转URAT电路,即完成RS232串口转TTL串口电平。

由于单片机只有一个串口,所以以上两部分通过双刀双掷开关切换使用,当实验板上S-COM开关按下时选择USB转URAT电路。

否则选RS232转URAT电路。

这部分电路可以完成PC机跟单片机的串行通讯,也可以完成两个单片机进行串行通讯。

D_RXD和D_TXD指示收和发线上是否有信号,当通信时可观察到二灯闪烁。

当选择USB转URAT电路时,PC机的USB口同时承担给实验板供电的任务。

I部分电路为蜂鸣器和继电器电路。

蜂鸣器采用9012三极管驱动,其基极接到RD端,当RD端为低电平时,三极管导通,蜂鸣器响。

否则关断。

继电器采用9013三极管驱动,其基极接到WR端,当WRD端为低电平时,三极管关断,继电器不吸合,常闭触点闭合,常开触点打开,D1熄灭;反之则反。

J部分为电源部分。

当USB供电不足时可通过J3接入后备电源。

SW_PWR为电源开关,闭合时电路板得电,同时D_P1亮。

F1为自恢复保险,防止电源反接和短路,保护PC机USB口。

烧写软件使用说明

本实验板使用的STC89C52RC单片机具有ISP功能,可通过串口把程序代码烧进单片机内部的FLASH程序存储器内,烧后可全速运行程序,以检查代码的正确性。

第一步:

检查实验板所有开关处于打开状态,即全部弹起。

第二步:

把S_COM(串口电平转换区域)开关按下,选择USB转URAT功能。

第三步:

把USB线插在PC和实验板上。

第四步:

检查虚拟串口号。

我的电脑――右击――选择――管理――设备管理――展开右边的端口-记下USB虚拟的串口号。

例如下图中的COM6

第五步:

找到STC-ISP文件夹,双击STC_ISP_V483.exe,打开烧写软件

1、选择你使用的单片机型号,实验板上的型号为STC89C52RC

2、打开你要烧写的程序代码,例如:

TEST.HEX

3、选择PC连接实验板的串行口,即第四步记下的串行口号。

4、选择其它选项,如图。

5、点击Download/下载按钮,

6、当信息提示框出现:

“正在尝试与MCU握手连接…”时,按下实验板电源开关。

7、烧写自动完成,程序开始运行。

注意:

下次烧写时,仍然要先关闭电源,重复以上步骤。

如烧写不成功,请先检查s_com按钮是否按下。

如已按下则关闭实验板电源,拔下USB线。

等待一分钟,然后再插上USB线。

重复1-6步骤。

串口调试助手使用说明

串口调试助手是一款运行在PC机上并通过PC的串口发送和接收数据的软件。

我们经常把PC的串口和单片机的串口连接,并用此软件来调试单片机的串口程序,故称串口调试助手。

第一步:

找到“串口调试助手”文件夹,双击“sscom32.exe”运行程序

第二步:

选择串口,此时要关闭所有使用该串口的应用程序,例如烧写软件。

第三步:

设置串口参数。

例如:

波特率等。

第四步:

选择HEX发送,HEX显示

第五步:

打开串口

第六步:

在字符串输入框中输入要发送的字符,按“发送”按钮发送给单片机。

单片机发送过来的字符,显示在上部的信息窗中。

注意:

使用完毕后记得关闭串口,否则可能引起其它软件工作不正常。

Keil上机指南

keilC51是目前功能最强大的单片机c语言集成开发环境,下面我们通过图解的方式来学习KeilC51软件的使用。

整个KeilC51步骤大概分为:

输入源程序→新建工程→工程详细设置→源程序编译得到目标代码文件等四个步骤。

也可参考课本第8章。

  第一步:

双击KeiluVision2的桌面快捷方式(图1),启动Keil集成开发开发软件。

软件启动后的界面如图2所示。

图1:

启动KeiluVision2单片机集成开发环境

图2:

软件启动后的界面

  第二步:

新建文本编辑窗。

(如果你已用其它文本编辑软件编写好源程序,可跳过2、3、4步骤)点击工具栏上的新建文件快捷按键,即可在项目窗口的右侧打开一个新的文本编辑窗,见图3所示。

图3:

新建文本编辑窗

  第三步:

输入源程序。

在新的文本编辑窗中输入源程序,可以输入C语言程序,也可以输入汇编语言程序,见图4。

图4:

输入源程序

第四步:

保存源程序。

保存文件时必须加上文件的扩展名,如果你使用汇编语言编程,那么保存时文件的扩展名为“.asm”,如果是C语言程序,文件的扩展名使用“.C”。

图5:

保存源程序

    注:

第3步和第4步之间的顺序可以互换,即可以先输入源程序后保存,也可以先保存后输入源程序。

如果你已用其它文本编辑软件编写好源程序,可跳过2、3、4步骤。

  第五步:

新建立Keil工程。

如图6所示,点击"工程"→"新建工程"命令,将出现保存对话框(图7)。

图6:

新建工程

图7:

保存工程对话框

  在保存工程对话框中输入你的工程的文件名,Keil工程默认扩展名为".uv2",工程名称不用输入扩展名(见图7),一般情况下使工程文件名称和源文件名称相同即可,输入名称后保存,将出现"选择设备"对话框(图8),在对话框中选择CPU的型号。

  第六步:

选择CPU型号。

如图8所示,为工程选择CPU型号,本新建工程选择了ATMEL公司的AT89C51单片机。

 

图8:

选择CPU型号对话框

  第七步:

加入源程序到工程中。

在选择好CPU型号后,点击"确定"按钮返回主界面,此时可见到工程管理窗中出现“Target1”,点击“Target1”前面的“+”号展开下一层的“SourceGroup1”文件夹,此时的新工程是空的,“SourceGroup1”文件夹中什么文件都没有,必须把刚才输入的源程序加入到工程当中。

如图9所示,右击工程管理窗中的“SourceGroup1”,出现下拉菜单,点击“增加文件到组'SourceGroup1'”命令,将出现添加文件对话框(图10)。

图9:

添加文件到工程命令

在添加文件对话框(图10)中,找到要添加到工程中的源程序文件。

注意:

在对话框中的文件类型默认为"C源文件(*.c)",如果你要添加到工程中的是汇编语言程序,则在文件类型中必须选中“Asm源文件(*.a*;*.src)”,以*.asm为扩展名的汇编源程序才会出现在文件列表框中。

我们可以把第四步保存的源程序添加进来。

 

图10:

浏览选择ASM源程序

  双击该文件lich1.asm,即可将该文件添加到工程当中,另外也可以单击lich1.asm选中该文件,再点击"Add"按钮,也可以把文件加入工程中(见图11)。

图11:

选中ASM源程序,加入到工程中

  点击Add按钮后,把文件添加到工程中,此时添加文家对话框并不会自动关闭,而是等待继续添加其他文件,初学者往往以为没有加入成功,再次双击该文件,则会出现图12对话框,表示该文件不再加入目标。

此时此时应该点击“确定”按钮,返回到前一对话框,再点击“关闭”按钮,返回到主界面。

 

图12:

重复加入文件对话框

  当给工程添加源程序文件成功后,工程管理器中的“SourceGroup1”文件夹的前面会出现一个“+”号,单击“+”号,展开文件夹,可以看到lich1.asm已经出现在里面,双击即可打开该文件进行编辑修改源程序(见图13)

图13:

文件成功加入工程

  第八步:

工程目标'Target1'属性设置。

如下图14所示,在工程项目管理窗中的"Target1"文件夹上右击,出现下拉菜单,点击“目标'Target1'属性”命令,就进入目标属性设置界面。

图14:

进入工程目标属性设置

  工程目标'Target1'属性设置对话框(图15)中有8个页面,设置的项目繁多复杂,大部分使用默认设置即可,我们主要设置其中的“目标”、“输出”、“调试”三个页面,下面对这三个页面的设置进行详细介绍。

  1、工程目标属性设置。

该页面单片机的晶振频率、存储器等,我们把晶振的频率改为11.0592,频率设置和你实验板上的实际晶振频率相同即可(图15)。

存储器模式改为:

Small:

variablesindata。

其余用默认。

图15:

晶振频率设置

  2、工程输出设置。

该页面设置如下图16所示。

注意:

如果要进行单片机写片实验,则一定要把“E生成HEX文件”选项选中,程序编译后才能生成我们写单片机需要的HEX格式目标文件。

图16:

工程输出设置

第九步:

源程序的编译与目标文件的获得

至此,我们已经完成了从源程序输入、工程建立、工程详细设置的工作,接下来我们将完成最后的步骤,此时我们可以在文本编辑窗中继续输入或修改我们的源程序,使程序实现我们的目标,在检查程序无误后保存工程。

接着如下图19所示,点击“构造目标”快捷按钮,进行源程序的编译连接,源程序编译相关的信息会出现在输出窗口中的“构造”页中。

下图19显示编译结果为0错误,0警告,同时产生了目标文件lich1.hex。

如果源程序中有错误,则不能通过编译,错误会在输出窗口中报告出来,双击该错误,就可以定位到源程序的出错行,我们可以对源程序进行反复修改,再编译,直到没有错误为止。

注意:

每次修改源程序后一定要保存。

图19:

源程序的编译

编译通过后,我们打开工程文件夹(图20),可以看到文件夹中有了“lich1.hex”,这就是我们需要的最终目标文件,用编程器(也称烧录器)把该文件写入单片机,单片机就可以实现我们程序的功能了,赶快把目标文件写入单片机,在实验板上看看程序的效果吧。

图20:

编译成功,获得目标文件lich1.hex

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1