8051单片机实训指导书

合集下载

C8051F021单片机实验指导

C8051F021单片机实验指导

提要:实验项目1、单片机的IO编程实验1 IO开关量输入实验实验2 IO输出驱动继电器(或光电隔离器)实验实验3 IO输入/输出------半导体温度传感器DS18B20实验2、单片机的中断系统实验1 外部外部中断----脉冲计数实验3、单片机的定时器/计数器实验1 计数器实验实验2 秒时钟发生器实验4、单片机的串口特点和编程实验1 P C机串口通讯实验实验2 R S485通讯实验5、存储器实验1 RAM存储器读写实验6、PWM发生器实验1 PWM发生器(模拟)实验实验1 PWM发生器(内部)实验7、WDG看门狗实验1 外扩WDG(MAX813)实验实验2 WDG(内部)实验8、SPI总线实验1 SPI(模拟)实验-----TLC2543 AD转换实验实验2 SPI(模拟)实验-----TLV5616 DA转换实验9、I2C总线实验1 I2C(模拟)实验-----AT24C01读写实验实验2 I2C(内部)实验-----AT24C01读写实验10、综合实验实验1 HD7279LED数码管显示实验实验2 HD7279键盘实验实验3 外部中断---电机转速显示实验11、步进电机正反转实验12、TFT液晶显示彩色条纹实验13、16X16LED点阵显示汉字实验一、单片机的IO编程实验1 IO开关量输入实验目的:学习单片机读取IO引脚状态的的方法。

内容:编程读取IO引脚状态。

设备:EL-EMCU-I试验箱、EXP-C8051F021 CPU板。

编程:首先要把相关的引脚设置在IO的输入状态,然后写一个循环,不停地检测引脚的状态。

步骤:1、将CPU板正确安放在CPU接口插座上,2、连线:用导线将试验箱上MCU部分的IO1--- IO8分别连接到SWITCH 的8个拨码开关的K1---K8的输出端子K1---K8上,连接好仿真器。

3、试验箱上电,在PC机上打开Keil C环境,打开试验程序文件夹IO_INPUT 下的工程文件IO_INPUT.Uv2编译程序,上电,在函数main()的最后一句设置断点,进入调试状态,打开窗口Peripherals-->IO-Port-->P3,改变开关状态,运行程序到断点处,观察窗口的数值与开关的对应关系。

单片机实验实训指导

单片机实验实训指导

单片机实验实训指导姓名:班级:学号:指导教师:一、元器件的焊接,电路板烧写程序及调试。

总分30分焊接流程:(1)、施焊准备:焊接前的准备包括焊接部位的清洁处理,元器件安装、焊料和工具的准备。

(2)、加热焊接:烙铁头加热焊接部位,使连接点的温度加热到焊接需要的温度.加热时烙铁头和连接点要有一定的接触压力,并要注意加热整个焊接部位。

(3)、送入焊料:当加热到一定温度后,即可在烙铁头和焊接点的结合部位加上适当的焊料。

焊料融化后,用烙铁头将焊料移动一个距离,以保证焊料覆盖整个焊接部位。

(4)、冷却焊点,当焊料和烙铁头离开连接点(焊点)后,焊点要自然冷却,严禁用嘴吹或其他强制冷却的方法。

在焊料凝固过程中不受到任何外力的影响而改变位置。

(5)、清洁焊面,首先检查有无漏焊、错焊、虚焊和假焊。

对残留点周围的焊剂、油污和灰尘进行清洁。

不标准锡点的判定:(1)虚焊:看似焊住其实没有焊住,主要有焊盘和引脚脏污或助焊剂和加热时间不够。

(2)短路:有脚零件在脚与脚之间被多余的焊锡所连接短路,另一种现象则因检验人员使用镊子、竹签等操作不当而导致脚与脚碰触短路,亦包括残余锡渣使脚与脚短路(3)偏位:由于器件在焊前定位不准,或在焊接时造成失误导致引脚不在规定焊盘区域内(4)少锡:少锡是指锡点太薄,不能将零件铜皮充分覆盖,影响连接固定作用。

(5)多锡:零件脚完全被锡覆盖,及形成外弧形,使零件外形及焊盘位不能见到,不能确定零件及焊盘是否上锡良好.(6)错件:零件放置的规格或种类与作业规定或BOM、ECN不符者,即为错件。

(7)缺件:应放置零件的位置,因不正常的原因而产生空缺。

(8)锡球、锡渣:PCB板表面附着多余的焊锡球、锡渣,会导致细小管脚短路。

(9)极性反向:极性方位正确性与加工要求不一致,即为极性错误。

实验板电路原理图如下:(1)了解W A VE软件各个菜单项的功能。

(2)软件仿真(通过计算机模拟单片机程序的执行)1.打开W A VE仿真软件,打开“文件”菜单,选择“新建文件”,然后“保存文件”。

单片机实习指导书

单片机实习指导书

2011~2012学年第一学期单片机实习报告班级:姓名:学号:指导教师:实习时间:二○○八年十二月一应用程序练习1.EDIT编辑器是一个编辑软件,对于DOS系统,它处于DOS目录下,对于WINDOWS系统,它处于WINDOWS下的COMMAND目录中。

使用方法:(1)启动 (2)激活菜单选项(3)文件管理(4)文件编辑(5)文本内容搜索注意:源程序编辑完毕,将文件保存为“*.ASM”格式。

2.CYS8051汇编软件使用方法:先打开CYS8051汇编软件,接着在光标处输入“ASM51 *.ASM”命令,会产生汇编结果信息,并生成同名列表文件*.LST和目录文件*.HEX。

3.AVSIM51模拟仿真软件装入方法:第一步:输入字母A第二步:输入字母L-A第三步:输入“*.ASM”功能键:F1——连续执行键 F10——分步执行键Ctrl+C 回命令行提示符R-C CPU复位; Q-E 退出ESC 工作模式切换Ctrl+PageUp 滚屏模式切换二、应用程序1.ADD加法(1)功能简介:有一组单字节无符号二进制数依次存放在内部RAM30H开始的16个单元中,求这个16个数据的和,结果按高低顺序存放在20H和21H的单元中。

(2)程序清单:0000 ORG 0000H0000 7830 MOV R0,#30H0002 7A10 MOV R2,#10H0004 E4 CLR A0005 F520 MOV 20H,A0007 F521 MOV 21H,A0009 26 AD: ADD A,@R0000A 5002 JNC RT000C 5012 INC 20H000E 08 RT: INC R0000F DAF8 DJNZ R2,AD0011 F521 MOV 21H,A0000 END2.MAX 求最大数(1)功能简介:设有一组数据存放在内部RAM从42H开始的连续单元中,这组数的长度存放在41H单元中,求出最大数并存放在40H单元中(2)程序清单:0041 = NUM EQU 41H0042 = STAR EQU 42H0040 = MAX EQU 40H0000 ORG 0000H0000 7842 MOV R0,#STAR0002 8640 MOV MAX,@R00004 1541 DEC NUM0006 08 LOOP: INC R00007 E6 MOV A,@R00008 B54000 CJNE A,MAX,COMP000B 4002 COMP: JC NEXT000D F540 MOV MAX,A000F D541F4 NEXT: DJNZ NUM,LOOP0012 80FE SJMP $0000 END3.MIN求最小数(1)功能简介:设有一组数据存放在内部RAM从42H开始的连续单元中,这组数的长度存放在41H单元中,求出最大数并存放在40H单元中(2)程序清单:0041 = NUM EQU 41H0042 = STAR EQU 42H0040 = MIN EQU 40H0000 ORG 0000H0000 7842 MOV R0,#STAR0002 8640 MOV MIN,@R00004 1541 DEC NUM0006 08 LOOP: INC R00007 E6 MOV A,@R00008 B54000 CJNE A,MIN,COMP000B 4002 COMP: JNC NEXT000D F540 MOV MIN,A000F D541F4 NEXT: DJNZ NUM,LOOP0012 80FE SJMP $0000 END4.DELAY延时(1)功能简介:把用户标位F0从0置1的时间间隔延时1秒。

