七段数码显示器显示实验报告_第1页
七段数码显示器显示实验报告_第2页
七段数码显示器显示实验报告_第3页
七段数码显示器显示实验报告_第4页
七段数码显示器显示实验报告_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机原理及接口技术实验报告实验项目:姓 名:专 业:班 级:学 号:一、实验名称七段数码显示器显示实验(SPI通信方式)二、实验设备PC机1台,CEPARK畅学系列实验装置 1套三、实验目的1 .熟悉I/O 口作为数字量输出的初始化;2 .熟悉共阳极与共阴极两种数码管的工作原理;3 .学会软硬件的设计和调试方法;4 .根据七段数码管的特性,对应出每个数字引脚输出的16进制码,然后编写程序。四、实验要求1 .将0-9这十个数字按顺序依次在数码管上显示出来,时间间隔为0.5S;2 .熟悉延时函数的使用(可用for循环自己写一个延时函数);3 .掌握PIC16F877A芯片及电子元件的使用方法;4

2、 .实现单片机软件与硬件的结合,将理论知识应用于实践。五、理论原理1 .LED七段数码显示器由8个发光二极管组成显示字段,根据内部发光二极管的连接形式不同,LED有共阴极和共阳极两种(原理图如下图1所示)。(实验板采用的LED为共阳极的连接方式)图1.单个共阳极数码管原理图2 .接口说明:接口编号为 JP44,需要一个8位端口(AG、DP)去控制,因此提供给LED的字形码也是8位的。数码管各段编号如下图2所示:图2.数码管各段编号3 .LED七段数码显示器各字段与控制端口位的对应关系如下表1所示:表1.七段数码显示器各字段与控制端口位的对应关系控制端口位D7D6D5D4D3D2D1D0字段名d

3、pgfedcba4 .共阳极LED七段数码显示器字形代码如下表 2所示:表2.共阳极LED七段数码显示器字形代码表w显小编码w显小编码0C0H990H1F9HA88H2A4Hb83H3B0HCC6H499HdA1H592HE86H682HF8EH7F8H.(小数点)7FH880H-(负号)BFH六、实验内容步骤1 .接线说明核心板 RD 口接底板 JP15,具体为:RD0-A , RD1-B, RD2-C , RD3-D , RD4-E , RD5-F , RD6-G , RD7-DP2 .创建项目打开 MPLAB IDE v8.90 一 选择Project,进入 Project Wizard

4、 ,进入下面的界面,单击 下一步。Device 选择 PIC16F877A,单击下一步。如果是编写 C 源代码,Active Toolsuite 选择 HI-TECH Universal ToolSuite , Toolsuite Contents选择HI-TECH ANSI C Compiler ,其他保持默认,单击下一步。如果编写汇编源代码,Active Toolsuite 选择 Microchip MPASM Toolsuite , ToolsuiteContents 选择 MPASM Assembler mpasmwin.exe v5.49 ,其他保持默认,单击下一步。5cliEI .

5、141-gm I fIKINI.inpfakd一 “ 8Utiwi 甲t “EMI nralinnH甲 Mj-EGT |r 5hl$gl.,:IMEgTs一一步an It一.中 | |然后选择存放项目的文件路径,单击 Browse.这里选择了桌面上的 PICC文件夹(空的),并给项目起名为demo,单击保存 一下一 步一完成。因为提前并没有写好代码,没有代码可用,所以保持默认,单击下一步。最后,单击完成,环境配置完成,后面的工作就是写代码,然后运行测试了。至此,一个空项目创建完成。3 .连接硬件和软件依次选择菜单栏 Programmer Select Programmer PICkit 3连接

6、成功后,Output窗口给出提示。Ipi8.Bwki I “EEm FrdlriF fat Id |PTOrLt 3 dsttrlidEdENKrtiBt tn aictie 3.Fubmm。;uh Yrlliwii. i. 012K /ElFIWSTO* W jp4*B BpaapaBi! | | ji ) | | 巾130巴 piaxt j 口皿chd.加dE ID RfviiiK - OQUQQt4 .编译,下载运行首先,单击快捷菜单 New File。然后,添加任意内容后,按下 Ctrl+S或者单击保存按钮,保存文件名为test.cSource保存路径选择一开始在桌面创建的PICC文件

7、夹。然后,将刚刚保存的文件添加到项目中。右击工作空间视窗中demo项目下的Files,选择 Add Files接下来选择test.c文件并打开。单击编译,后出现如下画面。下载程序到芯片,如果程序正确,将看到相应的现象。七、实验程序#define _XTAL_FREQ 4000000#include lian pic.hCONFIG(HS& WDTDIS & LVPDIS& PWRTEN);/HS振荡,禁止看门狗,低压编程关闭,启动延时定时器const uchar smg = 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x00,;/ 01

8、23456789 allconst uchar smg_bit = 0x01,0x02 ,0x04 ,0x08 ,0x10 ,0x20 ,0x40 ,0x80 ,0xff,;uchar c;uchar d ;*函数定义 *uchar spi_write_read (uchar dd );/*主程序*void main (void)SSPM3=0;SSPM2=0;SSPM1 = 0;SSPM0=0; /spi 主控IK式,时钟为 Fosc/4CKP=0;/空闲为低电平STAT_CKE= 1;/SDO 前沿采样STAT_SMP=0;/在数据输出时间的中间采样输入数据TRISD=0; /RD4/SD

9、I为输出(不使用SDI引脚时,可设置为输出 作普通io用)SSPEN= 1;/使能MSSP模块,启用spi或iicdelay ms(10);PORTD= 0x00;/产生锁存时钟spi_write_read (0x00);spi_write_read (0x00);PORTD= 0xff;_delay_ms(500);while (1)for (c= 0;c 10;c+)spi_write_read (smg c);/ 控制显示的数字_delay_ms(500);/*spi总线发送接攵数据*uchar spi_write_read (uchar dd )SSPBUF=dd;PORTD= SSPBUFreturn (PORTD);/返回接收到的数据八、实验结果使用端口 D作为输出,SPI作为缓冲,向单个数码显示器以此送字形码0-9十个数字。九、分析总结1 .实验过程遇到的问题拘泥于单个位的传送,导致无法对程序理解。串行和并行传递数据有些混乱。2 .思考及解决方法串

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论