江碧的单片机课程设计.docx
- 文档编号:3238233
- 上传时间:2022-11-20
- 格式:DOCX
- 页数:30
- 大小:1.39MB
江碧的单片机课程设计.docx
《江碧的单片机课程设计.docx》由会员分享,可在线阅读,更多相关《江碧的单片机课程设计.docx(30页珍藏版)》请在冰豆网上搜索。
江碧的单片机课程设计
合肥学院电子信息与电气工程专业
单片机课程设计
课题名称:
单片机课程设计
学生班级:
09级自动化
(2)班
学生学号:
0905071027
学生姓名:
江碧
指导教师:
储忠
成绩评定:
2012年5月10日
前言
这个学期我们开设了单片机这么课,不过我觉得它开的迟了,应该开的早一年的,那样我们就能更早的接触到单片机这个很重要的东西,不过现在接触其实也不迟,我其实在这之前就已经学会了单片机的使用以及单片机的程序的基本编写与修改,单片机应用技术课程为一门理论与实践相结合的课程,本课程安排的实验旨在培养学生软硬件开发能力,用编程语言及硬件设备实现串、并行通讯、计数/定时、A/D、D/A等硬件接口的功能,进一步加深对常用硬件芯片的了解和应用,以及学习用单片机解决实际问题。
实验要求学生利用编程语言及硬件设备实现单片机的方案设计、程序编写、硬件连接、调试,从中体会具体硬件接口的应用技巧,进一步理解硬件接口芯片,逐步掌握单片机系统的开发和应用方法。
使用Protues能使我们在没有用实物连接的情况下允许学生在Windows操作系统下编写、编译、连接、错误定位、调试、观察、修改系统。
通过本实验的学习,学生可以熟悉各种类型的接口芯片,汇编语言程序的编写、调试,充分锻炼动手及编程能力。
一、构建单片机最小系统版和实验环境熟悉
第一部分:
实验要求
一、预习要求
1.构建单片机最小系统,熟悉51单片机的结构及编程方法
2.按照程序流程图编写出程序
二、实验目的
1.熟悉星单片机最小系统的组成和工作原理,熟悉KeilC51集成环境软件的使用方法。
2.熟悉MCS51汇编指令,能自己编写简单的程序,控制硬件。
三、实验内容
1、单片机最小系统实验:
(1)、熟悉单片机最小系统的组成和工作原理,熟悉KeilC51集成环境软件的安装和使用方法。
(2)、做出单片机最小系统的组成原理图,分析其各构成单元的工作原理。
2、存储单元数据传输实验
(1)、熟悉MCS51汇编指令。
(2)、进行存储单元数据传输实验,编写程序。
(3)、运行程序,验证译码的正确性。
第二部分:
实验过程
一、单片机最小系统实验
1、最小系统版的组成
时钟电路复位电路,电源电路,这几个部分构成,复位电路是用来使电路的运行状态归零,电源电路是用来提供+5v的电源电压,对单片机进行供电。
下面的单片机最小系统板,我们晶振选择的是12MHz的,其他的各种元器件来构成单片机的最小系统板。
2、使用Protues绘制单片机最小系统原理图
3、单片机实物图
4、分析单片机最小系统的工作原理
(1)51单片机最小系统复位电路的极性电容C3的大小直接影响单片机的复位时间,一般采用10-30uF,51单片机最小系统容值越大需要的复位时间越短。
(2)51单片机最小系统晶振Y1也可以采用6MHz或者11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。
(3)51单片机最小系统起振电容C2、C3一般采用15-33pF,并且电容离晶振越近越好,晶振离单片机越近越好。
(4)P0口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k。
A、设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。
计数值N乘以机器周期Tcy就是定时时间t。
B、设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。
在每个机器周期的S5P2期间采样T0、T1引脚电平。
当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。
由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。
当晶振频率为12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2ms。
二、编译环境的熟悉
实验中我们使用keil4环境编译程序。
其窗口界面如下:
三、程序的串烧
1、STC单片机的程序烧写与运行
1.1打开STC-ISPV483软件的exe文件,如下图所示:
步骤1:
选择要下载的单片机型号,如下图所示:
步骤2:
打开要下载的程序文件,注意这里下载的需要是扩展名为.hex或.bin的文件,这里的图片是默认的测试文件
再双击test1-hex文件夹得到以下图片:
步骤3:
选择端口
首先把实验板通过USB延长线连接到电脑上,然后右击“我的电脑”,选择“管理”,单击设备管理器,点击端口前的加号将其展开,当发现这个时,说明驱动的安装和实验板的下载电路应该是没什么问题的,这里的可以看出端口是COM4。
其次是选择好端口,如下图所示:
步骤4:
下载程序到单片机(注意的是STC的单片机需要重新给系统上电才能下载到单片机)
点击下图所示的Download/下载按钮
当出现下图所示的提示时,如果实验板是在通电的情况下,则按一下实验板的开关稍等两秒左右,再按一下开关重新给实验板上电,稍等片刻就下载成功。
如果实验板是在不通电的情况下,则按一下实验板的开关重新给实验板上电,稍等片刻就下载成功
下载成功的提示如下图:
2、系统供电
2.1、系统供电可以采用USB供电方式,USB输出电流最大在500MA左右,能满足一般系统的要求,如果要接大的直流电机或步进电机之类的,需要根据实际情况选择外部电源供电。
2.2、系统供电也可采用外部电源输入6.5V-15V的直流电压,板子上自带LM7805稳压器,适合多种供电场合。
3、各个实验需要注意的事项:
流水灯实验:
在学习板上已经集成8个LED灯,用于做流水灯实验;由原理图可以看出:
P1口由于加了流水灯,所以P1口相当于加了上拉电阻,驱动能力更强。
同时调试程序时,也可把8个LED当做指示灯用。
四、思考题
1、在单片机最小系统的构建中,应注意哪些因素。
答:
(1)51单片机现在多用AT89S51,不用晶振,晶体加两个电容就可以了。
(2)复位电路中的电容是虑波稳定作用,并联在一个电阻上,一端接地,一端通过开关接高电位就可以了。
(3)晶振:
一般选用12MHz,因为可以准确地得到9600波特率和19200波特率。
二、跑马灯实验及74LS138译码
第一部分:
实验要求
一、预习要求
1.熟悉51单片机的结构及编程方法
2.按照程序流程图编写出程序
二、实验目的
1.熟悉集成环境软件或熟悉KeilC51集成环境软件的使用方法。
2.熟悉MCS51汇编指令,能自己编写简单的程序,控制硬件。
三、实验内容
(一)跑马灯实验:
1、熟悉集成环境软件或熟悉KeilC51集成环境软件的安装和使用方法。
2、照接线图编写程序:
使用P1口控制G6区的8个指示灯,循环点亮,瞬间只有一个灯亮。
3、观察实验结果,验证程序是否正确。
(二)74LS138译码器实验:
1、设计74LS138接口电路,编写程序:
使用单片机的P1.0、P1.1、P1.2控制74HC138的数据输入端,通过译码产生8选1个选通信号,轮流点亮8个LED指示灯。
2、运行程序,验证译码的正确性。
第二部分:
实验过程
一、单片机直接实现跑马
1、跑马灯仿真图
2、跑马灯对应程序的流程图
N
Y
3、程序代码
#include
#include
#defineuintunsignedint
#defineucharunsignedchar
voiddelay(uintz);
uintx,y;
uchartemp;
voidmain()
{
temp=0xfe;
//P1=temp;
while
(1)
{
P1=temp;
delay(1000);
temp=_crol_(temp,1);
}
}
voiddelay(uintz)
{
for(x=z;x>0;x++);
for(y=110;y>0;y++);
}二、通过74LS138译码器实现跑马灯
1、74LS138译码器工作原理
(1)、74LS138译码器工作原理
74LS138原理图
从原理图可看出,74138有三个输入端:
A0、A1、A2和八个输出端Q0~Q7。
当输入端A0、A1、A2的编码为000时,译码器输出为Q0=0,而Q1~Q7=1。
即Q0对应于A0、A1、A2为000状态,低电平有效。
A0、A1、A2的另外7种组合见后面的真值表。
图中S1、S2、S3为使能控制端,起到控制译码器是否能进行译码的作用。
只有S1为高电平,S2、S3均为低电平时,才能进行译码,否则不论输入输入为何值,每个输出端均为1。
(2)、74LS138译码器真值表
2、通过74LS138跑马灯仿真图
3、对应程序流程图
4、程序代码
#include
#defineucharunsignedchar
#defineuintunsignedint
voidDelayMS(uintx)
{
uchari;
while(x--)
{
for(i=0;i<120;i++);
}
}
voidmain()
{
ucharj=0;
ucharii;
P1=0x00;
DelayMS(150);
while
(1)
{
for(j=0;j<8;j++)
{
P1++;
DelayMS(150);
}
for(ii=0;ii<8;ii++)
{
P1--;
DelayMS(150);
}
}
}三、思考题
1、在单片机系统中,74LS138通常用来产生片选信号,应如何处理?
答:
取三根底地址线,接到74LS138译码器的输入端,译码产生,8个使能控制信号。
四、实验问题及总结
没有74LS138的跑马灯实验是直接在系统板上实现的所以只有烧录程序就行了,有74LS138的跑马灯实验要注意LED灯的接法,LED灯有共阴和共阳两种接法,在这个实验中,我采用了共阳接法,并接电源供电。
对于利用74LS138来控制LED灯的实验,同时要注意一下74LS138的引脚。
三、8255A控制交通灯实验
第一部分:
实验要求
一、预习要求
1.熟悉51单片机的结构及编程方法
2.按照要求画出流程图及程序
二、实验目的
1、了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。
学会使用8255并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。
2、熟悉8255内部结构和与单片机的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。
3、尝试自行编写程序,填写实验报告。
三、实验内容
1、设计8255接口电路,编写程序:
使用8255的PA0..2、PA5..7控制LED指示灯,实现交通灯功能。
2、连接线路验证8255的功能,熟悉它的使用方法。
第二部分:
实验过程
1、8255引脚图
2、8255工作原理
8255共有三种工作方式:
(1)工作方式0:
这是8255A中各端口的基本输入/输出方式。
它只完成简单的并行输入/输出操作,CPU可从指定端口输入信息,也可向指定端口
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计