單片機C語言程序設計實訓100例 – – 基于AVR+PROTEUS仿真
他給你的源程序告訴你用什么運行環境了么!我用的是AVRstudio6.0.打開一個文件的時候,有一個選擇單片機的型號.在那里面選中你所用的單片機.之后打開擴展名為.C的文件!如果你的時項目文件,那就直接打開那個項目就可以了!編譯之后生成的.hex文件,,用PROTEUS加載就可以進行仿真了!
ADC0804 單片機應用實例
CS片選口 wr啟動轉換 RD轉換完成標志位 CLK時鐘
單片機C語言程序設計實訓100例的介紹
本書為北京航空航天大學出版社出版,作者為彭偉.本書基于AVR Studio+WinAVR(GCC)組合環境和Proteus硬件仿真平臺,精心安排了100個AVR單片機C程序設計案例.全書提供了所有寨例完整的C語言源程序,各案例設計了難易適中的實訓目標.本書適合用作大專院校學生學勻實踐AVR單片機C語言程序設計技術的參考書,也可用作電子工程技術人員、單片機技術愛好者的學習參考書.
《單片機C語言程序設計實訓100例——基于8051+Proteus仿真》 源碼
http://wk.baidu.com/view/442c7d0302020740be1e9b15?pn=1&ssid=&from=&bd_page_type=1&uid=bd_1299948998_472&pu=sl@1,pw@1000,sz@225_294,pd@1,fz@2,lp@4,tpl@color,&st=1&wk=rd&maxpage=66
單片機匯編實例代碼
;利用中斷的99秒計時器 ,動態掃描兩位數碼管
;P0數據端口
;P2.2表示段碼鎖存
;P2.3標志位碼鎖存
LATCH1 BIT P2.2
LATCH2 BIT P2.3
ORG 00H
JMP START
ORG 0BH
JMP TIM0
START:MOV R3,#00 ;中斷循環次數 MOV R4,#0 ;時間初值 MOV DPTR,#TABLE MOV SP,#40H MOV TMOD,#01H ;定時器工作方式 MOV TH0,#HIGH(65536-3800) MOV TL0,#LOW(65536-3800) ;初值4MS SETB TR0 MOV IE,#82H ;開中斷
TIM0: MOV TH0,#HIGH(65536-3800) MOV TL0,#LOW(65536-3800) INC R3 CJNE R3,#250,X1 ;1S MOV R3,#0 MOV A,R4 ;十進制轉換 MOV B,#10 DIV AB MOV 20H,B ; 個位 MOV 21H,A ; 十位 INC R4 CJNE R4,#100,LEDSCAN ;到100則清零 MOV R4,#0
LEDSCAN: CALL SCAN ;調用數碼管掃描
X1: PUSH ACC PUSH PSW CALL SCAN POP PSW POP ACC RETI
SCAN: MOV A,21H MOVC A,@A+DPTR MOV P0,A SETB LATCH1 CLR LATCH1 MOV P0,#11111110B ;掃描子程序 SETB LATCH2 CLR LATCH2 CALL DELAY1
MOV A,20H MOVC A,@A+DPTR MOV P0,A SETB LATCH1 CLR LATCH1 MOV P0,#11111101B ;0代表選通該位數碼管 SETB LATCH2 CLR LATCH2 CALL DELAY1 RET
DELAY:MOV R5,#50 ;典型延時程序
D1: MOV R6,#40
D2: MOV R7,#248 CALL SCAN DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET
DELAY1:MOV R6,#4 ;掃描延時
D3: MOV R7,#248 DJNZ R7,$ DJNZ R6,D3 RET
TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;共陰字碼表
END
單片機C語言程序設計實訓100例中24C04的讀寫問題
so,,,,
急求80C51單片機的應用實例
80C51單片機做電子鐘.
單片機C語言應用100例 有電子版嗎?
應該有吧 好好百度下 有的只有論壇內部開發 回答完畢
單片機的實例
這是用溫度傳感器DS18B20采集溫度,用繼電器控制電熱棒進行恒溫的裝置,我自己做的,希望對你有用。
#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit DQ=P1^1; //溫度傳感器信號線
sbit P24=P2^4; //數碼管段選線
sbit P25=P2^5;
sbit P26=P2^6;
sbit P27=P2^7;
sbit s1=P2^0; //按鍵接口
sbit s2=P2^1;
sbit s3=P2^2;
sbit s4=P2^3;
uint temp=0,temp1=0;
float f_temp;
uchar bai,shi,ge,bai1,shi1,ge1;
uchar n=1,t=0,s=0;
uchar s1num,flag=0,k;
uint e1,e2,p_out,sum_e;
unsigned char code table[]={
0x28,0xEB,0x32,0xA2,0xE1,0xA4,0x24,0xEA,
0x20,0xA0,0x60,0x25,0x3c,0x23,0x34,0x74,0xFF}; //不帶小數點和帶小數點的編碼
void delay(uint m) //毫秒級延遲函數
{
uint x,y;
for(x=m;x>0;x–)
for(y=110;y>0;y–);
}
void dsreset(void) //18B20復位,初始化函數
{
do
{
uint i;
DQ=0;
for(i=70;i>0;i–);//延時564微秒
DQ=1;
i=8;
while(i>0)i–; //延時64微秒
n=DQ;
}while(n==1);
delay(1);
}
bit tempreadbit(void) //讀1位函數
{
uint i;
bit dat;
DQ=0;i++; //i++ 起延時作用
DQ=1;
dat=DQ;
i=10;while(i>0)i–;//延時80微妙
return (dat);
}
uint tempread(void) //讀1個字節
{
uchar i;
uint j,dat=0;
for(i=1;i<=16;i++)
{
j=tempreadbit();
dat=(j<<15)|(dat>>1); //讀出的數據最低位在最前面,這樣剛好兩個字節在DAT里
}
return(dat);
}
void tempwritebyte(uchar dat) //向18B20寫一個字節數據
{
uint i;
uchar j;
bit testb;
for(j=1;j<=8;j++)
{
testb=dat&0x01;
dat=dat>>1;
if(testb) //寫 1
{
DQ=0;
i++;i++;
DQ=1;
i=10;while(i>0)i–;
}
else
{
DQ=0; //寫 0
i=10;while(i>0)i–;
DQ=1;
//i++;i++;
}
}
}
uint get_temp() //讀取寄存器中存儲的溫度數據
{
dsreset();
delay(1);
tempwritebyte(0xcc); // 寫跳過讀ROM指令
tempwritebyte(0x44); // 寫溫度轉換指令
dsreset();
tempwritebyte(0xcc);
tempwritebyte(0xbe);
delay(1);
temp=tempread();
f_temp=temp*0.0625; //溫度在寄存器中為12位 分辨率位0.0625°
temp=f_temp*10+0.5; //乘以10表示小數點后面只取1位,加0.5是四舍五入
return temp; //temp是整型
}
////////////////////顯示程序//////////////////////////
void dis_temp(uchar a,uchar b,uchar c) //數碼管的動態顯示
{
P25=1;
P26=1;
P27=1;
P24=0;
P0=table[a];
delay(3);
P24=1;
P26=1;
P27=1;
P25=0;
P0=table[b];
delay(3);
P25=1;
P24=1;
P27=1;
P26=0;
P0=table[c];
}
void main()
{
while (1)
{
TMOD=0x11;
TH0=(65536-20000)/256;//定時器裝初值
TL0=(65536-20000)%256;
TH1=(65536-20000)/256;
TL1=(65536-20000)%256;
RCAP2H=(65536-50000)/256;
RCAP2L=(65536-50000)%256;
EA=1;
ET0=1;
TR0=0;
ET1=1;
TR1=0;
ET2=1;
TR2=1;
P25=1;
P26=1;
P27=1;
P24=1;
dsreset();
temp=get_temp();
delay(1500);
temp=get_temp();
bai=temp/100;
shi=temp%100/10;
ge=temp%10;
dis_temp(bai,shi,ge);
}
}
求單片機C語言程序設計實訓100例基于PIC+Proteus仿真pdf版 是書內容不是光盤程序
下載這個 http://wenku.baidu.com/view/47a19811cc7931b765ce15dd.html