单片机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