8051实验指导书

8051实验指导书

第一部分系统介绍一、系统概述1)、微处理器:i80c31,它的P1口、P3口皆对用户开放,供用户使用。

2)、时钟频率:6.0MHz3)、存储器:程序存储器与数据存储器统一编址,最多可达64k,板载ROM(监控程序27C256)12k;RAM1(程序存储器6264)8k供用户下载实验程序,可扩展达32k;RAM2(数据存储器6264)8k供用户程序使用,可扩展达32k。

(RAM程序存储器与数据存储器不可同时扩至32k,具体与厂家联系)。

(见图1-1:存储器组织图)。

在程序存储器中,0000H----2FFFH为监控程序存储器区,用户不可用,4000H----5FFFH为用户实验程序存储区,供用户下载实验程序。

数据存储器的范围为:6000H----7FFFH,供用户实验程序使用。

注意:因用户实验程序区位于4000H-----5FFFH,用户在编写实验程序时要注意,程序的起始地址应为4000H,所用的中断入口地址均应在原地址的基础上,加上4000H。

例如:外部中断0的原中断入口为0003H,用户实验程序的外部中断0的中断程序入口为4003H,其他类推,见表1-1。

4)、可提供的对8051的基本实验为了提高微机教学实验质量,提高实验效率,在该系统的实验板上,除微处理器外、程序存储器、数据存储器外,还增加了8255并行接口、8250串行控制器、8279键盘、显示控制器、8253可编程定时器、A/D、D/A转换、单脉冲、各种频率的脉冲发生器、输入、输出电路等模块,各部分电路既相互独立、又可灵活组合,能满足各类学校,不同层次微机实验与培训要求。

可提供的实验如下:(1)、8051P1口输入、输出实验(2)、简单的扩展输入、输出实验(3)、8051定时器/计数器实验(4)、8051外中断实验(5)、8279键盘扫描、LED显示实验(6)、8255并行口输入、输出实验(7)、8253定时器/计数器实验(8)、8259中断实验(9)、串行口通讯实验(10)、ADC0809 A/D转换实验(11)、DAC0832 D/A转换实验(12)、存储器扩展实验(13)、交通灯控制实验FFFFH用户I/O区CFEFH系统I/O区,CFBFH用户I/O区7FFFHRAM2用户实验程序区供用户下载实验程序4FFFHRAM1用户实验程序数据区2FFFHROM系统监控程序区0000H图1:存储器系统组织图中断名称 8051原中断程序入口用户实验程序响应程序入口外中断0 0003H 4003H定时器0中断 000BH 400BH外中断1 0013H 4013H定时器1中断 001BH 401BH串行口中断 0023H 4023H表1-1:用户中断程序入口表5)、资源分配本系统采用可编程逻辑器件(CPLD)EPM7128做地址的编译码工作,可通过芯片的JTAG接口与PC机相连,对芯片进行编程。

8051实验指导

8051实验指导
东华理工大学自编教材
《单片机原理及应用》
实验讲义、课程设计
指 导 书
朱兆优 编写
东 华 理 工 大 学 电 子 工 程系 2012 年 10 月
《单片机原理及应用》实验讲义、课程设计指导书
作者:朱兆优

实验一 实验二 实验三 实验四 实验五 实验六 实验七 实验八 实验九 实验十 实验十一 数据块传送和查表 2 多字节数乘法和除法 6 循环与分支程序设计 8 计算机数制的变换 9 单片机中数的拼装 12 单片机 I/O 口的使用 13 8051 中断系统的使用 15 串行口静态显示 18 动态显示 20 按键与键盘设计 22 键盘与显示实验 24
5
《单片机原理及应用》实验讲义、课程设计指导书
作者:朱兆优
后再移出下一位数。如此循环 16 次。 7.对于多字节除法也可以采用将被除数直接相减,够减,则商加 1,一直减到不够减后,再将 余数四舍五入。
四.资源分配
<学生自行完成>
四.程序流程图
<学生自己独立完成>
五.实验报告
1.分析多字节乘法、除法的编程原理; 2.被乘数、乘数和积存放在片内 RAM 和片外 RAM,编程时有哪些不同之处,如何用 R0、R1 存放片外 RAM 地址; 3.写出汇编源程序,并加详细注释; 4.调试运行程序,检验如下数据的乘积是否正确; 33H× 33H= 0AAH×0AAH= 0FFH×0FFH= 5.思考求 16 个数的算术平均值的编程原理和编程方法。 6.分析总结编程调试过程中出现的问题和解决的办法。
四.实验步骤和资源分配
<学生自行完成>
五.程序流程图(算法思路)
<学生自行完成>
六、实验报告 1.编写循环分支程序应注意哪些问题。 2.调用子程序能达到什么样的效果。 3.单步运行,跟踪运行,断点运行,全速运行的区别和作用。 4.分析总结编程调试过程中出现的问题和解决的办法。

80C51单片机原理实验指导书

80C51单片机原理实验指导书

MCS51单片机实验指导书(第2版)2006.11.8 修改了音乐演奏程序中的有关休止符的BUG淮阴师范学院计算机科学系2006.9实验板结构实验板结构如下图所示:注意:实验板与PC机连接时一定要先连接串行通信电缆,然后再将其电源线插入USB 接口;拆除时先断开其电源,再断开串行通信电缆。

否则极易损坏PC机的串口。

最好先关闭微机电源,再连接或拆除实验板。

实验要求1、实验前预习实验内容,理解实验原理。

2、按规定时间进入实验室,登记领取实验板和连接线,按操作程序将实验板连接到PC 机上,开始实验。

2、实验完毕请指导老师确认后,按操作程序拆除实验板,将连接线收拾好,与实验板一起归还指导老师,方可离开实验室。

3、按时撰写并上交实验报告。

实验报告格式为:(1)实验目的,(2)实验内容,(3)源代码及流程图,(4)结果记录及分析,(5)思考题,(6)体会及设想。

51单片机集成开发环境MedWin V2.39简介1、安装从网站免费下载MedWin V2.39集成开发环境安装程序压缩包,将其释放后,按照默认路径安装到C:\Manley\PmedWin文件夹。

2、设置(1)每次启动MedWin会出现对话框,询问使用仿真器还是模拟仿真,应点击[模拟仿真]按钮。

(2)设置仿真器点击[设置]—[设置仿真器]命令,选择时钟频率为12兆赫兹。

(3)设置工作目录 MedWin 集成开发环境默认的工作目录为C:\MedWin\PMedWin,建议根据需要建立自己的工作目录。

注意:不得使用长文件名或长目录名!(4)设置编译器将C语言编译器C51(文件夹)拷贝到C:\MedWin文件夹下,点击[设置]—[设置编译工具]命令,打开“设置编译工具”对话框,使用汇编语言时选择第一行,使用C语言时选择第二行,如下图所示。

