-
我也在大二时开始学习微控制器。
如果你根本没有碰过它,那就试着买一个功能齐全的开发板,里面有很多模块、程序和相应的材料。
这些对初学者很有用。
让我们从一个简单的开始 当你购买开发板时,会有关于如何烧的教程 小心,用行车灯很容易实现。
然后开始一点一点地在模块上工作,有专业化的精神,不要怕很多程序,谁不会看那个。
-
自己焊接细木工板,在网上找一些视频教程(郭天翔的视频画面,教你手学单片机,力天电子的**等),写几遍程序感受一下。 熟悉这些之后,就有必要设计外围电路,做几次后,你就会知道你想在哪里学习数字、模拟和电力(关键点)。
-
可以买一块板子,51块板子,从基础开始,点击**教程,郭天翔的不错,可以边比边学边练。 虽然学校开设了这门课程,但侧重点不同,学校的理论比较多,我学到的是实际操作,努力一点会收获很多。
-
学习单片机要注意实际使用,只看书本不好,不扎实。 我看你买的实验课51比较简单易学,你会擅长c,然后边看边做边找两本实用的应用编程书。 快速学习。
-
首先,我们需要计算 del 和 del1 的执行时间,因为 del 只有一条指令,所以执行时间是一个机器周期宏(1 12MHz = . del1 的执行时间也是一个机器周期,即。
接下来,计算 del2 的执行时间。 由于 del2 中只有一条指令,即 djnz r6,del1,因此需要计算 djnz r6 的执行时间。 djnz 指令的执行时间是 2 个机器周期,所以 djnz r6 的执行时间是 2 * = 。
由于 del1 的执行时间也是一个机器周期,因此 del2 的执行时间为 + = 250ns。
最后,计算了DJNZ R7、DEL1和RET的执行时差。 djnz r7 的执行时间与 djnz r6 相同,执行时间为 2 个机器周期,即 2 * = . 所以 djnz r7、del1 和 ret 的总执行时间是 + = 。
anl a, 17h: A 的值为 A & 17h = 83h & 17h = 03h。
orl 17h,a: (17h) 的值是 (17h)|a = 44h | 03h = 47h。
XRL A,@ro: A RO)]03h 17h)] 54h。
CPL A:A 的值为 A = 54H = ABH。
-
根据FOSC=12MHz的问题,已知每条指令的执行时间,需要计算del1和del2子程序的确切延迟。
对于 del1 子例程:
1. 执行 R7200 条指令,需要 1 个机器周期,即 1 12 秒。
2.执行RET指令需要1个机周期,即1 12秒。
因此,del1 子例程的确切延迟为:
1/12μs + 1/12μs = 1/6μs
对于 del2 子例程:
1.执行R6,125条指令,需要1个机器周期,即1 12秒。
2. 执行 R6 和 DEL2 指令需要 2 个机器周期,即 2 12 秒。
3.执行指令需要2个机器周期,即2个12秒。
4.执行RET指令需要1个机周期,即1 12秒。
因此,del2 子例程的确切延迟为:
1/12μs + 2/12μs + 2/12μs + 1/12μs = 1/4μs
具体计算流程如下:
del2 的执行时间 = r6 的执行时间,125 + r6,del2 的执行时间 + ret 的执行时间 + ret。
1/12μs + 2/12μs + 2/12μs + 1/12μs
1 4 s 根据标题,假设 (a) = 83 h,(ro) = 17 h (17 h) = 44 h,分析以下程序,得到每条指令的结果如下:
1. ANL A, 7F:在 A 和 7FH 之间进行位和运算,结果是 A 的最高位变为 0,因此 (a) = 03h。
2. ORL i7h,a:i7h 和 a 是按位或算术的,结果是 i7h 的下 4 位变成 3,所以 (17h) = 43h。
3. XRI a,@r0:对存储单元的内容进行按位异或运算,其中A和(R0)指向引脚,得到的结果是对A的值和Aga的值(R0)进行异或,即:
a = a ^ r0)
83h ^ 17h
94小时,所以(a)=94小时。
4.CPL A:对A进行按位否定运算,即对A的所有二进制位进行否定,得到的结果是对A的值进行逐位否定,即:
a = a 6ch
所以 (a) = 6ch。
-
这个**是一个4x4矩阵,其中每个框都填了一个二进制数,段世之可以把每行的四个二进制数组合成一个四位数的二进制数,然后把这四个二进制数转换成十六进制表示,得到如下结果:
第一行:0x2f
第二行:0x06
第三行:0x5c
第四行:0x74
因此,矩阵的内容可以表示为十六进制数组,如下所示:
0x2f, 0x06, 0x5c, 0x74
-
只要认为 SFR 声明特殊函数寄存器就足够了(而普通寄存器不能)。 有 8 位和 16 位声明。 0x90是内部RAM中特殊功能寄存器P1分配的固定地址,P1代表P1端口的地址(8位),不会改变。
p0(0x80),p2(0xa0),p3(0xb0)。由于端口 P1 是 8 位(8 位是一个字节),因此 0x90 是此字节的起始地址。 此字节的范围为 (0x90 0x97)。
-
1 计算机中负数的反码是通过将原始代码的相应位(连同符号位)逐位取而成的。 ( False ) 不带符号位。
2 MCS 51 MCU 是一款高级 8 位 MCU。 (我不知道)8位没错,高端不敢说,现在最原装的MCS-51已经停产了,自己判断。
4 无条件传输指令 LJMP addr16 称为长传输指令,它允许在 128KB 空间内传输目标地址。 ( False ) 只能在 64k 空间内跳跃。
5 指令 lcall addr16 可以调用 64k 字节范围内的子程序。 ( 是 )。
6 执行指令 mul ab 的结果是,上 8 位在 a 中,下 8 位在 b 中。 低字节在 a 中,高字节在 b 中
在 7 mov a , 30h 命令中,源操作数会立即被寻址。 ( 是 )。
8 在 MCS 51 微控制器的指令格式中,操作码和操作数必须用 “,” 分隔。 ( 是 )。
9 MOVX类指令是访问外部RAM存储器的指令。 ( 是 )。
对于 10 mcs 51 微控制器,程序存储器和数据存储器扩展的最大范围是相同的。 (是的,两者都是 64k)。
1.以下指令的源操作数的寻址方法是什么? 当每条指令单独执行时,A 的结果是什么? 设(60h)=35h,(a)=19h,(r0)=30h,(30h)=0fh。
1)mov a,#48h ;寻址方式:即时号码寻址
a)= __48h___
2)add a,60h ;寻址方式:直接寻址
a)= __4eh___
3)anl a,@r0 ;寻址方式:间接寻址
a)= __09h___
2.阅读以下程序段并编写每条指令的结果。
mov a,#60h ;(a)= __60h___
mov r0,#40h ;(r0)= __40h___
mov @r0, a ;(r0)= 40 h , 40h)=___60h___
mov 41h,r0 ;(41h)= __40h___
xch a, r0 ;(a)= __40h___r0)= __60h___
-
嘿嘿,只能说中国的应试教育伤害了学生,耽误了学生。 给你一些建议,并利用你的实习机会更多地了解外面的世界,看看你真正需要什么。 来这里的人得到了建议!
-
学理论,多讲究实际操作,那件事就是多练习,大概就是这样,我也在学这个。
我和你一样,我也在学单片机编程,首先要学C基础,我现在也在学C,看**学携带,我现在看夏老师的,感觉还不错,最吸引我的就是能听懂我在说什么,而且不累赘,简明扼要,才是关键所在。以前看过郝斌的《金文什么的》,康辉的也读过一点,觉得太深奥了,哪些是重点听不出来,分不清哪些是用的,什么没用,像我这样的初学者已经失去了学习的信心。
单片机是指单片机。 简单地说,它是一种集成了计算机所有功能的电路芯片。 方法:建议使用 Keil 的 C 语言和简单的 congreusance。 >>>More
品牌很多,英特尔、飞利浦、AT、ARM、摩托罗拉、PIC、凌阳、飞思卡尔,这些都是比较有名的,当然也有很多日本的,这里就不介绍了,我从来没有用过日本的**。 >>>More
定义 uint unsigned int 等效于在程序集中定义一个 16 位整数变量 n,该变量分为上层 8 位 nh 和下层 8 位 nl >>>More