请教 一个51单片机要往另一个51单片机送unsigned int64...

51单片机编程请教_百度知道
51单片机编程请教
xdata unsigne旦弗测煌爻号诧铜超扩d char Data1 _at_ 0x8000;xdata unsigned char Data1H _at_ 0x8001;xdata unsigned char Data1L _at_ 0x8002;// 将0x08000地址上的内容拆开,高4位送0x08001地址的低4位,低4位送0x08002地址的低4位void main(){
unsigned int T
Temp = Data1;
Data1L = Temp & 0x0F;
// 屏蔽后将数据Data1的低4位送高地址0x8002
Data1H = Temp && 4;
// 将数据Data1的高4位送低地址0x8001
}这个是拆分实验。。。但是 如何根据这个编程改成拼写实验?就是说 上述编程 我如果输入的是36 那么在8001H这个地址就会输出02 再8002H输出04那么 我想改编成在地址4000H输入03 4001H输入06 最后在4002H输出36。。。请问应该如何改编?谢谢。。。PS:我想到的是把03的二进制码右移4位 但是不懂如何和06的二进制合并成36的二进制数。。。(不知道这样的想法可行不?)不可行求高手教导。。。谢谢。。。
提问者采纳
xdata unsigned char Data1 _at_ 0x4002;xdata unsigned char Data1H _at_ 0x4000;xdata unsigned char Data1L _at_ 0x4001;void main(){
u旦弗测煌爻号诧铜超扩nsigned int T
Temp = ( (0x0F&Data1H) * 10) + (0x0F&Data1L);
其他类似问题
按默认排序
其他2条回答
是函数名,随便取的
跟在interrupt
值得是中断号,就是说这个函数对应第几个中断端口,一般在51中
继续追问: 那对于有定时器/计数器2的单片机,它对应的中断类型是不是5啊? 补充回答: 不错。那是增强型MCU 继续追问: 再想问一下就是像void timer0_interrupt(void) interrupt 5 using 1旦弗测煌爻号诧铜超扩{
......}中 interrupt 5 using 1 又是什么意思?补充回答: using 后面的数要联系到单片机内部结构 51里面一般有4个r0 -r7寄存器, using 1指明了你用的是哪个寄存器组。如果你的终端函数和别的程序用的不是同一个寄存器组则进入中断的时候就不会将寄存器组压入堆栈返回时也不会弹出来 节省代码和时间。这样写起来比较规范。当然你不写它也是没有问题,默认会使用同一组内部寄存器。
您可能关注的推广回答者:
51单片机的相关知识
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁一个程序的解释,回答者我将免费赠送学习51单片机与ARM的例程,…_单片机吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:72,175贴子:
一个程序的解释,回答者我将免费赠送学习51单片机与ARM的例程,…收藏
这个程序怎么看?(我在后面加//的希望您能帮我重点解释下)一个程序的解释,回答者留下邮箱我将免费赠送学习51单片机与ARM的例程,希望大家帮帮忙。#include &REG52.H&
#include &INTRINS.H&
sbit Beep =
unsigned char n=0;
unsigned char code music_tab[] ={乐谱省略
void int0()
interrupt 1
//这个函数实现什么功能,是怎么实现的?{
void delay (unsigned char m)
unsigned i=3*m;
while(--i);
void delayms(unsigned char a)
while(--a);
//为什么不采用while(a--);
void main()
//能按照程序运行过程将主函数逐条解释下{ unsigned char p,m;
unsigned char i=0;
TMOD&=0x0f;
TMOD|=0x01;
TH0=0xd8;TL0=0
a: p=music_tab[i];
if(p==0x00)
{ i=0, delayms(1000);}
else if(p==0xff)
{ i=i+1;delayms(100),TR0=0;}
el****usic_tab[i++], n=music_tab[i++];}
while(n!=0) Beep=~Beep,delay(m);
你好,第一个函数是定时器0中断程序,当满足中断条件(如定时时间到,开了中断)就会执行!
第二问题--a与a--问题不大,无非延时间不同!至于为什么用-—a是怎样:本意可能是延时nmS,当为n时刚好循环n次!
最后—个简要说,基本是设置定时器工作方式(TMOD),设定定时初值(TH0,TL0),开中断(IE),后面是音乐插放了!
第一个是定时器中断,去看看视频资料,不好解释。。2.写法问题,也可以a--的
3.其中很多都是定时器中断中的一个函数。所以定时器中断不清楚。很难跟你解释那些语句的意思。。。
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或2015年高考天骄行动-百度文库
距离高考还有
扫描二维码
分享给微信好友
对2015年高考真题进行72小时不间断报道,集结文库840万教师第一时间对高考真题进行解读。
高考减压亭分布在全国35个城市,是为广大高考考生提供考前减压的场所。压力大么?减压亭走一遭吧!用51单片机写一个程序-中国学网-中国IT综合门户网站
> 用51单片机写一个程序
用51单片机写一个程序
转载 编辑:李强
为了帮助网友解决“用51单片机写一个程序”相关的问题,中国学网通过互联网对“用51单片机写一个程序”相关的解决方案进行了整理,用户详细问题包括:jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="http.baidu<a href="/c.hiphotos://c./zhidao/pic/item/34fae6cd7b899e512d0eccc9950ddd://c.hiphotos.jpg" esrc="/zhidao/wh%3D450%2C600/sign=/zhidao/wh%3D600%2C800/sign=d9f2d9dca62b/34fae6cd7b899e512d0eccc9950ddd,具体解决方案如下:解决方案1:单片机一号按键加一,按单片机四号按键清零,按单片机二号按键减一,按单片机三号按建显示学号解决方案2:我来帮你啊解决方案3:这应该是很简单的东西解决方案4:这个简单。具体做起来要慢慢思考程序写法。用语音我可以帮你写。有时间联系我。但是要我有时间才能帮你做。解决方案5:H!我,帮你通过对数据库的索引,我们还为您准备了:问:1)向左依次渐亮、向右依次渐灭、全部渐亮、全部渐灭四种流水方式; (2...答:1、使用定时器0方式二,结合软件计数器来实现秒信号的产生; 2、定时器必须使用中断的方式来实现; 3、使用单片机开发板上的左边四位来扫描显示时间,显示格式为“MM.SS”; 4、开机时显示00.00,最大值显示到59.59(59分59秒); 5、第一次按电路...===========================================问:“随机出一个数,如果按到对应的按键就变成0(算一次),然后继续随机数…...答:#include #define uchar distab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}; //0到f uchar keyin, bit flag=0; void delay(unsigned int a) { unsigned ...===========================================问:急求循环流水灯第一步:8个发光二极管同时亮并且闪烁2次,闪烁间隔时间...答:查询方式: ORG 0000H AJMP MAIN MAIN: MOV P1,#01H MOV R0,#8 MOV A,P1 XU: RL A MOV P1,A ACALL DELAY DJNZ R0,XU AJMP MAIN DELAY: MOV R0,#0FFH ONE:MOV R1,#0FFH TWO:MOV R2,#02H THE:DJNZ R2,THE DJNZ R1,TWO DJNZ R0,ONE(将近1S) RET E...===========================================问:1、 具体要求: (1) 设计一个51单片机系统,画出系统的电路原理图; ...答:16位拉幕灯,可算是一种显示模式: /do_sermon/item/9bc387db8b4abb9===========================================问:题目:单片机开发板上从左到右有4个按键分别为S1-S4,按下S1从单片机P1口...答:定时器定时10KHZ 检测按键输入,分别按时间翻转每个脚===========================================问:要用超声波判断距离,不用转换显示,只要当测的距离小于或等于5cm时,st...答:#包括:QUOT;为reg51.h&QUOT; SBIT P10 = P1 ^ 0; 无效initTimer(无效) TMOD =为0x10; TH1 = 0X0B; TL1 = 0xE0指令; 定时器无效(无效)中断3 TH1 = 0X0B; TL1 = 0xE0指令; P10 =10页; 无效的主要(无效) initTimer(); TR1 = 1; ET1 = 1;...===========================================问:#include&reg52.h& #define uchar unsigned char sbit P1.0 = P1^0; uch...答:很简单哦,在中断服务函数中用一个变量用来计每个占空比要时间持续的时间,case 0:如果第一次占空比时间到了的话就让a++;ZR赋予你想要的占空比,就进去case 1这里来哦,你想模拟PWM是吧,你定时2ms作为一等分时间太长了,调节起来不会很明显,还...===========================================问:#include&reg52.h& #define uchar unsigned char sbit P1.0 = P1^0; uch...答:数码管是怎么控制的?好像没有与51的IO发生关系===========================================问:P1.1口做为输入端,接一个轻触开关到+VCC端。P0.0口作为输出端,输出正...答://你这一个程序挺简单的, 我使用循环扫描的办法#includesbit kEy = P1^1;sbit oUt = P0^0;void Init(void){ kEy = 0; oUt = 0;}void Delay(void){ unsigned char a,b,c; for(a=10;a&0;a--) for(b=200;b&0;b--) for(c=120;c&0;c--);}void main(v...===========================================用51单片机写一个程序:用定时中断T0T1控制4个数码管显示1... 分内容转自:《51单片机C语言创新教程》温子祺等著。 原理: 软件设计方面使用动态驱动数码管的方式,即...===========================================/* 实验目的:初步了解单片机I/O口的工作原理,进一步掌握51单片机的汇编指令。 * 实验内容:用汇编指令对单片机I/O口进行编程,控制8个发光二极管的流水亮灭。 */ /* 程序详...===========================================红外收发程序可能是没能够正常返回或退出的原因,另外,你可以把数码管的显示放在定时中断服务程序中处理。=========================================== 写这个程序很简单啊,我的QQ是,一般都隐身,Q我===========================================以及步进电机的控制方式,计算出需要输出的信号 3 通过三个IO口输出2中算出的信号。 你的分给的少了,大家都不想回答。懂否? 你若是急要程序的话,我可以帮你写,不过是有...===========================================是不是P1_1有时候为1,有时候为0.所以出现P2_6u有时候为0有时候为1;占空比不同,以至于用直流电压表测量的时候只能测量均值。也就是5乘以占空比=3V。看看P1_1电平是...=========================================== void main(void) { led=1; //不亮 while(1) { if(key1==0 && key2==1)//按键1按下,按键2没按 { led=0; //亮 } else if(key1==1 ) //按键1释放或未按时,灯灭 { led=1; //灭 }...===========================================这是一个你这样的键盘扫描程序,你直接在最下面的switch case里面改一下,改成你要的功能就行了,然后再自己稍微添一下自己要的功能就ok了。做这些自己一定要亲自上手,不...=========================================== ;延时一段时间 mov a,#0每次只亮一个灯。loop: mov p1,输出到p1 延时循环左移。 跳转main继续循环delay: mov r5,#20 ;延时子程序1闪烁灯...=========================================== pwm(uchar zkb) { uchar x =100; led=0; delay(x*zkb/100); led=1; delay(x*zkb/100); }===========================================
本文欢迎转载,转载请注明:转载自中国学网: []
用户还关注
可能有帮助求助。帮忙改一个51单片机程序。关于串口通信的。改对了加分!-中国学网-中国IT综合门户网站
> 求助。帮忙改一个51单片机程序。关于串口通信的。改对了加分!
求助。帮忙改一个51单片机程序。关于串口通信的。改对了加分!
转载 编辑:李强
为了帮助网友解决“求助。帮忙改一个51单片机程序。关于串口”相关的问题,中国学网通过互联网对“求助。帮忙改一个51单片机程序。关于串口”相关的解决方案进行了整理,用户详细问题包括:在PC上用串口助手读取!。用TLC2543把11路模拟信号转换为数字信号。改对了加分求助。现在发送给串口部分的程序有问题。程序在我百度空间里的一片文章里。并发送给串口。要求读取12位数据发送给串口。帮忙改一个51单片机程序!,高手帮个忙,具体解决方案如下:解决方案1:答案:比金钱更重要的未来。解决方案2:除了初始化,发送部分由问题吗?接收的数据感觉不对啊。解决方案3:仔细核实下,确认到底是不是接收数据有问题。如果接收数据不对,就是波特率有问题了,发送数据需要关中断?自己判断下,你试下。还不行判断如下:1、发送一串固定的数据,看PC接收数据,有问题就是波特率有问题。2、关中断。通过对数据库的索引,我们还为您准备了:问:求助。帮忙改一个51单片机程序。用TLC2543把11路模拟信号转换为数字信号...答:答案:比金钱更重要的未来。===========================================问:功能如下: 1、程序烧进去,串口接收显示一个菜单6如图》A、B、……分别...答:看样子你是UART口知道怎么发多个字节,但是不知道怎么收多个字节,希望下面的代码能帮你理解原理。 //UART读一个字节,这个函数被下面的函数调用。 uint8 UART_RX_CHAR(void) { uint8 i,RTBYTE; RTBYTE=0; i=10; while(i--) { if(RI){RTBYTE=SBU...===========================================问:STC89C51RC。11.0592M。 那位高手提供一个可调通的例程,可以让串口收发...答:#include // 改了一下 试试, 主要是 串口 void system_Ini() // 可以试试 自发 自收 TXD 与 RXD 连接起来 { // P2 口 接 8 路 开关 信号 , P1 口输出 接收信号 TMOD|=0x21 ; //定时器T1工作方式2(自动装载初值的8位定时器),T0方式1 SCON = ...===========================================问:好吧,从头到尾麻烦都详细讲一下吧。。。。 就像//这样的注释。。。。。...答:#include //头文件,c语言一样 #define uchar unsigned char //定义unsigned char为uchar #define uint unsigned int unsigned char flag,a,i; //定义unsigned char变量,其实这里用uchar也行 uchar code table[]="I receive, thanks "; //定义一...===========================================问:好吧,从头到尾麻烦都详细讲一下吧。。。。 就像//这样的注释。。。。。...答:给你一些思路,首先你要确定下通信的协议,比如说常见的格式:0x55字头、从机地址(三个可以用00、01、1足够了)、传输数据、0xAA字尾。然后看懂单片机的串口通信那块。从机的处理程序只有地址不一样,其他结构可以一致。主机要读劝忙”状态来响...===========================================问:只要最简单的串口输出就行,多谢!答:程序如下,只需要修改MSG中需要发送的中文字符就可以了 ORG0000H AJMPMAIN ORG0100H MAIN:MOVSCON,#40H;设置串行口工作方式1 MOVPCON,#0;设置波特率4800 MOVTMOD,#20H;波特率可根据需要自己修改 MOVTL1,#0FAH MOVTH1,#0FAH SETBTR1 MOVDPTR,#MSG...===========================================问:按下k1,向上位机发送“hello, what do you want to do?”。 用上位机软件...答:#include #define uchar unsigned char #fefine uint unsigned int uchar wm1=0xfe,wm2=0xfd,wm3=0xfb,wm4=0xf7; uchar wl1=0xef,wl2=0xdf,wl3=0xbf,wl4=0x7f; uchar rdat[10]; uchar rcomputer[]="hello,what do you want to do?" sbit fmq=P1^...===========================================问:要求是这样的:通过pc上的串口助手等软件将ASCII码发送至单片机,单片机...答:硬件原理图有吗 我做单片机的 ===========================================问:51单片机,程序下载失败,显示:打开串口失败! Chinese:串口已被其它程...答:既然有出口,那八成装了,你可以试着换一个串口号,要么用一根串口线将2、3脚端接,用串口调试助手自发自收,看正不正常,这样排除串口问题。===========================================人家都把编码器给你转换好了,你就做一个串口程序就ok了,只要知道协议就成.===========================================串口用于单片机与单片机、单片机与PC之间的通讯,可以是数据采集上传,PC控制下位机,单片机之间的协同工作等等。 上位机和下位机是一样的,上位机指PC等直接与人打交...===========================================单片机开发板?我记得国信长天有一款51开发板就是这个芯片的USB口,可以通过一个跳线切换STC-ISP下载方式和Atmel的ISP下载方式,在STC-ISP方式下就是普通串口,另一个...===========================================这个不难,单片机用普通的STC51单片机就可以了。用一个IO口控制一个继电器(三极管... 计算机写一个Vb或者C#程序。都有专门用于串口控制的控件。操作很简单。 淘宝里面...===========================================12m/你需要的就是把时钟分频与波特率的分频设置好,是他们相乘等于1250.分频的设置应该都在时钟的寄存器与串口通讯的寄存器里吧。===========================================串口中的传送是通过计算机里自带的ASCII码来进行编译和解码的,而单片机本身没有带... ,一个汉字对应一个二进制数,然后将这个二进制数通过串口传送。===========================================程序如下,只需要修改MSG中需要发送的中文字符就可以了ORG0000HAJMPMAINORG0100HMAIN:MOVSCON,#40H;设置串行口工作方式1MOVPCON,#0;设置波特率4800MO...===========================================建议 去 我的领地 5d6d 的 proteus 论坛看看 搜 5d6d 和 proteus 2个关键词 那里有很多 单片机仿真实例,包括仿真图 和 源码=========================================== 可以的,各存于收发寄存器内,全双工的。===========================================多个51单片机之间的 串口通讯汇编程序……帮你编写,QQ名里===========================================
本文欢迎转载,转载请注明:转载自中国学网: []
用户还关注
可能有帮助

我要回帖

更多关于 unsigned int64 的文章

 

随机推荐