3、使用(1)新建项目点击[项目管理]—[新建项目] 命令,输入项目名称,点击[确定]按钮,出现“添加项目文件”对话框,输入源代码文件名,如T1.C(或T1.ASM),单击[打开]按钮,出现代码窗口,即可开始编程。

51单片机实验指导书

51单片机实验指导书

实验一、80C51存储器数据传输实验:1、实验目的:1)熟悉嵌入式交叉开发环境,结合简单的应用实例,完成工程的建立、应用程序的编写,并进行编译、调试,观察相关寄存器及存储空间的使用情况。

2)熟悉51单片机的开发环境Keil C51,掌握80C51单片机内部数据存储器、外部数据存储器的数据传送特点和应用。

2、实验内容:第三章思考与练习(p87),从12、14、15、16中任选2题进行实验验证要求:回答题目中问题,并列写出程序执行完后所涉及的各寄存器的值。

实验二、80C51汇编语言编程实验:1、实验目的:1)熟悉80C51单片微机汇编语言设计及编程技巧。

2)掌握逻辑运算程序的设计方法。

3)掌握多字节无符号十进制数加、减法程序的设计。

2、实验内容:1)逻辑运算设:A=63H ,B=82H ,C=C5H ,D=36H ,根据下列逻辑运算式,编写程序计算运算结果。

Y =A⨁B ∙C ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅∙D +A̅̅̅̅̅̅̅̅ 2)十进制加、减运算286729 + 652430 -752196 = ?在8051片内数据存储器的20H~22H 中放入3字节被加数(低位在先)、23H~25H 放入加数(低位在先)、26~28H 放入减数,结果存入29H~2BH 单元(低位在先)。

附:实验二参考例程1)逻辑运算:ORG 0000HAJMP MAINORG 0080HMAIN: M OV A, #63H;将A 值给累加器A MOV R0, #36H;将D 值给R0 ORL A, R0;将A 与D 逻辑或,即A+D 存入累加器A CPL A;求A +D ̅̅̅̅̅̅̅̅ MOV R1, A;将A +D ̅̅̅̅̅̅̅̅存入R1 MOV A, #82H;将B 值给累加器A MOV R0, #0C5H;将C 值给R0 ANL A, R0;B 与C 逻辑与,结果存入累加器A CPL A;求反,即B ∙C ̅̅̅̅̅̅ MOV R0, #63H;将A 值存入RO XRL A, R0;A⨁B ∙C ̅̅̅̅̅̅,存入累加器A CPL A;A⨁B ∙C ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ ANL A, R1;A⨁B ∙C ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅∙D +A̅̅̅̅̅̅̅̅ END2)十进制加、减运算:ORG 0000HAJMP MAINORG 0080HMAIN: M OV 20H, #29H ;将被加数放入片内数据存储器20H~22HMOV 21H, #67HMOV 22H, #28HMOV 23H, #30H ;将加数放入片内数据存储器23H~25HMOV 24H, #24HMOV 25H, #65HMOV 26H, #96H ;将减数放入片内数据存储器26H~28HMOV 27H, #21HMOV 28H, #75HMOV A, 20HADD A, 23H ;最低字节相加DDA ;二-十进制调整MOV 2DH, A ;将相加结果存入2DHMOV A, 21HADDC A, 24H ;次低字节带进位相加DAA ;二-十进制调整MOV 2EH, A ;将次低字节相加结果存入2EHMOV A, 22HADDC A, 25H ;最高字节带进位相加DA A ;二-十进制调整MOV 2FH, A ;将最高字节相加结果存入2FHCLR C ;清零C标志位MOV A, #9AH ;求26H中的十进制补码SUBB A, 26HADD A, 2DH ;加上补码DA A ;二-十进制调整MOV 2DH, A ;将最低字节运算结果存入2DHCPL C ;标志位取反MOV A, #9AH ;求27H中的十进制补码SUBB A, 27HADD A, 2EH ;加上补码DA A ;二-十进制调整MOV 2EH, A ;将次低字节运算结果存入2EHCPL C ;标志位取反MOV A, #9AH ;求28H中的十进制补码SUBB A, 28HADD A, 2FH ;加上补码DA A ;二-十进制调整MOV 2FH, A ;将最高字节运算结果存入2FHEND注:○1字节减法改为加该字节的补码,如减1,改为加99H。

C8051F020实验指导书

C8051F020实验指导书

