20222241107电信2202张舒杨 wrote:本设计使用的外设包括: 1.8255 可编程并行接口 2.DAC0832 数模转换 3.ADC0809 模数转换 4.8254 计时计数器 5.电位器 6.逻辑电平开关 本设计的应用背景为: 多功能函数发生器 本设计的功能描述为: 使用外设DAC0832输出正弦波,三角波,锯齿波和方波。 连接可编程并行接口芯片,8255可使用key开关选择不同波形,选择两种不同频率的波形。 其中方波使用了外设ADC0809,计时计数器8254,可以通过调节电位器,生成幅度连续可调的方波。 1)正弦波子程序: 先完成数据的初始化,读取数据中SIN数据的地址,清零BH。每次在DAC输出一个数据后数据地址加一,由BH寄存器辅助计数。 由此循环输出,当BH归零后,跳转到大循环LOP,再次完成数据的初始化,开始新一轮的循环。 2)三角波子程序: 同样先完成数据的初始化,由变量TW_STATE记录三角波此时的增减方向。 根据增减的不同跳转到上升和下降,上升到最大值时改变TW_STATE从而改变增减方向,上升永远跳转到三角波子程序内的小循环,下降则判断是否归零,是否跳转到LOP。 3)锯齿波子程序: 先完成数据的初始化,由于只有一个方向,所以在达到最值后直接跳转到LOP再次完成初始化即可输出锯齿波。 4)方波子程序: 首先利用软件查询法记录ADC转化后的电位器数据,存放在变量SQW_MAX中。 为了防止对8254的重复配置,将会记录这一次和上一次LOP循环中,选择的频率是否一致。 如果一致,则直接跳转到输出;若不一致,则重新配置8254,写入8254,在跳转到输出。 在输出中,先由8255读取PC7的数据,如果PC7为有效电平,则由DAC输出SQW_MAX中的数据,如果PC7无效,则DAC输出00H。 本人承诺理解相关硬件和程序的原理
20221072012电信2204王九岭 wrote:本设计使用的外设包括: 1、可编程的并行输入/输出接口芯片8255 2、可编程定时/计数器芯片8254 3、实时中断驱动的微机系统设计的可编程中断控制器芯片8259 4、步进电机 5、拨码开关 6、LED灯组 本设计的应用背景为: 步进电机转向及转速实时控制 本设计的功能描述为: 运行程序后步进电机开始顺时针转动,通过拨动实验台上开关K0~K6,实现步进电机转速从小到大改变。拨动开关K7,改变步进电机转动方向,高电平为逆时针转动,低电平为顺时针转动。实验台自带LED灯L0~L3实时显示步进电机转动速度。 本人承诺理解相关硬件和程序的原理。