单片机程序题填空怎么写
“单片机程序题填空怎么写”相关的资料有哪些?“单片机程序题填空怎么写”相关的范文有哪些?怎么写?下面是小编为您精心整理的“单片机程序题填空怎么写”相关范文大全或资料大全,欢迎大家分享。
单片机程序题
3.14 已知M1和M2单元中存放有两个16位无符号数X1和X2(低8位在前,高8位在后)试写出X1+X2并把结果放在M1和M1+1单元(低8位在M1单元,高8位在M1+1单元)的程序。设两数之和不会超过16位。 程序如下:
ORG 0500H ;X1的起始地址送R0 MOV R0,#M1 ;X2的起始地址R1 MOV R1,#M2 ;A?X1的低8位
MOV A,@R0 ;A?X1低8位+X2低8位,形成Cy ADD A ,@R1 ;和的低8位存M1 MOV @R0,A ;修改地址指针R0 INC R0 ;修改地址指针R1 INC R1 ;A<--X1高8位
MOV A, @R0 ;A<--X1高8位+X2高8位+Cy ADDC A,@R1 ;和的高8位存M1+1 MOV @R0,A ;停机 SJMP $ END
3.19 已知两个8位无符号乘数分别放在30H和31H单元中,试编出令它们相乘并把积的低8位放入32H单元中、积的高8位放入33H单元的程序。 程序如下: ORG 0100H
MOV R0 ,#30H ;R0<--第一个乘数地址 MOV A ,@R0 ;A<--第一个乘数 INC R0 ;修改乘数地址 MOV B,@R0 ;B<--第二个乘数 MUL AB ;A X B =BA
INC R0 ;修改目标单元地址 MOV @R0,A ;积的低8位--.>32H INC R0
单片机程序题
3.14 已知M1和M2单元中存放有两个16位无符号数X1和X2(低8位在前,高8位在后)试写出X1+X2并把结果放在M1和M1+1单元(低8位在M1单元,高8位在M1+1单元)的程序。设两数之和不会超过16位。 程序如下:
ORG 0500H ;X1的起始地址送R0 MOV R0,#M1 ;X2的起始地址R1 MOV R1,#M2 ;A?X1的低8位
MOV A,@R0 ;A?X1低8位+X2低8位,形成Cy ADD A ,@R1 ;和的低8位存M1 MOV @R0,A ;修改地址指针R0 INC R0 ;修改地址指针R1 INC R1 ;A<--X1高8位
MOV A, @R0 ;A<--X1高8位+X2高8位+Cy ADDC A,@R1 ;和的高8位存M1+1 MOV @R0,A ;停机 SJMP $ END
3.19 已知两个8位无符号乘数分别放在30H和31H单元中,试编出令它们相乘并把积的低8位放入32H单元中、积的高8位放入33H单元的程序。 程序如下: ORG 0100H
MOV R0 ,#30H ;R0<--第一个乘数地址 MOV A ,@R0 ;A<--第一个乘数 INC R0 ;修改乘数地址 MOV B,@R0 ;B<--第二个乘数 MUL AB ;A X B =BA
INC R0 ;修改目标单元地址 MOV @R0,A ;积的低8位--.>32H INC R0
单片机填空题
1、MCS-51单片机程序存储器(ROM)可最大扩充至64k,数据存储器(RAM)片内为128字节(单元),外部扩充数据存储器可最大至64k。
MCS-51的CPU是由运算部件和控制部件所构成。运算部件包括算术逻辑部件ALU,位处理器、累加器A、暂存器以及程序状态字PSW寄存器等,该模块功能是实际数据的算术、逻辑运算、位变量处理和数据传送等操作。CPU主要做取指令和执行指令。 Up(微处理器)是采用微米级大规模集成电路技术制作的CPU
2、MCS-51单片机的五个中断:外部中断0、To溢出中断、外部中断1、T1溢出中断、串行口中断。有两级中断优先级
4、MCS51单片机定时计时器核心是一个16位计数器,其四种工作方式的功能分别是:13位计数器、16位计数器、自动回复初值的8位定时器/计数器、增加一个附加的8位定时器/计数器 5、MCS-51单片机串行的四种工作方式的功能分别是:①移位寄存器输入输出方式②波特率可变的8位异步通信接口③9位异步通信借口④波特率可变的9位异步通信方式
6、LED显示器的两种显示控制方法:动态显示、静态显示
7、单片机对键盘扫描的控制方法有:编程、定时
8、MCS-51单片机指令的七种寻址方式:寄存器寻址、直接寻址、
单片机填空
二、填空题(每空1分,共30分)
1.一个完整的微机系统由 硬件和软件 两大部分组成。
2.8051 的引脚RST是 IN脚(IN脚还是OUT脚),当其端出现 高 电平时,8051进入复位状态。8051一直维持这个值,直到RST脚收到低电平,8051才脱离复位状态,进入程序运行状态,从ROM 0000 H单元开始取指令并翻译和执行。
3.半导体存储器分成两大类:RAM ROM,其中 RAM 具有易失性,常用于存储 临时性数据 。
4.求十进制数-102的补码(以2位16进制数表示),该补码为 9AH 。 5.PC存放_CPU将要执行的指令所在的ROM单元的地址,具有自动加1特性。在8051中决定程序执行顺序的是PC还是DPTR PC ?它是16位?不是(是,不是)SFG?
6.123= 01010010 B= 52 H。 7.8051内部有 4 个并行口,P0口直接作输出口时,必须外接 上拉电阻 ;并行口作输入口时,必须先 将口锁存器置1 ,才能读入外设的状态。
8.MCS-51的堆栈只可设置在 内RAM低128B区 ,其最大容量为 128B ,存取数据的原则是 先进后
飞思卡尔单片机烧写程序步骤
创建一个工程
选择单片机的型号,我一直用的是mc9s12xs128的单片机,然后在“choose your default connection:”里面选择最后一个“TBDML”,TBDML是一个仿真器,飞思卡尔单片机用的BDM仿真器,选择好后下一步
这一步就是建立工程的名字和位置,左边选择语言类型,选择C即可,设置好名字和位置后点下一步
这个窗口指的是要不要从一个位置添加先前存在的工程,不用添加,直接下一步
直接下一步
这一步需要注意,在“Select the floating point format supported…….”里选择第二项,如上图,是选择浮点类型长度,选别的可能编译的时候出错,我也不知道为什么
这一步直接默认
直接点完成
即可完成工程的建立
工程建立后自动出来这个画面
在左边栏里,双击main.c会出来主程序,在里面写程序即可,写好后点一下这个
按钮,生成一系列文件,如果没有错误,就不会有提示,遇到warming,一般没什么大问题,只要不是error就行,
然后烧写程序点
绿色箭头,烧程序单片机通电。
先确保你的电脑装好仿真器的驱动,在资源管理器里面查看
同上显示的话表示正常,如果有黄色感叹号,则需要重新安装驱动。
单片机程序题库
1.实现片外数据存储器数据传送(2000H)-->(2100H) MOV DPTR,#2000H MOVX A,@DPTR MOV DPTR,#2100H MOVX @DPTR,A
2.查表法求Y=X2。设X(0≤X≤15)在片内RAM的20H 单元中,要求查表求Y,存入片内RAM 21H单元。 1) ORG 1000H
SQU: MOV DPTR,#3000H ;确定表首地址(基地址) MOV A,20H ;取 X(变量:偏移量) MOVC A,@A+DPTR ;查表求Y=X2 MOV 21H,A ;保存Y(结果) RET ;子程序结束 … ;其它程序段 ORG 3000H ;常数表格首地址 TAB: DB 00,01,04,09,… ,225 ;平方表 END 2)ORG 1000H ;程序起始地址
SQU: MOV A,20H ;取X ADD A,#3 ;修正偏移量 MOVC A,@A+PC ;查表求Y=X2 (PC=1005H) MOV
单片机程序源代码
第二章
任务一:闪烁广告灯的设计
利用89c51单片机的端口控制两个LED(D0和D1),编写程序,实现两个LED互闪。 #include #define uint unsigned int #define uchar unsigned char sbit LED1=P0^0; sbit LED2=P0^1; void delayms(uint ms) { uint i; while(ms--) { for(i=0;i<120;i++); } } void main() { while(1) { LED1=0; LED2=1; delayms(500); LED1=1; LED2=0; delayms(500); } } 任务二:流水广告灯的设计 利用89c51单片机的端口控制8个LED(D0~D7)循环点亮,刚开始时D0点亮,延时片刻后,接着D1点亮,然后依次点亮D2->D3->D4->D5 ->D6->D7 ,然后再点亮D7->D6->D5->D4 ->D3->D2->D1->D0,重复循环。 #include
单片机程序源代码
.
第二章
任务一:闪烁广告灯的设计
利用89c51单片机的端口控制两个LED(D0和D1),编写程序,实现两个LED互闪。 #include #define uint unsigned int #define uchar unsigned char sbit LED1=P0^0; sbit LED2=P0^1; void delayms(uint ms) { uint i; while(ms--) { for(i=0;i<120;i++); } } void main() { while(1) { LED1=0; LED2=1; delayms(500); LED1=1; LED2=0; delayms(500); } } 任务二:流水广告灯的设计 利用89c51单片机的端口控制8个LED(D0~D7)循环点亮,刚开始时D0点亮,延时片刻后,接着D1点亮,然后依次点亮D2->D3->D4->D5 ->D6->D7 ,然后再点亮D7->D6->D5->D4 ->D3->D2->D1->D0,重复循环。 #include #define uint unsigned int #
单片机实验参考程序
1. 存储块赋值
将内部RAM30H-40H的所有单元内容全部赋值为33H,并将这些单元的内容传递到片外RAM的0040H-0050H单元中。
要求:(1)简化精炼原程序;(2)有规律地修改内部RAM30H-40H中的数据
ORG LJMP ORG Start: MOV MOV INC MOV INC MOV INC MOV INC MOV INC MOV INC MOV INC MOV INC MOV INC MOV
MOV MOV MOV Main: MOV MOVX INC INC DJNZ MAIN2: LJMP END
00H Start
100H R0, #30H @R0, #33H R0 @R0, #33H R0 @R0, #33H R0 @R0, #33H R0 @R0, #33H R0 @R0, #33H R0 @R0, #33H R0 @R0, #33H R0 @R0, #33H R0 @R0, #33H R0, #30H
DPTR, #40H R7, #10H
单片机入门小程序
51单片机的学习是一个动手实践的过程,很多同学在学习单片机的初期总是觉得很难,无法入门。本人根据自己的学习经历,结合自己刚学习单片机的体验,写下几个小的程序供大家参考,如能掌握如下几个小程序的思想与精髓,那么就已经探踏入了单片机的大门。学习单片机的核心就是动手实践,当我们通过自己的努力把第一个LED点亮时,我们就会信心加倍,之后的学习就会变得轻松!希望对大家有所帮助。
一个LED闪烁 #include 两个led闪烁 #include #define uchar unsigned char #define uint unsigned int void delay(); void main() { while(1) { P0=0xaa; delay(); P0=0x00; delay(); } } void dela