|
國內(nèi)關(guān)于PIC的內(nèi)容太少了, 希望大家都相互交流學(xué)習(xí).
0.jpg (18.48 KB, 下載次數(shù): 78)
下載附件
2018-5-3 17:18 上傳
單片機(jī)源程序如下:
- //從零到項(xiàng)目開發(fā)學(xué)PIC單片機(jī)與C語言技術(shù)視頻教程配套實(shí)驗(yàn)源碼
- #include<pic.h>
- #define uchar unsigned char
- #define uint unsigned int
- __CONFIG(0x3B31);
- const uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
- 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
- const uchar table1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,
- 0x87,0xff,0xef};
- void delay(uint x);
- void init();
- void disp(uchar num1,uchar num2,uchar num3,uchar num4,uchar num5);
- void disp1(uchar num1,uchar num2,uchar num3,uchar num4);
- uint get_ad();
- void main()
- {
- uint lednum,u1,u2,r1,r2;
- float n;
- uchar a1,a2,a3,a4,a5;
- init();
- while(1)
- {/*
- lednum=get_ad();
- a1=lednum/1000;
- a2=lednum%1000/100;
- a3=lednum%100/10;
- a4=lednum%10;
- disp(a1,a2,a3,a4);
- */
- lednum=get_ad();
- // n=(lednum*10)/(10240-lednum);
- n=lednum;
- //u1=5120-lednum;
- //r1=u2/u1;
- // r2=r2*1000;
- // r2=lednum;
- //r1=u1/i;
- // r2=lednum*10/i*10
- // r2=i;
- // i=i*10000
- // r2=lednum;
- // r2=u2/i;
- //i=(5000-lednum)/10000;
- // r2=lednum/i;
- //lednum=(int)r2;
- // n=n*1000;
- r2=n;
- //r2=lednum;
- /*
- a1=r2/10000;
- a2=r2%10000/1000;
- a3=r2%1000/100;
- a4=r2%100/10;
- a5=r2%10;
- disp1(a1,a2,a3,a4,A5);
- */
- a1=r2/1000;
- a2=r2%1000/100;
- a3=r2%100/10;
- a4=r2%10;
- disp1(a1,a2,a3,a4);
- }
- }
- void delay(uint x)
- {
- uint a,b;
- for(a=x;a>0;a--)
- for(b=110;b>0;b--);
- }
- void init()
- {
- TRISA=0x01;//0000 0001
- TRISD=0;
- PORTA=0;
- PORTD=0;
- TRISB=0;
- PORTB=0;
- ADCON0=0x41;
- ADCON1=0x80;
- delay(10);
- }
- uint get_ad()
- {
- uint adval;
- float advalf;
- GO=1;
- while(GO);
- adval=ADRESH;//00000000 00000011
- adval=adval<<8|ADRESL;//00000011 11111111
- //advalf=adval/1023.0*5.0;//==2.3843
- //advalf=adval/1023.0*5.0;//==2.3843
- //adval=advalf*1000;
- // adval=adval*1024;
- adval=adval;
- return (adval);
- }
- void disp(uchar num1,uchar num2,uchar num3,uchar num4,uchar num5)
- {
- PORTD=table1[num1];//顯示第一個(gè)數(shù)碼管
- PORTA=0x20;//0010 0000
- delay(2);
- PORTD=table[num2];//顯示第二個(gè)數(shù)碼管
- PORTA=0x10;//0001 0000
- delay(2);
- PORTD=table[num3];//顯示第三個(gè)數(shù)碼管
- PORTA=0x08;//0000 1000
- delay(2);
- PORTD=table[num4];//顯示第四個(gè)數(shù)碼管
- PORTA=0x04;//0000 0100
- delay(2);
- PORTD=table[num5];//顯示第四個(gè)數(shù)碼管
- PORTB=0x20;//0000 0100
- delay(2);
- }
- void disp1(uchar num1,uchar num2,uchar num3,uchar num4)
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
ADC.zip
(110.4 KB, 下載次數(shù): 32)
2018-5-3 08:07 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|