单片机最小系统实训报告.docx
- 文档编号:6059028
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:24
- 大小:81.33KB
单片机最小系统实训报告.docx
《单片机最小系统实训报告.docx》由会员分享,可在线阅读,更多相关《单片机最小系统实训报告.docx(24页珍藏版)》请在冰豆网上搜索。
单片机最小系统实训报告
单片机最小系统实训报告
一、实训目的
1、掌握并理解单片机最小系统的原理和制作,熟悉电子元件的参数以及应用。
2、熟悉PCB板的工业制作流程,并且要求会使用protel软件绘制相应的PCB图。
3、复习使用keil51软件编写相应程序,编译以及实现其功能。
4、要求具备手工焊接的能力,
5、能够使用软件对原理图进行仿真,测试。
2、实训要求
1、实现温度检测,并在数码管上显示。
2、流水灯的实现。
左循环和右循环。
3、键盘输入的控制。
三.实验设备及型号
1、单片机测试平台;开发系统,PC机、串/并口线。
2、AT89C52单片机,A/D模数转换芯片D/A数模转换芯片,晶体管晶振。
最小系统板及其他外围电路器材。
3、开发软件;Protel软件。
Keil51软件。
Proteus仿真软件。
四.实训原理
最小系统原理电路图
由复位电路,单片机和排阻及时钟电路组成最小单片机系统。
ADDA转换电路图
使用proteus软件对系统原理进行仿真测试。
仿真测试此处不一一列举仿真实例,如图为(温度仿真)
单片机实现此四个功能的相应的程序代码
完整源代码如下;
#include
#include
#defineuintunsignedint
#defineucharunsignedchar
#defineledP1//流水灯端口宏定义
#define_dataP0//数码管数据宏定义
sbitdiola=P2^5;//流水灯选通端
sbitdula=P2^6;//数码管段选
sbitwela=P2^7;//数码管位选
sbitDQ=P2^2;//DS18B20数据读取端
sbits1=P3^4;//四个按键
sbits2=P3^5;
sbits3=P3^6;
sbits4=P3^7;
uintwendu,key_num=0,led_num=0;
ucharcodetable[]={//数码管字模
0xed,0x48,0xe6,0x6e,
0x4b,0x2f,0xaf,0x68,
0xef,0x6f,0xeb,0x8f,
0xa5,0xce,0xa7,0xa3};
/*************DS18B20温度读取模块*************/
voidtmpDelay(intu)//延时函数
{
uintx;
for(x=u;x>0;x--);
}
voidInit_DS18B20()//初始化ds1820
{
unsignedcharx=0;
DQ=1;//DQ复位
tmpDelay(8);//稍做延时
DQ=0;//单片机将DQ拉低
tmpDelay(80);//精确延时大于480us
DQ=1;//拉高总线
tmpDelay(14);
x=DQ;//稍做延时后,如果x=0则初始化成功x=1则初始化失败
tmpDelay(20);
}
unsignedcharReadOneChar()//读一个字节
{
unsignedchari=0;
unsignedchardat=0;
for(i=8;i>0;i--)
{
DQ=0;//给脉冲信号
dat>>=1;
DQ=1;//给脉冲信号
if(DQ)
dat|=0x80;
tmpDelay(4);
}
return(dat);
}
voidWriteOneChar(unsignedchardat)//写一个字节
{
unsignedchari=0;
for(i=8;i>0;i--)
{
DQ=0;
DQ=dat&0x01;
tmpDelay(5);
DQ=1;
dat>>=1;
}
}
uintReadtemp()//读取温度
{
unsignedchara=0;
unsignedcharb=0;
unsignedintt=0;
floattt=0;
Init_DS18B20();
WriteOneChar(0xCC);//跳过读序号列号的操作
WriteOneChar(0x44);//启动温度转换
Init_DS18B20();
WriteOneChar(0xCC);//跳过读序号列号的操作
WriteOneChar(0xBE);//读取温度寄存器
a=ReadOneChar();//连续读两个字节数据
b=ReadOneChar();
t=b;
t<<=8;
t=t|a;//两字节合成一个整型变量
tt=t*0.0625;//得到真实十进制温度值
t=tt*1000+0.5;//放大十倍
return(t);
}
voiddelay(uintz)//通用延时函数
{
uintx,y;
for(x=z;x>0;x--)
{
for(y=110;y>0;y--);
if(!
s1||!
s2||!
s3||!
s4)break;//检测到按键退出
}
}
voiddisplay(uintz)//数码管显示函数
{
_data=0xfb;
wela=1;
wela=0;
_data=0x00;
dula=1;
_data=table[z/1000];
delay
(2);
dula=0;
_data=0xf7;
wela=1;
wela=0;
_data=0x00;
dula=1;
//if(!
key_num)
_data=table[z/100%10]+0x10;
//else
//_data=table[z/100%10];
delay
(2);
dula=0;
_data=0xef;
wela=1;
wela=0;
_data=0x00;
dula=1;
_data=table[z/10%10];
delay
(2);
dula=0;
_data=0xdf;
wela=1;
wela=0;
_data=0x00;
dula=1;
_data=table[z%10];
delay
(2);
dula=0;
}
voidled_run_left()//流水灯左移函数
{
uinttemp,j;
diola=1;
temp=0xf8;
for(j=0;j<8;j++)
{
led=temp;
delay(300);
temp=_crol_(temp,1);
led=0xff;
}
}
voidled_run_right()//流水灯右移函数
{
uinttemp,j;
diola=1;
temp=0x1f;
for(j=0;j<8;j++)
{
led=temp;
delay(300);
temp=_cror_(temp,1);
led=0xff;
}
}
ucharkey_scan()//按键检测函数
{
if(!
s1)
{
delay(10);
if(!
s1)
{
while(!
s1);
key_num=0;
}
}
if(!
s2)
{
delay(10);
if(!
s2)
{
while(!
s2);
key_num=1;
led_num++;
led_num=led_num%16;
}
}
if(!
s3)
{
delay(10);
if(!
s3)
{
while(!
s3);
key_num=2;
}
}
if(!
s4)
{
delay(10);
if(!
s4)
{
while(!
s4);
key_num=3;
}
}
return(key_num);
}
voidchuli()//温度处理函数
{
wendu=Readtemp()/10;
}
voidmain()//主函数
{
uinttemp1;
chuli();//读取一次温度
while
(1)
{
key_scan();//按键检测
switch(key_num)
{
case0:
//按下键s1时显示当前温度
{
temp1++;
if(temp1==200)
{
temp1=0;
chuli();
}
display(wendu);
}
break;
case1:
//按下键s2时数码管显示
{
_data=0x00;
wela=1;
wela=0;
dula=1;
_data=table[led_num];
delay
(2);
dula=0;
}
break;
case2:
//按下键s3时流水灯左移
{
_data=0x00;
wela=1;
wela=0;
dula=1;
_data=0x83;
led_run_left();
}
break;
case3:
//按下键s4时流水灯右移
{
_data=0x00;
wela=1;
wela=0;
dula=1;
_data=0x4a;
led_run_right();
}
break;
default:
break;
}
}}
5、实训心得
通过这几天的单片机的实训,我们在理论的基础上更深刻的掌握了单片机的深层内容及实际生活中的应用,实训锻炼了自己动手能力和思维能力,还有在软件方面的编程能力,让我受益匪浅,同时也暴露出一些平时学习上的问题,让我深刻反思。
这些问题的发现将为我以后的学习和工作找明道路,查漏补缺为进一步学习作好准备。
通过实训,让我懂得了如何编写一些简单的程序,学会了如何制作单片机应用程序,同时对相应的软件譬如protel极其仿真软件有了一点的掌握。
这些东西不但在丰富我们理论知识的同时,并且可以在今后的日常生活中灵活运用。
本文由109独立团贡献
ppt文档可能在WAP端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
单片机原理与接口技术
第14章单片机系统14章开发工具与设计实例
01:
41
单片机原理与接口技术(第2版).李晓林.电子工业出版社
返回目录
1
本章教学要求
(1)了解单片机开发系统类型。
了解单片机开发系统类型。
(2)掌握KeilC51开发工具的使用方法。
掌握KeilC51开发工具的使用方法开发工具的使用方法。
(3)掌握应用Proteus电路分析与实物仿真掌握应用Proteus电路分析与实物仿真软件进行软硬件仿真调试的方法。
软件进行软硬件仿真调试的方法。
(4)了解单片机应用系统的开发过程。
了解单片机应用系统的开发过程。
01:
41
单片机原理与接口技术(第2版).李晓林.电子工业出版社
返回目录
2
本章目录
14.1单片机应用系统开发环境14.3Proteus电路分析与实物Proteus电路分析与实物仿真软件及调试方法14.1.1开发系统的功能14.1.2开发系统的分类14.2KeilC51开发工具及仿真C51开发工具及仿真调试方法14.2.1KeilC51开发工具C51开发工具14.3.1Proteus仿真软件Proteus仿真软件14.3.2应用Proteus进行单片机应用Proteus进行单片机应用系统仿真调试的方法14.3.3应用Proteus进行单片机应用Proteus进行单片机系统仿真调试举例
14.2.2应用KeilC51进行单片应用KeilC51进行单片机软件开发调试的方法14.4单片机应用系统设计举例14.2.3应用KeilC51调试C51应习题与思考题应用KeilC51调试调试C51应用程序举例
01:
41
单片机原理与接口技术(第2版).李晓林.电子工业出版社
返回目录
3
14.1单片机应用系统开发环境
一个单片机应用系统的设计完成、投入运行,一个单片机应用系统的设计完成、投入运行,一般需要经过这几个阶段:
方案选择、系统设计、一般需要经过这几个阶段:
方案选择、系统设计、仿真调试和现场调试。
仿真调试和现场调试。
单片机应用系统的开发是借助于开发工具来完成的。
借助于开发工具来完成的。
一个好的开发环境是单片机应用系统设计的前提。
单片机应用系统设计的前提。
01:
41
单片机原理与接口技术(第2版).李晓林.电子工业出版社
返回目录
4
14.1.1开发系统的功能
开发系统需具备的功能开发系统需具备的功能
在仿真调试阶段,为了能调试程序,检查硬件、在仿真调试阶段,为了能调试程序,检查硬件、软件的运行状态,的运行状态,就必须借助单片机开发系统模拟应用系统的单片机,片机,并随时观察运行的中间过程而不改变运行中原有的数从而实现模拟现场的真实调试。
据,从而实现模拟现场的真实调试。
一个好的开发系统,需要具备以下的功能:
一个好的开发系统,需要具备以下的功能:
(1)能输入和修改系统的应用程序;能输入和修改系统的应用程序;
(2)能对应用系统硬件电路进行检查和诊断;能对应用系统硬件电路进行检查和诊断;(3)能将用户源程序编译成目标代码并固化到EPROM能将用户源程序编译成目标代码并固化到EPROM中去;中去;(4)能以单步、断点、连续方式运行应用程序,正确反能以单步、断点、连续方式运行应用程序,映应用程序执行的中间状态。
映应用程序执行的中间状态。
01:
41
单片机原理与接口技术(第2版).李晓林.电子工业出版社
返回目录
5
14.1.1开发系统的功能
个较完善的开发系统还应具备以下几点:
个较完善的开发系统还应具备以下几点:
完善的开发系统完善的开发系统
不同的开发系统都必须具备上述基本功能,不同的开发系统都必须具备上述基本功能,但对于一
(1)有较全的开发软件,除汇编语言外,还应配有高级有较全的开发软件,除汇编语言外,语言(语言(如C语言),用户可用高级语言编制应用软语言)件,同时应具有丰富的子程序库可供用户选择调用;同时应具有丰富的子程序库可供用户选择调用;
(2)有跟踪调试、运行的能力,开发系统占用单片机的有跟踪调试、运行的能力,硬件资源尽量最少;硬件资源尽量最少;(3)为了方便模块化软件调试,还应配置软件转储、程为了方便模块化软件调试,还应配置软件转储、序文本打印功能及设备。
序文本打印功能及设备。
01:
41
单片机原理与接口技术(第2版).李晓林.电子工业出版社
返回目录
6
14.1.2开发系统的分类
目前国内使用较多的开发系统大致分为4分为4类:
(1)通用型单片机开发系统
(2)软件模拟开发系统(3)普及型开发系统(4)通用机开发系统
44类开发系统
01:
41
单片机原理与接口技术(第2版).李晓林.电子工业出版社
返回目录
7
14.1.2开发系统的分类
1.普及型开发系统
普及型开发系统普及型开发系统
普及型开发装置通常是采用相同类型的单片机做成单板机形式。
单板机形式。
所配置的监控程序可满足应用系统仿真调试的要求:
试的要求:
能输入和修改程序能单步运行和设置断点运行能方便地查询各寄存器、I/O口能方便地查询各寄存器、I/O口、存储器的状态和内容配备有EPROM写入器配备有EPROM写入器、仿真头写入器、这是一种廉价的、这是一种廉价的、能独立完成应用系统开发任务的普及型单板系统。
普及型单板系统。
01:
41
单片机原理与接口技术(第2版).李晓林.电子工业出版社
返回目录
8
14.1.2开发系统的分类
2.通用型单片机开发系统
通用型开发系统通用型开发系统
这是目前使用最多的一类开发装置。
采用独立型仿真结构,这是目前使用最多的一类开发装置。
采用独立型仿真结构,与任何具有RS-232串行接口或并行口)的计算机相连,串行接口(与任何具有RS-232串行接口(或并行口)的计算机相连,即可构成单片机仿真开发系统。
构成单片机仿真开发系统。
配有EPROM、读出/写入器、仿真插头和其他外设。
配有EPROM、读出/写入器、仿真插头和其他外设。
可以充分利用通用计算机系统的软/硬件资源,开发效率高。
可以充分利用通用计算机系统的软/硬件资源,开发效率高。
01:
41
单片机原理与接口技术(第2版).李晓林.电子工业出版社
返回目录
9
14.1.2开发系统的分类
模板式开发系统模板式开发系统
3.通用机开发系统这是一种在通用计算机中附加开发模板的开发系统。
这是一种在通用计算机中附加开发模板的开发系统。
在这种系统中,开发模板不能独立完成开发任务,在这种系统中,开发模板不能独立完成开发任务,只是起着开发系统接口的作用。
起着开发系统接口的作用。
开发模板插在通用计算机系统的扩展槽中或以总线连接方式安放在外部。
连接方式安放在外部。
开发模板的硬件结构应包含有通用计算机不可替代的部分,EPROM写入用计算机不可替代的部分,如EPROM写入、仿真头及写入、CPU仿真所必需的单片机系统等CPU仿真所必需的单片机系统等。
仿真所必需的单片机系统等。
01:
41
单片机原理与接口技术(第2版).李晓林.电子工业出版社
返回目录
10
14.1.2开发系统的分类
4.软件模拟开发系统
模拟开发工具软件模拟开发工具软件
只需有通用计算机再配以相应的模拟开发软件,只需有通用计算机再配以相应的模拟开发软件,完全依靠软件手段进行开发。
不需要任何在线仿真器和用户样机就可在PC件手段进行开发。
不需要任何在线仿真器和用户样机就可在PC上直接开发和模拟调试单片机软件程序。
上直接开发和模拟调试单片机软件程序。
调试完毕的软件可以将机器码固化,完成一次初步的软件设计工作。
机器码固化,完成一次初步的软件设计工作。
对于实时性要求不高的应用系统,一般能直接投入运行;对于实时性要求不高的应用系统,一般能直接投入运行;
对于实时性要求较高的应用系统,对于实时性要求较高的应用系统,通过多次反复模拟调试也可正常投入运行。
可正常投入运行。
软件模拟开发系统功能很强,软件模拟开发系统功能很强,基本上包括了在线仿真器的单断点、跟踪、检查和修改等功能,步、断点、跟踪、检查和修改等功能,并且还能模拟产生各种中事件)I/O应答过程应答过程。
断(事件)和I/O应答过程。
软件模拟开发系统是比较有实用价值的模拟开发工具。
软件模拟开发系统是比较有实用价值的模拟开发工具。
目前较为流行的模拟开发工具软件有Proteus和KeilC51。
51。
01:
41
单片机原理与接口技术(第2版).李晓林.电子工业出版社
返回目录
11
14.2KeilC51开发工具及仿真调试方法C51开发工具及仿真调试方法
14.2.1KeilC51开发工具C51开发工具1.KeilC51开发工具简介C51开发工具简介
KeilC51简介C51简介
KeilC51是目前最流行的51单片机开发工具软件,各仿真器51是目前最流行的单片机开发工具软件是目前最流行的51单片机开发工具软件,厂商都宣称全面支持Keil51的使用对于使用C的使用。
厂商都宣称全面支持KeilC51的使用。
对于使用C语言进行单片机开发的用户,51已成为必备的开发工具已成为必备的开发工具。
机开发的用户,KeilC51已成为必备的开发工具。
KeilC51集成开发环境μVision包括:
C51编译器、宏汇编、51集成开发环境集成开发环境μVision包括包括:
51编译器宏汇编、编译器、连接器、库管理和一个功能强大的仿真调试器。
连接器、库管理和一个功能强大的仿真调试器。
在开发应用软件过程中,编辑、编译、汇编、连接、在开发应用软件过程中,编辑、编译、汇编、连接、调试等各阶段都集成在一个环境中。
各阶段都集成在一个环境中。
KeilC51是德国知名软件公司Keil开发的基于80C51内核的51是德国知名软件公司是德国知名软件公司Keil开发的基于C51内核的开发的基于80微处理器软件开发平台。
测试评估版可以直接从Keil公司网站下微处理器软件开发平台。
测试评估版可以直接从Keil公司网站下网址为http:
//www.keil.demo/)载(网址为demo/)。
01:
41
单片机原理与接口技术(第2版).李晓林.电子工业出版社
返回目录
12
14.2.1KeilC51开发工具C51开发工具
KeilC51集成开发环境主操作界面C51集成开发环境主操作界面
KeilC51集成环境C51集成环境
01:
41
单片机原理与接口技术(第2版).李晓林.电子工业出版社
返回目录
13
14.2.1KeilC51开发工具C51开发工具
KeilC51开发步骤C51开发步骤
2.应用KeilC51进行单片机应用系统开发的过程应用KeilC51进行单片机应用系统开发的过程
(1)启动KeilC51进入集成开发环境。
启动KeilC51进入集成开发环境进入集成开发环境。
(2)进行应用系统硬件设计或者直接使用现成的电路板。
进行应用系统硬件设计或者直接使用现成的电路板。
(3)在KeilC51集成开发环境下进行程序编辑。
C51集成开发环境下进行程序编辑集成开发环境下进行程序编辑。
(4)把编辑好的程序进行汇编(编译),生成目标代码。
把编辑好的程序进行汇编(编译),生成目标代码。
),生成目标代码(5)通过并口或者串口将计算机和编程器连接在一起,把要通过并口或者串口将计算机和编程器连接在一起,编程的51芯片置入编程器相应的插槽内芯片置入编程器相应的插槽内。
编程的51芯片置入编程器相应的插槽内。
有的开发板集成了编程器的功能,成了编程器的功能,可以直接通过并口或者串口与计算机相连。
机相连。
(6)打开51芯片相应的服务程序,经过相
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 最小 系统 报告