单片机问题
对于ROM,是只可以读而不能写的(烧程序时除外)。只要你接好了外扩,用MOVC就可以对外部程序存储进行读操作了(记得要有16位地址哦)
这个是对程序存储(内外都是的)的操作,片外的也可以。MOVX是对数据存储器。
有什么不理解可以追问
1。“code”是单片机C语言特有的关键字
在单片机中RAM的空间特别小,特别珍贵。RAM空间,存放变量。而一些常量,比如码表等常量放在ROM中。所以单片机中code就是告诉单片机这个数据放入ROM中。
本例中dispbit[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdF,0xbF,0x7F}; 数组内容为常量,故加上code,以节约RAM的空间。
其实code放在unsigned char 前也可以,比如code unsigned char dispbit[8]效果一样。
2.关于void T1zd(void) interrupt 3
“interrupt ”是单片机c语言中断关键字,至于后面的0,1,2,3,4,5,分别表示
0-外部中断0
1-定时器0
2-外部中断1
3-定时器1
4-串口中断
5-定时器2
“interrupt ”是单片机c语言中断关键字,是c51 语言在单片机中规定的,在程序编译时指明中断的类型。当相应的中断发生时,并执行这个中断函数。
本例中当定时器计数时间一到(即 TH1和TL1全部计满,并溢出 ),便执行下面程序,将0x1c放到 TH1中 0x18放到TL1 中,再开始重新计数(不断加1),每计满一次 LedNumVal值 加1。如此下去。。。
想学习单片机应该首先学会这些东东:1>IAP(In Application Program)在应用编程 ISP(In System Program)在系统编程根本区别: IAP: 动态的,CPU CORE已经运行,自己从外面读数据,完成写入自身FLASH IAP: 静态的,实质上是由外部实现串行编程写入待.<2>答:具备在应用中编程IAP功能的单片机,其程序存储器必须是可以重复烧写编程的版本(比如FLASH)。可以用于具备远程遥控软件版本升级或者参数修改的产品项目之中(比如远程抄表、用户端电话计费等系统的远程费率参数和算法程序修改);也可以应用于具备自编程功能(免用微机和烧写器)的单片机学习机、单片机单板机、实验板、演示板、教学模块等各种学习和实验工具之中。对于处在同一个存储器空间的FLASH程序存储器,不能同时扮演“被烧写存储器”和“取指令存储器”的双重角色。为了解决这个矛盾,不同厂家的单片机采用了不同的解决方案,比如: ① 可以将FLASH程序存储器分成地址有映射关系的两个区,分别由各自的电荷泵提供烧写电压。当烧写一个区时,该区的电荷泵工作,同时执行存放在另一个区的指令。例如,SST(Silicon Storage Technology)公司利用他的SuperFlash技术研制的FlashFlex51单片机系列,各个型号片内分别带有20KB、36KB或68KB可多次编程的程序存储器。该存储器又分为主存储区和次存储区。各个型号的主存储区分别为16KB、32KB或64KB,次存储区则统一为4KB。 ② 可以将单片机的程序存储器地址空间分为ROM区和FLASH区,ROM区在出厂之前就已经固化有烧写专用程序,FLASH区作用户程序存放区,这样一来,即使在烧写FLASH的同时,也不会影响对于ROM中程序的执行。MOTOROLA公司推出的MC68HC908系列单片机中采用的就是这种解决方案。 ③ PIC16F87X系列单片机中,采用了不同的解决方案。FLASH程序存储器并不分区,在对其进行烧写并且电源自动切换到电荷泵供电时,CPU自动停顿而等待。在一个单元烧写操作完毕,FLASH工作电压自动切换到正常值时,CPU才继续执行FLASH中的烧写专用程序或用户程序。 ④ 在数据存储器RAM和程序存储器FLASH两种存储器统一编址的单片机中,还可以采用的另一种方案是,在准备修改FLASH区中的用户程序之前,先把烧写专用程序拷贝到RAM区,然后跳转到RAM区去执行该程序,实现对FLASH程序存储器的烧写操作。在烧写完成之后再跳回到FLASH存储器执行正常的用户程序。微芯公司新近推出的高性能PIC18C601/801单片机采用的就是这种解决方案。MOTOROLA公司推出的MC68HC908系列单片机的某些型号,也可以采用这种解决方案。SST89C54/58(简称89C54/58)是美国SST公司推出的多用途51系列单片机,片内集成了20 kB/36 kB的SuperFlashE'PROM程序存储器,分为BLOCK0(16kB/32kB)和BLOCKl(4kB)两块。其中,BLOCKl可以映射(Mapping)到64kB存储空间的最高端或最低端,而且,对于程序计数器来说可以是不可见的,
不知道是否能帮助你,希望你给予采纳
楼上的这种人简直就是人渣。
蹭分的那种,鄙视。
说实话,你真的比较菜,没用过单片机吧,用用你就知道了,一般定时不会用死循环数指令的方式来定时的,是用单片机的定时器来定时的;如果你非要数指令来定时,那你要知道你C语言反汇编之后的数数循环体里面的总的指令周期,然后看你的单片机CPU时钟是多少,每种单片机的CPU从晶振的分频是不一样的;
这个函数有问题
1.uchar 是unsigned char
最大值为255,而i=2000 执行结果是 i=0xD0 (keil仿真)
2.通过keil的仿真,测试实际延时为400us左右
所以不要这样延时
可以用如下的方法近似延时1ms
void d1ms(void)
{
uchar a,b;
for(a=23;a>0;a--)
{
for(b=20;b>0;b--)
{
}
}
}
后面一个问题不清楚哈。。。。。。
如果想简单的话,不需要用单片机,直接一个语音芯片就可以搞定了,具体你可以先看看ISD系列的可录语音芯片,就是比较贵。如果是固定的引擎声,你问问卖语音芯片的厂家,应该有掩膜ROM的版本卖,会很便宜,你把芯片的触发端接在油门控制上,利用高低电平就可以了。如果纯用单片机实现比较麻烦,不是很实际。
我就想知道圆木分片机上下对不平怎么办
1、圆木多片锯整排出料板面都有台阶错位。这种情况是由于上下轴上对应的锯片没有在一个垂直线上,这时如果锯切木料就会错位。解决方法也比较简单,重新安装或调整锯片,锯片与锯片之间有垫套,检查中间有没有挤压木屑,如果有木屑会使垫套变厚,这样就会造成上下锯片对不齐。2、圆木多片锯锯片其中的单片...
胶片旁轴相机的一些问题
那么在这里就会有一个很有意思的问题了,倘若你的镜头是F2.8光圈的话,景深是可以覆盖到2.8米~ 3.2米的位置的,所以最后的照片出来也是清晰的,但实际上对焦是不准的。所以,测试旁轴相机的对焦,除非你是大光圈镜头(例如F1.4以上),在最近对焦1米左右时景深往往只有几厘米,这个时候拍照测试才能...
为什么傻瓜胶片机一直挂不上卷?
没卷到位,你的胶卷圈进去起码要一圈半左右,卷进去的部分绕一圈后要能被这个卡扣压紧,不然转轴转动时是带不动胶卷的。
工业洗片机洗出胶片有黑印微缺陷怎么回事?
机器不干净,建议清洗干净后重新配药,控制好温度。片子你是不是用手摸过?片子被有汗水的手或油污的手摸过也会影响冲洗效果,建议戴手套操作
羊肉片机切肉切下来的是碎片是什么毛病?
是肉的问题说明是几块肉拼的。
尼康fe2 胶片机 a档 问题
但就是这样。老式相机的感光元件,FE2等,动态范围比较有限,而且,它是通过五棱镜反射之后,在取景窗附近测光的。你把快门缩至F22,对于测光元件来说,入射光几乎等于黑夜了(在这么长的光路和小光圈之下)。测光当然是不准的…数码相机的光圈全开测光和新式测光系统,可以避免这个问题。(我知道你说两个...
三星n7000检测不到sim卡片机
尊敬的三星用户您好:您的型号未在大陆上市,我们无相关针对性的资料,您可参考国内机型类似问题相关设置方法:1.重新开关机,检查手机卡是否插入到位及插入方向是否正确2.取出SIM,用橡皮清洁SIM卡金属触点。(是否是sim卡接触不良)3.更换一张SIM卡试试(是否sim卡已老化或坏损)4.备份手机数据(电话簿...
长城胶片机,操作问题。
胶卷没放好,没上卷。图二那个键是倒片钮,拍完胶卷倒回暗盒里面。
胶片机的冲扫问题
2)一般的冲洗、扫描是将整个胶卷扫描并刻成一个盘,但该盘上的每张PP的像素不会太高,如果你觉得某几张PP要做大幅度放大则可以请店家单独另扫描,当然这几张PP要另外计费的。3)如果是彩色正片冲洗后不一定要扫描,因为可以用观片灯或幻灯机上直接看图像,选好图象请店家专门扫描几张也可以。负片...
中空玻璃合片机不吸片什么原因
控制吸气的电磁阀线圈可能烧了,也有可能是电磁阀不换向了,如果PC没问题的话
伯牙吾台费小儿: 1.分析单片机与通用计算机的相同和不同之处 单片机就是微型计算机,只是说单片机只包裹控制器、计数器、存储器、IO口; 2.单片机有哪些应用领域 自动控制的地方都用 3.归纳分析80c51单片机硬件结构特点 控制器+计数器+存储器+IO口 4.归纳分析80c51单片机定时器/计数器的特点 计时益处产生中断 5.归纳分析80c51单片机中断系统的特点 放下当前程序转跳到另一个地方 6.归纳分析80c51单片机指令系统的特点 运算+逻辑+控制转移 7.归纳分析80c51单片机串行口接受和发送数据的过程 写入寄存器+然后发送 8.简述在MCS-51单片机系统中,外接程序存储器和数据存储器、地址线、数据线、控制线的接法 这个你去看书
永定区17739896475: 单片机的问题 - ?
伯牙吾台费小儿: 关于51单片机内存问题,一直是个疑惑大家的问题,因为51单片机是个很另类的单片机. 下面我给楼主讲解一下: 51单片机之所以另类,是因为,他寻址内存的空间,不是靠总线,是用指令的方式. 51单片机有以下几个内存模块组成: ROM...
永定区17739896475: 单片机基本问题 - ?
伯牙吾台费小儿: 1,不是,读回的是该引脚的电状态,基本可以说是0或1 2,单片机有4个中断口,在开放中断的情况下,要看中断初始化设置的内容,具体就是哪个中断开放,而不是看级别而定的
永定区17739896475: 跪求单片机问题 - ?
伯牙吾台费小儿: 1)5位 2^13 =8K 的地址 2) DIV 需要4个周期 6M的一个周期是2us 四个周期就是8us 3)原码:1010 0100 反码:1101 1011 补码:11011 100 4)你的问题我不是很白 JNC 为0跳 JC 为1跳 5)一次 6)你是不是写错了啊 或者还有东西没有写完 7)A=16H AC=1 OV=0 好好学汇编 现在用汇编 的人越来越少了
永定区17739896475: 简单的单片机问题 - ?
伯牙吾台费小儿: ;启动入口 ORG 0000H ;复位启动 LJMP START ; ORG 0100H ;主程序从0100H开始 ; ;主控程序START: MOV R0,#50H ;用R0间接寻址 MOV X,#0FFH ;预先存入一个字节所能装下的最大值LOOP: MOV...
永定区17739896475: 单片机方面的问题!? - ?
伯牙吾台费小儿: 具有ISP功能的单片机才能用在线下载电路给这个单片机进行烧写.但不是每个厂商的ISP电路都一样的,就拿51系列单片机而言,at89S51是用计算机的并口经行下载程序的,需要有一个244芯片经行驱动和隔离(如果敢保证单片机外围电路没问...
永定区17739896475: 单片机 简单问题 - ?
伯牙吾台费小儿: temp的值变为temp按位与16进制数0F.例:假设temp=00110011,temp=temptemp值变为:00000011."按位与"就是一位一位的取“与”,0与0是0,0与1是0,1与1是1....如果长期学单片机请...
永定区17739896475: 单片机问题 - ?
伯牙吾台费小儿: 应该不是单片机的问题,外接10K的上拉电阻,用万用表测量一下端口的电压,看一下是不是你程序设定高/低电平一样,单个端口也可能会烧坏,最简单的办法是你用另一个单片机去试,如果还不行的话,那就是你电路有问题了,我之前也出现过这程现像,是不小心把这个脚的引线与其它线接在一起了,检查一下吧,检查问题也是学习单片机的技能之一
永定区17739896475: 单片机问题 - ?
伯牙吾台费小儿: 每个RAM单元都能且只能存放一个八位二进制数.寄存器是RAM的一部分,当然只能存放一个八位的二进制数,不是八个二进制数.字节地址:P0-80H;P1-90H;P2-A0H;P3-B0H
永定区17739896475: 单片机最简单问题 - ?
伯牙吾台费小儿: (50H)是取50H地址的内容,带括号就是把括号内的数作为地址,取出这个地址里存放的数据的意思.RO是寄存器,它有地址,但编程时不用关心,你不会去操做R0的物理地址.50H不是R0的物理地址,只是把50H这个立即数存放在R0中,当你看到@这个符号时,就是地址操作的意思,相当于C语言里的指针.此例中,是吧#67H这个立即数送入以R0中的数据为地址的单元.