嵌入式系统课程实践.docx

上传人:b****0 文档编号:8984460 上传时间:2023-05-16 格式:DOCX 页数:11 大小:320.23KB
下载 相关 举报
嵌入式系统课程实践.docx_第1页
第1页 / 共11页
嵌入式系统课程实践.docx_第2页
第2页 / 共11页
嵌入式系统课程实践.docx_第3页
第3页 / 共11页
嵌入式系统课程实践.docx_第4页
第4页 / 共11页
嵌入式系统课程实践.docx_第5页
第5页 / 共11页
嵌入式系统课程实践.docx_第6页
第6页 / 共11页
嵌入式系统课程实践.docx_第7页
第7页 / 共11页
嵌入式系统课程实践.docx_第8页
第8页 / 共11页
嵌入式系统课程实践.docx_第9页
第9页 / 共11页
嵌入式系统课程实践.docx_第10页
第10页 / 共11页
嵌入式系统课程实践.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

嵌入式系统课程实践.docx

《嵌入式系统课程实践.docx》由会员分享,可在线阅读,更多相关《嵌入式系统课程实践.docx(11页珍藏版)》请在冰点文库上搜索。

嵌入式系统课程实践.docx

嵌入式系统课程实践

 

嵌入式系统课程实践

 

实验报告

 

指导教师

姓名

班级

学号

 

实验一流水灯

一.实验目的

1、学习Keil软件的程序调试方法。

2、学习单片机HEX文件的下载。

3、学会KEILC程序设计及调试,重点学会预处理命令、数据类型的定义

二.实验仪器

1.PC计算机、Keil软件、STC_ISP软件Proteus-Pro-crack-ha-7.8sp2软件

三.实验内容

1、依据电路图,实现LED的闪烁,每隔0.2秒更替一次亮灭

2、按照KEIL软件的使用步骤,建立工程。

3、编写程序,保存文件,将源程序文件加载到工程中,当编译通过之后生成HEX文件。

4、用STC-ISP下载软件下载HEX文件到单片机系统。

5、运行、调试程序,观察实验结果。

四.实验步骤

电路图

程序跑马灯

#include

voiddelay()

{intt=0;

for(t=0;t<9999;t++);

}

voidmain()

{intled=0x01;

P1=led;delay();

while

(1)

{

if(led==0x80)

{led=0x01;P1=led;delay();}

led=led*2;

P1=led;

delay();}}

5.实验感悟

通过这次试验,学到了很多程序思想,在实际调试过程中一些困难,但在同学帮助下都一一解决,加深了对单片机的理解,知道了单片机的实际应用的重要性。

实验二电机速度控制

一.实验目的

1学习Keil软件的程序调试方法。

2学习单片机HEX文件的下载。

3学会KEILC程序设计及调试,重点学会预处理命令、数据类型的定义

二.实验仪器

1.PC计算机、Keil软件、Proteus-Pro-crack-ha-7.8sp2软件、

三.实验内容

1依据电路图,实现单片机实现对电机的控制即数字量到模拟量的转化

2按照KEIL软件的使用步骤,建立工程。

3编写程序,保存文件,将源程序文件加载到工程中,当编译通过之后生成HEX文件。

4用STC-ISP下载软件下载HEX文件到单片机系统。

5运行、调试程序,观察实验结果。

.四。

实验步骤

电路图

主程序

#include

intspeed=0;

intrspeed=20;

intyspeed=0;

inte=0;

intkp=3;

voidtime1_int(void)interrupt3

{TR1=0;

TR0=0;

TH1=(65536-10000)/256;

TL1=(65536-10000)%256;

yspeed=TH0*256+TL0;

TH0=0;

TL0=0;

TR1=1;

TR0=1;

e=rspeed-yspeed;

P2=e*kp;}

main(){

TMOD=0x15;

TH1=(65536-10000)/256;

TL1=(65536-10000)%256;

TH0=0;

TL0=0;

IE=0x89;

TR1=1;

TR0=0;

EA=1;

EX0=1;

IT0=1;

while

(1);

}

五.实验感悟

通过这次试验,认识了控制电机的工作原理,实验过程中出现了好多问题,只能一点一点慢慢修改,最终完成实验,认识到了实践的重要性。

 

实验三AD,DA转换

一实验目的

1学习Keil软件的程序调试方法。

2学习单片机HEX文件的下载。

3学会KEILC程序设计及调试,重点学会预处理命令、数据类型的定义。

二实验仪器

PC计算机、Keil软件、Proteus-Pro-crack-ha-7.8sp2软件、