单片机真验指挥书籍之阳早格格创做目录第一章:真验设备简介11.1 系统真验设备的组成11.2 Silicon Labs C8051F 单片机开垦工具简介11.3 DICE-C8051F嵌进式真验/开垦系统简介3第二章集成开垦环境KEIL C硬件使用指北7 2.1 KEIL C硬件简曲使用证明7第三章真验指挥193.1 C8051F 单片机I/O 心接叉开关树坐193.2 数字I/O端心真验213.3 定时器真验233.4 中部中断真验253.5 键盘隐现真验273.6 六位动背LED数码管隐现真验293.7 RS3232串心通讯真验313.8 概括安排33使用特天证明:(1) 屡屡真验前,请小心阅读真验指挥,连线完成,查看无误后,圆可挨开电源.即连线时必须正在断电状态下.(2) 步调运止历程中,不要关关电源,如果要断电,必须停止运止步调,而且退出步调调试状态,可则会引起KEIL C硬件非仄常退出,以至引起DICE-EC5仿真器处事非常十分.(3) 如出现上述(2)的的误支配,引起DICE-EC5仿真器处事非常十分,可对于DICE-EC5仿真器举止复位.(正在光盘中找到文献夹“USB Reset”中的“USB Debug AdapterFirmware Reset”文献,单打运止,正在弹出的对于话框中面打“Update firmware”按钮,正在提示乐成后,面打“OK”按钮,退出复位步调.DICE-EC5仿真器即可仄常处事.正在下一次调试、下载步调时会提示“Do you want to update serial adapternow? ”,面打“决定”即可.第一章:真验设备简介1.1 系统真验设备的组成DICE-C8051F嵌进式真验/开垦系统由C8051F020 CPU 板、DICE-EC5仿真器战系统真验板三部分组成,应用该设备可举止片上系统单片机较典型应用的真验,请拜睹以下介绍.1.2 Silicon Labs C8051F 单片机开垦工具简介1.2.1 开垦工具概括Silicon Labs 的开垦工具真量上便是估计机IDE 调试环境硬件及估计机USB 到C8051F单片机JTAG 心的协议变换器(DICE-EC5)的推拢.SiliconLabs C8051F 系列所有的单片机片内均安排有调试电路,该调试电路通过鸿沟扫描办法获与单片机片内疑息,通过4 线的JTAG接心与开垦工具对接以便于举止对于单片机正在片编程调试.DICE-C8051F嵌进式真验/开垦系统中的C8051F020 CPU 板上的单片机为C8051F 系列中的F020.仿真器(DICE-EC5)一端与估计机贯串,另一端与C8051F 单片机JTAG 心贯串,应用Keil 的uVision2 调试环境便不妨举止非侵进式、齐速的正在系统编程(ISP)战调试.Silicon Labs 开垦工具支援瞅察战建改死存器战寄存器支援断面、瞅察面、堆栈指示器、单步、运止战停止下令.调试时不需要特殊的目标RAM、步调死存器、定时器大概通疑通讲,而且所有的模拟战数字中设皆仄常处事.1.2.2 开垦工具主要技能指标●支援的目标系统:所有C8051Fxxx 系列单片机.●系统时钟:最大可达25Mhz.●通过USB 接心与PC 机对接.●支援汇编谈话战C51 源代码级调试.●工具支援(Keil C).1.2.3 IDE 硬件运止环境央供PC 机不妨运止开垦工具硬件并能与串止适配器通疑.对于PC 机犹如下系统央供:● Windows 95/98/Me/NT/2000/XP 支配系统● 32Mb RAM● 40Mb 自由硬盘空间●空忙的USB 心1.2.4 开垦工具与PC 机硬件对接正在系统编程战调试环境如图下所示.硬件对接及硬件拆置:●将USB 串止电缆的一端与教教机的DICE-EC5仿真器USB接心对接;●对接USB 串止电缆的另一端到PC;●给目标系统上电;●拔出CD 并运止“”,将IDE 硬件拆置到您的PC 机;●正在PC 机的开初菜单的“步调”项中采用keil uVision2图标,运止IDE 硬件.1.3 DICE-C8051F嵌进式真验/开垦系统简介1.3.1 C8051F020 CPU 板概括C8051F020 CPU 板是为了便于拆置而安排的;C8051F020 CPU 板是将C8051F020的所有引足(100 个引足)引到四个单排针;该四组单排针可与分歧用户安排的应用系统对接,如正在该教教系统上将战系统真验板对接.证明: C8051F020 CPU 板是将C8051F020的所有引足(100 个引足)引到四个单排针,分别为JX1、JX2、JX3、JX4,四个单排针的内圈100个排针(内圈每个引足证明引足含意)与C8051F020芯片的对于应引足对接.而四个单排针的中圈100个排针(中圈标有引足号)部分引足悬空,而大部分引足已经与真验仪上的真验模块对接.(简曲对接请瞅硬件对接本理图).果此,本真验/开垦系统大部分真验模块只消将其相映引足的短路块插佳,即可真止与C8051F020单片机系统的对接.而一部分独力真验模块,必须通过导线与C8051F020单片机对接,对接前把要用到的引足上的短路块拔掉,而后用导线将内圈对于应引足与中部模块对接.真验完成后再把相映的短路块插佳.1.3.2 C8051F020 片上系统单片机片内资材①、模拟中设(1) 逐次迫近型8 路12 位ADC0变换速率最大100ksps可编程删益搁大器PGA温度传感器(2) 8 路8 位ADC1 输进与P1 心复用变换速率500ksps可编程删益搁大器PGA(3) 二个12 位DAC(4) 二个模拟电压比较器(5) 电压基准里里提供中部基准可输进(6) 透彻的VDD 监视器②、下速8051 微统造器内核流火线式指令结构速度可达25MIPS22 个矢量中断源③、死存器片内4352 字节数据RAM64KB Flash 步调死存器可做非易得性死存中部可扩展的64KB 数据死存器接心④、数字中设8 个8 位的端心I/OI2C、SPI、2 个巩固型UART 串心可编程的16 位计数器/定时器阵列(PCA)5 个通用16 位计数器/定时器博用的瞅门狗WDT更小心资料可拜睹Silicon Labs C8051F02x datasheet1.3.3DICE-C8051F嵌进式真验/开垦系统硬件组成(1)CPU板:CPU核心模块采与C8051F020芯片,该芯片是C8051F系列单片机中功能最为其齐的一款;(2)片内:64K FLASH, 4K XRAM片中扩展:256K FLASH, 32K XRAM(3)CPU板C8051F020芯片I/0引足局部引出,不妨战用户中部电路对接;(4)真验系统戴有JTAG接心,并配有DICE-EC3型USB下速通讯仿真器,通过4足的JTAG接心不妨举止非侵进式、齐速的正在线系统调试、仿真;(5)4*4阵列式键盘;(6)8位逻辑电仄开关输出、8位LED逻辑电仄隐现;(7)6位动背八段LED数码管;(8)2路单脉冲旗号爆收电路战1路8MHZ时钟爆收电路;(9)时钟分频电路;(10)模拟量爆收器电路战逻辑笔电路;(11)8*8LED面阵及启动电路;(12)128*64 LCD液晶隐现屏;(13)蜂鸣器电路;(14)曲流电机测速电路;(15)四相步进电机及启动电路;(16)继电器电路及接心;(17)单通讲RS-232 接心;(18)SPI 接心,LED 数码管隐现;(19)IIC 接心,接24C01 串止EEPROM;(20)IIC 接心,PCF8563日历时钟;(21)8 路12 位AD,2 路12 位DA 接心;(22)D12 USB 从机通疑;(23)SL811 USB 主机通疑;(24)RTL8019 10M 以太网通疑;1.3.4DICE-C8051F嵌进式真验/开垦系统天面及初初化证明●天面调配如下:0x0000-0x7fff,数据死存器SRAM天十范畴0x8000-0x87ff,D12_CS片选0x8800-0x8fff,SL811_CS片选0x9000-0x97ff,RTL8019_CS片选0x9800-0x9fff,LCD_CS片选0xA000-0xA7ff,死存0xA800-0xAfff,死存0xB000-0xB7ff,死存0xB800-0xBfff,死存0xc000-0xffff(x16),Flash,片选天面由P4 矮4 位端心决定●系统初初化:C8051F020 CPU板使用中部22.1184M 晶振,系统初初化后应用中部22.1184M 晶振,如果不举止系统初初化,系统将使用里里晶振,默认值为2M,也不妨通过树坐OSCICN 寄存器改变里里晶振的大小(可选值为2M、4M、8M、16M).●端心初初化:咱们根据c8051F020 CPU板及真验系统安排规划,摆设接叉开关,为UART0、SPI、SMBus、UART1、CEX0、CP0、T0、T1、INT0、INT1、INT2 战INT3 调配端心引足.其余,咱们将中部死存器接心摆设为复用办法并使用下端心.摆设步调如下:(1) 按CP0E=1,ECI0E=0,PCA0ME=001,UART0EN=1,SPI0EN=1,SMB0EN=1 树坐XBR0=0x8f;(2) 按SYSCKE=0,T2EXE=0,T2E=0,INT1E=1,T1E=1,INT 0E=1,T0E=1,CPI1E=0 树坐XBR1=0x1e;(3) 按WEAKPUD=0,XBARE=1,位5为0 用T4EXE=0,T4E=0,UART1E=1,EMIFLE=0,CNVSTE=0 树坐XBR2=0x44(4) 将中部死存器接心摆设为复用办法,并使用下端心,有PRTSEL=1,EMD2=0.(5) 将动做数字输进的端心1 引足摆设为数字输进办法,树坐P1MDIN 为0xFF.(6) 通过树坐P0MDOUT=0x34 、P1MDOUT=0xfd 、P2MDOUT= 0xf0 、P3MDOUT = 0xff,将矮端心输出办法树坐为推挽办法.树坐下端心输出办法P74OUT=0xf7;总线输出办法应试虑处事频次战启动本领,正在下速战下启动时总线应树坐为推挽办法,正在矮速战矮启动时漏极开路也可谦足央供,但是宁静性不下.(7) 树坐中部死存器摆设EMI0CF=0x2d;树坐中部死存器时序统造EMI0TC=0x9e;如果LCD 不克不迭仄常隐现不妨使EMI0CF=0x2f,EMI0TC=0xff 树坐为最大值;也不妨减小中部晶振大概使用里里晶振.第二章集成开垦环境KEIL C硬件使用指北2.1 KEIL C硬件简曲使用证明Keil C 拆置:睹..\tools\KeilC51v751a_Full\拆置证明.txt;拆置完成后,如果要使用DICE-EC5仿真器去仿真C8051F系统单片机,还需要拆置启动步调:加进“”,面打“SiC8051F_uv2”,曲至拆置完成.加进 Keil C51 后,屏幕如下图所示.几秒钟后出现编写界开用Keil C51时的屏幕加进Keil C51后的编写界里简朴步调的调试:教习步调安排谈话、教习某种步调硬件,最佳的要领是间接支配试验.底下通过简朴的编程、调试,带领大家教习Keil C51硬件的基础使用要领战基础的调试本领. 1)建坐一个新工程单打Project菜单,正在弹出的下推菜单中选中New Project选项2)而后采用您要死存的路径,输进工程文献的名字,比圆死存到C51目录里,工程文献的名字为C51.如下图所示,而后面打死存.3)那时会弹出一个对于话框,央供您采用单片机的型号,您不妨根据您使用的单片机去采用,keil c51险些支援所有的51核的单片机,尔那里仍旧以大家用的比较多的Atmel 的89C51去证明,如下图所示,采用89C51之后,左边栏是对于那个单片机的基础的证明,而后面打决定.(注意:咱们真验系统使用的单片机为Silicon Laboratories公司的C8051F020芯片).4)完成上一步调后,屏幕如下图所示到目前为止,咱们还不编写一句步调,底下开初编写咱们的第一个步调.5)正在下图中,单打“File”菜单,再正在下推菜单中单打“New”选项新建文献后屏幕如下图所示此时光标正在编写窗心里闪烁,那时不妨键进用户的应用步调了,但是笔者提议最先死存该空黑的文献,单打菜单上的“File”,正在下推菜单中选中“Save As”选项单打,屏幕如下图所示,正在“文献名”栏左侧的编写框中,键进欲使用的文献名,共时,必须键进透彻的扩展名.注意,如果用C谈话编写步调,则扩展名为(.c);如果用汇编谈话编写步调,则扩展名必须为(.asm).而后,单打“死存”6)回到编写界里后,单打“Target1”前里的“+”号,而后正在“Source Group 1”上单打左键,弹出如下菜单而后单打“Add File to Group ‘Source Group 1’”屏幕如下图所示选中Test.c,而后单打“Add”屏幕佳下图所示“Source Group 1”文献夹中多了一身材项“Text1.c”了吗?子项的几与所减少的源步调的几相共 .7)目前,请输进如下的C谈话源步调: #include<reg52.h> //包罗文献#include<stdio.h>void main(void) //主函数{SCON=0x52;TMOD=0x20; TH1=0xf3;TR1=1; //此止及以上3止为PRINTF函数所必须printf(“Hello I am KEIL. \n”);//挨印步调真止的疑息printf(“I will be your friend.\n”);while(1);} 正在输进上述步调时,读者已经瞅到了预先死存待编写的文献的佳处了吧,即Keil c51会自动辨别关键字,并以分歧的颜色提示用户加以注意,那样会使用户少犯过得,有用处普及编程效用.步调输进完成后,如下图所示:8)正在上图中,单打“Project”菜单,再正在下推菜单中单打“Built Target”选项(大概者使用快速键F7),编译乐成后,再单打“Project”菜单,正在下推菜单中单打“Start/Stop Debug Session”(大概者使用快速键Ctrl+F5),屏幕如下所示 :9)调试步调:正在上图中,单打“Debug”菜单,正在下推菜单中单打“Go”选项,(大概者使用快速键F5),而后再单打“Debug”菜单,正在下推菜单中单打“Stop Running”选项(大概者使用快速键Esc);再单打“View”菜单,再正在下推菜单中单打“Serial Windows #1”选项,便不妨瞅到步调运止后的截止,其截止如下图所示至此,咱们正在Keil C51上搞了一个完备工程的齐历程.但是那不过杂硬件的开垦历程,怎么样使用步调下载器瞅一瞅步调运止的截止呢?下一节咱们将介绍Keil C硬件与DICE-EC3仿真器的摆设证明.2.2 KEIL C 硬件与DICE-EC5仿真器摆设证明1.本摆设是针对于本公司的仿真开垦工具DICE-EC5的摆设要领;2.Keil C 硬件摆设如下:挨开Keil 硬件,新建一工程,采用Silicon Laboratories公司的C8051F020 动做CPU(根据本量CPU):(1)采用摆设如下图:(2)隐现如下图:(3)OUTPUT选项摆设:(4)A51汇编选项:(5)DEBUG选项:面打”Settings”此时必须决定DICE-EC5仿真器与PC处于联机状态!!!面打决定,完成树坐.第三章真验指挥3.1 C8051F 单片机I/O 心接叉开关树坐劣先权接叉开关译码器,大概称为“接叉开关”,按劣先权程序将端心0 – 3 的引足调配给器件上的数字中设(UART、SMBus、PCA、定时器等).端心引足的调配程序是从开初,不妨背去调配到P3.7.UART0有最下劣先权,而CNVSTR具备最矮劣先权.为数字中设调配端心引足的劣先权程序列于下图.当接叉开关摆设寄存器XBR0、XBR1 战XBR2 中中设的对于应允许位被树坐为逻辑‘1’时,接叉开关将端心引足调配给中设,相关的特殊功能寄存器的定义睹数据脚册大概相关书籍籍.接叉开关引足调配示例:正在本例中,咱们将摆设接叉开关,为UART0、SMBus、UART1、/INT0 战/INT1 调配端心引足(共8 个引足).其余,咱们将中部死存器接心摆设为复用办法并使用矮端心.咱们还将、P1.3 战P1.4 摆设为模拟输进,以便用ADC1 丈量加正在那些引足上的电压.摆设步调如下:(1)按UART0EN = 1、SMB0EN = 1、INT0E = 1、INT1E = 1 战EMIFLE =1 树坐XBR0、XBR1 战XBR2,则有:XBR0 = 0x05,XBR1 = 0x14,XBR2 = 0x02.(2)将中部死存器接心摆设为复用办法并使用矮端心,有:PRTSEL = 0,EMD2 = 0.(3)将动做模拟输进的端心1 引足摆设为模拟输进办法:树坐P1MDIN 为0xE3(、P1.3 战P1.2 为模拟输进,所以它们的对于应P1MDIN 被树坐为逻辑‘0’).(4)树坐XBARE = 1 以允许接叉开关:XBR2=0x42.●UART0 有最下劣先权,所以P0.0 被调配给TX0,P0.1 被调配给RX0.●SMBus 的劣先权次之,所以P0.2 被调配给SDA,P0.3 被调配给SCL.●接下去是UART1,所以P0.4 被调配给TX1.由于中部死存器接心选正在矮端心(EMIFLE = 1),所以接叉开关跳过P0.6(/RD)战P0.7(/WR).又果为中部死存器接心被摆设为复用办法,所以接叉开关也跳过P0.5(ALE).下一个已被跳过的引足P1.0 被调配给RX1.●接下去是/INT0,被调配到引足.●将P1MDIN 树坐为0xE3,使、P1.3 战P1.4 被摆设为模拟输进,引导接叉开关跳过那些引足.●底下劣先权下的是/INT1,所以下一个已跳过的引足P1.5 被调配给/INT1.●正在真止对于片中支配的MOVX 指令功夫,中部死存器接心将启动端心2 战端心3.(5)咱们将UART0 的TX 引足(TX0,)、UART1 的TX 引足(TX1,)、ALE、/RD、/WR(P0.[7:3])的输出树坐为推挽办法,通过树坐P0MDOUT = 0xF1 去真止.(6)咱们通过树坐P2MDOUT = 0xFF 战P3MDOUT = 0xFF 将EMIF 端心(P2、P3)的输出办法摆设为推挽办法.咱们通过树坐P1MDOUT = 0x00(摆设输出为漏极开路)战P1 = 0xFF(逻辑‘1’采用下阻态)克制3 个模拟输进引足的输出启动器.3.2 数字I/O端心真验一、真验脚段掌握C8051F020 I/0的使用,教习延时子步调的编写.二、真验真量P1心输出心,接八只收光二极管,编写步调,使收光二极管循环面明.三、真验本理介绍C8051F020有8位端心构造的64个数字I/O引足.矮端心(P0、P1、P2、P3)既不妨按位觅址,也不妨按字节觅址.下端心(P4、P5、P6、P7)只可按字节觅址.所有引足皆耐5V电压,皆不妨被摆设为漏极开路大概推挽输出办法战强上推.C8051F020器件有洪量的数字资材需要通过4个矮端I/O端心P0,P1,P2,P3才搞使用.但是本真验中主要介绍的I/O心主要动做通用的端心I/O (GPIO)引足去使用.每个端心引足的输出办法皆可被摆设为漏极开初大概推挽办法,缺省状态为漏极开路.正在推挽办法,背端心数据寄存器中的相映位写逻辑0将使端心引足被启动到GND,写逻辑1将使端心引足被启动到VDD.正在漏极开路办法,背端心数据寄存器中的相映位写逻辑0将使端心引足被启动到GND,写逻辑1将使端心引足处于下阻状态.当系统中分歧器件的端心引足有共享对接,即多个输出对接到共一个物理线时(比圆SMBus对接中的SDA旗号),使用漏极开路办法不妨预防分歧器件之间的争用.I/O端心的输出办法由PnMOUT寄存器中的对于应位决断.本真验中咱们用P1心启动收光二极管面明,果此必须将P1心定义为推挽办法.四、电路本理图五、真验步调框图六、真验步调步调功能:由P1心启动收光二极管循环面明.P1.0~P1.7接L1~L8(JP14)3.3 定时器真验一、真验脚段掌握C8051F020里里定时器/计数器的应用.二、真验真量本文献是LED灯闪烁真验步调;使用定时器0定时1秒,LED灯每隔1秒明1秒;使用中部22.1184MHz晶振.三、真验本理介绍C8051F020里里有5个计数器/定时器T0,T1,T2,T3战T4.那些计数器/定时器皆是16位,其中T0、T1、T2与尺度8051中的计数器/定时器兼容.T3、T4可用于ADC、SMBus大概动做通用定时器使用,T4还可用做C8051F02x中第二串心(UART1)的波特率爆收器.那些计数器/定时器不妨用于丈量时间隔断,对于中部事变计数大概爆收周期性的中断哀供.定时器0战定时器1险些真足相共,有4种处事办法.定时器2减少了一些时器0战定时器1中所不的功能.定是器3与定时器2类似,但是不捕获战波特率爆收器办法.定时器4与定时器2真足相共,可用做UART1的波特率爆收器.下表所列为定时器的处事办法:本真验中使定时器0处事正在办法1(TMOD=0x01),TIM0定时器时钟为系统时钟的1/12(CKCON=0x00).简曲寄存器定义请参照教科书籍.四、真验步调框图(注:真验时不需要液晶隐现)五、真验步调确认P3.5心与引足49上插有短路块,则收光二极管L1与P3.5已连.调进步调、拆载、运止,瞅察收光二极管是可每隔1秒明1次.3.4 中部中断真验一、真验脚段认识C8051F020 中部中断6/7 的使用.二、真验真量此步调尝试C8051F020的中断6、7,可正在相映的二其中断中设断面瞅察,当单脉冲按钮按下之后,加进中断处理时P4.4统造蜂鸣器鸣喊一声,收光二极管也共时闪烁一次.三、真验本理介绍CIP-51包罗一个扩展的中断系统,支援22其中断源,每其中断源有二个劣先级.中断源正在片内中设与中部输进之间的调配随器件的分歧而变更.每其中断源不妨正在一个SFR中有一个大概多其中断标记.当一其中设大概中部源谦足灵验的中断条件时,相映的中断标记被置为逻辑1.如果中断被允许,正在中断标记被置位时爆收中断.一朝目前指令真止完,CPU爆收一个LCALL到预约天面,开初真止中断服务步调(ISR).每个ISR必须以RETI指令中断,使步调回到中断前真止的那条指令的下一条指令.如果中断已被允许,中断标记将被硬件忽略,步调继承仄常真止(中断标记置1与可不受中断允许/克制状态的做用).每一其中断源皆不妨用一个SFR(IE~EIE2)中的相关中断允许位去允许大概克制,但是必须先将EA位(IE.7)置1,以包管每个单独的中断允许位灵验.不管每其中断允许位的树坐怎么样,EA位浑0将克制所有中断.本真验主要介绍C8051F020 中部中断6/7(对于应P3.6战P3.7).P3.6战P3.7可被摆设为边沿触收的中断源.用IE6CF(P3IF.2)战IE7CF (P3IF.3)位不妨将那二其中断源摆设为下落沿大概降下沿触收.当检测到引足P3.6战P3.7有下落沿大概降下沿爆收时,P3IF寄存器中对于应的中部中断标记(IE6大概IE7)将被置1.如果对于应的中断被允许,将会爆收中断,CPU将转背对于应的中断背量天面.端心3中断标记位:位7 IE7 中部中断7标记位0当检测到P3.7引足的下落沿大概降下沿时,该标记由硬件置位位6 IE6 中部中断6标记位0当检测到P3.7引足的下落沿大概降下沿时,该标记由硬件置位位5~4 已使用.读=00b,写=忽略位3 IE7CF 中部中断7边沿摆设位0中部中断7由IE7输进的下落沿触收1中部中断7由IE7输进的降下沿触收位2 IE6CF 中部中断6边沿摆设位0中部中断6由IE6输进的下落沿触收1中部中断6由IE6输进的降下沿触收位1~0 已使用.读=00b,写=忽略四、真验步调框图五、真验步调P2.0接L7;P2.1接L8;P3.6接JP7;P3.7接JP7;P4.4用短路块接蜂鸣器.按下单脉冲按钮,JP7爆收一个下落沿脉冲,加进中断后,蜂鸣器鸣喊一声,相映收光二极管也共时闪烁一次.3.5键盘隐现真验一、真验脚段掌握止列式键盘的处事本理.二、真验真量每按下一个键,蜂鸣器响一声,并正在LED数码管上隐现相映的字符.三、真验本理介绍正在键盘中按键数量较多时,为了缩小I/O心的占用,常常将按键排列成矩阵形式,也便是常道的止列式键盘.止列式键盘中的键本量上便是一个板滞开关,该开关位于止线战列线的接面处.当键被按下时,其接面的止线战列线接通,相映止线大概列线上的电仄爆收变更,进而决定被按下的功能键.时常使用的键辨别要领有:止扫描法、线翻转法战利用8279键盘接心的中断法.前二种要领相称于查询法,需要反复查询按键的状态,会占用洪量的CPU时间;后一种要领正在有键按下时背CPU申请中断,通常本去不需要占用CPU时间.本真验中咱们介绍止扫描法,其按键识别的历程如下:A:将局部止线SEL0~SEL3置为矮电仄,而后检测列线的状态.只消有一列的电仄为矮,则表示键盘中有键被按下,而且关合的键位于矮电仄线与4根止线相接叉的4个按键之中.若所列线均为下电仄,则键盘中无键按下.B:推断关合键天圆的位子.正在确认有键按下后,即可加进决定简曲关合键的历程.其要领是:依次将止线置为矮电仄,即正在置某根止线为矮电通常,其线为下电仄.正在决定某根止线位子为矮电仄后,再逐止检测各列线的电仄状态.若某列为矮,则该列线与置为矮电仄的止线接叉处的按键便是关合的按键.四、真验本理图五、真验步调框图(注:真验时只需LED数码管隐现)六、真验步调定义16个键为'0'~'F',每按下一个键,蜂鸣器响一声,并正在LED数码管上隐现相映的字符.P5.0~P5.3接SEL0~SEL3,P5.4~P5.7接RL0~RL3,P4.4接ALARM,P3.5接L1(JP14)(以上连线里里已经连佳,只消将对于应的短路块插上即可.),P1.0~P1.7接a~dp(JP18,LED段码端),P0.0接LED大众端所有一端(JP17).3.6 六位动背LED数码管隐现真验一、真验脚段认识并掌握LED七段数码管的处事本理,并掌握动背数码管的步调编写.二、真验真量本真验主假如六位八段LED数码管动背隐现,例步调隐现“123456”.三、真验本理介绍正在单片机应用系统中可利用LED隐现块机动天形成所央供位数的隐现器.N位LED隐现器有N 根位选线战8×N根段选线.根据隐现办法的分歧,位选线战段选线的对接要领有所分歧.段选线统造字符采用,位选线统造隐现位的明大概暗.LED隐现器有二种隐现办法:固态隐现战动背隐现.本真验介绍动背LED数码管的处事本理.LED动背隐现是将所有位的段选线并接正在一个I/O心上,共阳极度大概共阳极度分别由相映的I/O心线统造.每一位的段选线皆接正在一个I/O心上,所以每支一个段选码,每位LED数码管皆隐现共一个字符,那种隐现器是不克不迭用的.办理此问题的要领是利用的视觉滞留,从段选线上按位次分别支隐现字符的段选码,正在位选统造心也按相映的序次分别选通相映的隐现位(共阳极支矮电仄,共阳极支下电仄),选通位便隐现相映字符,并脆持几亳秒的延时,已选通位不隐现字符(脆持燃烧).那样,对于诸位隐现便是一个循环历程.从估计机的处事去瞅,正在一个瞬时惟有一位隐现字符,而其余位皆是燃烧的,但是果为人的视觉滞留,那种动背变更是觉察不到的.从效验上瞅,诸位隐现器能连绝而宁静天隐现分歧的字符.那便是动背隐现.四、真验本理图五、真验步调框图六、真验步调本步调主假如六位八段LED数码管动背隐现,例步调隐现“123456”.p1.0~p1.7接JP18(a~dp LED段码端);p0.0~p0.5接JP17(L1~L6 LED大众端);注意:拿掉相映足的短路块,用导线对接,并注意引足程序.3.7 RS3232串心通讯真验一、真验脚段掌握RS-232 串心通疑步调的安排战支配.二、真验真量(1)此例程是用UART0 动做串心通疑,硬件将其摆设到P0.0 战;(2)UART0是串心的中接心,为举止串心通疑,正在PC 端用串心调试帮脚硬件协共调试(利用其余串心通疑步调也不妨),用一根串心线将UART0串止心共PC 的串心贯串,波特率牢固为115200,通疑要领:1 位起初位,8 位数据位,1 位停止位.(3)MAX3232芯片将单片机收出的TTL 电仄转移为RS-232 电仄旗号,支/收旗号从9 芯插座UART0通过RS-232 电缆传递到PC 机.三、真验本理介绍每个C8051F MCU皆有能举止同步传输的串止心(UART).C8051F020有二个功能真足相共的UART(分别为UART0战UART1),它们除了具备8051尺度串止心的功能中,还具备帧过得检测战天面辨别硬件,称为巩固型串止心UART.UART不妨处事正在齐单工同步办法大概半单工共步办法,而且支援多处理器通疑.接支数据被久存于一个脆持寄存器中,那便允许UART 正在硬件尚已读与前一个数据字节的情况下开初接支第二个输进数据字节.一个接支覆盖位用于指示新的接支数据已被锁存到接支慢冲器而前一个接支数据尚已被读与.对于UART的统造战考察是通过相关的特殊。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机实验指导书基础部分实训1 认识单片机一、单片机概述一台能够工作的计算机要有这样几个部份构成:CPU(进行运算、控制)、RAM (数据存储)、ROM(程序存储)、输入/输出设备(例如:串行口、并行输出口等)。

