- 1、本文档共63页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机实验报告
班级:1304031
学号姓名:傅振
实验一 数码管实验
实验目的
1. 了解数码管的显示原理;
2. 掌握JXARM9-2440 中数码管显示编程方法。
实验原理
7段LED由7个发光二极管按“日”字形排列,所有发光二极管的阳极连在一起称共阳极接法,阴极连在一起称为共阴极接法。
LED显示器的接口一般有静态显示与动态显示接口两种方式。
本实验中采用的是动态显示接口,其中数码管扫描控制地址为0位0-位5每位分别对应一个数码管,将其中某位清0 来选择相应的数码管,地址0为数码管的数据寄存器。数码管采用共阳方式,向该地址写一个数据就可以控制LED 的显示,其原理图如图所示。
实验内容
1、六个数码管同时正向显示0-F ,然后反向显示F-0。
2、在六个数码管上依次显示“HELLO”,可分辨出轮流显示。
3、在六个数码管上依次显示“HELLO”,分辨不出轮流显示。。
4*、在每个数码管上递增显示0-9 。步骤同上。
实验程序
实验1:
/*******************************************************************/
/*文件名称: LEDSEG7.C */
/*实验现象: 数码管依次显示出0、1,2、……9、a、b、C、d、E、F */
/*******************************************************************/
#define U8 unsigned char
unsigned 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*)0=0x00; /*六个数码管都亮*/
for( ; ;)
{
for(i=0;i0x10;i++) /*数码管从0到F依次显示出来*/
{
*((U8*)0=seg7table[i];
Delay(1000);
}
for(0xf;i=0x0;i--) /*数码管从F到0依次显示出来*/
{
*((U8*)0=seg7table[i];
Delay(1000);
}
}
// TODO
}
/*****************************************************************/
/* Function name : 循环延时子程序 */
/* Description : 循环 time 次 */
/* Return t
文档评论(0)