输出:LCD+ADC0832 C程序_第1页
输出:LCD+ADC0832 C程序_第2页
输出:LCD+ADC0832 C程序_第3页
输出:LCD+ADC0832 C程序_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、./ICC-AVR application builder : 2008-9-7 11:00:08/ Target : M8515/ Crystal: 16.000Mhz#include <iom8515v.h>#include <macros.h>#define uchar unsigned char#define uint unsigned int#define data1 PORTBuchar h=0,j=0,k=0,func,th1=0xE7,tl1=0;uchar f1=0x06,f2=0; /250Hz的步进uint i=0;#pragma data:cod

2、econst uchar sin_table256=0x80,0x83,0x86,0x89,0x8c,0x8f,0x92,0x95,0x98,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb0,0xb3,0xb6,0xb9,0xbc,0xbf,0xc1,0xc4,0xc7,0xc9,0xcc,0xce,0xd1,0xd3,0xd5,0xd8,0xda,0xdc,0xde,0xe0,0xe2,0xe4,0xe6,0xe8,0xea,0xec,0xed,0xef,0xf0,0xf2,0xf3,0xf4,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc

3、,0xfc,0xfd,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfd,0xfc,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf3,0xf2,0xf0,0xef,0xed,0xec,0xea,0xe8,0xe6,0xe4,0xe3,0xe1,0xde,0xdc,0xda,0xd8,0xd6,0xd3,0xd1,0xce,0xcc,0xc9,0xc7,0xc4,0xc1,0xbf,0xbc,0xb9,0xb6,0xb4,0xb1,0xae,0xab

4、,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x92,0x8f,0x8c,0x89,0x86,0x83,0x80,0x7d,0x79,0x76,0x73,0x70,0x6d,0x6a,0x67,0x64,0x61,0x5e,0x5b,0x58,0x55,0x52,0x4f,0x4c,0x49,0x46,0x43,0x41,0x3e,0x3b,0x39,0x36,0x33,0x31,0x2e,0x2c,0x2a,0x27,0x25,0x23,0x21,0x1f,0x1d,0x1b,0x19,0x17,0x15,0x14,0x12,0x10,0xf,0xd,0xc,0x

5、b,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x3,0x2,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x2,0x3,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xa,0xc,0xd,0xe,0x10,0x12,0x13,0x15,0x17,0x18,0x1a,0x1c,0x1e,0x20,0x23,0x25,0x27,0x29,0x2c,0x2e,0x30,0x33,0x35,0x38,0x3b,0x3d,0x40,0x43,0x46,0x48,0x4b,0x4e,0x51,0x54,

6、0x57,0x5a,0x5d,0x60,0x63,0x66,0x69,0x6c,0x6f,0x73,0x76,0x79,0x7c;void delay(uint ms) uint i,j;for(i=0;i<ms;i+) for(j=0;j<1141;j+); void port_init(void) PORTB = 0x00; DDRB = 0xff; PORTC = 0x00; DDRC = 0xff; PORTD = 0x00; DDRD = 0x01; PORTE = 0x00; DDRE = 0x00; /TIMER1 initialize - prescale:1/ W

7、GM: 0) Normal, TOP=0xFFFF/ desired value: 400uSec/ actual value: 400.000uSec (0.0%)void timer1_init(void) TCCR1B = 0x00; /stop TCNT1H = th1; /setup /th1,tl1用来改变频率 TCNT1L = tl1; OCR1AH = 0x20; OCR1AL = 0x00; OCR1BH = 0x20; OCR1BL = 0x00; TCCR1A = 0x00; TCCR1B = 0x01; /start Timer#pragma interrupt_han

8、dler timer1_ovf_isr:iv_TIM1_OVFvoid timer1_ovf_isr(void) TCCR1B = 0x00; /stop TCNT1H = th1; /reload counter high value TCNT1L = tl1; /reload counter low value /func=1; /设置调试点,计算时间 if(func=1) /正弦波 data1=sin_tablej+; /func+; /设置调试点 if(func=2) / 锯齿波 if(h<128) data1=h; else data1=255-h; h+; else if(f

9、unc=3) / 方波 k+; if(k<=127) data1=0x00; else data1=0xff; TCCR1B = 0x01; /start Timer /call this routine to initialize all peripheralsvoid init_devices(void) /stop errant interrupts until set up CLI(); /disable all interrupts port_init(); timer1_init(); MCUCR = 0x02; EMCUCR = 0x00; GICR = 0x40; TIM

10、SK = 0x80; SEI(); /re-enable interrupts /all peripherals are now initializedvoid key_read() uchar num,i; DDRA=0xff; / 都定义为输出 PORTA=0xf0; / 高位输出高电平,低位输出低电平 DDRA=0x0f; / 有键按下,把相应列(高位)的电平拉低 asm("nop"); i=PINA; /获取列的地址,即 DDRA=0xff; PORTA=0x0f; DDRA=0xf0; /把相应行的电平拉低 asm("nop"); i|=PIN

11、A; /获取行的地址 ,行与列的地址决定按键的位置 switch(i) case 0x77 : func+; if(func=4) func=0x00; break;case 0x7B : /频率加250Hz th1-=f1; tl1-=f2; break; case 0x7D : /频率减250Hz th1+=f1; tl1+=f2; break; /*case 0xEE : func+; if(func=4) func=0x00; break;case 0xDE : func+; if(func=4) func=0x00; break;case 0xBE : func+; if(func=4) func=0x00; break;case 0x7E : func+; if(func=4) func=0x00; break;case 0xED : func+; if(func=4) func=0x00; break;case 0xDD : func+; if(func=4) func=0x00; break;*/case 0xBD : ; break;case 0xEB : ; break;case

温馨提示

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

评论

0/150

提交评论