基于mcs51单片机的可调频率方波发生器课程设计报告

上传人:r****d 文档编号:70633003 上传时间:2022-04-06 格式:DOC 页数:14 大小:51.50KB
收藏 版权申诉 举报 下载
基于mcs51单片机的可调频率方波发生器课程设计报告_第1页
第1页 / 共14页
基于mcs51单片机的可调频率方波发生器课程设计报告_第2页
第2页 / 共14页
基于mcs51单片机的可调频率方波发生器课程设计报告_第3页
第3页 / 共14页
资源描述:

《基于mcs51单片机的可调频率方波发生器课程设计报告》由会员分享,可在线阅读,更多相关《基于mcs51单片机的可调频率方波发生器课程设计报告(14页珍藏版)》请在装配图网上搜索。

1、摘要本实验是基于PHILIPS AT89C51 单片机所设计的,可以实现键位与数字动态显示的一种频率可调方波发生器。通过键盘键入(10HZ-9999HZ)随机频率,使用七段数码管显示,每一个数码管对应一个键位。单片机对各个键位进行扫描,确定键位的输入,然后数码管显示输入的数值,方波发生器输出以数码管显示的数值为频率的方波。关键词:单片机 七段数码管 键盘电路 频率可调方波发生器一、目的和功能1.1 目的:设计一种频率范围限定且可调的方波发生器,志在产生特定频率的方波。1.2功能:假设键盘是4*4的键盘,当键盘输入范围在10hz-9999hz的数字,单片机控制数码管显示该数值,并把该数值当做方波

2、发生器的输入频率,单片机控制该方波发生器以该数值作为频率显示方波,从而得到我们想要频率的方波。二、硬件设计2.1 硬件设计思想键盘的数字和键位关系固定,通过键盘输入产生频率,通过LED数码管显示出来,每一个数码管对应一个键位。根本设备是基于PHILIPS AT89C51单片机,外围设备采用的是4个七段数码管,PHILIPS AT89C51单片机,1个OSCILLOSCOPE 方波发生器,16个Button,假设干电阻,电源电池。2.2 局部硬件方案论述 七段数码管扫描显示方式的方案比拟方案一: 静态显示方式:静态显示方式是指当显示器显示某一字符时,七段数码管的每段发光二极管的位选始终被选中。在

3、这种显示方式下,每一个LED数码管显示器都需要一个8位的输出口进行控制。静态显示主要的优点是显示稳定,在发光二极管导通电流一定的情况下显示器的亮度大,系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,这样既节约了CPU的时间,又提高了CPU的工作效率。其缺乏之处是占用硬件资源较多,每个LED数码管需要独占8条输出线。随着显示器位数的增加,需要的I/O口线也将增加。方案二: 动态显示方式:动态显示方式是指一位一位地轮流点亮每位显示器称为扫描,即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。对于每一位显示器来说,每隔一段时间点亮一次。显示器

4、的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。通过调整电流和时间参数,可以既保证亮度,又保证显示。假设显示器的位数不大于8位,那么显示器的公共端只需一个8位I/O口进行动态扫描称为扫描口,控制每位显示器所显示的字形也需一个8位口称为段码输出。动态显示器的优点是节省硬件资源,本钱较低。但在控制系统运行过程中,要保证显示器正常显示,CPU必需每隔一段时间执行一次显示子程序,占用CPU大量时间,降低了CPU的工作效率,同时显示亮度较静态显示器低。由于PHILIPS AT89C51单片机本身提供的I/O口有限,因此我们选择方案二动态扫描方式。扫描方式中在轮流点亮扫描过程中,每位显示器的点亮

5、时间是极为短暂的约1ms,但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。节约了电能,节省 了I/O口。 键盘连接方式方案比拟方案一:独立式键盘一个具有4个按键的独立式键盘,每一个按键的一端都接地,另一端接mega16的I/O口。独立式键盘每一按键都需要一根I/O线,占用mega16的硬件资源较多。因此独立式键盘只适合按键较少的场合。键盘是一组按键或开关的集合,键盘接口向计算机提供被按键的代码。特点:使用方便、结构复杂、本钱高。方案二:矩阵式键盘我们采用44矩阵式键盘,键盘的行线X0X3通过

