哈工大单片机 第13讲 ST7微处理器解析
- 格式:ppt
- 大小:600.50 KB
- 文档页数:24
dada电子与信息工程学院单片机原理及应用Principle and Applicationof Microcontrollers 张云哈尔滨工业大学电子与信息工程学院2015 .春季学期先修课程电路基础、模拟电子技术基础大学计算机、数字逻辑电路 后续课程计算机组成原理嵌入式系统与应用、FPGA 设计与应用(DSP 技术、片上可编程逻辑器件)单片机原理及应用【课程概述】支撑本专业的毕业要求:•掌握计算机的工作原理、学会用计算机分析和解决问题的思维方法,掌握数据结构和程序设计的基本方法;•具有运用专业知识和辅助开发工具进行电子信息系统及模块设计的能力;具有计算思维,具备初步的高级语言程序设计能力,以及利用计算机求解问题的基本能力;•具有根据问题需求设计具体电路,和运用计算机开发工具进行仿真和测试的能力。
课程基本要求本课程的基本要求是培养学生具有以下的知识和技能:1、掌握单片机的理论知识、基本原理和方法。
2、掌握单片机系统设计的基本方法;3、掌握理论联系实际的综合运用技能,培养创新意识。
本课程特点是实践性强【课程概述】考核方式本课程考核包含三部分:1、平时表现:成绩比例10%2、实验成绩:成绩比例20%3、期末考试:成绩比例70% 学时安排工程基础类课程,2.0学分,36学时,具体分配如下:课堂讲授:36学时(3-10周:周一1-2节、周四3-4节,地点:电机楼30012)上机实验:6学时(第6-8周,新技术楼326)单片机原理及应用【课程概述】【课程内容组成】CPU 、存储器、I/O 端口等基本结构功能中断系统定时器/计数器串行通信并行扩展技术I/O 接口技术A/D 、D/A 接口技术单片机原理及应用指令系统汇编语言程序设计系统设计软件设计硬件结构《单片机原理及应用》宗成阁编著,哈尔滨工业大学出版社《单片机原理及应用》张毅刚主编,高等教育出版社《单片机与微机原理及应用》张迎新等编著,电子工业出版社【教材与参考书目】单片机原理及应用了解单片微型计算机与一般微型计算机的区别单片机的发展概况单片机的基本概念、主要特点和分类单片机的应用领域【学习目的和要求】第一章单片机概述单片机概述1.1 单片机的发展1.2 单片机系列产品及特点1.3 单片机的分类1.4 单片机技术的发展趋势1.5 单片机的应用单片机概述硬件系统主机:CPU 插座、内存、总线扩展、芯片组、BIOS 芯片、IDE 芯片、IDE 接口、I/O 接口、USB 接口、CNR 插槽、锂电池外设:显示器、键盘、鼠标微机--微型计算机系统的基本组成单片机概述软件系统 系统软件:操作系统、语言处理程序、其他系统软件应用软件单片机概述微机--微型计算机系统的基本组成世界上第一台电子计算机是1943-1946年美国宾夕法尼亚大学研制的ENIAC (Electronic Numerical Integrator And Computer)。
Harbin Institute of Technology单片机原理与应用实验报告学生姓名:学号:班级:专业:任课教师:所在单位:软件实验在软件实验部分,通过实验程序的调试,使学生熟悉MCS-51的指令系统,了解程序设计过程,掌握汇编语言设计方法以及如何使用实验系统提供的调试手段来排除程序错误。
实验一清零程序一、实验目的掌握汇编语言设计和调试方法,熟悉键盘操作。
二、实验内容把2000~20FFh的内容清零。
三、程序框图四、实验过程实验中利用MOVX语句,将外部存储器指定内容清零。
利用数据指针DPTR完成数据传送工作。
程序采用用循环结构完成,R0移动单元的个数,可用CJNE比较语句判断循环是否结束。
五、实验结果及分析【问题回答】清零前2000H~20FFH中为内存里的随机数,清零后全变为0。
六、实验源程序;清零程序ORG 0640HMOV DPTR,#2000H ;(2000H)送DPTRMOV R0,#00HHERE: MOVX @DPTR,A ;0送(DPTR)INC DPTR ;DPTR+1INC R0CJNE R0,#0FFH,HERESJMP $END实验二拆字程序一、实验目的掌握汇编语言设计和调试方法。
二、实验内容把2000H的内容拆开,高位送2001H低位,低位送2002H低位,2001H、2002H高位清零,一般本程序用于把数据送显示缓冲区时用。
三、程序框图四、实验过程将寄存器中内容送入2000H,分别将高低四位移到低位,将高四位置零然后移入2001H 和2002H中。
利用MOVX指令、DPTR指针可实现数据的传送,利用高低四位交换指令SWAP和与指令ANL可进行对高低位的清零。
五、实验结果及分析【问题回答】将ANL A,#0FH改为ORL A,#0F0H可以实现将高位置为1。
六、实验源程序; 拆字程序START:MOV DPTR,#2000HMOVX A,@DPTRMOV R0,ASWAP AANL A,#0FHINC DPTRMOVX @DPTR,AMOV A,R0ANL A,#0FHINC DPTRMOVX @DPTR,AENDEND实验三拼字程序一、实验目的进一步掌握汇编语言设计和调试方法。
第一章●第5页倒数13行:生产低位的→生产低价位的●第8页正数7行:分别供URAT →分别供UART正数12行:和校验侦错→和校验帧错●第15页表2.1上面段落倒数第二行:630w→630mw 120w→120mw●第21页正数5行:数据存储器→程序存储器●第25页表2.6第2列、倒数第4行:—→AF●第26页第五段最后一句:(mov)进行读端口操作→进行读引脚操作第六段第二行:与引脚信号是一致的→与引脚信号可以是不一致的●第29页倒数1行:应大于20ns→应大于20 us●第31页图的最后一行:(d)单字节,双周期指令→双字节,双周期指令第四个小标:(4)单字节双周期→双字节双周期第40页第一个小标下图:EEH→E5H3.寄存器寻址下的图:EEH→E5H第三个小标下:例字应该是立即寻址第41页正数第三行:布尔累加器是否应该去掉第42页标题7.位寻址下第八行:(24).3→(24H).3 对比57页是否应该写成(24H.3)第43页表3.1的第3行:程序存储器→位地址空间;第5行:128字节→256字节此页倒数第2行:内部数据RAM单元→内部和外部数据RAM单元第44页语句MOV E0H,78H→MOV 0E0H,78H正数24行:第二字节为源操作数→第二字节为目标操作数第46页例3.4中:(62)→(62H)例3.6中:在语句的首行加上PUSH PSW第49页图3.11的倒数第2个框中:(A)+06H →(A)+60H第52页正数1行:2.3.4 → 3.3.4第55页表中 ORL direct,#data对应的机器周期改为2第58页表中第二行,第四行,第六行,指令代码后加bit第61页正数15行:堆栈区内(61H)=23H →堆栈区内(61H)=25H第62页表倒数第一行机器周期改为1,倒数第三行字节数改为2第63页 SEG1:DB 65H,68H,”4”→SEG1 DB 65H,68H,”4”(即去掉冒号)SEG2:DB ‘DAY’→SEG2 DB ‘DAY’采用单引还是双引号?(在keil u4中,都识别)第64页 2200:DW 253AH,58H 标号要以字母开头BUF: EQU 2000H SG: EQU R1 DE: EQU 40H 冒号都去掉程序结尾最后加上END正数20行:5. 为标号赋值EQU …DE: EQU 40H ;DE与40H等值”→“5.赋值EQU (Equate)<标号或字符名> EQU nn或表达式其功能是将操作数段中的地址或数据赋予某个标号或者字符变量,故又称为等值指令。
【STM32H7的DSP教程】第1章初学数字信号处理准备⼯作第1章初学数字信号处理准备⼯作本期教程开始带领⼤家学习DSP教程,学习前⾸先要搞明⽩⼀个概念,DSP有两层含义,⼀个是DSP芯⽚也就是Digital Signal Processor,另⼀个是Digital Signal Processing,也就是我们常说的数字信号处理技术。
本教程主要讲的是后者。
1.1 初学者重要提⽰1.2 STM32H7的DSP功能介绍1.3 Cortex-M7内核的DSP和专业DSP的区别1.4 ARM提供的CMSIS-DSP库1.5 TI提供的32位定点DSP库IQmath1.6 ARM DSP软件替代模拟器件的优势1.7 Matlab的安装1.8 总结1.1 初学者重要提⽰1. 关于学习⽅法问题,可以看附件章节A。
2. 这⼏年单⽚机的性能越来越强劲,DSP芯⽚的中低端应⽤基本都可以⽤单⽚机来做。
3. 当前单⽚机AI也是有⼀定前景的,ARM⼀直在⼤⼒推进,很多软件⼚商和研究机构也在不断的努⼒。
通过此贴可以了解下:单⽚机AI的春天真的来了,ARM最新DSP库已经⽀持NEON,且⽀持Python 。
1.2 STM32H7的DSP功能介绍STM32H7是采⽤的Cortex-M7内核,⽽DSP功能是内核⾃带的,下⾯我们通过M7内核框图来了解下:重点看如下两个设计单元:DSPDSP单元集成了⼀批专⽤的指令集(主要是SMID指令和快速MAC乘积累加指令),可以加速数字信号处理的执⾏速度。
FPUCortex-M7内核⽀持双精度浮点,可以⼤⼤加速浮点运算的处理速度。
下⾯是Cortex-M3,M4和M7的指令集爆炸图:通过这个图,我们可以了解到以下⼏点:M4和M7系列有相同的DSP指令集。
M7相⽐M4系列要多⼀些浮点指令集。
同时这⾥要注意⼀个⼩细节,浮点指令都是以字符V开头的。
通过这点,我们可以⽅便的验证是否正确开启了FPU(MDK或者IAR调试状态查看浮点运算对应的反汇编是否有这种指令)。