第一范文网 - 专业文章范例文档资料分享平台

简易航标灯报告 (2)

来源:用户分享 时间:2020-06-19 本文由浊酒倾觞 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

常熟理工学院课程设计报告

{ };

unsigned int State[6]; unsigned char GetKey(void) {

unsigned char key; unsigned char num; unsigned char gcd;

//拨码开关状态

//各时间间隔最大公约数

unsigned char state[6];//无符号字符型时间常数

key=0; }

//获取键值,两个开关有四种状态,分别是00,01,10,11即可获得四个键值0,1,2,3

const struct IALA IALA4[4]={ };

将计数判断点存入数组中

{0,10,1,0,0,0,0,0}, {1,10,1,3,0,0,0,0}, {2,10,1,1,1,7,0,0}, {3,10,1,2,1,2,1,5}

if((P1&0x01)==0) //低电平有效

key|=0x01;

if((P1&0x02)==0)

key|=0x02;

return(key); key|=P1; return key&0x03;

常熟理工学院课程设计报告

//设定灯质状态,以及各个状态的时间 unsigned int it=0;

void T0_ISR(void) interrupt 1 {

unsigned char j; TH0=(65536-COUNT)/256; TL0=(65536-COUNT)%6; if(OPCON==0)

//黑夜、暗照度

{

it++;

for(j=0;j<6;j++) { if(it==State[j])

led=(j%2)?D_OPEN:D_CLOSE; //判断是开灯还是关灯状态

} }

//白天、亮照度

if(it>=State[5]) { it=0; }

else {

led=D_CLOSE;

}

} //中断服务程序 void main(void) {

unsigned int sum=0;

常熟理工学院课程设计报告

unsigned char key,pre_key=0,i;

TMOD=(TMOD&0xf0)|0x01; TH0=(65536-COUNT)/256; TL0=(65536-COUNT)%6; ET0=1; EA=1;

TR0=1; //T0启动 led=1; sum=0; while(1) {

key=GetKey();//获取键值 if(key!=pre_key)

//中断使能

{ }

3、仿真波形:

}

}

pre_key=key;

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

{ sum=sum+(IALA4[key].gcd)*(IALA4[key].state[i]); }

if(sum==1)

led=1;

State[i]=sum;

常熟理工学院课程设计报告

第一种状态仿真波形

第二种状态仿真波形

常熟理工学院课程设计报告

第三种状态仿真波形

第四种状态仿真波形

4、调试过程记录:

调试先在Keil uVision4软件环境下进行程序编写,利用C语言来编写本次实验所需程序。因为本次实验为简易航标灯的控制设计实验,通过两个拨码开关来实现四种状态的变化。并且用一个LED灯,来显示航标灯的亮灭规律。程序编写完成后再生成hex文件在proteus7.8的仿真图中进行模拟仿真,有问题时,再回到Keil uVision4中对程序进行修改。当在proteus中

常熟理工学院课程设计报告

仿真成功以后,再将程序烧写到开发板上,进行实物调试。在进行实物调试时需要将输入信号接到示波器上,这样可以精确观察,以确保编写的程序定时的准确,没有误差,达到精确定时的目的。仿真时发现波形不对,与各种状态的时间不符合,然后我们将程序的50000参数改变为500,这样在仿真的时候就可以观察到完整的波形,也可以进行验证各个状态的参数是否设置正确,最后加以改正,得出了正确的仿真结果,使得程序能正确运行。 七、实验小结

经过好几次实验的训练,我们知道了单片机实验最主要的就是程序的编写以及Keil软件的熟练运用。在程序编写好的基础上,我们要进行仿真,只有看到仿真效果才能判别出我们程序的对与错,从而才能进行实物上的操作。如果仿真出不来我们实验所要求的效果,则很大可能就是我们程序的某一部分编写错误,我们要对程序进行修改。本次试验我们在Keil环境下编写了程序并通过Proteus(SY1_Proteus_test)进行了功能仿真,在面包板上搭建了2个按键控制8个发光二极管的跑马灯的设计,总的来说并不是很难,下次实验我们会继续努力,提前做好充分的预习准备,实验前的预习很重要。

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新自然科学简易航标灯报告 (2)全文阅读和word下载服务。

简易航标灯报告 (2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1086640.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top