6、电阻接+5V,当键盘没有键闭合时,所有的行线和列线断开,行线X0X3均呈高电平。当键盘上某一键闭合时,该键所对应的行线与列线短路,此时该行线的电平将由被短路的列线电平所决定。如果将行线接至单片机的输入端口,列线接至单片机的输出端口,那么在单片机的控制下使列线Y0为低电平,其余三根列线Y1、Y2、Y3均为高电平,然后单片机读输入口状态(即键盘行线状态),假设X0、X1、X2、X3均为高电平,那么Y0这一列上没有键闭合,如果读出的行线状态不全为高电平,那么为低电平的行线和0相交的键处于闭合状态。如果Y0这一列没有键闭合,紧接着使列线Y1为低电平,其余列线为高电平,用同样的方法检查Y1这一列有无键闭

7、合,如此类推。这种逐行逐列地检查键盘状态的过程称为对键盘的扫描。CPU对键盘的扫描可以采取程序控制的随机方式,CPU空闲时才扫描键盘;也可以采取定时控制方式,每隔一段时间,CPU对键盘扫描一次;还可以采用中断方式,当键盘上有键闭合时,向CPU请求中断,CPU响应键盘发出的中断请求,对键盘进行扫描,以识别哪一个键处于闭合状态,并对键输入信息作相应处理。因为如果采用独立式键盘PHILIPS AT89C51的I/O口对于方案一来说将是远远不够用的,为了节省I/O口,使我们的设计能够顺利进行,我们选用方案二矩阵连接式键盘。为了能够较为简单的编程,和节省CPU的资源,我们采用定时扫描,每隔一段时间,CP

8、U对键盘扫描一次,并将键值读入。2.3 硬件电路图三、软件3.1 软件设计根本思想:键盘的不间断扫描。4个八段数码管的动态显示。方波发生器方波的输出3.2 程序框图产生初值是否有按键按下初始化8端数码管的显示键值读取键值显示方波显示3.3 程序功能初始化后单片机产生初值,将初值以动态扫描的方式显示于八段数码管 ,同时还对键盘进行实时扫描,在扫描后,单片机读取键值,并将键值通过数码管模块显示出来,方波发生器输出该频率的方波。四、总结4.1 已到达的成果:硬件电路图和键盘及显示的程序。4.2 未完成的局部:软件关于实行初值计算局部以及仿真。4.3 设计感悟:这一次课程设计遇到了很多问题。硬件根本上

9、是没有问题的,每个人都会做;但是程序是我们的弱点,还有就是分工合作,很多时候都是有分歧,还好最后还有水兵帮助,使得我们的程序进一步完善。做完这个程序只是我们学做程序的开始吧,今后会继续加强我们在做程序上的功力。附录一 程序代码DISBUF EQU 30HSEGBUF EQU 34HLEDSP EQU 37H ORG 0000H LJMP MAIN ORG 001BH LJMP TIMER1 ORG 000BH LJMP TIMER0 ORG 0030HMAIN: MOV SP,#5FH LCALL SCAN ;跳转到键盘控制电路子程序 LCALL FT0TH ;利用频率求初值程序 MOV T2

10、CON,#04H MOV TH2,S1 MOV TL2,S0 MOV RCAP2H,S1 MOV RCAP2L,S0 SETB ET2 SETB EA ANL TMOD,#0F0H ORL TMOD,#10H MOV TH0,#8AH MOV TL0,#0D0H SETB ET1 SETB TR1 SETB EAFT0TH: MOV R0,#DIVBUF1 ;|除数赋值 10进制转换为16进制 MOV R1,#DIVBUF2MOV A,R0ADD A,#3;|53HMOV R0,AMOV R1,#0INC R1MOV A,R0MOV R1,ADEC R0 ;| 52HMOV A,R0MOV B

