东南大学MCU课程设计报告
- 格式:doc
- 大小:1.12 MB
- 文档页数:8
东南大学自动化学院微机实验及课程设计报告《参数可调波形发生器》姓名:学号:专业:实验室:组别:同组人员:设计时间:评定成绩:审阅教师:目录一.设计目的和要求--------------------------------------3 二.原理设计--------------------------------------------4 三.方案论证与实现--------------------------------------6 四.设计思路及流程图--------------------------------------------------------7 五.编程实现--------------------------------------------------------------------10六.方案测试与结果分析----------------------------------18 六.改进与提高------------------------------------------19 七.分析与总结------------------------------------------19一、设计要求1)基本要求编制1 个参数在线可调的波形发生程序,由D/A 输出,构成参数在线可调的波形发生器,并用示波器观察波形。
函数波形可选f(t)=asin(bt),其中a、b参数在线可调(也可自己选择,但要求至少2 个参数可调且调节很明显)。
参数调节采用如下两种方式之一:(1)两个可调电位器输出通过A/D 转换后作为可调参数;(2)参数通过实验装置上的键盘实时修改(调整);(3)精确时间,开关选择标准信号输出(例如a=2V, b=100πRAD/s,即50Hz 正弦波)。
2)设计提示(1)当用电位器调节参数时,输出零不能对应相应的参数值就为零;(2)当通过键盘修改参数时,先键入参数名如“a”,显示当前参数值,修改后再键入参数名,则修改参数完成,随后输出波形发生变化。
东南大学《微机实验及课程设计》实验报告实验二、汇编语言程序设计姓名:学号:专业:实验室评定成绩:审阅教师:实验目的:进一步熟悉汇编语言的编辑、宏汇编、链接和运行的基本概念熟练掌握动态调试程序TD/DEBUG的常用指令和窗口功能,学会用TD/DEBUG调试程序,修改数据和寄存器环境熟悉掌握汇编语言程序的典型数据结构设计、典型程序控制方法,了解DOS/BIOS功能调用的基本方法实验内容:基本操作内容:(1)、掌握进入全屏命令行方式、修改环境的方法启动开始菜单里的运行选项,键入cmd,即可启动命令行方式,在其属性栏中选择全屏即可进入全屏命令行方式。
(2)、确定源程序的存放目录,构建个人实验环境。
(3)、建立、编辑汇编源程序选择程序样本,构建典型的汇编程序框架,包括基本的数据段、堆栈段和代码段,编写程序实现如下功能:必做:2-1.从键盘输入任意字符串后,存入自定义存储单元,判断处理后将字符串中小写字母转换为大写字母(其它字符不变),并按原顺序将这些字符在屏幕上显示出来(参考程序P36),并显示字符串“The total number is XXXXX”。
2-2.从键盘输入一个0~255之间的十进制数,将其转换为16进制数,并在屏幕上显示变换前后的数据(参考程序P38)。
选作:2-3、从键盘输入5个十六进制带符号数(范围为-128~+127),请将它们按从大到小排序,并将排序前后的数据显示在屏幕上。
(4)、用汇编工具(MASM/TASM.EXE)汇编源程序产生OBJ目标文件,将所要变异的源程序文件(文件名.asm)放到带汇编工具的文件夹中,在全屏命令行模式下,进入该文件夹,输入tasm 文件名.asm,回车后即可编译产生OBJ目标文件。
(5)、用链接程序(LINK/TLINK.EXE)产生EXE可执行文件,产生OBJ目标文件后,继续输入:tlink 文件名.obj,回车后即可产生EXE可执行文件。
(6)、用调试工具软件(TD.EXE/)调试执行程序○1在Windows中启动TDa、仅启动TD而不载入要调试的程序双击TD.EXE文件名,Windows就会打开一个DOS窗口并启动TD。
计算机硬件课程设计设计报告学号:09008112 姓名:马京亚成绩:学号:09008123 姓名:郭晨成绩:东南大学计算机科学与工程学院二〇一〇年十一月目录一、设计名称: (3)二、实验目的: (3)三、实验任务: (3)四、设计方案: (4)1.数据格式和指令系统 (4)2.硬件结构设计 (5)3.数据通路设计 (6)4.控制器设计 (7)5.指令的微程序表 (10)6.总电路图及Rom (11)五、设计优化 (12)1.更改时序 (12)2.增加指令 (13)3.减少ROM空间 (17)4.总电路图 (19)六、测试结果与性能分析 (20)1.测试程序 (20)2.时序图 (21)3.编译报告中资源使用情况 (22)七、课程设计总结 (23)微程序控制的模型计算机的设计与调试二、实验目的:1.综合运用“计算机组成原理”和“数字电路”等课程的知识,通过对模型机的设计和调试,加深对计算机各部件工作原理的认识。
2.进一步掌握运用EDA 技术进行设计和调试的工作方法。
3.掌握计算机硬件设计的思想,方法及工作过程,进一步培养工程设计的能力。
三、实验任务:1.自行规定数据格式和指令格式,在所提供的条件范围内设计一台由微程序控制的模型计算机。
2.根据设计方案,将模型机调试成功,对设计进行优化。
3.整理出相关文件。
(1)数据格式和指令系统。
(2)总框图。
(3)详细电路图。
(4)微指令格式和微程序。
(5)调试过程和测试结果(包括测试程序)。
1.数据格式和指令系统采用8 位数据通路,数据采用8 位二进制定点表示。
7 6 5 4 3 2 1 0.设置7 条机器指令和2条面板操作指令(1)面板操作指令a.输入地址为PC 置初始值,即输入程序的起始地址,当K1 开关置“1”,K2 开关置“0”时执行此操作;b.输入程序将程序输入到内存的指定区域,当K1,K2 开关均置“1”时,由面板输入开关输入程序;c.本模型机设置K3 开关,K3 置1 表示执行单步操作;d. START 表示启动开关。
测控系统设计技术实验指导书东南大学仪器科学与工程学院2011年9月前言本教程适用于测控类及弱电类专业大学本科生以下课程的实验和实践教学:《智能仪器原理与设计技术》、《测控技术及系统设计》等;也适用于测控类及弱电类专业硕士研究生以下课程的实验和实践教学:《智能仪器设计》、《智能测控系统设计》等。
实验装置采用模块化设计,将有相互联系的各专业课程的实验组合起来,包含这些专业课程需要的若干单个实验,最后形成“从传感器→前置调理、接口电路→A/D转换电路→计算机(单片机)→后置接口、驱动电路→测控对象”接近实际应用系统的综合实验。
训练和提高学生在软、硬件设计调试方面的能力。
同时,帮助学生将各专业课程内容综合起来,融会贯通,形成系统的概念,迅速迈过从理论到实际的门槛。
本实验装置的操作过程在设置上尽量接近实际应用系统的设计调试过程。
学生做完实验后,就能够独立进行实际应用系统的软、硬件设计调试。
大多数实验的内容都设置了基本要求和高级要求,能够满足不同层次学生的需要。
实验装置“XYZ22型综合实验仪”获江苏省教育厅2000年自制实验仪器设备评比三等奖。
东南大学仪器科学与工程学院祝学云2011年9月目录第一章实验设备介绍 (1)一.实验设备的联接 (1)二.伟福(WAVE)G6W型单片机仿真开发器使用简介 (1)三.综合实验仪介绍 (2)第二章基本程序设计实验 (11)实验一数据传送实验 (11)实验二多字节十进制加法实验 (13)第三章 I/O口(8255)扩展及外部中断实验 (15)实验三8255输入输出实验 (15)实验四外部中断实验 (18)第四章显示器、键盘及BCD拨码盘扩展实验 (21)实验五动态LED显示实验 (21)实验六BCD拨码盘扩展实验 (25)实验七键盘显示器扩展实验 (28)第五章计数器定时器实验 (32)实验八计数器实验 (32)实验九定时器(时钟)实验 (35)第六章串行通信实验 (39)实验十串行口实验 (39)实验十一键盘键值远距离传输实验 (44)第七章 D/A实验 (49)实验十二D/A转换实验(DAC0832) (49)实验十三程控放大器实验 (51)实验十四程控信号发生器实验 (54)第八章 A/D转换实验 (49)实验十五A/D转换实验(ADC0809) (59)实验十六A/D转换实验(ICL7135) (62)第九章数据处理程序设计实验 (66)实验十七数字滤波程序设计实验 (66)实验十八非线性校正及标度变换程序设计实验 (72)第十章测量与控制实验 (81)实验十九频率测量实验 (81)实验二十温度测量实验 (86)实验二十一温度测量控制实验 (99)第十一章自主设计型实验 (125)实验二十二简易数字电压表设计 (125)实验二十三简易温度测量系统设计 (127)实验二十四简易温度测量控制系统设计 (130)附录实验仪面板示意图 (133)第一章实验设备介绍一、实验设备的联接图1-1 设备联接1、单片机仿真开发器通信电缆接PC机串行口1或2;2、单片机仿真开发器仿真头接实验仪;3、根据实验需要,实验仪接或不接测量控制对象;4、先接通仿真器电源,再接通实验仪电源;5、实验过程中,需要连接硬件模块的,先关闭电源再接线,检查正确后打开电源。
MCU及接口技术实验教程课程设计1. 简介本篇文档是关于MCU及接口技术实验教程课程设计的详细内容阐述。
该课程设计旨在帮助学生通过实践学习MCU的基本原理和应用,包括常见单片机架构、编程原理和MCU与外界接口的应用等方面。
2. 实验内容本课程设计共分为三个实验,分别是:•实验一:LED闪烁控制•实验二:按键中断控制LED亮灭•实验三:外部中断应用2.1 实验一:LED闪烁控制2.1.1 实验目的本实验旨在帮助学生熟悉MCU的基本编程方法,并掌握LED闪烁的控制方法。
2.1.2 实验原理LED是一种电子元件,主要用于信号指示、显示灯等。
为了控制LED的亮灭,需要连上MCU的GPIO口,并按照高、低电平控制LED的亮灭。
2.1.3 实验步骤1.确定MCU的GPIO口,将LED连接到GPIO口2.编写程序,配置GPIO口初值3.在主程序中设置循环控制,控制LED的亮灭4.下载程序,观察LED的闪烁状态2.1.4 实验结果经过实验,LED应该能够按照编写的程序进行闪烁,证明程序编写及控制方法正确。
2.2 实验二:按键中断控制LED亮灭2.2.1 实验目的本实验旨在帮助学生进一步掌握中断编程方法,了解按钮中断的使用方法。
2.2.2 实验原理按键中断控制LED亮灭是一种基础应用,可用于实现按钮控制开关灯等功能。
当MCU检测到按键按下时,会产生中断请求,MCU会在中断服务函数里面处理相关操作。
通过中断服务函数可以实现按钮控制LED 开关等功能。
2.2.3 实验步骤1.将按键与MCU的GPIO口相连2.配置按键对应GPIO口的中断方式3.编写程序,实现中断服务函数和控制LED亮灭的主函数4.下载程序,观察LED的亮灭状态2.2.4 实验结果经过实验,当按键按下时,LED灯能够根据设置的程序进行亮灭,证明按键中断控制LED亮灭方法正确。
2.3 实验三:外部中断应用2.3.1 实验目的本实验主要是让学生进一步了解外部中断的使用方法,并掌握外部中断的应用方法。
东南大学生物科学与医学工程学院单片机系统设计与应用实验报告第三次实验实验名称:数据传送实验专业:生物医学工程姓名:学号:同组人员:学号:实验室: 医用电子技术实验中心(综合楼716)实验时间:评定成绩:审阅教师:目录一、实验题目 (3)二、实验目的 (3)三、实验器材 (3)四、实验内容 (3)1.实验方案 (3)1.1方案流程图 (3)1.2源程序 (5)2.实验结果及分析 (12)2.1方案一结果 (12)2.2方案二结果 (12)2.3课上更改程序结果 (13)3. 程序调试 (14)五、心得体会 (14)六、参考文献 (14)一、实验题目1.将指定内存中的数按正负数分别存放于内存和外部RAM中,并对负数进行求补后再放入内存指定单元。
二、实验目的1.进一步掌握程序的编辑、汇编及调试方法;2.掌握单片机内部RAM和外部RAM的数据操作;3.了解单片机系统地址分配概念。
三、实验器材1、G6W仿真器一台2、MCS—51实验板一台3、PC机一台4、电源一台四、实验内容1.以数据表格形式在ROM中建立一个含有正数和负数的表格,数据长度为16个字节,要求放置八个正数、八个负数,正、负数应离散随机放置,不允许三个以上同类型数据连续放置,数据的具体内容自行确定;2.编制程序,将数据表格中的数据读出并按正、负数归类,正数送入首地址为40H的内部RAM中;负数送入首地址为0B000H的外部RAM中;3.将首地址为0B000H的外部RAM中的数据取出并求其绝对值,然后送入内部RAM 的48H~4FH单元。
1.实验方案1.1方案流程图1.2源程序本次试验,我先后写了两个程序,基本原理相似。
⑴先初始化,将各地址存入寄存器中,便于操作。
⑵查表取数,判断数的正负,将正负数分别存放在指定地址。
注意地址指针的入栈保护。
⑶判断数是否取完,取完后对存放在外RAM中的负数取出求补放入指定内存。
方案一ORG 0000HAJMP MAINORG 0030HMAIN:MOV SP,#70H ;设置堆栈指针MOV A,#10H ;保存个数MOV DPTR,#0E00H ;表地址MOV R0,#0B0H ;负数存放地址MOV 12H,#00HMOV R1,#40H ;正数存放地址START:PUSH A ;入栈保护PUSH DPHPUSH DPLMOV A,#00H ;寄存器A初始化MOVC A,@A+DPTR ;取表中数至寄存器A判断正负MOV 11H,A ;11H暂存数RLC A ;取标志位JC FUZHENG:MOV A,11HMOV @R1,A ;送至正数地址单元INC R1 ;正数地址加1POP DPLPOP DPHPOP AINC DPL ;指向表中下一个数DEC A ;个数减一JNZ START ;不为0继续操作JMP DO1 ;否则到DO1FU:MOV A,11HMOV DPH,R0 ;DPTR改为指向负数地址MOV DPL,12HMOVX @DPTR,A ;负数送外RAM中的负数地址中INC 12H ;指向下一个地址POP DPLPOP DPHPOP AINC DPL ;指向下一个地址DEC A ;个数减一JNZ STARTDO1:MOV A,#08H ;负数个数MOV DPTR,#0B000H ;指向负数所在首地址DO:PUSH AMOVX A,@DPTR ;取负数CPL A ;取反加1INC AMOV @R1,A ;送入48H地址INC R1INC DPTRPOP ADEC A ;个数减一JNZ DO ;没做完则重复SJMP $ORG 0E00H ;表TABLE:DB 17H,10H,81H,25HDB 0B2H,0A4H,30H,08HDB 0D6H,54H,01H,8FHDB 0C0H,27H,0CDH,0B1H方案二ORG 0000HAJMP MAINORG 0030HMAIN:MOV R0,#0F0H ;R0存放表的高位地址MOV R2,#00H ; R2存放表的低位地址MOV R1,#40H ; R1存放正数地址MOV R3,#10H ;R3存放数的个数MOV DPTR,#0B000H;外部RAM地址PUSH DPHPUSH DPLSTART:MOV DPH,R0 ;取表地址MOV DPL,R2CLR AMOVC A,@A+DPTR ;取数MOV R4,A ;数暂存于R4RLC A ;循环左移得标志位JC FU ;判断正负,若为负数则到FU ZHENG:MOV A,R4MOV @R1,A ;正数放入正数地址单元INC R1 ;地址加一INC R2DJNZ R3,START ;数没有取完则转STARTJMP END1 ;否则转END1FU:MOV A,R4POP DPLPOP DPHMOVX @DPTR,A ;取数INC DPTR ;地址加一PUSH DPHPUSH DPLINC R2DJNZ R3,START ;判断是否取完END1:MOV DPTR,#0B000H ;指向外部RAMMOV R5,#08H ;负数个数DO:MOVX A,@DPTR ;取数CPL A ;求补INC AMOV @R1,AINC R1INC DPTRDJNZ R5,DOORG 0F000H ;表DB 18H, 30H, 0A0H, 50HDB 87H, 0B2H, 1CH, 0D6HDB 28H, 8FH, 0C3H, 10HDB 1CH, 0CDH, 68H, 0D6H课上根据老师的要求,改变了外RAM地址,正数地址以及负数地址,程序如下。
东南大学自动化学院课程名称:M C U技术及课程设计第一次实验实验一:I O实验—L E D流水灯实验二:I O实验—按键输入中断与查询院(系):自动化专业:自动化姓名:学号:实验室:实验组别:同组人员:实验时间:2015年4月30日评定成绩:审阅教师:实验一:I O实验—L E D流水灯一、实验目的与要求1.实验目的(1)了解M S P430F6638I O口的基本功能。
(2)熟悉I O口的基本操作。
2.实验要求编写程序,调用头文件m s p430f6638.h,使开发板上3个L E D依次点亮,采用软件延时方式(约0.5~1s左右,人眼能够分辨即可)使得每个灯轮流点亮一段时间,实现流水灯的效果。
二、实验原理(1)开发板上的3个L E D灯和I O口对应关系如图1-1所示。
图1-1实验箱L E D引脚连接图其中L E D_Y E L L O W---P4.6、L E D_G R E E N---P4.5、L E D_R E D---P4.4,具体见图1-2。
图1-2开发板上L E D的电路和实物图完成本实验需要用到两个寄存器:P x D I R、P x O U T,P4端口相关寄存器信息如表1-1所示。
表1-1P4端口相关寄存器地址信息(1)方向寄存器(P x D I R)该寄存器是一个8位寄存器,寄存器的每一位对应一个I O口引脚。
对相应位置0,表示该I O口用作输入。
对相应位置1,表示该I O口用作输出。
(2)输出数据寄存器(P x O U T)该寄存器是一个8位寄存器,寄存器的每一位对应一个I O口引脚。
对相应位置0,对应I O口输出低电平。
对相应位置1,对应I O口输出高电平。
位基本操作见表1-2所示。
表1-2位基本操作三、实验步骤1.将P C与开发板相连;2.建立C C S工程;3.选择对该工程进行编译链接,生成.o u t文件。
然后选择,将程序下载到实验板中。
程序下载完毕之后,可以选择全速运行程序,也可以选择单步调试程序,选择F3查看具体函数。
东南大学MCU课程设计报告东南大学自动化学院《MCU技术及课程设计》课程设计报告姓名:学号:专业:自动化实验室:金智楼组别:同组人员:设计时间:2017年08月28日——2017年09月06日评定成绩:审阅教师:目录一. 课程设计的目的与要 (3)二. 原理设计 (3)三. 方案论证 (8)四.方案实现与测试 (8)五.分析与总结 (9)一.课程设计的目的与要求本次设计使用MSP430F6638实现一基于单片机的电子密码锁的设计,其主要具有如下功能:1.密码通过键盘输入,若密码正确,则绿灯亮,表示密码锁打开,若密码错误,红灯亮,表示密码锁关闭。
2.按AC键可以清除已输入的密码,重新输入。
二. 原理设计1.数码管显示(1) TM1638 控制芯片TM1638 是带键盘扫描接口的 LED驱动控制专用电路,内部集成有 MCU 数字接口、数据锁存器、LED 高压驱动、键盘扫描等电路。
主要应用于冰箱、空调、家庭影院等产品的高段位显示屏驱动。
TM1638 原理图如5-1所示,其中SEG_DIO,SEG_CLK,SEG_STB 与 MSP430芯片中 P3.5, P3.4, P3.2 三个 IO 口相连,仅占用 3 个端口即可完成数据的输入输出,大大节约单片机的 IO 口和开发板的空间,降低了布线的难度。
TM1638 与 MSP 430 实验箱连接示意图如图 4-1 所示,实验开发板 LED 数码管对应关系见图 5-2。
(2) TM1638 接收数据串行数据传输格式:读取和接收 1 个 BIT 都在时钟的上升沿操作。
数据接收(写数据)时序如图 5-4 所示。
以下写数据代码仅作为参考。
(更多关于TM1638 的程序请参考给出的TM1638.h 和 TM1638.c 两个文件以及芯片说明书)void TM1638_Write(unsigned char DATA) //写数据函数{ unsigned char i; DIO_OUT; //将DIO 配置为输出状态for(i=0;i<8;i++) { CLK_low; if(DATA & 0x01){ DIO_high; } else {DIO_low;} CLK_high; DATA>>=1; //数据左移一位 } }(3) LED 数码管显示图 5-5 共阴极数码管连接图图5-5 给出一个共阴数码管的连接示意图,如果让该数码管显示“0”,那你需要在 GRID1 为低电平的时候让 SEG1, SEG2, SEG3, SEG4,SEG5, SEG6为高电平, SEG7 为低电平,即在 00H 地址单元里面写数据 3FH 就可以让数码管显示“0”。
东南大学微机实验报告10页10页
1. 简介:介绍实验目的、实验背景、研究问题和实验方法等。
2. 材料和方法:介绍实验材料和方法,例如使用的硬件、软件和技术等。
3. 结果:给出实验结果,例如测试数据和图表等。
4. 讨论:对结果进行讨论,对实验中遇到的问题进行解释和分析,并提出结论和建议。
5. 结论:总结实验过程、重要结果和研究结论,以及对未来工作的展望。
以下是一份典型的东南大学微机实验报告的框架,可以参考使用。
实验题目:xxx
实验时间:xxxx.xx.xx
实验地点:东南大学计算机实验室
学生姓名:xxx
实验报告结构
1. 简介
1.1 实验目的
1.3 研究问题
2. 材料和方法
2.1 硬件
2.3 技术
3. 结果
3.1 测试数据
4. 讨论
4.2 问题解释
4.3 建议
5. 结论
5.3 未来展望
参考文献: 1. xxxx。
东南大学自动化学院实验报告课程名称: MCU技术及综合课程设计第 3 次实验实验名称:实验三:定时器输出PWM波形院(系):自动化学院专业:自动化姓名:杨淳元学号:08012131实验室:实验组别:同组人员:实验时间:2015年5月7日评定成绩:审阅教师:目录一、实验目的和要求 (2)二、实验原理 (2)三、实验方案与实验步骤 (6)四、实验设备与器材配置 (7)五、实验记录 (7)七、思考题或讨论题 (8)八、附上源代码 (9)一、实验目的和要求1) 实验目的(1) 学习MP430单片机的时钟原理和定时器使用方法。
(2) 认识学习PWM波形的作用及原理。
2) 实验要求编写程序输出1s周期的PWM波形,产生两路PWM波形从引脚P1.2和P1.3分别输出。
CCR0中的值定义了PWM信号的周期,CCR1,CCR2中的值定义了PWM信号的占空比。
定时使用32.768KHz的ACLK作为输入时钟源,P1.2上的占空比为75%,P1.3上的占空比为25%。
二、实验原理1)Timer_A定时器模块框图如图3-1所示。
由图3-1可知,Timer_A 模块可以有三种时钟源输入。
分别是ACLK,SMCLK,TAxCLK。
时钟源的选择通过TASSEL 信号来完成。
被选择的时钟源可以直接送给TIMER 模块,或者通过ID 信号进行2,4,8分频。
选择的时钟信号还可以通过TAIDEX 信号进一步做2,3,4,5,6,7 或者8 分频。
当TACLK 信号被设置的时候,TIMER 的时钟分频逻辑被复位。
图3-1 Timer_A 模块框图2)Timer A 控制寄存器TA0CTL详细定义如图3-2所示。
图3-2 Timer A 控制寄存器TA0CTL3)定时器中断的中断向量中包含一个独立中断和若干个共源中断,Timer_A模块的中断分类如图3-3所示。
图3-3 Timer_A模块的中断向量分类图1)独立中断源的中断处理TA0CCTL0 = CCIE; //CCR0 中断使能#pargma vector = TIMER0_A0_VECTOR //中断向量定义,可查询头文件得到__interrupt void TIMER0_A0_ISR(void){//添加中断处理代码}2)共源中断向量寄存器TAxIV图3-4共源中断向量寄存器TAxIV共源中断程序switch处理方式:#pragma vector=TIMER0_A0_VECTOR //共源中断入口__interrupt void TIMER0_A0_ISR(void){switch(__even_in_range(TA0IV,14)) //共源中断处理{case 0: fun_no(); break; // No interruptcase 2: fun_CCR1(); break; // CCR1 interruptcase 4: fun_CCR2(); break; // CCR2 interruptcase 6: fun_CCR3(); break; // CCR3 interruptcase 8: fun_CCR4(); break; // CCR4 interruptcase 10: fun_CCR5(); break; // CCR5 interruptcase 12: fun_CCR6(); break; // CCR6 interruptcase 14: fun_overflow(); break; // overflowdefault: fun_default(); break; // default}}3)PWM原理PWM 技术的三个要素,具体如图3-5所示, PWM频率计算见图3-6。
东南大学自动化学院MCU(微控制器)综合课程设计报告院(系):自动化专业:自动化姓名:郭劲廷学号:08011331实验室:电工电子MCU 实验组别:同组人员:实验时间:2014年 6 月2 日评定成绩:审阅教师:目录一、课程设计目的与要求(含设计指标) (3)二、原理设计(或基本原理) (3)三、方案论证(架构设计) (4)四、方案实现与测试 (6)五、分析与总结 (6)六、参考书目 .......................... 错误!未定义书签。
七、 C语言源代码....................... 错误!未定义书签。
一、课程设计目的与要求(含设计指标)1.设计目的秒表是常见的计时工具,生活中经常会用到。
具有开始计时,暂停,置零等功能。
如果是用于长跑计时的秒表,那么一般会具有可以计多个人的时间的功能,这一点可以再加一个按键然后使用数组存储数据实现。
通过使用c语言进行单片机语句的编写,要用到定时中断等知识。
2.设计功能要求本次课程设计以实现一个可以准确计时,可实现暂停置零和纪录多个时间为最终目的,并且计时精度要求达到0.1秒。
学会使用c语言进行编写,通过对各种指令的合理运用,熟悉对于各种指令的用法,学会会使用c语言设计各个模块。
要用到的模块有独立按键、数码管、定时中断、蜂鸣器。
3.功能简介BST-V51单片机实物图1.可实现计时功能,最大计时时间为99小时,最小计时单位为0.1秒。
2.支持暂停功能,按键盘中左下角的K1键,可暂停计时;按下K2,可继续计时。
3.支持置零功能,按下键盘左下角K3,可实现置零,无论是否暂停。
同时清除已纪录的时间。
4.每过一分钟蜂鸣器会发出一次很短的声音,代表已经计时一分钟,每次按键也有声音提示。
5.计时进行的同时再次按K2,可以记录当前时间,最多支持记录20个时间。
6.按K4可以查看已经纪录的时间,可暂停后查看,也可以直接查看。
7.晶振为11.0592M。
《单片机应用系统设计》实验报告姓名:学号:院系:仪器科学与工程学院专业:测控技术与仪器实验室:机械楼5楼同组人员:评定成绩:审阅教师:软件实验一数据传送实验一、实验目的1、熟悉单片机仿真开发器的使用;2、掌握编程方法;3、掌握8051内部RAM的数据操作二、实验内容内部RAM 40H~4FH单元置数A0H~AFH,然后将40H~4FH单元内容送到内部RAM50H~5FH单元中。
编辑、编译、运行程序,检查内部RAM中的结果。
三、实验程序ORG 0000HRESET: AJMP MAINORG 003FHMAIN: MOV R0,#40HMOV R2,#10H ;提高时将10H改为20HMOV A,#0A0H ;提高时将0A0H改为00HA1: MOV @R0,AINC R0INC ADJNZ R2,A1MOV R0,#40HMOV R1,#50H ;提高时将50H改为60HMOV R2,#10H ;提高时将10H改为20HA2: MOV A,@R0MOV @R1,AINC R0INC R1DJNZ R2,A2A3: SJMP A3四、实验结果实验显示RAM的40H~4FH以及50H~5FH的内容都为A0H~AFH。
五、实验提高修改程序:将所置的数改为00H~1FH,置数单元和传送单元分别改为内部RAM的40H~5FH、60H~7FH。
思考:见实验程序注释部分。
软件实验二多字节十进制加法实验一、实验目的掌握MCS-51汇编语言程序设计方法二、实验内容多字节十进制加法;加数存储单元首地址由R0指出,被加数和结果的存储单元首地址由R1指出,字节数由R2指出;编辑、编译、运行程序,检查内部RAM中的结果。
三、实验程序加数存储单元为:31H、30H,被加数存储单元为:21H、20H,结果存储单元为:22H、21H、20H。
---------------------------------------------------------------------------------------------------------------------------------ORG 0000HRESET: AJMP MAINORG 0100HMAIN: MOV SP,#60HMOV R0,#31HMOV @R0,#22H ;提高时将加数高位22H改为自定义的数的高位(如45H)DEC R0MOV @R0,#33H ;提高时将加数低位33H改为自定义的数的低位(如34H)MOV R1,#21HMOV @R1,#44H ;提高时作为被加数的高位被修改(如改为35H)DEC R1MOV @R1,#55H ;提高时作为被加数的低位被修改(如改为56H)MOV R2,#02HACALL DACEHERE: SJMP HEREDACE: CLR CDAL: MOV A,@R0ADDC A,@R1DA AMOV @R1,AINC R0INC R1DJNZ R2,DALCLR AMOV ACC.0,CMOV @R1,ARET四、实验结果被加数单元地址(21H)(20H)加数单元地址(31H)(30H)+)结果单元地址(22H)(21H)(20H)被加数数值35H 56H加数数值22H 33H+)结果数值00H 66H 88H五、实验提高修改加数和被加数(十进制数),重复运行程序。
东南大学自动化学院实验报告课程名称: MCU技术及课程设计第四次实验实验七:DAC 数模转换院(系):自动化专业:自动化姓名:学号:实验室:实验组别:同组人员:实验时间:2015年5月21日评定成绩:审阅教师:实验七DAC 数模转换一.实验目的和要求1. 实验目的(1) 了解D/A 转换的基本原理。
(2) 学习D/A 转换的编程方法。
2. 实验要求通过实验板主控芯片MSP430F6638 的DAC12 模数输出正弦波、锯齿波和三角波。
程序默认输出正弦波,当按下KEY1 时输出锯齿波,当继续按下KEY1时输出三角波,然后按下KEY1 显示正弦波,如此循环下去。
二.实验原理(1)DA转换即把数字信号转换为模拟信号输出。
简单的说,就是把数字信号按照一定的参考电压转换成电压值输出。
例如,12位分辨率时,数据0XFFF值对应满程参考电压,那么0x7FF就会输出半程参考电压。
(2)MSP430F6638的DAC12_A模块是12位分辨率的电压输出DAC,包含DAC12_0和DAC12_1两个DAC转换通道,它们在操作上完全相同,DAC12_A的操作由软件进行设置。
(3)参考电压控制位DAC12SREFx有{0,1,2,3}四种模式用于选择DAC12_A模块的参考电压,分别对应2.5V、2.0V或1.5V的内部参考电压、AVcc电压和外部参考电压。
(4)数字数据存储在DAC12_0DAT中,DAC12LSELx用于锁存数据,控制更新电压的更新输出。
DAC12RES控制选择输出数据8位和12位的分辨率,DAC12IR和DAC12OG控制输出电压的倍率。
(5)DAC12_A支持二进制数或2的补码的数据格式。
在12位分辨率时,采用二进制数时,输出数据范围是0000h--0FFFh(8位分辨率的是000h--0FFh),满程电压输出为0FFFh。
采用2的补码时,输出数据范围是0800h--07FFh(8位分辨率的080h--7FFh)。
东南大学自动化学院《数字系统课程设计》专业综合设计报告姓名:学号:专业:自动化实验室:电工电子四楼组别:无同组人员:无设计时间:2012年8 月8日—- 2010 年9 月15 日评定成绩:审阅教师:目录一.课程设计的目的与要求(含设计指标)……………………………………………3页码二.原理设计(或基本原理)……………………………………………………………3页码三。
架构设计(架构设计)………………………………………………………………4页码四。
方案实现与测试(或调试)…………………………………………………………5页码五.分析与总结……………………………………………………………………………15页码一。
课程设计的目的与要求(含设计指标)主干道与乡村公路十字交叉路口在现代化的农村星罗棋布,为确保车辆安全、迅速地通过,在交叉路口的每个入口处设置了红、绿、黄三色信号灯。
红灯禁止通行;绿灯允许通行;黄灯亮则给行驶中的车辆有时间行驶到禁行线之外。
主干道和乡村公路都安装了传感器,检测车辆通行情况,用于主干道的优先权控制。
具体要求如下:(1)当乡村公路无车时,始终保持乡村公路红灯亮,主干道绿灯亮。
(2)当乡村公路有车时,而主干道通车时间已经超过它的最短通车时间时,禁止主干道通行,让乡村公路通行。
主干道最短通车时间为25s 。
(3)当乡村公路和主干道都有车时,按主干道通车25s,乡村公路通车16s交替进行。
(4)不论主干道情况如何,乡村公路通车最长时间为16s。
(5)在每次由绿灯亮变成红灯亮的转换过程中间,要亮5s时间的黄灯作为过渡。
(6)用开关代替传感器作为检测车辆是否到来的信号。
用红、绿、黄三种颜色的发光二极管作交通灯。
要求显示时间,倒计时二。
原理设计(或基本原理)本设计用了Verilog HDL语言, TOP—DOWN设计,设计方法从系统设计入手,在顶层进行功能方框图的划分和结构设计。
具体过程如下:该系统中输入变量有:set(使能开关),c(乡村道路开关), clk(系统时钟),该控制系统打开后共有两种状态: 一种是只有主干道交通灯亮,这种情况比较简单,此时主干道绿灯一直亮着。
mcu技术及课程设计一、课程目标知识目标:1. 理解MCU(微控制器单元)的基本概念、结构与功能;2. 掌握MCU在工程应用中的基本原理;3. 学习并掌握与MCU相关的编程语言及开发环境;4. 了解我国在MCU领域的发展现状及趋势。
技能目标:1. 能够运用所学知识进行简单的MCU程序设计;2. 能够利用开发工具对MCU程序进行调试和优化;3. 能够运用MCU技术解决实际问题,具备初步的创新意识和实践能力;4. 能够进行团队协作,共同完成项目任务。
情感态度价值观目标:1. 培养学生对MCU技术及相关领域的兴趣和热情;2. 培养学生严谨的科学态度和良好的学习习惯;3. 增强学生的国家意识,认识到我国在科技领域取得的成就;4. 培养学生的创新精神、团队合作精神和责任感。
分析课程性质、学生特点和教学要求,本课程旨在使学生在掌握MCU技术基本知识的基础上,提高实际操作能力和解决实际问题的能力。
通过本课程的学习,学生将能够独立完成简单的MCU程序设计,并为后续深入学习打下坚实基础。
同时,注重培养学生的情感态度和价值观,使他们在学习过程中形成正确的科技观念和价值观。
将课程目标分解为具体的学习成果,便于后续教学设计和评估。
二、教学内容1. MCU概述- 了解MCU的发展历程、分类及应用领域;- 学习MCU的基本结构、功能及性能参数。
2. MCU编程语言及开发环境- 掌握C语言基础,为MCU编程打下基础;- 学习并熟练使用主流的MCU开发工具及环境。
3. MCU原理与设计- 学习MCU的工作原理、指令系统及外围电路设计;- 掌握I/O口、定时器、中断等MCU资源的使用。
4. MCU程序设计与调试- 学习并实践简单的MCU程序设计;- 掌握程序调试方法,如断点调试、单步执行等。
5. MCU应用案例分析- 分析并学习典型的MCU应用案例,如智能家居、物联网等;- 结合实际案例,培养学生的创新意识和实践能力。
6. 团队协作与项目实践- 分组进行项目实践,培养学生的团队合作精神;- 完成项目任务,提高学生解决实际问题的能力。
东南大学自动化学院实验报告课程名称: MCU(微控制器)综合课程设计实验名称:综合课程设计院(系):自动化学院专业:自动化专业姓名:学号:实验室:测控技术实验室实验组别:同组人员:实验时间:2011 年 6 月10 日评定成绩:审阅教师:目录一.实验目的和要求 (3)二.实验原理 (3)三.实验方案与实验步骤 (4)四.实验设备与器材配置 (7)五.实验记录 (7)六.实验总结 (7)七.思考题 (7)八.汇编语言源代码 (7)一.课程设计目的和要求1、课程设计题目:家用电器模拟:电风扇2、模拟设计要求:(1)初始加电程序运行,电风扇无速度,只有按下风速选择的任一按键,电风扇开始工作。
此时,只要进行新的速度选择也不按下停止键,电风扇就将按设计的风速持续运行。
(2)开启摇头开关后,模拟风扇摇头,并且在摇头状态中也可进行风扇的调速。
(3)利用LED流水灯的间隔时间模拟风速,程序运行后呈现较长的间隔时间以模拟风扇上电但未运行。
按键盘上的键选择速度,并用数码管显示速度选择的数字。
拨码开关为摇头开关,开关打开后,流水灯反向表示摇头。
二.实验原理1、:使用硬件设备数码管、发光二极管、键盘、拨码开关。
实验不需要接线。
2、设计思想(1)整体设计的主要程序使用定时器定时中断实现。
(2)实验要求二极管的流水灯按照按键的不同以不同的间隔时间依次点亮,则将按键的键码作为流水灯的间隔时间,设置一定的中断时间,中断每运行一次则INC R1,再将R1与A作比较(再次之前已经经过键盘扫描,将键盘的键码赋值给了A),若一致则运行流水灯,若不一致则再次运行中断,由此,按不同的键有不同的键码,则中断运行次数不同,流水的时间间隔自然不同。
(3)为保证在按键后能够及时的改变风速,则每次中断时扫描一次键盘,并计算键码显示在数码管上。
(4)每次中断扫描拨码开关状态,以便能够及时的判断是否要处于摇头状态。
(5)数码管显示风速选择的数字,并实时刷新。
学士学位论文基于MCU的通用控制器设计东南大学毕业(设计)论文独创性声明本人声明所呈交的毕业(设计)论文是我个人在导师指导下进行的研究工作及取得的研究成果。
尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材料。
与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。
论文作者签名:日期:年月日东南大学毕业(设计)论文使用授权声明东南大学有权保留本人所送交毕业(设计)论文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。
本人电子文档的内容和纸质论文的内容相一致。
除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布(包括刊登)论文的全部或部分内容。
论文的公布(包括刊登)授权东南大学教务处办理。
论文作者签名:导师签名:日期:年月日日期:年月日基于MCU的通用控制器设计摘要:电机控制器的发展朝着集成化和通用化的方向发展着。
目前,电机控制专用集成电路芯片技术已经比较成熟,电机控制专用集成电路芯片的种类也十分齐全,但在通用性上还显得不足。
而且,电机控制专用集成电路品种规格繁多,产品资料和应用资料丰富,但是又很分散,需要花时间收集整理、分析消化,研究电机的通用控制器很有必要。
本次设计先用MATLAB对PID控制器进行仿真,计算,包括参数整定,加深对控制器和离散算法的认识,再进一步探索双闭环反馈的控制器算法。
然后在基于STM32的电机控制电路中进行检验,以便进一步优化算法。
这次设计的通用控制器其通用性主要体现在两个方面:一是PID控制器结构的通用性即可以选择单闭环,双环,甚至三环控制,对不需要的控制只需要将该参数设置为0;二是PID参数的通用性,即可以很方便的对PID参数进行调整,以适应实际的需求。
就目前的研究结果来看,理论研究基本完成,亦根据实际情况拟合出了电机转速与占空比之间的函数关系,将这种关系应用在简单的单闭环控制中取得了很好的效果,在不使用这种关系,亦对PID参数进行了整定,还需要进一步检验PID算法对实际电机控制的效果,提高其通用性。
东南大学自动化学院实验报告课程名称: MCU综合课程设计第 1 次实验实验名称:数据传送与多字节十进制加法实验院(系):自动化专业:自动化姓名:李周洋学号:08011328实验室:测控技术实验室实验组别:同组人员:刘乃广实验时间:2014 年 4 月17 日评定成绩:审阅教师:目录一.实验目的和要求 (2)二.实验原理 (2)三.实验方案与实验步骤 (3)四.实验设备与器材配置 (5)五.实验记录 (6)六.实验总结 (6)七.思考题或讨论题 (6)八.源代码 (7)一.实验目的和要求实验目的(1)熟悉掌握将数据存入片外存储空间或片内存储空间的方式和指令以及熟悉掌握外部存储空间中数据传递的方式和指令;(2)学会用汇编语言进行循环操作。
(3)熟悉掌握汇编语言进行的十进制加法运算和十进制调整指令。
(4)理解进位溢出的原理。
(5)熟悉使用Medley软件进行下载调试(单步、断点),并查看相关的寄存器值和片内外存储器的值。
实验要求1、数据传送实验把数据0A0H放到地址为40H的内存单元,并将数值和地址分别递增1,要求一共做十次这样的操作。
然后将内存空间40H-49H的数值分别传递给50H-59H的内存空间中。
2、多字节十进制加法实验将存放在单片机内部RAM中以40H为首的3个地址单元中的一个六位十进制数与存放在50H为首的3个地址单元中的一个六位十进制数相加,将相加结果存放在以60H为首的地址RAM地址单元中。
数据存放方式:十进制数以BCD码存放,高位数据在低地址,低位数据在高地址。
(40H) (41H) (42H)+ (50H) (51H) (52H)= (60H) (61H) (62H) (63H)最高位进位存放在60H中。
数据都存放在片内数据存储器内。
二.实验原理1、数据传送实验当使用Ri(i=0、1)作片外寻址时候,需要预先设置高位地址线P2的值。
程序中将P2的值设为00H。
如果利用DPTR作间址寄存器,无需改变P2口的值,可直接使用.因为程序中使用的是R0、R1作片外寻址,首先将P2口写0,即把高位地址置0,然后将地址初值40H放入寄存器R0。
目录1 前言 (3)1 数码管显示系统 (3)1.1设计任务 (3)1.2设计思路 (3)1.3工作原理及参考连线 (4)1.4软件设计 (6)1.5实验调试结果 (7)1.6实验心得体会 (7)2步进电机控制系统 (7)2.1设计任务 (7)2.2设计思路 (8)2.3工作原理及参考连线 (8)2.4软件设计 (9)2.5实验调试结果 (10)2.6实验心得体会 (10)3 直流电机PWM调速系统 (10)3.1设计任务 (10)3.2设计思路 (10)3.3工作原理及参考连线 (11)3.4软件设计 (11)3.5实验调试结果 (12)3.6实验心得 (13)4键盘显示设计 (13)4.1设计任务 (13)4.2设计思路 (14)4.3原理图 (16)4.4软件设计 (16)4.5实验调试结果. (17)5点阵LED广告屏设计 (36)5.1设计任务 (36)5.2设计思路 (37)5.3工作原理及参考连线 (37)5.4软件设计 (37)5.5实验调试结果. (44)5.6实验心得 (44)6字符型LCD显示 (45)6.1设计任务 (45)6.2设计思路 (45)6.3原理图及参考连线 (46)6.4软件设计 (46)6.5实验调试结果 (49)6.6实验心得 (51)6.5实验调试结果 (51)6.6实验心得 (51)7数字电压表设计 (52)7.1设计任务 (52)7.2设计 (52)7.3原理图及参考连线 (52)7.4软件设计 (54)7.5实验结果 (55)7.6实验心得 (56)8.接触式IC卡设计 (56)8.1设计任务 (56)8.2设计思路 (57)8.3原理图及参考连线 (58)8.4软件设计 (58)8.5实验调试结果 (58)课程设计体会 (59)参考文献 (59)前言1.单片机应用介绍:1.1、什么是单片机:将微处理器(CPU)、存储器(ROM和RAM等)、输出/输入口(I/O口)、定时/计数器、中断系统等集成在一块集成电路芯片上。
东南大学课程设计报告一、课程目标知识目标:1. 掌握《电路分析》中交流电路的基本理论,包括阻抗、相位、功率因数的概念及其计算方法;2. 能够运用复数法分析交流电路,理解其在工程实践中的应用;3. 理解并掌握谐振电路的特点及其在电路中的作用。
技能目标:1. 能够正确搭建并分析RLC串联、并联谐振电路,运用相关公式计算谐振频率和品质因数;2. 学会使用仿真软件(如Multisim)对交流电路进行模拟,验证理论分析结果;3. 培养学生运用所学知识解决实际问题的能力,进行电路故障诊断。
情感态度价值观目标:1. 培养学生对电路分析的浓厚兴趣,激发他们探索科学原理的精神;2. 增强学生的团队合作意识,通过小组讨论、实验等形式,培养学生的沟通与协作能力;3. 强化学生的工程伦理观念,让他们认识到电气工程在社会发展和人民生活中的重要作用。
本课程针对东南大学电子科学与技术专业大三学生设计,学生在前两年的学习中已经具备了电路基础知识和一定的数学功底。
因此,本课程在注重理论教学的同时,强调实践操作和工程应用,旨在培养学生具备解决实际工程问题的能力。
课程目标的设定既符合学生的认知水平,又兼顾了教学要求,为后续的教学设计和评估提供明确的方向。
二、教学内容本章节教学内容以《电路分析》教材中关于交流电路和谐振电路的部分为核心,具体包括以下内容:1. 交流电路基本概念:阻抗、相位、功率因数的定义及其计算方法;2. 复数法分析交流电路:引入复数概念,推导交流电路的复数阻抗和复数电流表达式;3. RLC串联和并联谐振电路:分析谐振条件,计算谐振频率和品质因数;4. 谐振电路在实际应用中的案例分析:如滤波器、振荡器等;5. 仿真软件应用:使用Multisim软件对RLC谐振电路进行模拟,验证理论分析结果;6. 实践操作:搭建RLC谐振电路,测量谐振频率和品质因数,分析实验数据。
教学内容安排和进度如下:1. 第1周:交流电路基本概念;2. 第2周:复数法分析交流电路;3. 第3周:RLC串联和并联谐振电路理论分析;4. 第4周:谐振电路在实际应用中的案例分析;5. 第5周:仿真软件应用与实践操作。
东南大学自动化学院
《MCU技术及课程设计》
课程设计报告
姓名:学号:
专业:自动化实验室:金智楼组别:同组人员:
设计时间:2017年 08月28日—— 2017年09月06日评定成绩:审阅教师:
目录
一. 课程设计的目的与要 (3)
二. 原理设计 (3)
三. 方案论证 (8)
四.方案实现与测试 (8)
五.分析与总结 (9)
一.课程设计的目的与要求
本次设计使用MSP430F6638实现一基于单片机的电子密码锁的设计,其主要具有如下功能:
1.密码通过键盘输入,若密码正确,则绿灯亮,表示密码锁打开,若密码错误,红灯亮,表示密码锁关闭。
2.按AC键可以清除已输入的密码,重新输入。
二. 原理设计
1.数码管显示
(1) TM1638 控制芯片
TM1638 是带键盘扫描接口的 LED驱动控制专用电路,内部集成有 MCU 数
字接口、数据锁存器、 LED 高压驱动、键盘扫描等电路。
主要应用于冰箱、空
调、家庭影院等产品的高段位显示屏驱动。
TM1638 原理图如5-1所示,其中 SEG_DIO, SEG_CLK, SEG_STB 与 MSP430
芯片中 P3.5, P3.4, P3.2 三个 IO 口相连,仅占用 3 个端口即可完成数据的
输入输出,大大节约单片机的 IO 口和开发板的空间,降低了布线的难度。
TM1638 与 MSP 430 实验箱连接示意图如图 4-1 所示,实验开发板 LED 数码管对
应关系见图 5-2。
(2) TM1638 接收数据
串行数据传输格式:读取和接收 1 个 BIT 都在时钟的上升沿操作。
数据接收(写数据)时序如图 5-4 所示。
以下写数据代码仅作为参考。
(更多关于 TM1638 的程序请参考给出的
TM1638.h 和 TM1638.c 两个文件以及芯片说明书)
void TM1638_Write(unsigned char DATA) //写数据函数 { unsigned char i; DIO_OUT; //将 DIO 配置为输出状态 for(i=0;i<8;i++) { CLK_low; if(DATA & 0x01)
{ DIO_high; } else {
DIO_low;
} CLK_high; DATA>>=1; //数据左移一位 } }
(3) LED 数码管显示
图 5-5 共阴极数码管连接图
图 5-5 给出一个共阴数码管的连接示意图,如果让该数码管显示“0”,那你
需要在 GRID1 为低电平的时候让 SEG1, SEG2, SEG3, SEG4, SEG5, SEG6
为高电平, SEG7 为低电平,即在 00H 地址单元里面写数据 3FH 就可以让数码
管显示“0”。
共阴极 LED 数码管编码如表 5-1 所示。
(4) 开发板上 LED 地址
开发板共有 8 个 LED 数码管, 从左至右其地址分别为:08h,
0ah,0ch,0eh,00h,02h,04h,06h。
2.键盘读取
(1) 矩阵键盘的读取如图 5-6 所示,该键盘为 8*3bit。
一旦有按键按下,TM1638 中相关的寄存器的值就会改变(按键按下时相应
字节由 0 变 1),具体对应关系如图 5-7 所示。
(键盘不全,没有加、减、等于、
AC 等几个键)
注意: 1) 键盘用坐标形式表示,空白位表示本开发板暂未用到; 2) TM1638 最多可以读4 个字节,不允许多读。
读数据字节只能按顺序从BYTE1-BYTE4 读取,不可跨字节读。
例如:硬件上的 K2 与 KS8 对应按键按下时,此时想要读到此按键数据,必须需要读到第 4 个字节的第 5BIT 位,才可读出数据; 3) 当 K1 与 KS8,K2 与 KS8,K3 与 KS8 三个按键同时按下时,此时 BYTE4所读数据的 B4,B5,B6 位均为 1; 4) 组合键只能是同一个 KS,不同的 K 引脚才能做组合键;同一个 K 与不同的 KS 引脚不可以做成组合键使用; 5) 例
如:如果 Keyboard 的按键’1’按下,根据图 5-8,我们可以从<BYTE1,B2>读取按键值,
程序实现参考:(注意本例对键值的定义只是一个示例,按键1 的键值保存为 BIT1,按键 2
的键值保存为 BIT2,按键 3 的键值保存为 BIT3,
以此类推。
当然也可以保存为任意自己定义的值,比如说 1 保存为 0x01,2
保存为 0x02,按键 3 键值保存为 0x03,等等。
对于加、减、乘、除和 AC
等几个特殊的键,可以单独定义不重复的键值)
unsigned char c[4]; //对应BYTE1-BYTE4 unsigned int key_value=0x00;
//暂存TM1638读取的按键值 unsigned int i; STB_high; STB_low; TM1638_Write(0x42); //写地址 _delay_us(1); for(i=0;i<4;i++) c[i]=TM1638_Read();
//读取按键值 STB_high; if(c[0]&BIT2) //根据图5-8判断读取的按键
{ key_value |= BIT1; //如果是<BYTE1,B2>,则判断为按键’1’按下 }
下面给出 TM1638.c 中 read_key 主体函数,编写自己的 main 函数调用
read_key 来实现所需功能。
实际应用中可能需要根据要求将对键盘的处理程
序 read_key 进行自定义修改,比如本次实验中可以直接根据键值进行显示。
unsigned char Read_key(void) { unsigned char c[4]; unsigned int key_value=0x00; unsigned int i; STB_high; STB_low; TM1638_Write(0x42); _delay_us(1);
for(i=0;i<4;i++) c[i]=TM1638_Read(); STB_high; if(c[0]&BIT2) { key_value |= BIT1; }
else if(c[0]&BIT6) { key_value |= BIT4; } else if…… //此处编写对应
按键关系判断,key_value可任意定义的! for(i=0;i<16;i++) if((0x01<<i)==key_value)
break; return i; //注意返回值,是数字1-15,分别对应1-F按键。
返回值小于16有意
义,大于等于16则无意义。
如果需要定义其它按键(如+、-、*、/、AC等),则需要修改
返回值定义。
当然,更简单的可直接返回key_value,比返回i更好! }
三.方案论证
方案:
1.输入密码用矩形键盘,包括数字键和功能键。
2.LED数码管显示输入密码。
3.用发光二极管代替开锁的电路,绿灯表示开锁,红灯表示关锁。
4.按AC键清空数码管显示,并清除输入记录。
5.设置初始密码为“76543210”。
四. 方案实现与测试
1.将PC与开发板相连;
2.建立CCS工程;
3.选择对该工程进行编译链接,生成.out 文件。
然后选择,
将程序下载到实验板中。
程序下载完毕之后,可以选择全速运行程序,也可以选择
单步调试程序,选择 F3 查看具体函数。
也可以程序下载之后,按下
,软件界面恢复到原编辑程序的画面。
再按下实验板的复位键,运行程序。
测试:
输入正确密码:
输入错误密码:
五.分析与总结
在本次实验中,我们只实现了密码锁的最简单功能,由于时间原因,并未将原本计划的更改密码、错误报警等功能加入。
通过本次实验,我对于MSP430单片机有了一定的了解,基本能够熟练掌握应用。
本次实验为团队实验,考验的不光是我们对于单片机的理解与应用,更是对我们团队合作
能力的考察与锻炼,也是因为团队的合作,我们才能完成这次课程设计。