湘潭大学单片机课程设计_湘潭大学单片机第二章

2020-02-27 其他范文 下载本文

湘潭大学单片机课程设计由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“湘潭大学单片机第二章”。

设计题目:简易频率计数器姓名:学号:

班级:09级电子信息工程一班指导老师:粟建新

一、实验目的1.要求学生具有制作调试单片机最小系统及外设的能力,能够掌握单片机内部资源的使用。

2.熟练掌握焊接技术的基础上,能熟练使用单片机软件开发环境Keil C51编程调试,并使用STC ISP调试工具采用串口下载方式联调制作的单片机最小系统。

二、实验要求

自制一个单片机最小系统,包括串口下载、复位电路,采用外部计数器T0或T1作为外部频率输入,外部频率由信号源提供,计算出来的频率显示在四位一体的数码管上。

三、实验器材

单片机'STC89C54RD+一个,晶振一个,电容3个,电阻3个,排阻一个(由于实验室不提供排阻,实验过程中用了10个10千欧姆的电阻代替),4位一体数码显示管一个,按钮1个。

四、实验原理图

五、硬件连线

1.将P0口与4位一体数码管的ABCDEFG和DP相连;

2.将P2口的2.0,2.1,2.2分别与数码管的S1,S2,S3相连;

3.引出14做激励输入口。

六、程序设计内容

1.定时/计数器T0 和T1 的工作方式设置,由图可知,T0 是工作在计数状态下,对输入的频率信号进行计数,但对工作在计数状态下的T0,最大计数值为fOSC/24,由于fOSC=12MHz,因此:T0 的最大计数频率为250KHz。对于频率的概念就是在一秒只数脉冲的个 数,即为频率值。所以T1 工作在定时状态下,每定时1秒钟到,就停止T0 的计数,而从T0 的计数单元中读取计数的数值,然后进行数据处理。送到数码管显示出来。

2.T1工作在定时状态下,最大定时时间为65ms,达不到1秒的定时,所以采用定时50ms,共定时20 次,即可完成1 秒的定时功能。

七、C语言源程序

#include//头文件端口声明

#define uchar unsigned char//变量宏定义

#define uint unsigned int

unsigned char code table2[]={ //共阳极0~f数码管编码

0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};

uintnumber1[4]={0,0,0,0};

uint count=0;//定义脉冲计数变量

sbit K1=P1^0;

sbit K2=P1^7;

void delay(uchar y)// 延时子程序

{

uchar x;

while(y--)for(x=110;x>0;x--);

}

display(x)// 显示子程序

{uintc,g=0x01;

number1[0]=x/1000;

number1[1]=x%1000/100;

number1[2]=x%1000%100/10;

number1[3]=x%1000%100%10;

for(c=0;c

{

P2=g;//位选

P0=table2[number1[c]];//段选

delay(15);//简短的延时

g=g

}}

void main()

{

IE=0x8a;

TMOD=0x51;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

while(1)

{

if(K1==0)

{

delay(10);

if(K1==0)

{count=0;

TR0=TR1=1;

}

}

}

}

void t0()interrupt

1{ uchar K;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;// 开总中断和T0,T1// 设置中断工作方式//当按键按下时启动T0和T1//定时计数器T0子程序

if(++K==20)

{

TR1=TR0=K=0;

count=TH1*256+TL1;

display(count);

TH1=TL1=0;

}

}

//关两个中断//当到一秒后,计下T1收到的脉冲个数 //T1清零

八、实验心得

通过这次课程设计,我熟悉了Keil C51编程与PROTUSE的使用,对单片机的使用有了更深刻的了解,在焊接与测试过程中也懂得了对任何的细节必须分外注意,不能粗心大意。实验由两部分组成,仿真和焊板子,仿真过程用运用了keil c51软件和PROTUSE,这两个软件以前没有用过,通过这次课程设计,我学习了这两种软件的基本上使用,是此次课程设计比较大的收获。焊接过程中,由于从大一开始已经有好几次的焊接经历,我吸取以前的教训,在这次的焊接过程中在排版,接线上都有了很大的改善,而且焊点基本上没有虚焊,只不过焊接复位电路时没认真看仿真图,导致后面数码管没亮,但是我仔细检查后发现了错误所在,通过检查错误这一步,我对我自己做焊接试验有了很大的信心,因为我知道了如何用万用表检查错误。总之,课程设计不仅让我们温习了单片机的设计思路与编程语言,而且锻炼了我们实际动手能力,将理论与实践相结合了。

《湘潭大学单片机课程设计.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
湘潭大学单片机课程设计
点击下载文档
相关专题 湘潭大学单片机第二章 单片机 课程设计 湘潭大学 湘潭大学单片机第二章 单片机 课程设计 湘潭大学
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文