資源簡介
用PIC16F877寫的IO,數碼管,定時器,AD等實驗C程序,調試通過
代碼片段和文件信息
#include
#define?uchar?unsigned?char
#define?uint??unsigned?int
#define?ulong??unsigned?long
__CONFIG(0x3B31);
#define?we1?RC0
#define?we2?RC1
#define?we3?RC2
#define?we4?RC3
uchar?table[]={
0x3f0x060x5b0x4f
0x660x6d0x7d0x07
0x7f0x6f0x770x7c
0x390x5e0x790x71};
uint?advalmv1;
float?mv0;
uchar?qianbaishige;
void?delay(uint?x)
{
uint?ab;
for(a=x;a>0;a--)
for(b=110;b>0;b--);
}?
void?init()
{
ADCON0=0X41;//AD時鐘FOSC/8,模擬通道AN0AD上電,未開始轉換
ADCON1=0X8E;//AN0設置為模擬輸入,其余設置為普通數字輸出
TRISA=0X01;//設置RA0為輸入
}
void?AD_run()
{
ADGO=1;//啟動轉換
while(ADGO);//等待轉換結束
adval=ADRESH;//將高8位放于adval的低八位中
adval=adval<<8|ADRESL;//將ADRESH左移8位至高八位中,騰出低八位放ADRESL
}
void?run()
{
mv0=4.88282*adval;
mv1=(int)mv0;
qian=mv1/1000;
bai=(mv1%1000)/100;
shi=(mv1%100)/10;
ge=mv1%10;
}
void?show()
{
we4=we3=we2=1;
we1=0;
PORTB=table[qian];
delay(1);
we1=we3=we4=1;
we2=0;
PORTB=table[bai];
delay(1);
we2=we1=
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1370??2009-10-12?20:39??pic程序\timer0.c
?????文件???????1747??2009-10-15?14:31??pic程序\AD.C
?????文件???????2266??2009-10-11?23:39??pic程序\0809的51單片機程序.txt
?????文件???????1343??2009-09-18?00:55??pic程序\AD_internal.c
?????文件???????1218??2009-10-08?16:02??pic程序\ADC0804.C
?????文件????????339??2009-09-12?00:56??pic程序\IO.c
?????文件????????915??2009-09-12?01:32??pic程序\shumaguan.c
?????文件???????1329??2009-09-14?13:22??pic程序\timer1.c
?????文件???????1257??2009-09-17?20:13??pic程序\timer2.c
?????文件???????2191??2009-09-13?22:27??pic程序\timer.c
?????文件???????2781??2009-10-15?15:32??pic程序\USART.C
?????目錄??????????0??2009-10-12?21:52??pic程序
-----------?---------??----------?-----??----
????????????????16756????????????????????12
- 上一篇:俄羅斯方塊雙人對戰的實現
- 下一篇:排序算法演示源代碼
評論
共有 條評論