文档详情

单片机数码管显示实验

ni****g
实名认证
店铺
DOC
124.51KB
约8页
文档ID:487868007
单片机数码管显示实验_第1页
1/8

实验一 数码管实验一、 实验目的1. 了解数码管的显示原理;2. 掌握JXARM9-2440 中数码管显示编程方法二、 实验仪器JXARM9-2440教学实验箱、ADT1000仿真器和ADT IDE集成开发环境、串口连接线、PC机三、 实验原理7段LED由7个发光二极管按“日”字形排列,所有发光二极管的阳极连在一起称共阳极接法,阴极连在一起称为共阴极接法 LED显示器的接口一般有静态显示与动态显示接口两种方式本实验中采用的是动态显示接口,其中数码管扫描控制地址为0x20007000,位0-位5每位分别对应一个数码管,将其中某位清0 来选择相应的数码管,地址0x20006000 为数码管的数据寄存器数码管采用共阳方式,向该地址写一个数据就可以控制LED 的显示,数据中的1对应的不亮,0对应的亮,数码管各位从高到低排列为dp-g-f-e-d-c-b-a,例如当数据寄存器是11111111时则不亮,当是01111111时则显示8,其原理图如图所示 四、 实验内容1、编程实现:六个数码管同时正向显示0-F ,然后反向显示F-02、编程实现:在六个数码管上依次显示与自己姓名有关的内容,可分辨出轮流显示。

3、编程实现:在六个数码管上依次显示与自己姓名有关的内容,分辨不出轮流显示4*、编程实现:在每个数码管上递增显示0—9 5*、自行开发五、 实验程序1,/****************************************************************************//*文件名称: LEDSEG7.C *//*实验现象: 数码管依次显示出0、1,2、……9、a、b、C、d、E、F *//****************************************************************************/#define U8 unsigned charunsigned char seg7table[16] = { /* 0 1 2 3 4 5 6 7*/ 0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, /* 8 9 A B C D E F*/ 0x80, 0x90, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e,};void Delay(int time);/****************************************************************************//* 函数说明: JXARM9-2410 7段构共阳数码管测试 *//* 功能描述: 依次在7段数码管上显示0123456789ABCDEF *//* 返回代码: 无 *//* 参数说明: 无 *//****************************************************************************/void Test_Seg7(void) { int i; *((U8*)0x20007000)=0x00; /*6个数码管都亮*/ for(;;) { /*数码管从0到F依次将字符显示出来*/ for(i=0;i<0x10;i++) { *((U8*)0x20006000)=seg7table[i]; Delay(10000); } /*数码管从F到0依次将字符显示出来*/ for(i=0x0f;i>0x00;i--) { *((U8*)0x20006000)=seg7table[i]; Delay(10000); } } // TODO }/****************************************************************************//* Function name : 循环延时子程序 *//* Description : 循环 'time' 次 *//* Return type :void *//* Argument : 循环延时计数器 *//****************************************************************************/void Delay(int time) { int i; int delayLoopCount=10000; for(;time>0;time--); for(i=0;i

下载提示
相似文档
正为您匹配相似的精品文档