哈工大单片机 第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调试状态查看浮点运算对应的反汇编是否有这种指令)。
第七章89C51单片机的串行口7.1 串行通讯基本知识在计算机技术中,数据传输方式有两大类:并行传输和串行传输。
一般来说,在计算机内部,CPU和并行存储器与并行I/O接口之间采用并行数据传输方式。
通常CPU的位数与并行数据宽度对应,比如89C51的CPU是8位的,其数据总线宽度为8,即有8条数据线。
在数据传送时,8位二进制数据同时进行输入或输出。
这种方式逻辑清晰,接口方便,工作速度快、效率高。
但是,如果计算机和其他计算机或终端设备距离很远时,并行方式不仅不经济,而且还存在长线电容耦合和线反射等技术问题,这时就可以采用串行传输方式。
另外,有时为了节省线缆数量,即使在计算机内部,CPU和某些外设之间也可以采用非并行的传输方式,如I2C、SPI、USB等标准传输方式,但它们与这里所述的串行通讯有明显不同。
要而言之,串行通讯是以微处理器为核心的系统之间的数据交换方式,而I2C、SPI、USB等标准接口是微处理器系统与非微处理器型外部设备之间的数据交换方式。
前者可以是对等通讯,而后者只能采用主从方式。
计算机运行过程中,CPU、存储器和I/O接口之间要进行大量的数据传送,在计算机系统之间也可能需要远距离传输数据。
数据的传送有两种基本的方式,并行和串行。
并行传输是多数据位同时进行,如CPU和并行存储器之间、CPU和并行I/O接口之间都采用并行传送。
并行传送方法速度快,但距离近。
反之,串行传送方法速度慢,但距离可以比较远。
并行传送好比8人站成一列横队,肩并肩向前走;而串行传送如同8人一路纵队,一个跟在一个后面依次前行。
如果设置一个观察点,则并行传送时,8人一起同时通过观察点;而串行传送时,这8个人要顺次通过观察点,每次通过一个人,要分8次才能全部通过。
图7.1表示了这两种传送方法。
图7.1 两种数据传送方法的比较两者之间的性质比较如下:89C51单片机上有一个全双工的串行口UART(Universal Asynchronous receiver/Transmitter),即通用异步收发器,全双工是指可以同时发送和接收。
微处理器原理与应用实验报告姓名:李声勇同组人:袁钟达,张秋实学号:1080510123班级:0805101指导教师:张云院系:电子与信息工程学院1 实验一简单I/O口扩展实验(一)交通灯控制实验1.1实验要求扩展实验箱上的74LS273作为输出口,控制八个发光二极管燃灭,模拟交通灯管理。
1.2实验目的1.学习在单片机系统中扩展简单I/O接口的方法2.学习数据输出程序的设计方法3.学习模拟交通灯控制的实现方法1.3实验原理要完成本实验,首先必须了解交通路灯的燃灭规律。
本实验需要用到实验箱上八个发光二极管中的六个,即红、黄、绿各两个。
不妨将L1、L3、L5作为东西方向的指示灯,将L2、L4、L6作为南北方向的指示灯。
而交通灯的燃灭规律为:初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。
闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。
闪烁若干次后,再切换到东西路口方向,重复上述过程。
各发光二极管共阳极,阴极接有与非门,因此使其点亮应使相应输入端为高电平。
1.4 实验内容(包括实验电路和程序流程图)1.5 实验结果成功模拟交通灯管制系统,红绿灯方向指示正常,黄灯闪烁正常1.6 实验结果讨论分析实验中发现交通灯在黄灯和红绿灯切换的时候有抖动和延时,初步估计是单片机定时系统不稳定以及程序的延时冗余没有添加所导致。
1.7 实验程序代码变量说明:R1、R2、R3用来做延时控制变量。
EW段表示东西导通南北截止;SNBY是SN STAND BY的缩写,表示南北准备;SN段表示南北导通东西截止。
延时控制由若干延时控制单元组合而成(参考了一下老师的程序)。
片选地址和显示单元调用了老师的部分程序。
PORT EQU 0CFA0H ;片选地址CS0CSEG AT 0000HLJMP BEGINCSEG AT 4100HBEGIN: MOV A,#03H ;1、2亮,其余灭ACALL SHOW ;调用273显示单元ACALL T03 ;延时3秒EW: MOV A,#12H ;东西导通;南北截止ACALL SHOWACALL T10 ;延时10秒MOV A,#02H ;东西截止;南北截止ACALL SHOWSNBY: MOV A,#04H ;东西黄灯闪烁;南北截止ACALL SHOWACALL T02 ;东西黄灯5次闪烁程序MOV A,#00HACALL SHOWACALL T02MOV A,#04HACALL SHOWACALL T02MOV A,#00HACALL SHOWACALL T02MOV A,#04HACALL SHOWACALL T02MOV A,#00HACALL SHOWACALL T02MOV A,#04HACALL SHOWACALL T02MOV A,#00H ACALL SHOWACALL T02MOV A,#04HACALL SHOWACALL T02MOV A,#00H ;东西黄灯闪烁程序结束ACALL SHOWACALL T02 ;延时0.2秒MOV A,#02H ;东西路口黄灯灭;南北路口红灯亮ACALL SHOWACALL T02 ;延时0.2秒MOV A,#03H ;东西南北都截止ACALL SHOWACALL T02 ;延时0.2秒MOV A,#21H ;东西截止;南北导通ACALL SHOWACALL T10 ;延时10秒MOV A,#01H ;东西截止;南北截止ACALL SHOWSN: MOV A,#08H ;东西截止,南北准备ACALL SHOW ;南北黄灯闪烁程序ACALL T02MOV A,#00HACALL SHOWACALL T02MOV A,#08HACALL SHOWACALL T02MOV A,#00HACALL SHOWACALL T02MOV A,#08HACALL SHOWACALL T02MOV A,#00HACALL SHOWACALL T02MOV A,#08HACALL SHOWACALL T02MOV A,#00HACALL SHOWACALL T02MOV A,#08HACALL SHOWACALL T02MOV A,#00H ;南北黄灯闪烁截止 ACALL SHOWACALL T02 ;延时0.2秒MOV A,#01H ;东西截止;南北截止 ACALL SHOWACALL T02 ;延时0.2秒MOV A,#03H ;东西南北都截止ACALL SHOWACALL T02 ;延时0.2秒JMP EW ;转EW循环T10: MOV R1,#100 ;延时10秒JMP TU1T03: MOV R1,#30 ;延时3秒JMP TU1T02: MOV R1,#02 ;延时0.2秒TU1: MOV R2,#200TU2: MOV R3,#126TU3: DJNZ R3,TU3DJNZ R2,TU2DJNZ R1,TU1RETSHOW: MOV DPTR,#PORT ;273显示单元MOVX @DPTR,ARETEND2 实验二简单I/O口扩展实验(二)2.1实验要求利用74LS244作为输入口,读取开状态,并将此状态通过发光二极管显示出来。
单片机原理(第2分册)哈尔滨理工大学2003年7月1日目录计算机控制实验室单片机原理 (1)数据排序与多字节十进制加法实验 (3)定时器/计数器实验 (7)外部中断实验 (10)8255扩展并行口实验 (13)串行口通讯实验 (15)A/D、D/A转换实验 (21)撰写人姓名:____________ 撰写时间:_________________ 审查人姓名:_________________实验全过程记录1:数据排序一实验目的:1.了解数据排序的简单算法。
2.了解数列的有序和无序概念二实验内容:Size equ 5Array equ 50hChange equ 0mov 50h,#02hmov 51h,#01hmov 52h,#03hmov 53h,#05hmov 54h,#04hSort:mov r0, #Arraymov r7, #Size-1clr ChangeGoon:mov a, @r0mov r2, ainc r0mov B, @r0cjne a, B, NotEqualsjmp Next NotEqual:jc Nextsetb Changexch a, @r0dec r0xch a, @r0inc r0Next:djnz r7, Goon;jb Change, Sortljmp $end三实验用设备仪器及材料:计算机伟福实验箱万用表四实验原理图:五实验方法及步骤:有序的数列更有利于查找。
本程序用的是“冒泡排序”法,算法是将一个数与后面的数相比较,如果比后面的数大,则交换,如此将所有的数比较一遍后,最大的数就会在数列的最后面。
再进行下一轮比较,找出第二大数据,直到全部数据有序。
六实验结果分析:2:多字节十进制加法:一:实验目的:了解加法程序的基本设计方法二:实验内容:加数的首地址由r0指出,被加数和结果的存贮单元首地址由r1指出,字节由r2指出。
Org 0000hReset: ajmp mainOrg 0100hMov sp,#60hMov r0,#31hMov @r0,#22hDec r0Mov @r0,#33hMov r1,#21hMov @r1,#44hDec r1Mov @r1,#55hMov r2,#02hAcall dacnHere: ajmp hereDacn: clrcDal : Mov a,@r0Addc a,@r1Da aMov r1,aInc r0Inc r1Djnz r2,dalClr aMov acc.0,cret三:实验用设备仪器及材料:计算机伟福实验箱万用表四实验原理图:在存储单元中观察结果五实验方法及步骤:1:接通伟福仿真器,打开wave 图标2:打开数据存储器窗口,打开程序存储器窗口急特殊功能寄存器窗口。
Harbin Institute of Technology《微机与微控制器原理》课课程设计报告基于数字温度传感器的数字温度设计*名:**学号: **********班级: 1705008指导教师:***哈尔滨工业大学《微机与微控制器原理》课程设计评分及标准课程设计题目: 基于数字温度传感器的数字温度计一、课程设计任务要求利用数字温度传感器DS18B20与单片机结合来测量温度。
利用数字温度传感器DS18B20测量温度信号,计算后在LED数码管上显示相应的温度值。
其测量温度为-55℃~125℃.数字温度计所测量的温度采用数字显示,控制器使用单片机AT89C51,测温传感器使用DS18B20,采用3位共阳LED来进行显示。
二、工作原理从温度传感器DS18B20可以很容易读取被测温度值,进行转换即可满足实验要求,由单片机对DS18B20进行初始化,先将DQ拉高再将其拉低电平持续480us~960us后释放,等待15us~60us,若DS18B20被初始化成功,则会由DQ线发出一持续60~240us的低电平,由其判断是否初始化成功,再通过写入程序对芯片发出指令,主要指令为跳过RAM匹配,启动温度转换,当单片机从DS18B20芯片读取数据时,将DQ从高拉到低进行初始化,在此后15us内若DQ为1则采样1,若为0,则采用0(注意当DQ拉低后需延时一段时间等待DQ电平稳定),采用两个8位变量分别记录温度低位与高位,再通过一个16位的全局变量,将从芯片中读取的温度进行整合得到所需数据,通过数据转换函数将所得数据转为十进制温度,通过表中数据传递至数码管端显示。
独特的一线接口,只需要一条口线通信多点能力,简化了分布式温度传感应用无需外部元件可用数据总线供电,电压范围为3.0 V至5.5 V 无需备用电源测量温度范围为-55 ° C至+125 ℃ 。
华氏相当于是-67 ° F到257° F。