实验一 数码管实验

实验一 数码管实验

ID:44713834

大小:756.53 KB

页数:17页

时间:2019-10-25

实验一 数码管实验_第1页
实验一 数码管实验_第2页
实验一 数码管实验_第3页
实验一 数码管实验_第4页
实验一 数码管实验_第5页
资源描述:

《实验一 数码管实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验一数码管实验一、实验目的掌握数码管的使用,了解数码管扫描的原理。二、实验内容1、实验原理开发板设计了一个四位八段共阴极数码管。P0~P7分别连接数码管的阳极,K0~K3分别连接四位的控制端。由于四位数码管公用相同的阳极,要实现数码管每一位显示不同的数字,则必须通过扫描的方式来实现,也就是说某个时刻只有一个数码管处于点亮状态,由于人眼的视觉暂留,看到的效果是是四位数码管都是同时点亮的。扫描的具体方法是:P口输出第一位数码的段码,K口控制第一位导通其它三位不导通,延时5ms后,P口输出第二位数码管的段码,K口控制第二位导通其它三位不导通,如此直到扫描完第四位后,继续扫描第一位。2、实验步骤

2、(1)用跳线帽将JP2的(QH~P7)、(QG~P6)、(QF~P5)、(QD~P3)、(QC~P2)、(QB~P1)、(QA~P0)插针短接,将BDM下载器连接到开发板上,打开开发板电源。(2)打开光盘文件中的“演示代码数码管扫描BBIT_LED2.mcp”。(3)点击(Debug)按钮,将源代码下载到单片机中,进入调试窗口。(4)点击调试窗口的(Start)按钮,程序开始执行。(5)观察实验现象,数码管显示“0000”延时一会之后,显示“1111”直到显示“9999”。延时一会儿之后显示“0.0.0.0.”,延时显示“1.1.1.1.”直至“9.9.9.9.”,如此循环。三、实验原

3、理图四、实验所用源程序(下划线部分为改动部分)#include/*commondefinesandmacros*/#include"derivative.h"/*derivative-specificdefinitions*/#defineCONT1PORTK_PK3#defineCONT2PORTK_PK2#defineCONT3PORTK_PK1#defineCONT4PORTK_PK0#defineCONT1_dirDDRK_DDRK3#defineCONT2_dirDDRK_DDRK2#defineCONT3_dirDDRK_DDRK1#defineCONT4_d

4、irDDRK_DDRK0#defineDATAPTP#defineDATA_dirDDRP#defineLEDCPUPORTK_PK4#defineLEDCPU_dirDDRK_DDRK4#defineBUS_CLOCK32000000//总线频率#defineOSC_CLOCK16000000//晶振频率byteshuma[20]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,//0~9对应的段码0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};//0~9后加小数点对应的段码uns

5、ignedinti;/*************************************************************//*初始化锁相环*//*************************************************************/voidINIT_PLL(void){CLKSEL&=0x7f;//setOSCCLKassysclkPLLCTL&=0x8F;//DisablePLLcircuitCRGINT&=0xDF;#if(BUS_CLOCK==40000000)SYNR=0x44;#elif(BUS_CLOCK==32000

6、000)SYNR=0x43;#elif(BUS_CLOCK==24000000)SYNR=0x42;#endifREFDV=0x81;//PLLCLK=2×OSCCLK×(SYNDIV+1)/(REFDIV+1)=64MHz,fbus=32MPLLCTL=PLLCTL

7、0x70;//EnablePLLcircuitasmNOP;asmNOP;while(!(CRGFLG&0x08));//PLLCLKisLockedalreadyCLKSEL

8、=0x80;//setPLLCLKassysclk}/***********************************************

9、**************//*初始化端口*//*************************************************************/voidINIT_port(void){CONT1_dir=1;CONT2_dir=1;CONT3_dir=1;CONT4_dir=1;CONT1=0;CONT2=0;CONT3=0;CONT4=0;DATA_dir=0xff;DATA=0x00;}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。