全球旧事资料 分类
实验名称:基于855的LED显示函数信号发生器设计实验名称:基于8255的LED显示函数信号发生器设计显示函数信号发生器一、课题内容和要求
基本要求:基本要求:1用存储器或算法得到信源。2用DA转换器输出一函数信号(正弦、方波、三角、锯齿等,频率1000Hz)3用数码管或LCD上将输出参数显示4用功能键切换各信号的输出。发挥部分:发挥部分:1通过键盘,可修改输出信号的频率。每按一次键,频率值进给或后退100Hz,频率范围100Hz~1500Hz2按键时,蜂鸣器发出提示音,表示按键有效3数码管或LCD显示的内容可以用频率值和周期值切换表示,周期值精确到001ms动态显示格式:动态显示格式自定
二、总体设计
利用AT89S52单片机采用查表或算法产生三角波、正弦波和方波三种波形,再通过DA转换器DAC0832将数字信号转换成模拟信号,最终由示波器显示出来,通过键盘来控制三种波形的类型选择、频率变化,最终输出显示各自的频率或者周期值。
单元设计三、单元设计
1键盘扫描部分
矩阵键盘电路硬件图:
f实验中采用8255的PA口和PC口的低四位进行键盘扫描,行由8255的PA0~PA3端口控制,列由8255的PC0~PC3端口控制,其中PA口工作在输出方式,PB口工作在输入方式。当PA0~PA3中一个口输出低电平时,对应的行线上的电平就为0,这是当有键按下时对应的列线上就变为低电平,这时PC口上对应位就可以检测到低电平从而判断是哪个键按下。键盘扫描流程图:
Start
PA0~PA30,屏蔽无用位
PC0FH
N
延时5ms
Y
延时5ms
PA0~PA30,屏蔽无用位YN
有键按下驱动蜂鸣器P170
PC0FH
R402H行数A0FEHR2A行号单行扫描PAA
PC0FH
N
PCR3列号
Y
AR2RLA扫描下一行
R20FEH
N
第二行判断
Y
R30EH
Y
N
为正弦波键置标值L1R1R001HR101H
fR30DH
Y
为方波键置标值L1R2R001HR102H
N
R30BH
Y
为三角波键置标值L1R3R001HR103H
N
不做操作到Start
第二行判断
为减频键置标值L2R1R30EH进行减频操作
R30DH
为增频键置标值L2R2进行增频操作
R30BH
为周期显示键置标值L2R3F01H
R307H
为频率显示键置标值L2R3F00H
转到显示模块
键盘扫描程序如下:
SCANMOVDPTR1FFCHPA口地址MOVA00HMOVXDPTRAPA0~PA3输出低电平INCDPTRDPTR指向PC口
fINCDPTRMOVXADPTR读PC口的值ANLA0FH屏蔽无用位CJNEA0FHDETAIL判断是否有低电平ACALLDELAY1延时ACALLDELAY1AJMPSCAN无键按下则继续扫描DETAILACALLDELAY1消抖动ACALLDELAY1MOVDPTR1FFCH再判断是否有键按下MOVA00HMOVXDPTRAINCDPTRINCDPTRMOVXADPTRANLAr
好听全球资料 返回顶部