




已阅读5页,还剩141页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理及应用实验箱单片机原理及应用实验箱 使用手册使用手册 编编写:吴写:吴 栋栋 南京师范大学物理科学与技术学院南京师范大学物理科学与技术学院 2011 年年 6 月月 南京师范大学物理科学与技术学院 - 1 - 目目 录录 第一章第一章单片实验箱基本结构和功能单片实验箱基本结构和功能.3 1.1单片机实验箱结构与功能简介.3 1.2MCS-51 单片机最小系统子板模块4 1.3MSP430 单片机最小系统子板模块7 1.4R8C 单片机最小系统子板模块9 1.5主板各功能模块.10 1.5.1LED流水灯模块10 1.5.2LED数码管显示模块11 1.5.3字符型LCD1602显示模块11 1.5.4点阵型LCD12864显示模块12 1.5.5独立按键12 1.5.6矩阵键盘12 1.5.7拨动开关13 1.5.8电机与继电器驱动模块13 1.5.9蜂鸣器14 1.5.10串入并出移位寄存器14 1.5.11并入串出移位寄存器15 1.5.12串行DAC.15 1.5.13串行ADC.16 1.5.14实时时钟芯片DS1302 16 1.5.15IIC总线EEPROM.16 1.5.16数字温度传感器17 1.5.17光学传感器17 1.5.18电位器17 1.5.19点阵型LED屏.18 第第 2 章章 51 单片机编程平台单片机编程平台 VISION 介绍介绍19 2.1建立基于汇编语言程序的项目.19 2.2建立基于 C51 程序的项目21 第第 3 章章 STC89 系列单片机的系列单片机的 ISP 功能简介功能简介 28 3.1安装 PL2302 的驱动程序28 3.2STC 单片机 ISP 软件的使用.30 第第 4 章章 MSP430 单片机编程平台单片机编程平台 IAR 使用简介使用简介.32 4.1IAR-EW FOR MSP430 简介 .32 4.2软件 IAR-EW 的使用32 4.2.1运行IAR Embedded Workbench33 4.2.2project 的建立.33 4.2.3IAR软件工程属性设置.37 4.2.4程序的调试38 第第 5 章章 R8C 单片机编程平台单片机编程平台 HEW 使用简介使用简介.41 南京师范大学物理科学与技术学院 - 2 - 5.1HEW 简介.41 5.2HEW 的使用.41 5.2.1HEW的窗口.41 5.2.2HEW的使用方法42 5.2.3程序的调试48 第六章第六章 实验程序集实验程序集 .49 6.1MCS-51 单片机实验程序集49 6.1.1蜂鸣器的驱动49 6.1.2流水灯实验49 6.1.3单片机的并行输出及LED数码管的静态显示.50 6.1.4LED数码管的动态显示52 6.1.5单片机定时中断编程55 6.1.6单片机串行口通信实验57 6.1.7独立键盘实验59 6.1.8矩阵键盘实验65 6.1.9拨动开关与开关量的输入67 6.1.10步进电机的驱动67 6.1.11直流电机的驱动68 6.1.12继电器的驱动69 6.1.13并入串出移位寄存器74HC165.69 6.1.14串入并出移位寄存器74LS16470 6.1.15I2C总线的EEPROM24C64.71 6.1.16串行DACTLC5615.83 6.1.17串行ADCTLC549.86 6.1.18实时时钟DS1302 .97 6.1.19数字温度传感器DS18B20.111 6.1.20LCD1602的显示驱动.114 6.1.21LCD12864的显示驱动.118 6.1.22点阵LED屏的显示驱动.126 6.2MSP430F14X单片机实验程序集.130 6.2.1流水灯实验130 6.2.2LED数码管实验131 6.3R8C/1B 单片机实验程序集.132 6.3.1单片机内部ADC的使用132 6.3.2定时器与LED的驱动.133 6.3.3按键输入与中断处理134 附录附录 A:单片机实验箱电路原理图:单片机实验箱电路原理图135 附录附录 B:单片机实验箱印刷电路图:单片机实验箱印刷电路图140 附录附录 C 单片机实验箱实物照片单片机实验箱实物照片142 南京师范大学物理科学与技术学院 - 3 - 第一章第一章 单片实验箱基本结构和功能单片实验箱基本结构和功能 1.1 单片机实验箱结构与功能简介单片机实验箱结构与功能简介 单片机实验箱由主板和三个子板构成。子板插在主板上,把子板上单片机全部或部分 引脚引到主板上,这样通过子板上的单片机可以对主板各功能模块进行控制编程。三个子 板分别为: (一)51 单片机最小系统子板模块(SST89E516RD 或 STC89C516RD+) (二)MSP430 单片机最小系统子板模块(MSP430F149) (三)R8C 单片机最小系统子板模块(R8C/1B) 主板由各功能模块组成,包含:独立键盘、矩阵键盘、串行 ADC 与 DAC、LCD1602、LCD12864、数码管、流水灯、蜂鸣器、继电器、步进电机、直流电机、 串行 EEPROM、电位器、温度传感器、光学传感器、USB/UART 通信接口、实时时钟、移 位寄存器、点阵 LED 屏等芯片或部件。 依据此实验箱,学生可以完成的实验有: 1、 单元实验: (1)蜂鸣器的驱动 (2)静态 LED 数码管显示 (3)动态 LED 数码管显示 (4)独立键盘输入 (5)矩阵键盘输入 (6)继电器的驱动 (7)直流电机、步进电机的驱动 (8)串行 ADC (9)串行 DAC (10)串行 EEPROM (11)LCD1602 液晶显示 (12)LCD12864 液晶显示 (13)流水灯 南京师范大学物理科学与技术学院 - 4 - (14)移位寄存器 (15)实时时钟 (16)点阵 LED 屏的驱动与显示 2、综合型实验: (17)数字电压表(LCD1602/LCD12864+ADC+电位器+EEPROM) (18)人机接口(LCD1602/LCD12864键盘输入) (19)实时时钟显示与校时(数码管+实时时钟芯片+键盘) (20)温度测量与显示(LCD1602/LCD12864+温度传感器) (21)光强测量与显示(流水灯光学传感器+ADC) (22)电机调速(电机+电位器+ADC) (23)与 PC 机的串口通信(USB/UART+串口调试助手) (24)其它。 下面对各个子板模块和主板各功能模块逐一介绍。 1.2 MCS-51 单片机最小系统子板模块单片机最小系统子板模块 MCS-51 单片机最小系统子板含 MCS-51 单片机、RS232 电气接口、MAX232 电平转 换芯片、PL2303USB 转 UART 桥接芯片、上电与手动复位电路、外接晶振、电源输入与 选择模块、电源指示等部分。 (1)子板 51 单片机型号为 SST89E516,片内有串口调试仿真监控程序。也可采用其它 含 ISP 功能的兼容型 51 单片机,如 STC89 系列单片机。参考型号如表 1-1 所示。 表 1-1 STC89 系列单片机选型表 南京师范大学物理科学与技术学院 - 5 - (2)RS232 接口,包括 DB9 电气部件和 RS232 电平转换接口芯片 MAX232。电路如图 1-1 所示。 C1+ 1 VS+ 2 C1- 3 C2+ 4 C2- 5 VS- 6 T2OUT 7 R2IN 8 R2OUT 9 T2IN 10 T1IN 11 R1OUT 12 R1IN 13 T1OUT 14 GND 15 VCC 16 U3 M AX232 1 6 2 7 3 8 4 9 5 J3 DB9 C15104 C16104 C17 104 C18 104 C19 104 VCC M TXD M RXD R9470 R10470 图 1-1 MCS-51 单片机子板的 RS232 接口 通过 RS232 接口,51 单片机可以与其它智能芯片实现串行通信,也可以作为 ISP 下载 及仿真口。 (3)USB 与单片机 UART 口的桥接 为了满足不具备 RS232 接口的电脑与子板的通信,用 PL230 芯片设计了单片机 UART 与 USB 之间的桥接电路。电路如图 1-2 所示。 TXD 1 DTR_N 2 RTS_N 3 VDD_232 4 RXD 5 RI_N 6 GND 7 NC 8 DSR_N 9 DCD_N 10 CTS_N 11 SHTD_N 12 EE_CLK 13 EE_DATA 14 DP 15 DM 16 VDD_3V3 17 GND_3V3 18 NC 19 VDD_5 20 GND 21 GP0 22 GP1 23 NC 24 GND_A 25 PLL_TEST 26 OSC1 27 OSC2 28 U2 PL2303HX UTXD URXD Vusb C10 104 Y2 12M C11 20p C12 20p Vusb C13 104 C14 104USBDM USBDP R516 R6 16 R71.5K 图 1-2 MCS-51 子板的 USB 转 UART 接口 (4)MCS-51 单片机最小系统 含上电复位和手动按键复位电路、外接晶振。电路如图 1-3 所示。 R30 C2 104 Reset R1 5.1k Y1 11.0592M HZ C3 30pf C4 30pf P1.0(T2) 1 P1.1(T2 EX) 2 P1.2(ECI) 3 P1.3(CEX0) 4 P1.4(CEX1/SS#) 5 P1.5(CEX2/M OSI) 6 P1.6(CEX3/M ISO) 7 P1.7(CEX4/SCK) 8 RST 9 P3.0(RXD) 10 P3.1(TXD) 11 P3.2(INT0#) 12 P3.3(INT1#) 13 P3.4(T0) 14 P3.5(T1) 15 P3.6(WR#) 16 P3.7(RD#) 17 XTAL2 18 XTAL1 19 VSS 20 Vdd 40 P0.0(AD0) 39 P0.1(AD1) 38 P0.2(AD2) 37 P0.3(AD3) 36 P0.4(AD4) 35 P0.5(AD5) 34 P0.6(AD6) 33 P0.7(AD7) 32 EA# 31 ALE/PROG# 30 PSEN# 29 P2.7(A15) 28 P2.6(A14) 27 P2.5(A13) 26 P2.4(A12) 25 P2.3(A11) 24 P2.2(A10) 23 P2.1(A9) 22 P2.0(A8) 21 U1 STC89LE516RD+ VCC P00 P01 P02 P03 P04 P05 P06 P07 P27 P26 P25 P24 P23 P22 P21 P20 C6 104 C5 4.7uF P10 P11 P12 P13 P14 P15 P16 P17 RST P32 P33 P34 P35 P36 P37 P30 P31 XTAL2 XTAL1 GND ALE PSEN VCC EA TXD RXD R40 C1 4.7uF 图 1-3 MCS-51 子板的单片机最小系统 (5)电源系统 可使用 USB 供电和外接 5V 电源供电。有电源开关和电源指示。电路如图 1-4 所示。 图 1-4 中还有一个切换开关 SS,用于 ISP 下载及仿真端口选择,既可通过 RS232 也可 通过 USB 下载程序。 南京师范大学物理科学与技术学院 - 6 - TXD UTXD M RXD RXD M TXD VCC 1 D- 2 D+ 3 VSS 4 5 6 J2 USBPORT F1 USBDM USBDP URXD 2 5 1 3 6 4 SS 1 2 3 J1 5VIN R2 470 D2C9 10uF/16V C8 104 C7 104 2 5 1 3 6 4 A0 D1 1N4734 VusbVCC 1 2 J6 Header 2 Vusb R13 0C20 47uF 图 1-4 MCS-51 子板的电源系统 此 51 子板通过间距为 2.54mm 的排针把单片机的各个引脚引到主板,这样就可以由 51 子板控制主板各功能部件了。当然,51 子板也可从实验箱上拔出单独使用,子板有三个 LED 发光二极管连接到 IO 端口,用户可以编程控制之。电路如图 1-5 所示。 如果使用带仿真监控程序的 51 芯片,如 SST89E516RD,则可在 KEIL 平台下通过 RS232 接口进行程序的仿真调试。本实验箱中当 P3.6 接高电平,则 51 单片机上电后直接 进入监控状态,若 51 单片机在 KEIL 平台中下载程序成功并将 P3.6 接低电平,则 51 单片 机重新上电后可运行用户程序,不进入监控状态。 VCC P36 GND R8 1k VCC P201 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 J4 20PIN 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 J5 20PIN P10 P11 P12 P13 P14 P15 P16 P17 RST P30 P31 P32 P33 P34 P35 P36 P37 XTAL2 XTAL1 GND VCC P00 P01 P02 P03 P04 P05 P06 P07 EA ALE PSEN P27 P26 P25 P24 P23 P22 P21 P20 D20 1 2 3 JP1 Header 3 R11 0 EA VCC R12 0 R15 1k R14 1k D21 D22 R16 0 R17 0 P21 P22 图 1-5 MCS-51 子板的单片机引脚输出 RS232 串串 口口 晶振晶振复位按键复位按键 电源开关电源开关 +5V 电源插孔电源插孔 USB 口口 仿真口切换跳线仿真口切换跳线 芯片紧锁座芯片紧锁座 电源指示电源指示 3 只只 LED 图 1-6 MCS-51 子板实物图片 南京师范大学物理科学与技术学院 - 7 - 1.3 MSP430 单片机最小系统子板模块单片机最小系统子板模块 MSP430 单片机最小系统子板含 MSP430 单片机、JTAG 仿真接口、PL2303USB 转 UART 桥接芯片、上电与手动复位电路、外接晶振、电源等部分。 MSP430 单片机型号为 MSP430F149,其特点为: 低供电电压:1.8v3.6v 超低功耗 活动模式:1 MHz,2.2V 时为 200uA 待机模式:0.7uA 掉电模式:(RAM 数据保持):0.1uA 五种省电模式 从待机到唤醒模式相应时间不超过 6us 频率锁相环,FLL+ 16 位精简指令系统,指令周期 125us 8 MHz 带有三个捕获/比较寄存器的 16 位定时器(Timer_A) 带有七个捕获/比较寄存器的 16 位定时器(Timer_B) 12-bit A/D (8 + 4 通道, 转换 sbit beep=P26;/将蜂鸣器模块的控制信号与 P2.6 连接 void delay(const unsigned int DELAY) 南京师范大学物理科学与技术学院 - 25 - unsigned int x, y; for (x = 0; x /*定义蜂鸣器接口*/ sbit beep=P26; /*延时 DELAY ms*/ 南京师范大学物理科学与技术学院 - 29 - void delay(const unsigned int DELAY) unsigned int x, y; for (x = 0; x NewWorkspace 命令,然后开启一个空白工作区窗口: 选择主菜单 ProjectCreate New Project: 弹出生成新项目窗口中选择 Empty project。 南京师范大学物理科学与技术学院 - 35 - 点击 OK: 选择保存路径后,点击保存,出现: 新工程建立完毕。 (2) 加入文件: 南京师范大学物理科学与技术学院 - 36 - 新建一个空白文件: 写好程序后,选择主菜单的 File Save 命令。 输入文件名后加 ”.c” ,保存为 C 文件。 右击工程名,将写好的程序添加进去 AddAdd Files。 南京师范大学物理科学与技术学院 - 37 - 选好后点击打开。 如果工程很庞大,需要添加的文件很多。可以用 AddAdd Group,加入新的组,将加 入的文件分组管理。 南京师范大学物理科学与技术学院 - 38 - 4.2.3 IAR 软件工程属性设置软件工程属性设置 右击工程名,点击 Option: 可以看到: 首先是在 General Option 中修改 Device。 南京师范大学物理科学与技术学院 - 39 - 选择所使用的芯片信号,然后在 Debugger 中修改 Driver。 Simulator 是用软件仿真,FET Debugger 是用 Jtag 调试,之后在 FET Debugger 中修改 Connection。 第一项是 TI 的 USB-Jtag 可以用 USB 口调试,第二项是普通的 Jtag,要用到计算机 的并口调试。 4.2.4 程序的调试程序的调试 添加好文件后,可在工程下看到 选择需要调试的文件,如 main.c,选择(Compile)按钮,对 main.c 进行编译, 第一次编译需要保存 Workspace Files。 南京师范大学物理科学与技术学院 - 40 - 改好文件名和路径后点“保存” 。 底下会出现 Build 信息窗口。 点击(make) ,如果在信息窗口显示没有错误,就可以点击(Debug) 。 进行调试,若已经用下载器和开发板相连,此时程序就能烧入芯片并进入调试界面: 南京师范大学物理科学与技术学院 - 41 - 表 4-1 程序调试命令表 南京师范大学物理科学与技术学院 - 42 - 第第 5 章章 R8C 单片机编程平台单片机编程平台 HEW 使用简介使用简介 5.15.1 HEW 简介简介 HEW 是高性能嵌入工作平台(High-performance Embedded Workshop),是一种用于 开发应用各种不同的目标处理器的灵活集成环境,其内嵌了汇编器、文本编辑器、调试器 等诸多软件工具。配合功能强大的 c 编译器,在 HEW 的统一开发环境下,能够仿真和调 试包括 R8C 系列瑞萨单片机。 进行仿真调试前需要装好下面几个软件: HEW,M16CFousDebuggerv103R00,PL2303 驱动。注意:按顺序先安装 HEW,然后装 M16CFousDebugge rv103R00,并且这两个安装在同一个目录下。 5.2 HEW 的使用的使用 5.2.1 HEW 的窗口的窗口 如图 5.1 所示,HEW 进行调试时的窗口说明: 图图 5.1 窗口界面窗口界面 1.系统菜单 2.工具栏,在调试时一般用 Debug、Debug run 等工具栏 3.工作空间结构栏 4.主程序窗口 5.信息窗口,其中常使用 build 窗口进行错误查找,使用 find in files 窗口进行字符串的查询 南京师范大学物理科学与技术学院 - 43 - 6.程序状态栏 菜单简介如图 5.2 所示。 图图 5.2 菜单说明菜单说明 5.2.2 HEW 的使用方法的使用方法 (1)启动 HEW。 (可以通过开始菜单所有程序RenesasHew-performance Embedded WorkspaceHew-performance Embedded Workspace 启动。 ) (2)HEW 将弹出如图 5.3 所示的欢迎界面,选择创建新的工作空间。 图图 5.3 新建工程项目新建工程项目 (3)如下图 5.4 所示,设定好工作空间和工程的名称以及保存路径后,选择 M16 族, 并在对话框左侧的 Project 栏中选择 Application。 图图 5.4 设定项目名称和路径设定项目名称和路径 (4)如图 5.5 所示,选择单片机类型 南京师范大学物理科学与技术学院 - 44 - 图图 5.5 选择单片机类型选择单片机类型 (5)指定启动文件,使用默认设置,如图 5.6 图图 5.6 指定启动文件指定启动文件 (6)生成文件内容设置,如图 5.7 所示 图图 5.7 文件内容设置文件内容设置 (7)设定堆栈大小,使用默认大小,如图 5.8 所示 南京师范大学物理科学与技术学院 - 45 - 图图 5.8 设定堆栈设定堆栈 (8)选择使用的调试器,这里选 M16C R8C FoUSB/UART 和 M16C R8C Simulator,其 中 M16C R8C FoUSB/UART 支持使用 FoUSB 调试器和进行串口调试,M16C R8C Simulator 是软件仿真,如图 5.9 所示。 图图 5.9 选择调试器选择调试器 (9)如使用硬件仿真器,则选择 M16C R8C FoUSB/UART,如图 5.10 所示: 图图 5.105.10 调试器配置调试器配置 (10)如仅进行软件仿真,则选择 M16C R8C Simulator,如图 5.11 所示: 南京师范大学物理科学与技术学院 - 46 - 图 5.11 调试器配置 (11)出现如下图 5.12 界面,单击 finish,完成新工作空间的创建 图 5.12 文件名设置 (12)在主程序窗口编写程序 (13)点击 filesave all,save session,保存文件 (14)单击,编译 (15)编译无错,进行调试前的设定,在 Debug 菜单中选择 Debug Settings 命令进行 如下设定 南京师范大学物理科学与技术学院 - 47 - 图图 5.13 硬件硬件仿真目标设置仿真目标设置 图图 5.14 硬件硬件仿真选项仿真选项 (16)在工具栏中也可选择调试配置,如图 5.15 选择硬件仿真选项。 图图 5.15 菜单栏仿真配置菜单栏仿真配置 (17)插好 USB 线,接通单片机的电源,弹出如下窗口界面,点击 Refer进行芯片 选择(波特率可选 4800 或 9600),串口根据各机器不同选择相匹配的串口(也可点击 南京师范大学物理科学与技术学院 - 48 - ,同样进行如下设定) 图图 5.16 芯片和串口配置芯片和串口配置 (18)点击“确定”,出现以下下载界面如图 5.17 图图 5.17 监控程序下载监控程序下载 (19)等监控程序下载成功,可选择 Debugger 中 Down Modules 中的目标程序下载到单 片机中,出现如下图 5.18 所示 南京师范大学物理科学与技术学院 - 49 - 图图 5.185.18 程序下载程序下载 (20)下载完成后可以点击,运行程序,并进行在线调试,也可以进行脱机运行,将 单片机板上的开关拨至脱机即可。 5.2.3 程序的调试程序的调试 (1)无断点连续运行(free run):这一般用于宏观的观察程序运行的情况,在调试初 期和结束调试时常使用。其特点是:不受调试中断(中断优先级高于所有外围中断)的干 预,所有外围功能正常工作,对发现问题的流程明显但是往往不够具体。 (2)带断点连续运行(Go with break):这种方法除了能用于检测程序是否执行功能 模块外,还能验证在断点前的执行的正确性,将光标放在需要设断点的位置,单击即 可设定断点(断点必须设置在有地址显示的行,最多设定 4 个硬件断点),单击 Reset 供 ,程序就将运行到断点处,黄色高亮的行,点击可以取消断点,如下图 5.19 图图 5.19 断点调试断点调试 (3)单步运行(Step):这种方法常和带断点连续运行结合起来使用,单步运行 对于局部的程序调试有作用,能够很清楚的了解程序的实际走向。 南京师范大学物理科学与技术学院 - 50 - 第六章第六章 实验程序集实验程序集 6.1 MCS-51 单片机实验程序集单片机实验程序集 实验开始前先将实验箱电源线接到 220V 交流电插座上,将 RS232 串口线一端与台式 机的 9 针串口连接,另一端与实验箱上 MCS-51 的最小系统板上的 9 针串口相连。注意: 有的台式机有两个 9 针串口,分别为 COM1 和 COM2,任意一个均可,但在 KEIL 软件或 STC 单片机的 ISP 软件中要作相应的设置。打开实验箱主板左上角的电源开关,再按下 MCS-51 最小系统板上的电源按键即可进行实验。若台式计算机或笔记本电脑没有 9 针串 口,则不使用 RS232 串口线,而使用 USB 信号线进行连接,USB 信号线一端插入电脑的 USB 口,另一端插入 MCS-51 最小系统板的 USB 口,电脑上应事先安装 USB 转 UART 芯 片 PL2303 的驱动程序,这样查询电脑的硬件可以发现相应的虚拟串口(可能为 COM2、COM3 或 COM4 等) ,在 KEIL 仿真软件或 ISP 程序中作相应设置即可。 6.1.1 蜂鸣器的驱动蜂鸣器的驱动 电路见图 1-18. 通过 JP13 将控制信号跳线至 P2.6。参考程序: #include sbit beep=P26; void delay(const unsigned int DELAY) unsigned int x, y; for (x = 0; x void main(void) /定义流水灯的花样数据 unsigned char code design46=0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f, 0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff, 0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x0, 0xe7,0xdb,0xbd,0x7e,0xff,0xff,0x7e,0xbd,0xdb,0xe7, 0x0,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff; unsigned int a;/定义循环变量 unsigned char b; do for(b=0;b void main (void) P2=0x00; / 使能右面第一个数码管 P0=0x06; / 显示数字 1 while(1); 参考程序 2: /*实现最右的第一个数码管的闪烁显示*/ #include /*软件延时大约 DELAY 个毫秒*/ void Software_Delay(const unsigned int DELAY) 南京师范大学物理科学与技术学院 - 52 - unsigned int x, y; for (x = 0; x /*字符 09 所对应的共阴极数码管字形表*/ unsigned char code table10=0x3f,6,0x5b,0x4f,0x66,0x6d,0x7d,7,0x7f,0x6f; /*软件延时大约 DELAY 个毫秒*/ void Software_Delay(const unsigned int DELAY) unsigned int x, y; for (x = 0; x /*Digital LED 接口描述*/ /P0-(a-g,dot) 选择数码管的段, 在双排针 JP3 上用短路帽将 P0 口与数码管的各段连接起 来 / P22、P21、 P20 进行 3-8 译码选择数码管的位,在双排针 JP2 上用短路帽将 P2.0、P2.1、P2.2 与 74LS138 的 A、B、C 输入口连接起来 /*显示数据表*/ unsigned char code table16=0x3f,6,0x5b,0x4f, 0x66,0x6d,0x7d,7,0x7f,0x6f,0x77, 0x7c,0x58,0x5e,0x79,0x71; /*显示位选择表*/ unsigned char code digit8=0xf7,0xf6,0xf5,0xf4,0xf3,0xf2,0xf1,0xf0; /*定义一个数组用于存放将要显示的值*/ unsigned char d8=1,2,3,4,5,6,7,8; /*软件延时 DELAY ms*/ void Software_Delay(const unsigned int DELAY) unsigned int x, y; for (x = 0; x /*led 接口描述*/ /P0-(a-g,dot) 显示 /选择使能控制段 /P22 P21 P20 的二进制数组合分别驱动 8 个 LED 数码管 /000 组合选择右边第一个数码管 /111 组合选择左边第一个数码管,依此类推 /*显示字形数据表 对应 09 ,a-f*/ unsigned char code table16=0x3f,6,0x5b,0x4f, 0x66,0x6d,0x7d,7,0x7f,0x6f,0x77, 0x7c,0x58,0x5e,0x79,0x71; /*显示选择表*/ unsigned char code digit8=0xf7,0xf6,0xf5,0xf4,0xf3,0xf2,0xf1,0xf0; /*定义一个数组用于存放将要显示的值*/ unsigned char d8=1,2,3,4,5,6,7,8; /*定义一个全局变量 number*/ unsigned char number; /number 表示第几个显示 07 /*定时器 0 中断服务程序*/ void timer0(void) interrupt 1 TR0=0; /停止定时器 0 TH0=(65536-1000)/256; /通过定时器定时延时大约 1ms 左右 TL0=(65536-1000)%256; number=(number+1)%8; P2=digitnumber; /选择第 number 个数码管显示 P0=tablednumber; /查表显示要显示的值 TR0=1; /启动定时器 0 /*定时器初始化函数*/ void Init_Timer (void) TMOD=0x01; / TH0=(65536-1000)/256; /通过定时器定时延时大约 1ms 左右 TL0=(65536-1000)%256; EA=1; ET0=1; TR0=1; /*主函数*/ 南京师范大学物理科学与技术学院 - 55 - /效果就是用定时器服务程序的实现数码管动态显示 1234 /*/ void main (void) Init_Timer(); while(1); 参考程序 3: #include /*led 接口描述*/ /P0-(a-g,dot) 显示 /选择使能控制段 /P22 P21 P20 的二进制数组合分别驱动 8 个 LED 数码管 /000 组合选择右边第一个数码管 /111 组合选择左边第一个数码管,依此类推 /*显示数据表*/ /前 16 个对应 09 ,a-f,后面三个 0x73 0x40,0x00 分别对应字符 P,-,空 unsigned char code table19=0x3f,6,0x5b,0x4f, 0x66,0x6d,0x7d,7,0x7f,0x6f,0x77, 0x7c,0x58,0x5e,0x79,0x71,0x73,0x40,0x00; /*显示选择表*/ unsigned char code digit8=0xf7,0xf6,0xf5,0xf4,0xf3,0xf2,0xf1,0xf0; /*定义一个数组用于存放将要显示的值*/ unsigned char d8=16,17,17,17,17,17,17,17; /*定义一个全局变量 number*/ unsigned char number; /number 表示第几个显示 07 /*定义一个全局变量 flag*/ unsigned char flag;/指示当前状态的变量 100 灭.用于闪烁 /*软件延时 DELAY ms*/ void Software_Delay(const unsigned int DELAY) unsigned int x, y; for (x = 0; x /*定义输出接口*/ /beep=0;响 beep1; 不响 /*这里 beep 表示蜂鸣器,电路板上通过 JP13 跳线连接到 P26*/ sbit beep=P26; /*定时器初始化函数*/ void Init_Timer(void) TMOD=0x11; /定时器方式控制字 T0 :16 位定时 T1:16 位定时 TH0=0x3C; /定时器 0 高位 TL0=0xB0; /定时器 0 低位 EA=1; /开 CPU 中断 ET0=1; /开定时器 0 中断 TR0=1; /启动定时器 0 /*定时器 0 的中断服务程序*/ /在定时器 0 工作在 16 位定时器(定时工作方式 1)时,需要手动载入定时常数 /在中断服务程序中有定时常数的载入 void timer0 (void) interrupt 1 using 1 TH0=0x3C; /定时常数的重新载入 TL0=0xB0; beep=!beep; /让蜂鸣器一会 50ms 响 一会 50ms 停 /*主函数*/ /主函数除初始化函数之外,就是一个 while 死循环,是最简单的一个结构 main() Init_Timer(); /初始化函数 while(1); /while 死循环 参考程序 2: /电路见图 1-10。在 JP1 上用短路帽把 5V 电源供给流水灯(Power for Water LED) 。 /利用短路帽将 P0 口与 8 只 LED 发光管连接,通过控制 P0 口线的输出使 8 只 LED 按预 想方式点亮 #include /*定义一个流水灯的花样特征表*/ unsigned char code design46=0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f, 0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff, 0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x0, 0xe7,0xdb,0xbd,0x7e,0xff,0xff,0x7e,0xbd,0xdb,0xe7, 0x0,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff; /定义一个循环变量。 南京师范大学物理科学与技术学院 - 58 - unsigned char n=0; /*定时器初始化函数*/ void Init_Timer(void) TMOD=0x11; /定时器方式控制字 T0 :16 位定时 T1:16 位定时 TH0=0x3c; /定时器 0 高位 TL0=0xb0; /定时器 0 低位 EA=1; /开 CPU 中断 ET0=1; /开定时器 0 中断 TR0=1; /启动定时器 0 /*定时器 0 中断服务程序*/ /在定时器 0 工作在 16 位定时工作方式 1 时,需要载入定时常数 void timer0 (void) interrupt 1 using 1 TH0=0x3C; /定时常数的重新载入,定时 50ms TL0=0xB0; n=(n+1)%46; /切换流水灯的花样 P0=designn; /切换 led 显示内容 /*主函数*/ main() Init_Timer(); /初始化函数 while(1); /while 死循环 6.1.6 单片机串行口通信实验单片机串行口通信实验 2 个串口通信实验程序,参考程序 1 的功能是单片机不断发送字符,参考程序 2 的功 能是将 PC 机发过来的数据送至 P0 口驱动流水灯,同时将此数据发回 PC 机。需要用到串 口调试助手软件。对 SST 单片机,先在 KEIL 软件中进行程序下载,将最小系统板上的 P3.6 跳线至低电平,然后关闭 KEIL 程序,打开串口调试助手,按下最小系统板上的复位键重 新运行程序即可,运行结果在串口调试助手的显示框中;对 STC 单片机程序下载后关闭下 载软件,打开串口调试助手,重新上电运行即可,数据的输入输出可在串口调试助手的对 话框中进行显示。 参考程序 1: #include /*发送一个字节函数*/ sent_char(unsigned char schar) SBUF=schar; while(TI=0); 南京师范大学物理科学与技术学院 - 59 - TI=0; /*主函数*/ main() unsigned char string13=“Hello,World!n“; unsigned char i; SCON = 0x50; /* SCON: 串口方式 1, 8 位异步通信,接收使能*/ TMOD = 0x20; /*波特率发生需用定时器 1:TMOD: 定时器 1, 8 位自动重装 */ TH1 = 0xfd; /* TH1:自动重装值,9600baud rate,晶振 11.0592MHz */ TR1 = 1; /* TR1:启动定时器 1 */ while(1) for(i=0;i /*在 JP1 上用短路帽把 5V 电源供给流水灯(Power for Water LED) 。利用短路帽将 P0 口与 8 只 LED 发光管(流水灯)连接,通过控制 P0 口线的输出使 8 只 LED 按预想方式点亮*/ /*串口中断处理函数*/ void receive(void) interrupt 4 using 1 unsigned char sdatain; while(!RI); sdatain=SBUF; RI=0; ES=0; SCON=0x40; SBUF=sdatain; P0 = sdatain; SCON=0x50; ES=1; /*主函数*/ main() SCON = 0x50; /* SCON: 串口方式 1, 8 位异步通信,接收使能*/ TMOD = 0x20; /*波特率发生需用定时器 1:TMOD: 定时器 1, 8 位自动重装 */ PCON = 0x00; TH1 = 0xfd; /* TH1:自动重装值,9600baud rate,晶振 11.0592MHz */ TL1 = 0xfd; ET1 = 0; 南京师范大学物理科学与技术学院 - 60 - ES = 1; EA = 1; TR1 = 1; /* TR1:启动定时器 1 */ while(1); 6.1.7 独立键盘独立键盘实验实验 电路见 1-14. 主板共 8 个独立按键,通过 JP10 跳线连接至 P1 口。自定义按键 K0K7 的 键值为 18。参考程序 1 将键值送 LED 数码管显示;参考程序 2 完成按键控制 LED 数码 管,每按一下 K0 键,某位 LED 显示数值加 1,每按一下 K7 键,LED 显示数值减 1,实 现 LED 上 0-9 的循环显示;参考程序 3 完成 8 位 LED 动态显示和按键输入(指定位) ,每 个按键控制一位数码管,按任意一个键,都在相应的 LED 上实现数字加 1。 参考程序参考程序 1: /将按键编号送 LED 数码管显示 #include /*led 接口描述*/ /P0-(a-g,dot) 显示 /选择使能控制段 /P22 P21 P20 的二进制数组合分别驱动 8 个 LED 数码管 /000 组合选择右边第一个数码管 /111 组合选择左边第一个数码管,依此类推 /*显示数据表*/ /前 16 个对应 09 ,a-f,后面三个 0x73 0x40,0x00 分别对应字符 P,-,空 unsigned char code table19=0x3f,6,0x5b,0x4f, 0x66,0x6d,0x7d,7,0x7f,0x6f,0x77, 0x7c,0x58,0x5e,0x79,0x71,0x73,0x40,0x00; /*按键接口描述*/ /8 个按键通过 JP10 跳线接到 P1 口 /*显示选择表*/ unsigned char
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年超声波细胞粉碎机行业研究报告及未来行业发展趋势预测
- 2025年复刻版行业研究报告及未来行业发展趋势预测
- 2025年检重机行业研究报告及未来行业发展趋势预测
- 2025年废弃矿井资源再利用与矿山安全生产技术升级报告
- 企业劳动合同风险防范及范本解析
- 物业管理行业服务变革与增值业务拓展2025年客户满意度研究报告
- 城市桥梁拆除工程施工方案范文
- 道路桥梁施工专项安全方案
- 软件开发生命周期管理全流程方案
- 数字营销项目运营方案
- 小箱梁运输及架设施工危险源辨识及分析
- 舒尔特训练方格 可打印(5×5)
- 汉语拼音字母描红(A4打印)
- 中国文化概论·第3章·第1节
- 构建“可视化”数学课堂促进学生深度学习
- 财务报销流程培训PPT课件:日常费用报销
- 冷弯薄壁型钢房屋结构介绍ppt课件
- 水库大坝安全监测设施检查测试方法、安装埋设考证表.doc
- 北京语言大学网络教育学院 开具证明 申请表
- 工业中间投入计算表
- 25吨吊车计算书
评论
0/150
提交评论