在个人计算机上这些部份被分成若干块芯片,安装一个称之为主板的印刷线路板上。

而在单片机中,这些部份,全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上述部份外,还集成了其它部份如A/D,D/A等。

二、单片机的外部结构(1)单片机的引脚拿到一块芯片,想要使用它,首先必须要知道怎样连线,我们用的一块称之为89C51的芯片,下面我们就看一下如何给它连线。

电源:这当然是必不可少的了。

单片机使用的是5V电源,其中正极接40引脚,负极(地)接20引脚。

振蒎电路:单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。

只要买来晶振,电容,连上就可以了,按图1-1接上即可。

复位引脚:按图1-1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。

EA引脚:EA引脚接到正电源端。

至此,一个单片机就接好,通上电,单片机就开始工作了。

图1-1(二)单片机芯片引脚功能1.主电源引脚(1)GND 接地(2)VCC正常操作时为十5V电源。

2.时钟电路引脚(1)XTAL1:(2)XTAL2:3.控制线与电源复用引脚(1)RST/VPD:RST是复位信号,高电平有效。

VPD为第二功能,即备用电源输入端。

(2)ALE/PROG:ALE为地址锁存允许信号输出引脚。

PROG为编程信号,第二功能,低电平有效。

(3)PSEN:片外ROM选通信号输出端,低电平有效。

