资源描述:
《ARM嵌入式数字时钟设计.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、嵌入式系统应用课程作业论文学生姓名:陈成班级:电技102班学号:学生姓名:梁宝亮班级:电技102学号:所在单位:电气工程学院时间:2013年5月20日嵌入式数字时钟系统设计一、实验目的1掌握基本的ARM汇编语言和C语言编程方法2掌握ADS下C语言和汇编语言互相调用的方法3深入理解ARM开发环境的体系结构4初步掌握S3C2410的I/O口德操作方法5巩固使用AXD和Multi-ICE调试的方法二、实验内容1.明确系统功能,熟悉系统功能的模块划分;2.熟悉S3C2410的功能特点和工作原理,在ADS1.2开发环境
2、进行调试;3.在掌握HD7279的工作方式下,使数码管显示自己预先设定的显示码段(键盘和7段数码管的控制实验,是通过键盘的控制芯片HD7219A来完成的);三、实验设备1硬件:DM2410B+实验系统PC机JTAG仿真器串口线2软件:PC机操作系统ARMDeveloperSuiterv1.2Multi-ICEv2.2.5(Build1319)DNW2410(或超级终端)四、程序代码如下:#include"..INCconfig.h"inth=0,m=0,s=0;externintcounter;/*数码管
3、全部显示0*/voidled_init(){unsignedcharj;for(j=0;j<8;j++){write7279(decode0+j,0);}//write7279(decode0+1,0x0A);//write7279(decode0+6,0x0A);}/*数码管显示数字函数*/voiddispled(){write7279(decode0+3,h/10);write7279(decode0+2,h%10);write7279(decode0+1,0x0A);write7279(decode0+
4、0,m/10);write7279(decode0+7,m%10);write7279(decode0+6,0x0A);write7279(decode0+5,s/10);write7279(decode0+4,s%10);}voidMain(){//charp;Target_Init();//目标初始化led_init();delay10ms(100);while(1);{s=counter;if(s>59){s-=60;m+=1;}//超过59s,需要进位if(m>59){m-=60;h+=1;send_
5、byte(0x88);}//超过59m,需要进位if(h==24){h=0;m=0;counter=0;}displed();switch(key_number){case0:send_byte(cmd_test);//测试键break;case1:{long_delay();m=m+1;Delay(7000);}break;case2:for(p=0;p<8;p++)//循环右移{send_byte(0xA0);send_byte(0xC8+7);send_byte(p);long_delay();Dela
6、y(7000);}for(;;){if(key_number!=2){break;}Delay(7000);send_byte(0xA2);}break;case4:send_byte(cmd_reset);//复位键break;case5:write7279(decode1+5,key_number/16*8);write7279(decode1+4,key_number&0x0f);break;case9:for(p=0;p<8;p++)//左移{send_byte(0xA1);send_byte(0xC
7、8);send_byte(p);long_delay();Delay(7000);}break;case10:for(p=0;p<8;p++)//循环左移{send_byte(0xA1);send_byte(0xC8);send_byte(p);long_delay();Delay(7000);}for(;;){if(key_number!=10){break;}Delay(7000);send_byte(0xA3);}break;default:break;}key_number=0xff;Delay(50
8、);}}2.定时器定时1秒voidTimer1_init(void){rGPGCON=rGPGCON&0xfff0ffff
9、0x;//配置GPG口为信号输出rGPGDAT=rGPGDAT
10、0x300;rTCFG0=255;//Prescaler0=255rTCFG1=0<<4;//rTCNTB1=48828;//在pclk=50MHZ下,1秒钟的记数值rTCNTB1=/4/256=48828;rTC