摇摇棒课程设计论文(4)

2019-04-14 22:57

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸

void intersvr0(void) interrupt 0 using 1 {

KY=~KY; //每个摇动来回水银开关会在摆幅两端分别产生下降沿中断,只提取其中一次(从左向右摇才显示) if(KY==0) {

num++; //计算中断次数 switch(pic) //选择画面 {

case 0:{display1();}break; case 1:{display2();}break; case 2:{display3();}break; case 3:{display4();}break; default:{display1();} } } }

/*****显示子程序1(汉字)*****/ void display1(void) { uchar i;

if(num>10){disp++;num=0;} //12个汉字分为3次显示完(每次显示4个),每中断10次切换 if(disp>2)disp=0;

DelayUs(5200); //此处延时时间依各硬件差别而各不相同,试着调整使得显示内容居中即可 for(i=0;i<64;i++) {

P0=~hanzi[disp*128+i*2]; P2=~hanzi[disp*128+i*2+1];

共 25 页 第 16 页

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸

DelayUs(100); } }

/*****显示子程序2(LOVE)*****/ void display2(void) { uchar i; DelayUs(4000); for(i=0;i<64;i++) {

P0=~love[i*2]; P2=~love[i*2+1]; DelayUs(120); } }

/*****显示子程序3(心形图案)*****/ void display3(void) { uchar i; DelayUs(4000); for(i=0;i<64;i++) {

P0=~loveyou[i*2]; P2=~loveyou[i*2+1]; DelayUs(120); } }

/*****显示子程序4(呵呵o(∩_∩)o图案)*****/ void display4(void) {

共 25 页 第 17 页

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸

uchar i; DelayUs(4000); for(i=0;i<64;i++) {

P0=~hehe[i*2]; P2=~hehe[i*2+1]; DelayUs(120); } }

/*****主函数*****/ void main(void) { IT0=1; EX0=1;

EA=1; //开中断,下降沿中断 KY=0;

while(1) //主程序中只检测按键 {

if(KEY==0) //画面切换键按下 {

DelayUs(10000); //按键去抖 if(KEY==0); pic++;}

if(pic>3)pic=0; } }

/*****END*****/ 3. 软件实现功能的完善

本次设计的一个难点是去除重影,我们的解决方法是使用外部中断让数据单程传输。

共 25 页 第 18 页

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸

第二个难点是当显示较长字符时不能完整的显示在一次摇摆的扇形区域内。通过反复试验,我们改变了送数据方式:由一个字符接一个字符传送改为一组字符一起传送,传送结束后再延时,通过不断调试实现了完整显示的功能,同时也解决了画面连续出现没有间断的问题。

综上,只要控制好数据传输方式以及每次传输数据间的延时就可以实现多种数据的显示方法。

五.系统的硬件调试及软件调试

单片机应用系统的硬件调试和软件调试是分不可的,许多硬件故障是在调试软件时才发现的。但通常是先排除系统中明显的硬件故障后才和软件结合起来调试的。其一般的调试过程如下:

共 25 页 第 19 页

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸

1.常见的硬件故障 (1)逻辑错误

样机硬件的逻辑错误是由于设计错误和加工过程中的工艺性错误所造成的。这类错误包括:错线,开路,短路等几种,其中短路时最常见的故障。在印刷电路板布线密度高的情况下,极易因工艺原因造成短路。 (2)器件失效

元器件失效的原因有两个方面:一是器件本身已损坏或性能不符合要求;二是由于组装错误而造成的元器件失效,如电解电容,二极管的极性错误,集成块安装方向错误等。

(3)可靠性差

引起系统不可靠的因素很多,如金属化孔,接插件接触不良会造成系统时好时坏;内部和外部的干扰,电源纹波系数过大,器件负载过大等造成逻辑电平不稳定;另外,走线和布局的不合理等也会引起系统可靠性差。 (4)电源故障

若样机中存在电源故障,则加电后将造成器件损坏。电源的故障包括:电压值不符合设计要求,电源引出线和插座不对应,电源功率不足,负载能力差。 2.硬件调试方法 (1)脱机调试

脱机调试是在电路板加电之前,先用万用表等工具,根据硬件电气原理图和装配图仔细检查样机线路的正确性,并核对元器件的型号,规格和安装是否符合要求。应特别注意电源的走线,防止电源之间的短路和极性错误,并重点检查拓展系统总线是否存在相互间的短路或其他信号线的短路。

对于样机所用的电源事先必须单独调试,调试好后,检查其电压值,负载能力,极性等均符合要求,才能加到系统的各个部件上。在不插片子的情况下,加电检查各插件上引脚的电位,仔细检查各地点电位是否正常,尤其应注意单片机插座上的各点电位是否正常,若有高压,联机时将会损坏开发机。 (2)联机调试

通过脱机调试可排除一些明显的硬件故障。有些硬件故障还是要通过联机调试才能发现和排除。

联机前先断电,把开发系统的仿真插头插到样机的单片机插座上,检查一下开发机

共 25 页 第 20 页


摇摇棒课程设计论文(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:南财《运输与配送》期末模拟试卷A答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: