单片机编程,求大神ps的后果全集

求大神帮忙看一下下面的程序错哪了啊?_单片机论坛吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:3,110贴子:
求大神帮忙看一下下面的程序错哪了啊?收藏
#include&reg52.h&#define uchar unsigned char#define uint unsigned intsbit DQ=P1^7;
// DS18B20与单片机连接口sbit R4=P1^6;
//进料口水分测量电路与单片机接口sbit R9=P1^5;
//出料口水分测量电路与单片机接口 sbit fj1=P0^0;sbit fj2=P0^3;sbit fj3=P0^6;sbit fjr1=P2^0;sbit fjr2=P2^2;sbit fjr3=P2^4;
//风机与单片机连接口 sbit jr1=P0^1;sbit jr2=P0^2;sbit jr3=P0^4;sbit jr4=P0^5;sbit jr5=P0^7;sbit jr6=P2^7;sbit fjr4=P2^1;sbit fjr5=P2^3;sbit fjr6=P2^5;
//电阻丝与单片机连接口
//温度值uint shuifen1;
//进料口水分值uint shuifen2;
//出料口水分值uint tem0,tem1;
//计数器T1计数高低位值/*************************延时程序****************************/void delay1(int i){
while(i--);}
//延时ius void delay2(unsigned int i){
while(i--)
for(j = 0; j & 125; j++);
//延时ims void delay3(unsigned int i){ unsigned int j,k,h; while(i--)
for(j=0;j&20;j++)
for(k=0;k&200;k++)
for(h=0;h&250;h++);
//延时is /*************************DS18B20程序****************************/void init_18b20()
//18b20的复位函数 {
//总线拉高电平
delay1(10);
//延时10us
delay1(750);
//释放总线
//延时一个机器周期
delay1(560);
//总线拉高} void weite(uchar dat)
//18b20写函数{
//定义变量
for(i=0;i&8;i++)
//总线拉低
DQ=dat&0x01;
delay1(45);
//总线拉高
//右移一位
}} uchar read()
//18b20?梁??{
uchar i,dat=0;
//定义变量
//总线拉高,读数据条件
//延时一个机器周期
for(i=0;i&8;i++)
//总线拉低
//延时一个机器周期
//右移一位
//总线拉高
//延时,使数据总线稳定,保证数据没有错误
//判断总线的值是否为1
dat|=0x80;
delay1(40);
//延时40us
//总线拉高
//返回所读数据
} uchar read_tu()
//读取18b20中温度的函数{
uchar a,b;
//定义变量
init_18b20();
//18b20复位
weite(0xcc);
//写入0xcc,跳过序列号
weite(0x44);
//启动温度转换
init_18b20();
//18b20复位
weite(0xcc);
weite(0xbe);
//读取温度
//装低字节
//装高字节
//b左移四位,前五位为区分温度正负位
//a右移四位,去温度小数位
//b=a+b,此时b为温度整数值
//返回所读数据}
/*************************定时器程序****************************/void timer0() interrupt 1
//T0定时中断{
//重装值,定时50000us
//计数器1清零
TH1=0x00; TR0=1;
} void timer1() interrupt 3
//T1计数中断{ TR0=0;
//重装值,定时50000us
//计数器1清零
TH1=0x00; TR0=1;
} void init_timer(){
TMOD=0x51;
// 定时器0在模式1下工作16位定时器,定时方式
定时器1在模式1下工作16位计数器,T1负跳变加1
//定时器0初值 定时50000us
//定时器1清零
//T0开始计时
//T1开始计数} uchar read_sf()
//读取水分的函数{
f=tem1*256+tem0;
if(f&6399)
shuifen=16;
elseif(f&7038)
shuifen=6;
elseif(f&7287)
shuifen=2;
shuifen=0;
}} uchar read_sf1()
//读取进料口水分的函数{
c=read_sf(); } uchar read_sf2()
//读取出料口水分的函数{
d=read_sf(); }
/*************************控制子程序****************************/void_kongzhi(){
if(shuifen1&15){fj1=0;fj2=0;fj3=0;if(wendu&0)
elseif(wendu&15)
}}elseif(shuifen1&5)
fj2=0; if(wendu&0)
jr3=0;jr4=0;
elseif(wendu&15)
if(wendu&0)
elseif(wendu&15)
}while(shuifen2&1){
delay3(300);shuifen2=read_sf2();}} /****************************主程序******************************/ void main(){EA=1;
//开中断ET0=1;
//允许定时器0中断ET1=1;
//允许定时器1中断init_timer();
//定时器、计数器初始化设置while(1){
wendu=read_tu();
//读取温度值给全局变量
shuifen1=read_sf1();
shuifen2=read_sf2();
kongzhi();
delay3(600); }}
登录百度帐号我的游戏推荐游戏
后查看最近玩过的游戏
为兴趣而生,贴吧更懂你。或51单片机的问题,求大神解答。为什么8051单片机的片内程序存储器为4KB,这个4KB是怎么算的。_百度知道
51单片机的问题,求大神解答。为什么8051单片机的片内程序存储器为4KB,这个4KB是怎么算的。
如题,求解答
提问者采纳
都是 Intel 当年决定的。--这些。这个4KB是怎么算的为什么8051单片机的片内程序存储器为4KB。--换算成 16 进制?--4 * 1024 = 4096--地址范围就是 0~H ~ 0FFFH,就是,--8052 单片机的片内程序存储器为8KB
提问者评价
其他类似问题
按默认排序
其他5条回答
不是算的....,就是这样设计的.。8031无ROM8051 是4K8052 是8K8051是一个系列
这个4KB的片内存储器是厂家设计时嵌入的,至于为什么,恐怕是设计者当时考虑到51当时绝大部分应用代码在4K以内就可以实现,因此从经济方面考虑的结果。这4K的地址是从0000H~0FFFH。
现在各型号的51单片机,ROM、RAM各不相同。以前的8051,是4K的程序存储。这只是一开始定的。但是现在的51单片机种类繁多,多数的功能更强大,存储也变得大了。厂家也可以给你定制。就像windows电脑一样,RAM、ROM越来越大,但是都基于86框架。
这个不是算,是芯片做出来就这样
这个问题就和一辆车能装多少油一样。
51单片机的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁求大神指导课程设计,用单片机实现自动打铃系统,要用c语言编程_单片机吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:60,996贴子:
求大神指导课程设计,用单片机实现自动打铃系统,要用c语言编程收藏
以51单片机为核心设计一自动打铃系统,能完成基本计时和显示功能,用LCD显示时间、铃声可用蜂鸣器发出。基本计时和显示功能(用12小时制显示)。包括上下午标志,时、分的数字显示,秒信号指示,并能设置当前时间(含上、下午,时,分)。能实现基本打铃功能,规定:上午8:00上课铃:打铃10秒、停2秒、再打铃10秒。下午5:30下课铃:打铃10秒、停2秒、再打铃10秒。设计内容要求:1、人机对话“界面”的设计;2、内存端口及外设的设置;3、硬件电路原理图、软件清单。
代做,有意加筘筘
笑死了,常熟理工的吧!!!
这个我可以完成,可以加我qq
先设定一个初始时间,然后让它每一秒加一,加到六十进位即可
登录百度帐号我的游戏推荐游戏
后查看最近玩过的游戏
为兴趣而生,贴吧更懂你。或求大神帮忙。单片机汇编语言编程_百度知道
求大神帮忙。单片机汇编语言编程
再从两头到中间移动2次,循环5次结束,后者的速度是前者的一半实现数字6从中间到两头移动三次
其实是SETB
90H就是说,就起了个好记的名字叫P1.还有对于不同的单片机.这些名字都是寄存器地址,通过指令来区分是对哪个进行操作.0. .,PC 也是地址要SETB
PA,P1和P1,PA;在汇编语言中是取位运算.0都代表一个寄存器地址而已MOV
首先要看PA这个寄存器能不能够位寻址,只不过那么多地址不好记,一个是位地址,PB.0P1..1的地址就是91H;,其他单片机也一样,
P1..&quot.2 对应 92H,对字节操作的指令如MOV ,PA.O中的&quot,P1,#00H其实是MOV
90H,SONIX的单片机就是B0BSET P1,一般做为引脚的寄存器都是可以位寻址的,指令也可能不太相同.,就是P1
则对应P1.O他俩的地址都是90H 但一个是字节地址
其他类似问题
单片机汇编语言的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁单片机,C程序,,求注释各部分详解说明,看的不是很懂,求大神你帮忙。。。_百度知道
单片机,C程序,,求注释各部分详解说明,看的不是很懂,求大神你帮忙。。。
mov r5,#03h
mov r4,#00h
mov r4,#0ffh
djnz r2:mov r1,#0ffh
mov r4,#00h
rlc amov r3,#0fh
mov r4,#30h
displaymov r3,#20h
0000hmain,a
mov r3,#20h
display mov r3,#00h
mov r5: clr c go,#0ffh
mov r5,#00h
mov r5,$ djnz r1:mov a,#0ffh
mov r5,#00h
mov r4,r4rlc amov r4,#00h
mov r5,#30h
mov r3,temp1 ret
end希望QQ上指导,amov a,#00h
mov r4:mov r2,#00h
mov r5,#05h
mov r4,#0ffh
mov r4,#00h
mov r5,#04h
display ajmp
maindisplay,#10h
mov r3,#0ffhtemp1,r4lcall delay
r5,goretdelay,可以加我么:,#02h
mov r3,#02h
display mov r3,r3
mov p2,#40h
mov r3,#01h
我有更好的答案
按默认排序
你这是汇编程序呀。
恩恩,是的,这个貌似看懂了些,刚学单片机,不是很熟悉,没讲过这么复杂的,以前弄得都是蛮简单的。。
我是半路出家,只学了少许的C51,汇编不懂。
其他类似问题
单片机的相关知识
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 求大神 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信