(4)EA/VPP:EA为内部和外部ROM控制端当EA=1时,从内ROM开始访问当EA=0时,只访问外部ROMVPP是编程电源输入端4.并行输入/输出引脚(1)P0口:P0.0~P0.7统称为P0口(2)P1口:P1.0~P1.7统称为P1口(3)P2口:P2.0~P2.7统称为P2口(4)P3口:P3.0~P3.7统称为P3口P3口每一位可用作第二功能,而且P3口的每一条引脚都可以独立设置为第一功能的I/O口功能和第二功能。

(三)单片机最小系统用protues软件画出单片机最小系统图1-2三、单片机的存储器MCS-51单片机的芯片内部有RAM和ROM两类存储器,即所谓的内部RAM和内部ROM,首先分析内部RAM。

1. 内部数据存储器低128单元8051的内部RAM共有256个单元,通常把这256个单元按其功能划分为两部分:低128单元(单元地址00H~7FH)和高128单元(单元地址80H~FFH)。

表1-1所示为低128单元的配置图。

30H ~7FH 数据缓冲区20H ~2FH 位寻址区(00H~7FH)18H ~1FH 工作寄存器3区(R7~R0)10H ~17H 工作寄存器2区(R7~R0)08H ~0FH 工作寄存器1区(R7~R0)00H ~07H 工作寄存器0区(R7~R0)表1-1 片内RAM的配置低128单元是单片机的真正RAM存储器,按其用途划分为寄存器区、位寻址区和用户RAM区三个区域。

