仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
單片機源程序:
- #include <reg51.h>
- unsigned char pwm;
- unsigned char code table[]={
- 0x3f,0x06,0x5b,0x4f,
- 0x66,0x6d,0x7d,0x07,
- 0x7f,0x6f,0x77,0x7c,
- 0x39,0x5e,0x79,0x71};
- sbit ADA=P2^0;
- sbit ADB=P2^1;
- sbit ADC=P2^2;
- sbit ADD=P2^3;
- sbit pwm_out=P1^7;
- void delayms(unsigned char xms)
- {
- unsigned char i;
- while(--xms)for(i=120;i>0;i--);
- }
- void ADdress(unsigned char add) //八位二進制(0~7)add最大值為7
- {
- switch(add)
- {
- case 0:
- ADA=1;ADB=0;ADC=0;ADD=0;
- break;
- case 1:
- ADA=0;ADB=1;ADC=0;ADD=0;
- break;
- case 2:
- ADA=0;ADB=0;ADC=1;ADD=0;
- break;
- case 3:
- ADA=0;ADB=0;ADC=0;ADD=1;
- break;
- }
- }
- void display(unsigned char dat)
- {
- ADdress(1);
- P0=~table[dat/100];
- delayms(2);
- P0=0xff;
- ADdress(2);
- P0=~table[dat%100/10];
- delayms(2);
- P0=0xff;
- ADdress(3);
- P0=~table[dat%10];
- delayms(2);
- P0=0xff;
- }
- void main()
- {
- T_init();
- while(1)
- {
- pwm=ADC0832_Read(0);
- display(pwm);
- }
- }
復制代碼
全部資料51hei下載地址:
ADC0832控制PWM.rar
(16.32 KB, 下載次數: 80)
2019-1-29 00:11 上傳
點擊文件名下載附件
|