1、基于单片CPU白勺LCD显示频率 计设计作者:日期:为W祢唱必誉2013/2 0 14学年第一学期课程设计II实验报告模 块 名 称 Proteu s软件设计(51单片机)专业通信工程学生班级学 生学号学生姓名指导教师需要程序和仿真电路图请联系QQ: 6432 33819设计题目基于单片CPU的L CD显示频率计设计任务要求基本要求:1用P1或P3 口,产生一方波信号,频率为1 0 00 Hz,用 8L ED显示频率和周期2将输出信号输入到另一端口作频率计的信号输入端,测量此方波信号的频率、周期和脉宽,在另一 8 LED上将参 数值显示出来。3设置一功能键,能将当前LED上的信号值锁定发挥部分
2、:1通过键盘,可修改力波的频率。每斤-次键,频率值进给或后退1 0 0 Hz ,频率范围1 0 0Hz1 500H z2按键时,蜂鸣器发出提示音,表示按键有效3用图形方式显示输入波动态显示格式:自定实验设备及软件(1)pc机F(2 ) Ke 1 l c 51单片机仿真软件(3 ) P r o t e us 软件同组人员学号及姓名参考文献郭天祥十天学会单片机谭浩强C语言程序设计新概念5 1单片机C语言教程 杜洋爱上单片机基于单片C P U的LC D显示频率计设计一、实验目的本课程设计是在理论课程的基础上,重点培养学生的动手能力,通过电路设计、理论计算、实际编程、调试、测试、分析查找故障,解决在实
3、际设计中的问题,使设计好的电路能正常工作,并可能结合实际的实验板进行下载测试。学习proteus软件的使用,学习汇编语言以及C语言在51编程上的使用,学习系统测试,自主实验。二、实验设备(1)PC机一台(2) Kei 1 c51单片机仿真软件(3) Pro t eu s 软件三、实验内容简易频率计类:基于单片CP U的LCD显示频率计设计 基本要求:1 用P1或P3 口,产生一方波信号,频率为1 000Hz,用一组数码管或 LCD显示频 率和周期以及脉宽等参数(也可用信号源或模拟信号源 )。2 将输出信号输入到另一端口( INT0/INT1)作频率计的信号输入端,测量此方 波信号的频率、周期和
4、脉宽,在另一组数码管或 LCD上将参数值显示出来。(刷 新时间1秒)。发挥部分:1设置一功能键,能将当前数码管或L CD上的信号参数值锁定。2通过键盘,可修改方显示参数,刷新时间。3按键时,蜂鸣器发出提示音,表示按键有效4用图形方式显示输入波形(用模拟示波器)动态显示格式: 自定四、实验原理单片机卫星计算机简称单片机 ,是指在一块芯片体上集成了中央处理器C P U,随即存储器R AM,程序存储器 ROM或EPROM,定时器/计数器,中断控制器以及串行和并行 I/O接口等部件,构成一个完整的微型计算机。单片机应用系统中,经常要对一个连续的脉冲波频率进行测量。在实际应用中,对于转速,位移、速度、流
5、量等物理量的测量,一般也是由传感器转换成脉冲电信号,采用测量频 率的手段实现。使用单片机测量频率或周期, 通常是利用单片机的定时计数器来完成的,测量的基本方法和原理有两种:测频法:在限定的时间内(如1秒钟)检测脉冲的个数。测周法:测试限定的脉冲个数之间的时间。这两种方法尽管原理是相同的,但在实际使用时,需要根据待测频率的范围、系统的时钟周期、计数器的长度、以及所要求的测量精度等因素进行全面和具体的考虑,寻找和设计出适合具体要求的测量方法。在具体频率的测量中,需要考虑和注意的因素有以下几点。系统的时钟。首先测量频率的系统时钟本身精度要高,因为不管是限定测量时间还是测量限定脉冲个数的周期,其基本的
6、时间基准是系统本身时钟产生的。其次是系统时钟的频率值,因为系统时钟频率越高,能够实现频率测量的精度也越高。因此使用AVRtS频率时,建议使用由外部晶体组成的系统的振荡电路,不使用其内部的RGB1荡源,同时尽量使用频率比较高的系统时钟。所使用定时计数器的位数。测量频率要使用定时计数器,定时计数器的位数越长, 可以产生的限定时间越长,或在限定时间里记录的脉冲个数越多,因此也提高了频率测量的精度。所以对频率测量精度有一定要求时,尽量采用16位的定时计数器。被测频率的范围。频率测量需要根据被测频率的范围选择测量的方式。当被测频率的范围比较低时,最好采用测周期的方法测量频率。 而被测频率比较高时,使用测
7、频法比较合适。 需要注意的是,被测频率的最高值一般不能超过测频MGU系统时钟频率的1/2 ,因为当被测频率高于MCUf钟1/2后,MCUE往不能正确检测被测脉冲的电平变化了。除了以上三个因素外,还要考虑频率测量的频度(每秒内测量的次数,如何与系统中其它任务处理之间的协调工作等。频率测量精度要求高时,还应该考虑其它中断以及中断响应 时间的影响,甚至需要在软件中考虑采用多次测量取平均的算法等。测频法的基本思想,就是采用在已知限定的时间内对被测信号输入的脉冲个数进行计 数的方法来实现对信号频率的测量。当被测信号的频率比较高时,采用这种方法比较适合, 因为在一定时间内,频率越高,计数脉冲的个数也越多,
8、测量也越准确。本次实验,采用了测频法,采用在已知限定的时间内对被测信号输入的脉冲个数进行计数 的方法来实现对信号频率的测量 ,用P 1或P3口,产生一方波信号,频率分别为100H z ,5 0 0Hz, 1 000 Hz,用LCD显示频率以及脉宽参数。程序:# i n c 1 udevre g51.h # includevmain. h #defi ne uchar unsi gned char# d e f i ne uint unsign e d ints bi t S1=P2A 0;s bit 1 cd r s=P 3A 0 ;sb it lcdrw= P 3A3;sbit Icd e
9、=P3A4;u charset _st= 0 ;/状态标志sbi t PWMPor t = P3 A7;in t FCount;u i nt FSet,aa,bb c c;voi d d elay (u i nt z)uint i, j;for (i=z;i0;if。r (j = 1 10;j0; j-);void Del a y1 ( uint n um)while( - num );v oi d wr i t e_com(ucharcom)1 cdrs= 0 ;P1=co m;delay(5);l c d e =1;d e l a y(5);1cde= 0 ;void write_data
10、 (uchar d a te) lcd r s=1;P1= d a te;d e 1 ay(5);lcde= 1;del a y( 5 );l c de=0;v oid init()lc d rw= 0 ;l c de=0 ;w r it e _co m( 0 x 3 8);wri t e_co m( 0 x0c);w rite_c o m ( 0 x 06);write_com (0x01);writ e _com(0x 8 0 +0x00);wri t e_da t a ( f );wri t e_ d a t a(/ :,);write_com( 0x80 +0x 0 a);wr i t
11、 e_dat a ( 5 /);w r ite_data( 0 );wr i te_data (/ %);wri t e_com (0xc 0 + 0 x0 0 );w r ite_d a t a (V );whte_data:/ );w r i te_c om ( 0 x c 0+0x06);write_data(/ H);write_da t a (Z/);wr i t e_com (0xc0+ 0 x0a);writ e_da t a (0x 3 0 +cc/1 0 );write_ d ata(0x30+cc%10 );write_d ata(%/ );v oid write f (u
12、 i n tda t e)写频率u chia r qian, bai, s h i , ge;qian=dat e/10 0 0;bai=date/100%1Qs h i = d ate/10%10;ge= d a t e %10;w r ite_com( 0 x80+0 x 02);write_d ata(0 x30+ qian);w ri t e _data (0x30+ba i );w rit e _data (0x 3 0 +shi);writ e_data(0x3g ge);write_data(0x4 8 );write_data (0 x 5 a);wri t e_com ( 0
13、 x c0+0x0 2 );w ri t e _da ta(0x 3 0+ b b /1 0 00);writ e_da ta(O x30 +bb/1 0 0 %10);write_data (0x3 0 + bb/10%10);w rite_d a ta( 0 x30+bb%10);write_com ( 0xc 0 + 0 x0a);?w rit e_data(0x 30+cc/10);?write_dat a (0x 3 0+cc% 1 0); 一v o id T imerIn i t(void)7T MOD |= 0x10;7T H1 = 0xFF; 7/ Timer。cou nt 5
14、 0us when cp u at 12MHz7T L1 = 0xCE;TR1 = 1;7ET1 = 1;EX0=1;外部中断0开IT0= 1,边沿触发EA = 1;7 7v oid main(void).init();7T i merl nit();while(1)?f(S1 =0)? ? Del ay1(20 0 0);? do wh i le ( S 1=0);? s et_st+;? i f (set _ s t2) s et_st=0;? ?f( s e t _st= 0 ) FCount= 1 00;7f ( s et_st=1) FCo unt=500;7f( s et_s t=
15、2) FCount = 100O ;writef(F C ount);? FSet = 2 000 0 / FCount;?vo i d TIM E RI INT (void)interru pt 3s t a tic uint FVa 1 ue = 0;7TH1 = 0xFF; ?/50u s when cpu at 12MHzTL 1 = 0xD D ;7f(+FValue = FSet)/定时时间到,输出电平取反a a +;? if(a a = FCo unt) a a=0;? PWMPo r t = ! PWMPort;下Value = 0;飞void INT 0 _ I SR (vo
16、 i d) interrupt 0 using 1一st a t i c un s i gned c har s e co n d;/定义静态变量,退出该程序后内容不second+;助 口 1?f( s e cond= 5 )? i f (set _s t=0) bb=100;? if ( se t_st= 1 ) bb=50 0 ;?i f (set _st=2) bb=1000;?2 c=50;s econd= 0;? 五、实验过程及其记录1、实验连接图1口IPIl -.1 .LCC1 iLbfriHRlCTlI随曲a。MUM?mj射金如通MkM-bifrM宣打雄“耳iras-44CrrP
17、QHU府 1 iiTjr?CLl?pfl *1|LridFjuifTr* iIM*h弧上c J l.TH.TtfTFI, JY ujJ-2、运行KIUJKQ明工 5判唯酬: Kl.-VAi i iVW” ,尚 工Wli *询 MfinHl nMiIri rm”I JMK i| gB-irrs FITik 田尸I 2hT&-i4rE”itlcscope,11 ChAINk4lCChhJi 1画 D六、心得体会通过这二周的单片机的实训 ,还有老师的精心指导和同学的帮助,以及在网上找的一些资料,让我有了不少体会。从拿到题目到完成整个编程,从理论到实践,学到很多很多的课堂理论中没学到过的东西,不仅对频
18、率计有了深刻地认识,而且对单片机这门课程有了更深更全面的了解,尤其 是在学习使用Ke i 1 c 5 1软件编程和P rote u s仿真时收获颇多。本次课程设计是基于 5 1单片机在理论课程的基础上 ,根据提供的参考工程,在p rot e us平台上设计实验电路所 需要的原理图,在此基础上编写相对应的程序。其中包括原理图器件的选取、 原理图的连接、程序的编写编译以及运行。通过电路设计、理论计算、实际编程、调试、测试和分析查找故 障,解决了在实际设计中的问题 ,使设计好的电路能正常工作。由于以前很少接触单片机,在试验开始的时候遇到了很多的困难,如在程序编写过程中出现了很多细节的错误,并不能把程
19、序一次性就编写好,这也浪费了很多的时间,这主要也是没有把这方面的知识学扎实。最后通过自己研究,翻阅书籍,请教同学,网上查找资料等方法来解决问题,使我对5 1单片机的应用和扩展有了一定的了解,通过对软件的应用,加深了对5 1单片的编程和调测的理解,能够把单片机知识与 C语言知识很好的结合起来, 使功能实现更加方便, 最终使自己的专业 知识与专业技能得以迅速提升。但由于基础知识相对薄弱,本次课程设计只完成了基本要求, 感觉有点遗憾。但是经过在查阅相关资料和试验的过程中,逐步的取得了可观的进展,到了最后感受收获很大,学到了许多有用的东西。通过这次课程设计,我不仅加深了对单片机理论的理解,将理论很好的
20、应用到实践 中去,而且我还学会了如何去培养自己的独立思考,勇于克服困难和团队的协作精神,使我 终身受用。实训锻炼了自己动手能力和思维能力,还有在软件方面的编程能力,让我受益匪浅,同时也暴露出一些平时学习上的问题,让我深刻反思。这些问题的发现将为我以后的学习和工作指明道路,查漏补缺为进一步学习作好准备。通过实训,让我懂得了如何编写一些简单的程序,学会了如何制作单片机应用程序,并且可以在今后的日常生活中灵活运用。设计成绩评定评分内容具体要求总分评分上机时间上机时间是否达到要求的学时,按照实际情 况给的成绩。1 0分报告审阅结果报告结构严谨,文字通顺,用语符合技术规 范,图表清楚,书写格式规范,不与别人雷 同。30分验 收 结 果原理原理清楚,能较好地理解课题任务并提出实_VZ_A 、 、呢!力小:020分完成情况独立完成规定设计任务,论证、分析、设计、 计算、结构、建模、实验正确合理,有一定 的创新。3 0分操作能熟练操作相关工具软件,并利用工具软件 完成设计任务。10分总成绩(五分 制)1 00分指导教师评阅意 见