C語言版AD轉換編程及仿真
單片機源程序如下:
- #include<reg51.h>
- sbit EOC=P2^0;
- sbit START=P2^1;
- sbit OE=P2^2;
- sbit ALE=P2^3;
- sbit CLK=P2^4;
- void AD(void);
- void delay();
- void INT_T0(void);
- //共陽極字型碼
- const unsigned char a[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,};
- //共陰極字型碼
- //const unsigned char a[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x07,0x07,0x7F,0x6F,};
- int i,ms,adc,c,H=1,L=1;
- void INT_T0() //方波
- {
- TMOD=0X02;
- TH0=0X56;
- TL0=0X56;
- IE=0X82;
- ET0=1;
- TR0=1;
- }
- void delay(int ms)
- {for (i=0;i<=ms;i++) {;}
- }
-
- void AD()
- {
- START=0;
- delay();
- START=1;
- delay();
- START=0;
- while(!EOC) {;}
- OE=1;
- adc=P0;
- OE=0;
- }
-
- void timer_0() interrupt 1
- {
- TH0=0X56;
- TL0=0X56;
- CLK=~CLK; //時鐘狀態翻轉
- }
- main()
- {
- INT_T0();
- while(1)
- {
- AD();
- H=adc/50;
- L=adc%50/5;
- P3=a[H];
- P1=a[L];
- }
- }
復制代碼
所有資料51hei提供下載:
C語言AD轉換(靜態顯示).rar
(104.34 KB, 下載次數: 15)
2018-9-14 15:13 上傳
點擊文件名下載附件
|