11、,#10MUL ABCLR CADDC A,R1MOV R1,ADEC R0 ;| 51HMOV A,R0MOV B,#100MUL ABADDC A,R1MOV R1,ADEC R1MOV A,R1ADDC A,BMOV R1,ADEC R0 ;| 50HINC R1MOV A,R0MOV B,#10MUL ABMOV B,#100MUL ABADDC A,R1MOV R1,ADEC R1MOV A,R1ADDC A,BMOV R1,A ;|CHOICE:MOVR0,#DIVAMOV R0,#00H;|被除数为5*105 = 0007A120H INC R0MOV R0,#07HINC R0

12、MOV R0, #0A1HINC R0MOV R0, #20HDIV3216:MOV 40H,#0 ;|除法运算MOV 41H,#0MOV R7,#32;键盘局部SCAN: JNB KEYVALED,$CLR KEYVALEDLCALL KEYSCANMOV A,KEYNAMETIMER1:PUSH PSWPUSH AWSETB RS1CLR RS0MOV TH1,#8AHMOV TL1,#0D0HMOV P3,#0FHMOV A,P3ANL A,#0FHCJNE A,#0FH,NEXT21SETB CJMP NEXT22NEXT21:CLR CNEXT22:MOV A,KEYSTURLC A

13、 MOV KEYSTU,AANL A,#07HCJNE A,#2,NEXT23ANL KEYSTU,#00H JMP EXIT2NEXT23: CJNE A,#4,NEXT24SETB KEYVALEDJMP EXIT2NEXT24:CJNE A,#5,EXIT2ORL KEYSTU,#07HEXIT2:POP ACCPOP PWERETIKEYSCAN:MOV R7,#4MOV R5,#0MOV R6,#11110111BOP1:MOV A,R6RL A MOV R6,AMOV P3,AMOV A,P3ANL A,#0FHRL A,#0FHJNZ NEXT31INC R5DJNZ R7,LO

14、OP1SJMP EXIT3NEXT31:JNE Acc.0,NEXT32MOV R4,#0SJMP NEXT35NEXT32:JNB Acc.1,NEXT33MOV R4,#1SJMP NEXT35NEXT33:JNB Acc.2,NEXT34MOV R4,#2SJMP NEXT35NEXT 34:MOV R4,#3NEXT35:MOV A,R4RL A RL AADD A,R5MOV DPTP,#KEYTABMOVC A,A+DPTPMOV KEYNAME,AEXIT3:RETDISPLAY:MOV LEDSP,#00HLCALL BIN T0BCDLCALL BCD T0SEGLJMP L

15、OOPTIME R0:PUSH PSWPUSH AccSETB RS0CLR RS1MOV TH0,#0E4AMOV TL0,#0A8HANL A,#04HCJNE A,#0,NEXT11MOV P2,#00001D00BADD A#SEGBUFMOV R0,AMOV P0,AMOV P0,R0CJMP EXIT1NEXT11:CJNE A,#2,NEXT12MOV P2,#00000100BADD A,#SEGBUFMOV R0,AMOV P0,R0LKMP EXIT1NEXT12:CJNE A,#1,NEXT13MOV P2,#00000010BADD A,#SEGBUFMOV R0,AM

16、OV P0,R0LJMP EXIT1NEXT13:MOV P2,300000001BAD A,#SEGBUFMOV R0,AMOV P0,R0EXIT1:INC LEDSPMOV A,LEDSPANL A,#01ACJNE A,#04A,BELOWBELOW:JC RETUNMOV LEDSP,#00HRETURN:POP AccPOP PSWRETIBIN T0BCD:MOV R0,3DISBUF+3MOV A,KEYNAMEMOV B,#10DIV ABMOV R0,BDEC R0MOV B,#10DIV ABMOV R0,BDEC R0MOV B,#10DIV ABMOV R0,BDEC R0MOV R0,ARET方波输出局部: TIMER1: MOV DPTR,#KEYNAME MOVC A+DPTR,DPTR RETI END附录二 组员工作分配李建华:主要写程序和报告以及仿真检查结果赖水兵:电路图的描绘,程序的撰写梁国锋:程序的撰写郭万劲:电路图的描绘参考文献1、潘永雄 高等学校信息工程类专业规划教材新编单片机原理与应用

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!