三实验内容

1依据电路图,调节电路图里的可调电阻通过单片机测量电路里的电压的变化最后把电压值在4个七段数码管显示从而实现了模拟量到数字量的转化

2按照KEIL软件的使用步骤,建立工程。

3编写程序,保存文件,将源程序文件加载到工程中,当编译通过之后生成HEX文件。

4用STC-ISP下载软件下载HEX文件到单片机系统。

5运行、调试程序,观察实验结果。

四.实验步骤

电路图:

程序:

#include

#include

#defineucharunsignedchar

sbitP2_0=P2^0;

sbitP2_1=P2^1;

sbitP2_2=P2^2;

sbitP2_3=P2^3;

sbitOE=P3^0;

sbitEOC=P3^1;

sbitST=P3^2;

sbitP3_4=P3^4;

sbitP3_5=P3^5;

sbitP3_6=P3^6;

ucharcodeleddata_dot[]={0x40,0x79,0x24,0x30,0x19,0x12};//整数加小数点{0.1.2.3.4.5.}

ucharcodeleddata[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//小数位

voiddelay(ucharn)

{uchari,j;

for(i=0;i

for(j=0;j<125;j++);}

voidconvert(intvolt_data)

{uchartemp;

P0=leddata_dot[volt_data/51];//255对应5V,1V对应51二进制

P2_0=1;

delay(3);

P2_0=0;

{P0=leddata[(volt_data%51)*10/51];

P2_1=1;

delay(3);

P2_1=0;}

//temp=(((volt_data%51)*10)/51)*10%51;

temp=(((volt_data%51)*10)%51);//*10%51;

{P0=leddata[temp*10/51];

P2_2=1;

delay(3);

P2_2=0;}temp=((temp*10/51)*10/51);{

P0=leddata[(temp*10/51)*10/51];

P2_3=1;

delay(3);

P2_3=0;}}

voidmain()

intvolt_data;

P3_4=0;

P3_5=0;

P3_6=1;

while

(1)

{ST=0;

_nop_();

ST=1;

_nop_();

ST=0;//6(START):

A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。

if(EOC==0)

delay(100);

while(EOC==0);//(EOC):

A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。

OE=1;//9(OE):

数据输出允许信号,输入,高电平有效。

当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。

volt_data=P1;

OE=0;

convert(volt_data);}}

5.实验感悟

通过这次实验,了解了AD转换,模拟量和数字量的转换,在老师已有程序的前提下,艰难的完成了实验,让我们知道我们还差很远,还得努力学习

实验四单片机中断查询工作方式

一.实验目的

1学习Keil软件的程序调试方法。

2学习单片机HEX文件的下载。

3学会KEILC程序设计及调试,重点学会预处理命令、数据类型的定义

二.实验仪器

PC计算机、Keil软件、Proteus-Pro-crack-ha-7.8sp2软件、

三.实验内容

1依据电路图,实现单片机对外部状态的查询和输出,即根据按键的状态来输出结果。

2按照KEIL软件的使用步骤,建立工程。

3编写程序,保存文件,将源程序文件加载到工程中,当编译通过之后生成HEX文件。

4用STC-ISP下载软件下载HEX文件到单片机系统。

5运行、调试程序,观察实验结果。

四.实验步骤

电路图:

程序:

#include

unsignedcharcodekeytable[]=

{0xee,0xde,0xbe,0x7e,

0xed,0xdd,0xbd,0x7d,

0xeb,0xdb,0xbb,0x7b,

0xe7,0xd7,0xb7,0x77};

unsignedcharcodetable[]=

{0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71};

voiddelay()

{unsignedintn=10000;

while(n--);}

voidmain()

{unsignedchartemp,key,num,i;

while

(1)

{P3=0xf0;

if(P3!

=0xf0)

{delay();

if(P3!

=0xf0)

{temp=P3;

P3=0x0f;

key=temp|P3;

for(i=0;i<16;i++)

if(key==keytable[i]){

num=i;break;}

P1=table[num];

delay();}}}}

5.实验感悟

通过这次课,了解到中断对单片机是很重要的,学习中断对我们学习单片机的帮助是很大的,熟悉了keil仿真软件、proteus仿真软件的使用和单片机外部中断的使用,了解并熟悉了51单片机中中断的概念,中断处理系统的工作原理。

掌了中断的设计,会利用中断进行简单的加减设计。

同理还可以扩展设计成多位数码管的加减运算,并能得到广泛的应用。

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

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2