1) 寄存器区8051共有4组寄存器,每组8个寄存单元(各为8),各组都以R0~R7作寄存单元编号。

寄存器常用于存放操作数中间结果等。

由于它们的功能及使用不作预先规定,因此称之为通用寄存器,有时也叫工作寄存器。

4组通用寄存器占据内部RAM的00H~1FH单元地址。

在任一时刻,CPU只能使用其中的一组寄存器,并且把正在使用的那组寄存器称之为当前寄存器组。

到底是哪一组,由程序状态字寄存器PSW中RS1、RS0位的状态组合来决定。

通用寄存器为CPU提供了就近存储数据的便利,有利于提高单片机的运算速度。

此外,使用通用寄存器还能提高程序编制的灵活性,因此,在单片机的应用编程中应充分利用这些寄存器,以简化程序设计,提高程序运行速度。

2) 位寻址区内部RAM的20H~2FH单元,既可作为一般RAM单元使用,进行字节操作,也可以对单元中每一位进行位操作,因此把该区称之为位寻址区。

位寻址区共有16个RAM单元,计128位,地址为00H~7FH。

MCS-51具有布尔处理机功能,这个位寻址区可以构成布尔处理机的存储空间。

这种位寻址能力是MCS-51的一个重要特点。

表1-2为位寻址区的位地址。

