C51单片机教程第13章研讨.ppt

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

第13章 单片机的综合应用 13.1 多功能低频函数信号发生器 13.2 单片机控制的语音电路 13.3 T6963C控制的液晶显示设计 13.4 由单片机构造的智能CAN总线结点 13.1 多功能低频函数信号发生器 1. 设计思想 (1) 利用单片机产生方波、正弦波和三角波等信号波形,信号的频率和幅度可变。 (2) 将一个周期T的信号分离成32个点(按X轴等分),每两点之间的时间间隔为ΔT,用单片机的定时器产生,如下式所示: ΔT=T/32 如果单片机的晶振为12MHz,采用定时器方式0,则定时器的初值为: X=213-ΔT/Tmec(其中Tmec为机器周期) 定时时间常数为: TL =(8192-ΔT)(其中ΔT的单位为μs) TH =(8192-ΔT)/ 32 MOD 32表示除32取余数 (3) 正弦波的模拟信号分离如图13-1所示(其他波形的信号分离图略),图中Y是D/A转换器的模拟量输出,其计算公式为: Y=(A/2sin Δt)+A/2 (其中A=VREF) Δt=NΔT(N=1~32) 那么对应着存放在计算机里的这一点的数据为: 图13-1 正弦波信号的分离 (3) 一个周期被分离成32个点,对应的三种波形的32个数据存放在以TAB1~TAB3为起始地址的存储器中。 2. 设计功能 (1) 本题目利用8155扩展8个独立式按键,6个LED显示器。其中“0”号键代表方波输出;“1”号键代表正弦波输出;“2”号键代表三角波输出。 (2) “3”号键为10Hz的频率信号;“4”号键为100Hz的频率信号;“5”号键为200Hz的频率信号;“6”号键为500Hz的频率信号;“7”号键为1kHz的频率信号;6个LED显示输出信号的频率值,选用共阳极LED。 (3) 利用两片DAC0832实现幅度可调的信号源。(其中一片用来调节幅度,另外一片用来实现信号源的输出)。 (4) 信号幅度: 0~5V。 (5) 频率范围: 10~1000Hz。 3. 硬件原理 硬件原理如图13-2所示,8155芯片用来扩展键盘和显示器,1号DAC0832用来给2号DAC0832提供参考电压,实现信号幅度的调节。 图13-2 信号发生器原理图 4. 程序流程图 程序流程图如图13-3所示。限于篇幅,本程序调幅程序段省略。内部RAM的70H单元存放DAC0832(1)的输出幅值对应的数字量。通过改变70H单元的内容,实现调幅输出。 8155命令口地址: 7F00H;8155A口地址: 7F01H;8155B口地址: 7F02H;8155C口地址: 7F03H;DAC0832(1)地址: 9FFFH;DAC0832(2)地址: 0AFFFH。 图13-3 信号发生器流程图 5. 参考程序 ORG 0000H AJMP MAIN ORG 000BH LJMP TC0 ORG 0030H MAIN: MOV DPTR,#9FFFH ;指向DAC0832(1) MOV A,70H MOVX @DPTR,A ;DAC0832(1)输 出 MOV DPTR,#7F00H ;指向8155命令字端 口地址 MOV A,#06H ;设置A口为输入,B 口、C口为输出 MOVX @DPTR,A ;送命令字 MOV DPTR,#7F01H ;指向A口地址 MOVX A,@DPTR ;读入A口的开关数 据 JNB ACC.3,K10H ;判断是否“3”号键, 若是则转输出10Hz信号 JNB ACC.4,K100H ;判断是否“4”号键, 若是则转输出100Hz信号 JNB ACC.5,K1K ;判断是否“5”号键, 若是则转输出200Hz信号 JNB ACC.6,K2K ;判断是否“6”号键, 若是则转输出500Hz信号 JNB ACC.7,K10K ;判断是否“7”号键, 若是则转输出1kHz信号 AJMP MAIN LED1: MOV R3,#06H ;设置6个LED显示 MOV R2,#01H ;选通第一位LED数 据 MOV R1,#30H ;送显示缓冲区首址 GN1: MOV DPTR,#7F03H ;指向C口地址 MOV A,R2 ;位选通数据送A MOVX @DPTR,A ;位选通数据送C口 RL A ;选通下一位 MOV R2,A ;位选通数据送R2中 保存

文档评论(0)

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

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

1亿VIP精品文档

相关文档