之前网上并没有详细的基于8086的PWM调光设计,做完课程设计,给大家分享一下使用8255实现四个等级调光的设计思路。
1.总体设计
通过8255查询ADC0808的EOC口判断A/D转化是否完成,转化结束后读取转化结果存放在al中,8位ad一共256个数字量,按照题目要求分成四个亮度档位0-25%,26%-50%,51%-75%,76%-100%,也就是将256数字量分1/4,1/2,3/4四个部分,也就是0-64,65-128,128-192和192-256四个部分,通过比较al中值的范围给bl送数据,四个范围bl也分别对应四个值0,1,2,3。在通过判断bl的值赋予ch和cl的大小来调整占空比以达到最终目的。
2.部分电路原理图
如图2.1 ,8086是主控芯片
图2.1 8086主控芯片
M1,M2两片74LS373用来锁存地址
图2.2 74LS373地址锁存芯片
如图2.3,74LS138译码器,接十输入或门,全0出0,输出两个地址00E0H,00F0H,连接8255A和ADC0808
图2.3 74LS138译码器
如图2.4,8255A一是接了LED灯,第二是在PB7口接了ADC0808的EOC口,用来查询AD转换是否结束,高电平表示结束,低电平表示未结束
图2.4 8255A
ADC0808是含8位A/D转换器,将模拟信号转换为数字信号。
3.元器件清单
8086、74LS373、74LS138、8255A、ADC0808、74LS02、OR_10、LED-RED、POT-HG
4.汇编代码流程图
4.相关信息下载
Proteus仿真图和汇编源代码下载地址:
下载无需会员!无需会员!无需会员!
本文概述相对简略,仅作为一种设计思路分享,欢迎大家进行探讨和交流。