51单片机报告.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
51单片机报告

实验名称:基于8255的LED显示函数信号发生器设计 一、课题内容和要求 基本要求: 1、用存储器或算法得到信源。 2、用DA转换器输出一函数信号(正弦、方波、三角、锯齿等,频率1000Hz),可以用示波器进行波形观察。 3、用数码管或LCD显示输出参数。 4、用功能键切换各信号的输出。 发挥部分: 1、通过键盘,可修改波的频率。每按一次键,频率值进给或后退1倍,频率范围不限。 2、通过按键可以修改输出波形的幅度。 3、按键时,蜂鸣器发出提示音,表示按键有效。 4、数码管或LCD显示的内容可以用频率值和周期值切换表示。 动态显示格式: 自定 二、总体设计 利用AT89S52单片机采用查表或算法产生三角波、正弦波和方波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,最终由示波器显示出来,通过键盘来控制三种波形的类型选择、频率变化,最终输出显示各自的频率或者周期值。 单元设计 1、键盘扫描部分 矩阵键盘电路硬件图: 实验中采用8255的PA口和PC口的低四位进行键盘扫描,行由8255的PA0~PA3端口控制,列由8255的PC0~PC3端口控制,其中PA口工作在输出方式,PB口工作在输入方式。当PA0~PA3中一个口输出低电平时,对应的行线上的电平就为0,这是当有键按下时对应的列线上就变为低电平,这时PC口上对应位就可以检测到低电平从而判断是哪个键按下。 键盘扫描程序如下: SCAN:MOV DPTR,#1FFCH;PA口地址 MOV A,#00H MOVX @DPTR,A; PA0~PA3输出低电平 INC DPTR;DPTR指向PC口 INC DPTR MOVX A,@DPTR;读PC口的值 ANL A,#0FH;屏蔽无用位 CJNE A,#0FH,DETAIL;判断是否有低电平 ACALL DELAY1;延时 ACALL DELAY1 AJMP SCAN;无键按下则继续扫描 DETAIL:ACALL DELAY1;消抖动 ACALL DELAY1 MOV DPTR,#1FFCH;再判断是否有键按下 MOV A,#00H MOVX @DPTR,A INC DPTR INC DPTR MOVX A,@DPTR ANL A,#0FH CJNE A,#0FH,CONTINUE;有键按下则做进一步的判断 AJMP SCAN;无键按下继续扫描 CONTINUE:CLR EA;有键按下驱动蜂鸣器 SETB P1.7 ACALL DELAY2 CLR P1.7 SETB EA MOV R4,#02H;扫描行数送入R4中 MOV A,#0FEH LINE:MOV DPTR,#1FFCH MOV R2,A;行号送R2 MOVX @DPTR,A;置PA0为低电平 INC DPTR INC DPTR MOVX A,@DPTR ANL A,#0FH CJNE A,#0FH,FIND;判断第一行是否有键按下 MOV A,R2 RL A DJNZ R4,LINE SJMP SCAN;无键按下继续扫描 FIND:MOV R3,A列号存入R3中 MOV A,R2 CJNE A,#0FEH,LINE2;判断是否是第一行有键按下 LINE1:MOV A,R3;第一行有键按下 CJNE A,#0EH,L1R2;判断是哪个按键按下 L1R1:MOV R0,#01H;有波形键按下键按下 MOV R1,#01H;波形标志1 MOV R7,#00H CLR TR1 CLR TR0 SETB TR0 SJMP SCAN L1R2:CJNE A,#0DH,L1R3 MOV R0,#01H;有波形键按下键按下 MOV R1,#02H;方波标志 MOV R7,#00H CLR TR0 CLR TR1 SETB TR1 SJMP SCAN L1R3:MOV R0,#01H;有波形键按下键按下 MOV R1,#03H;三角波标志 MOV R7,#00H CLR TR1 CLR TR0 SETB TR0 AJMP SCAN LINE2:MOV A,R3;第二行有键按下

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档