表1-2 片内RAM 位寻址区的位地址3) 用户RAM 区在内部RAM 低128单元中,通用寄存器占去32个单元,位寻址区占去16个单元,剩下80个单元,这就是供用户使用的一般RAM 区,其单元地址为30H ~7FH 。

对用户RAM 区的使用没有任何规定或限制,但在一般应用中常把堆栈开辟在此区中。

2. 内部数据存储器高128单元内部RAM 的高128单元是供给专用寄存器使用的,其单元地址为80H ~FFH 。

因这些寄存器的功能已作专门规定,故称之为专用寄存器(Special Function Register ),也可称为特殊功能寄存器。

1) 专用寄存器(SFR )简介8051共有21个专用寄存器,现把其中部分寄存器简单介绍如下: (1) 程序计数器(PC —Program Counter ),我们已经知道PC 是一个16位的计数器,它的作用是控制程序的执行顺序。

其内容为将要执行指令的地址,寻址范围达64 KB 。

PC 有自动加1功能,从而实现程序的顺序执行。

PC 没有地址,是不可寻址的,因此用户无法对它进行读写,但可以通过转移、调用、返回等指令改变其内容,以实现程序的转移。

因地址不在SFR (专用寄存器)之内,一般不计作专用寄存器。

单元地址MSB 位地址 LSB2FH 2EH 2DH 2CH 2BH 2AH 29H 28H 27H 26H 25H 24H 23H7F 77 6F 67 5F 57 4F 47 3F 37 2F 27 1F7E 76 6E 66 5E 56 4E 46 3E 36 2E 26 1E7D 75 6D 65 5D 55 4D 45 3D 35 2D 25 1D7C 74 6C 64 5C 54 4C 44 3C 34 2C 24 1C7B 73 6B 63 5B 53 4B 43 3B 33 2B 23 1B7A 72 6A 62 5A 52 4A 42 3A 32 2A 22 1A79 71 69 61 59 51 49 41 39 31 29 21 1978 70 68 60 58 50 48 40 38 30 28 20 18(2) 累加器(ACC —Accumulator )。

累加器为8位寄存器,是最常用的专用寄存器,功能较多,地位重要。

它既可用于存放操作数,也可用来存放运算的中间结果。

MCS-51单片机中大部分单操作数指令的操作数就取自累加器,许多双操作数指令中的一个操作数也取自累加器。

(3) B 寄存器。

B 寄存器是一个8位寄存器,主要用于乘除运算。

乘法运算时,B 存乘数。

乘法操作后,乘积的高8位存于B 中,除法运算时,B 存除数。

除法操作后,余数存于B 中。

此外,B 寄存器也可作为一般数据寄存器使用。

(4) 程序状态字(PSW —Program Status Word )。

程序状态字是一个8位寄存器,用于存放程序运行中的各种状态信息。

其中有些位的状态是根据程序执行结果,由硬件自动设置的,而有些位的状态则使用软件方法设定。

PSW 的位状态可以用专门指令进行测试,也可以用指令读出。

一些条件转移指令将根据PSW 有些位的状态,进行程序转移。

PSW 的各位定义如下:除PSW.1位保留未用外,其余各位的定义及使用如下:CY (PSW.7)——进位标志位。

CY 是PSW 中最常用的标志位。

其功能有二:一是存放算术运算的进位标志,在进行加或减运算时,如果操作结果的最高位有进位或借位时,CY 由硬件置“1”,否则清“0”;二是在位操作中,作累加位使用。

位传送、位与位或等位操作,操作位之一固定是进位标志位。

AC (PSW.6)——辅助进位标志位。

在进行加减运算中,当低4位向高4位进位或借位时,AC 由硬件置“1”,否则AC 位被清“0”。

在BCD 码调整中也要用到AC 位状态。

F0(PSW.5)——用户标志位。

这是一个供用户定义的标志位,需要利用软件方法置位或复位,用以控制程序的转向。

RS1和RS0(PSW.4,PSW.3)——寄存器组选择位。

它们被用于选择CPU 当前使用的通用寄存器组。

通用寄存器共有4组,其对应关系如下:PSW 位地址 D7HD6H D5H D4H D3H D2H D1H D0H 字节地址D0HCY ACF0RS1RS0OVF1PRS1 RS0 寄存器组片内RAM地址0 0 第0组00H~07H0 1 第1组08H~0FH1 0 第2组10H~17H1 1 第3组18H~1FH这两个选择位的状态是由软件设置的,被选中的寄存器组即为当前通用寄存器组。

但当单片机上电或复位后,RS1 RS0=00。

OV(PSW.2)——溢出标志位。

在带符号数加减运算中,OV=1表示加减运算超出了累加器A所能表示的符号数有效范围(-128 ~ +127),即产生了溢出,因此运算结果是错误的,否则,OV=0表示运算正确,即无溢出产生。

在乘法运算中,OV=1表示乘积超过255,即乘积分别在B与A中,否则,OV=0,表示乘积只在A中。

在除法运算中,OV=1表示除数为0,除法不能进行,否则,OV=0,除数不为0,除法可正常进行。

P(PSW.0)——奇偶标志位。

表明累加器A中内容的奇偶性。

如果A中有奇数个“1”,则P置“1”,否则置“0”。

凡是改变累加器A中内容的指令均会影响P标志位。

此标志位对串行通信中的数据传输有重要的意义。

在串行通信中常采用奇偶校验的办法来校验数据传输的可靠性。

(5) 数据指针(DPTR)。

数据指针为16位寄存器。

编程时,DPTR既可以按16位寄存器使用,也可以按两个8位寄存器分开使用,即:DPH DPTR高位字节DPL DPTR低位字节DPTR通常在访问外部数据存储器时作地址指针使用。

由于外部数据存储器的寻址范围为64 KB,故把DPTR设计为16位。

(6) 堆栈指针(SP—Stack Pointer)。

堆栈是一个特殊的存储区,用来暂存数据和地址,它是按“先进后出”的原则存取数据的。

堆栈共有两种操作:进栈和出栈。

由于MCS-51单片机的堆栈设在内部RAM中,因此SP是一个8位寄存器。

系统复位后,SP的内容为07H,从而复位后堆栈实际上是从08H单元开始的。

但08H~1FH单元分别属于工作寄存器1~3区,如程序要用到这些区,最好把SP 值改为1FH或更大的值。

相关文档
最新文档