基于单片机的频率计设计开题报告

 

第二篇:用单片机设计频率计

用单片机设计频率计

重庆飞龙电子网 用单片机设计频率计

用单片机设计频率计

实验目标

频率计是我们经常会用到的实验仪器之一,本实验要使用单片机和计数电路及液晶器件来设计一个宽频的频率计。

期望达到10Hz-1.1G范围的频率精确测量。

实验电路图(初步方案)

1) 计数及显示电路:

2)前置放大及分频电路:

那位大侠有好的电路???

设计思路

频率的测量实际上就是在1S时间内对信号进行计数,计数值就是信号频率。用单片机设计频率计通常采用两种办法,1)使用单片机自带的计数器对输入脉冲进行计数,或者测量信号的周期;2)单片机外部使用计数器对脉冲信号进行计数,计数值再由单片机读取。

由于单片机自带计数器输入时钟的频率通常只能是系统时钟频率的几分之一甚至几十分之一,因――――――――――――――――――――――――――――――――――――――――――――――――――

网址:Http://www.FLDZ.com 电子邮件:FLDZ@FLDZ.com 联系电话:023-43914510

用单片机设计频率计

重庆飞龙电子网 用单片机设计频率计 此采用单片机的计数器直接测量信号频率就受到了很大的限制。

本实验电路采用方式2,使用一片74LS393四位双二进制计数器和Atmega8的T1计数器组成了24位计数器,最大计数值为16777215。如果输入信号经过MB501分频器进行64分频后再进行测量,则固定1S时基下最高测量频率为1073.741760Mhz。

为了方便得到准确的1秒钟测量闸门信号,我们使用了Atmega8的异步实时时钟功能,采用32.768Khz的晶振由TC2产生1秒钟的定时信号。

测量原理:

单片机打开测量闸门,即PB1输出高电平,同时TC2定时器启动。74LS393开始对输入脉冲进行计数,74LS393每计数达256时,Atmega8的T1计数器也向上计数1次。当1S定时到达时,单片机产生中断,PB1输出低电平关闭测量闸门,然后Atmega8读取74LS393和T1的计数值,然后送LCD显示。

实验进展

2004-09-27

根据设计思路编写程序初步获得了一些实验结果,如下图所示。下图是测量8M有源晶振的输出结果。

由于1S的测量闸门时间在业余条件下不好测试,因此,实验程序中在LCD上同时显示实时时钟用于判断1S闸门时间的准确性。实验中,我使用CDMA手机上显示的GPS卫星精确时间进行比较。手机时间显示的最小单位是分钟,测量时一旦手机分钟值发生跳变,则立即记录下LCD显示的秒值,这样的话让频率计运行一段时间后,再多次记录下LCD显示的秒,就可以准确判断频率计的异步时钟是

――――――――――――――――――――――――――――――――――――――――――――――――――

网址:Http://www.FLDZ.com 电子邮件:FLDZ@FLDZ.com 联系电话:023-43914510

重庆飞龙电子网 用单片机设计频率计 否准确。实验过程中,我让频率计走了10个小数左右,测量的1S时钟还是非常准确的。

实验源程序:

FrequencyMeter.txt

3310LCD.txt

bmp.txt

6x8.txt

delay.txt

实验问题:实验测试8M有源晶振的测量结果如上图所示,而测试4M普通晶振的测量结果是3.999932MHz。感觉上好像测量稍稍有一点偏低。

以下是源程序:

FrequencyMeter.txt

#i nclude <iom8v.h>

#i nclude <macros.h>

#i nclude "lcd.h"

#i nclude "bmp.h"

unsigned long counter;

unsigned char countlow;

unsigned char fre[]="00.000000";

unsigned char time[]="00:00:00";

#pragma interrupt_handler timer2_ovf_isr:iv_TIMER2_OVF

void timer2_ovf_isr(void)

{

unsigned char i;

//TCCR2=0;

PORTB &= ~0X02; //关闭闸门

//读取计数值

counter = TCNT1; //读取T/C1计数值(频率值的高16位)

counter = counter*256; //计算频率值的高16位

countlow = (PIND & 0b11000000)|(PINC & 0b00111111);

//读取计数值的低8位

counter = counter + countlow; //计算频率值

――――――――――――――――――――――――――――――――――――――――――――――――――

网址:Http://www.FLDZ.com 电子邮件:FLDZ@FLDZ.com 联系电话:023-43914510

重庆飞龙电子网 用单片机设计频率计 PORTD |= 0X01; //74LS393清零

TCNT1 = 0;

PORTD &= ~0X01; //关闭清零

TCNT2 = 0X80; //定时时间1秒

PORTB |= 0X02; //打开闸门

//实时时钟显示

time[7]++;

fre[0]=counter /10000000+0x30;

counter=counter %10000000;

fre[1]=counter /1000000+0x30;

counter=counter %1000000;

fre[3]=counter /100000+0x30;

counter=counter %100000;

fre[4]=counter /10000+0x30;

counter=counter %10000;

fre[5]=counter /1000+0x30;

counter=counter %1000;

fre[6]=counter /100+0x30;

counter=counter %100;

fre[7]=counter /10 + 0x30;

fre[8]=counter %10 + 0x30;

LCD_write_String(0,2,fre);

LCD_draw_map(14,2,Bmp003,7,14); //显示小数点

LCD_draw_map(62,2,MHz,22,14); //显示频率单位

if ( time[7] > (9+0x30) )

{

time[6] ++;

time[7] -= 10;

}

if ( time[6] > (5+0x30) )

{

time[4] ++;

time[6] -= 6;

}

if (time[4]> (9+0x30))

{

time[3]++;

time[4]-=10;

}

――――――――――――――――――――――――――――――――――――――――――――――――――

网址:Http://www.FLDZ.com 电子邮件:FLDZ@FLDZ.com 联系电话:023-43914510

重庆飞龙电子网 用单片机设计频率计 if (time[3] > (5+0x30))

{

time[1]++;

time[3]-=6;

}

if (time[1]>(9+0x30))

{

time[0]++;

time[1]-=10;

}

LCD_write_String(2,4,time);

LCD_draw_map(16,4,Bmp002,7,14); //显示“:”字符

LCD_draw_map(37,4,Bmp002,7,14);

}

/******************************************************************************/ void main(void)

{

unsigned char i;

OSCCAL=0xA3; // 8M系统内部时钟校准

//设置MCU的I/O口

DDRB |= LCD_RST | LCD_DC | LCD_CE | SPI_MOSI | SPI_CLK ;

DDRB |= 0x02; //计数闸门

DDRD |= 0X01; //74LS393清零

//DDRD |= 0X08; //LED

//DDRD &= ~0X20;

DDRC &= 0B11000000;

DDRD &= 0B00111111;

SPSR |= BIT(SPI2X); // 设置SPI时钟倍速

SPCR |= BIT(SPE)|BIT(MSTR); // 使能SPI接口,主机模式,4M时钟

LCD_init();

//LCD_clear(); // 清屏

LCD_draw_map(12,0,Bmp001,60,13);

ASSR = 1 <<AS2; //选择异步时钟

TCNT2 = 0X80; //定时时间1秒

TCCR2 = (1<<CS22)|(1<<CS21); //T/C2预分频比256

TIMSK |= BIT(TOIE2); //允许TC2溢出中断

TCCR1B |= BIT(CS12)|BIT(CS11)|BIT(CS10); //时钟外部T1输入,上升源驱动

――――――――――――――――――――――――――――――――――――――――――――――――――

网址:Http://www.FLDZ.com 电子邮件:FLDZ@FLDZ.com 联系电话:023-43914510

重庆飞龙电子网 用单片机设计频率计

SEI();

while(1)

{

}

}

3310LCD.txt

#i nclude <iom8v.h>

#i nclude <macros.h>

#i nclude "lcd.h"

#i nclude "6x8.h"

#i nclude "chinese.h"

/*-----------------------------------------------------------------------

LCD_init : 3310LCD初始化

编写日期 :2004-8-10

最后修改日期 :2004-8-10

-----------------------------------------------------------------------*/

void LCD_init(void)

{

PORTB &= ~LCD_RST; // 产生一个让LCD复位的低电平脉冲

delay_1us();

PORTB |= LCD_RST;

PORTB &= ~LCD_CE ; // 关闭LCD

delay_1us();

PORTB |= LCD_CE; // 使能LCD

delay_1us();

LCD_write_byte(0x21, 0); // 使用扩展命令设置LCD模式

LCD_write_byte(0xc8, 0); // 设置偏置电压

LCD_write_byte(0x06, 0); // 温度校正

LCD_write_byte(0x13, 0); // 1:48

LCD_write_byte(0x20, 0); // 使用基本命令

LCD_clear(); // 清屏

――――――――――――――――――――――――――――――――――――――――――――――――――

网址:Http://www.FLDZ.com 电子邮件:FLDZ@FLDZ.com 联系电话:023-43914510

重庆飞龙电子网 用单片机设计频率计 LCD_write_byte(0x0c, 0); // 设定显示模式,正常显示

PORTB &= ~LCD_CE ; // 关闭LCD

//LCD_clear();

}

/*-----------------------------------------------------------------------

LCD_clear : LCD清屏函数

编写日期 :2004-8-10

最后修改日期 :2004-8-10

-----------------------------------------------------------------------*/

void LCD_clear(void)

{

unsigned int i;

LCD_write_byte(0x0c, 0);

LCD_write_byte(0x80, 0);

for (i=0; i<504; i++)

LCD_write_byte(0, 1);

}

/*-----------------------------------------------------------------------

LCD_set_XY : 设置LCD坐标函数

输入参数:X :0-83

Y :0-5

编写日期 :2004-8-10

最后修改日期 :2004-8-10

-----------------------------------------------------------------------*/

void LCD_set_XY(unsigned char X, unsigned char Y)

{

LCD_write_byte(0x40 | Y, 0); // column

LCD_write_byte(0x80 | X, 0); // row

}

/*-----------------------------------------------------------------------

LCD_write_char : 显示英文字符

输入参数:c :显示的字符;

编写日期 :2004-8-10

最后修改日期 :2004-8-10

――――――――――――――――――――――――――――――――――――――――――――――――――

网址:Http://www.FLDZ.com 电子邮件:FLDZ@FLDZ.com 联系电话:023-43914510

重庆飞龙电子网 用单片机设计频率计 -----------------------------------------------------------------------*/

void LCD_write_char(unsigned char c)

{

unsigned char line;

//c -= 32;

//for (line=0; line<6; line++)

//LCD_write_byte(font6x8[c][line], 1);

for (line=0; line<7; line++)

LCD_write_byte(font7x13[c][line], 1);

for (line=7; line<14; line++)

LCD_write_byte(font7x13[c][line], 1);

}

/*-----------------------------------------------------------------------

LCD_write_char : 英文字符串显示函数

输入参数:*s :英文字符串指针;

X、Y : 显示字符串的位置

编写日期 :2004-8-10

最后修改日期 :2004-8-10

-----------------------------------------------------------------------*/

void LCD_write_String(unsigned char X,unsigned char Y,char *s)

{

unsigned char line;

unsigned char i=0;

while (*s)

{

LCD_set_XY(X+i*7,Y);

for (line=0; line<7; line++)

LCD_write_byte(font7x13[*s-0X30][line], 1);

LCD_set_XY(X+i*7,Y+1);

for (line=7; line<14; line++)

LCD_write_byte(font7x13[*s-0X30][line], 1);

s++;

i++;

}

}

/*-----------------------------------------------------------------------

LCD_write_chi: 在LCD上显示汉字

――――――――――――――――――――――――――――――――――――――――――――――――――

网址:Http://www.FLDZ.com 电子邮件:FLDZ@FLDZ.com 联系电话:023-43914510

重庆飞龙电子网 用单片机设计频率计 输入参数:X、Y :显示汉字的起始X、Y坐标;

ch_with :汉字点阵的宽度

num :显示汉字的个数;

line :汉字点阵数组中的起始行数

row :汉字显示的行间距

编写日期 :2004-8-11

最后修改日期 :2004-8-12

-----------------------------------------------------------------------*/

void LCD_write_chi(unsigned char X, unsigned char Y,

unsigned char ch_with,unsigned char num,

unsigned char line,unsigned char row)

{

unsigned char i,n;

LCD_set_XY(X,Y); //设置初始位置

for (i=0;i<num;)

{

for (n=0; n<ch_with*2; n++) //写一个汉字

{

if (n==ch_with) //写汉字的下半部分

{

if (i==0) LCD_set_XY(X,Y+1);

else

LCD_set_XY((X+(ch_with+row)*i),Y+1);

}

LCD_write_byte(china_char[line+i][n],1);

}

i++;

LCD_set_XY((X+(ch_with+row)*i),Y);

}

}

/*-----------------------------------------------------------------------

LCD_write_chi: 汉字移动

输入参数:X、Y :显示汉字的起始X、Y坐标;

T :移动速度;

编写日期 :2004-8-13

最后修改日期 :2004-8-13

-----------------------------------------------------------------------*/

void LCD_move_chi (unsigned char X, unsigned char Y, unsigned char T)

――――――――――――――――――――――――――――――――――――――――――――――――――

网址:Http://www.FLDZ.com 电子邮件:FLDZ@FLDZ.com 联系电话:023-43914510

重庆飞龙电子网 用单片机设计频率计 {

unsigned char i,n,j=0;

unsigned char buffer_h[84]={0};

unsigned char buffer_l[84]={0};

for (i=0; i<156; i++)

{

buffer_h[83] = china_char[i/12][j];

buffer_l[83] = china_char[i/12][j+12];

j++;

if (j==12) j=0;

for (n=0; n<83; n++)

{

buffer_h[n]=buffer_h[n+1];

buffer_l[n]=buffer_l[n+1];

}

LCD_set_XY(X,Y);

for (n=0; n<83; n++)

{

LCD_write_byte(buffer_h[n],1);

}

LCD_set_XY(X,Y+1);

for (n=0; n<83; n++)

{

LCD_write_byte(buffer_l[n],1);

}

delay_nms(T);

}

}

/*-----------------------------------------------------------------------

LCD_draw_map : 位图绘制函数

输入参数:X、Y :位图绘制的起始X、Y坐标;

*map :位图点阵数据;

Pix_x :位图像素(长)

Pix_y :位图像素(宽)

编写日期 :2004-8-13

最后修改日期 :2004-8-13

-----------------------------------------------------------------------*/

――――――――――――――――――――――――――――――――――――――――――――――――――

网址:Http://www.FLDZ.com 电子邮件:FLDZ@FLDZ.com 联系电话:023-43914510

重庆飞龙电子网 用单片机设计频率计 void LCD_draw_map(unsigned char X,unsigned char Y,unsigned char *map,

unsigned char Pix_x,unsigned char Pix_y)

{

unsigned int i,n;

unsigned char row;

if (Pix_y%8==0) row=Pix_y/8; //计算位图所占行数

else

row=Pix_y/8+1;

for (n=0;n<row;n++)

{

LCD_set_XY(X,Y);

for(i=0; i<Pix_x; i++)

{

LCD_write_byte(map[i+n*Pix_x], 1);

}

Y++; //换行

}

}

/*-----------------------------------------------------------------------

LCD_write_byte : 使用SPI接口写数据到LCD

输入参数:data :写入的数据;

command :写数据/命令选择;

编写日期 :2004-8-10

最后修改日期 :2004-8-13

-----------------------------------------------------------------------*/

void LCD_write_byte(unsigned char data, unsigned char command)

{

PORTB &= ~LCD_CE ; // 使能LCD

if (command == 0)

PORTB &= ~LCD_DC ; // 传送命令

else

PORTB |= LCD_DC ; // 传送数据

SPDR = data; // 传送数据到SPI寄存器

while ((SPSR & 0x80) == 0); // 等待数据传送完毕

PORTB |= LCD_CE ; // 关闭LCD

}

――――――――――――――――――――――――――――――――――――――――――――――――――

网址:Http://www.FLDZ.com 电子邮件:FLDZ@FLDZ.com 联系电话:023-43914510

重庆飞龙电子网 用单片机设计频率计

bmp.txt

unsigned char Bmp001[]=

{

/*------------------------------------------------------------------------------ ; 源文件 / 文字 : 频率计实验

; 宽×高(像素): 60×13

; 字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/120字节

; 数据转换日期 : 2004-9-23 17:39:05

------------------------------------------------------------------------------*/ 0x20,0xFC,0xE0,0x3E,0xA8,0x26,0xFA,0x0A,0xEE,0x0A,0xFA,0x00,0x84,0x8C,0x54,0xA4, 0xD4,0xAE,0xD4,0xA4,0x54,0x8C,0x04,0x00,0x20,0xE2,0x04,0x00,0x20,0x20,0x20,0xFE, 0x20,0x20,0x20,0x00,0x10,0x0C,0x44,0x94,0x24,0x06,0xF4,0x04,0x04,0x14,0x0C,0x00, 0x42,0x7A,0x42,0xFE,0x20,0x90,0x28,0xA6,0x28,0x90,0x20,0x00,0x09,0x08,0x05,0x02, 0x09,0x08,0x05,0x02,0x01,0x02,0x0D,0x00,0x02,0x02,0x02,0x02,0x02,0x0F,0x02,0x02, 0x02,0x02,0x02,0x00,0x00,0x0F,0x04,0x02,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00, 0x01,0x09,0x09,0x09,0x05,0x03,0x01,0x03,0x05,0x09,0x01,0x00,0x02,0x0A,0x09,0x07, 0x08,0x0B,0x08,0x0B,0x0C,0x0B,0x08,0x00

};

unsigned char MHz[]=

{

/*------------------------------------------------------------------------------ ; 源文件 / 文字 : MHz

; 宽×高(像素): 38×16

; 字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/76字节

; 数据转换日期 : 2004-9-27 14:27:15

------------------------------------------------------------------------------*/

//0x00,0xF8,0x30,0xC0,0x00,

//0x00,0x00,0xC0,0x30,0xF8,0x00,0x00,0xF8,0x80,0x80,0x80,0x80,0x80,0xF8,0x00,0x00,//0x40,0x40,0x40,0xC0,0x40,0x00,

//0x00,0x1F,0x00,0x00,0x07,

//0x18,0x07,0x00,0x00,0x1F,0x00,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,//0x10,0x1C,0x12,0x11,0x10,0x00

――――――――――――――――――――――――――――――――――――――――――――――――――

网址:Http://www.FLDZ.com 电子邮件:FLDZ@FLDZ.com 联系电话:023-43914510

重庆飞龙电子网 用单片机设计频率计

//0xF8,0x70,0xE0,0x10,0xC8,0x34,0xFA,

0x00,0xF8,0x30,0xC0,0x00,0xC0,0x30,0xF8,0x00,

0xF8,0x40,0x40,0x40,0x40,0xF8,0x00,0x20,0x20,0xA0,0x60,0x20,0x00,

//0x07,0x00,0x01,0x06,0x01,0x00,0x07,

0x00,0x07,0x00,0x01,0x06,0x01,0x00,0x07,0x00,

0x07,0x00,0x00,0x00,0x00,0x07,0x00,0x04,0x06,0x05,0x04,0x04,0x00

};

unsigned char Bmp002[]=

{

/*------------------------------------------------------------------------------ ; 源文件 / 文字 :":"

; 宽×高(像素): 7×14

; 字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/48字节

; 数据转换日期 : 2004-9-23 17:12:47

------------------------------------------------------------------------------*/ //0x00,0x00,0x06,0x06,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00

0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x00

};

unsigned char Bmp003[]=

/*------------------------------------------------------------------------------ ; 源文件 / 文字 :"."

; 宽×高(像素): 4×16

------------------------------------------------------------------------------*/ //{0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00};

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00};

//{

/*------------------------------------------------------------------------------ ; 源文件 / 文字 : 没有输入信号

; 宽×高(像素): 72×13

; 字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/144字节

; 数据转换日期 : 2004-9-23 17:16:17

------------------------------------------------------------------------------*/ /*

0x10,0xE2,0x74,0x10,0x68,0xDE,0x42,0x42,0xDE,0x20,0x20,0x00,0x84,0x44,0x24,0xF4, 0x9C,0x96,0x94,0x94,0xF4,0x04,0x04,0x00,0x68,0x5E,0xE8,0x48,0xD0,0x48,0xD4,0x12, 0xD4,0x08,0xD0,0x00,0x00,0x00,0x00,0x82,0x62,0x1C,0x60,0x80,0x00,0x00,0x00,0x00, 0x40,0xF0,0x0E,0x04,0x54,0x54,0x54,0x56,0x54,0x54,0x04,0x00,0x40,0x40,0x5E,0xD2, 0x52,0x52,0x52,0x52,0x5E,0x40,0x40,0x00,0x02,0x0F,0x00,0x08,0x08,0x05,0x02,0x02, 0x05,0x08,0x08,0x00,0x00,0x00,0x00,0x0F,0x02,0x02,0x02,0x0A,0x0F,0x00,0x00,0x00, 0x02,0x02,0x0F,0x01,0x0F,0x05,0x0F,0x00,0x03,0x08,0x0F,0x00,0x08,0x04,0x02,0x01, 0x00,0x00,0x00,0x01,0x02,0x04,0x08,0x00,0x00,0x0F,0x00,0x00,0x0F,0x05,0x05,0x05, 0x05,0x0F,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x09,0x09,0x09,0x07,0x00,0x00,0x00 };

――――――――――――――――――――――――――――――――――――――――――――――――――

网址:Http://www.FLDZ.com 电子邮件:FLDZ@FLDZ.com 联系电话:023-43914510

重庆飞龙电子网 用单片机设计频率计

*/

6x8.txt

// 6 x 8 font

// 1 pixel space at left and bottom

// index = ASCII - 32

const unsigned char font6x8[][6] =

{

{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // sp

{ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00 }, // !

{ 0x00, 0x00, 0x07, 0x00, 0x07, 0x00 }, // "

{ 0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14 }, // #

{ 0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12 }, // $

{ 0x00, 0x62, 0x64, 0x08, 0x13, 0x23 }, // %

{ 0x00, 0x36, 0x49, 0x55, 0x22, 0x50 }, // &

{ 0x00, 0x00, 0x05, 0x03, 0x00, 0x00 }, // '

{ 0x00, 0x00, 0x1c, 0x22, 0x41, 0x00 }, // (

{ 0x00, 0x00, 0x41, 0x22, 0x1c, 0x00 }, // )

{ 0x00, 0x14, 0x08, 0x3E, 0x08, 0x14 }, // *

{ 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08 }, // +

{ 0x00, 0x00, 0x00, 0xA0, 0x60, 0x00 }, // ,

{ 0x00, 0x08, 0x08, 0x08, 0x08, 0x08 }, // -

{ 0x00, 0x00, 0x60, 0x60, 0x00, 0x00 }, // .

{ 0x00, 0x20, 0x10, 0x08, 0x04, 0x02 }, // /

{ 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E }, // 0

{ 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00 }, // 1

{ 0x00, 0x42, 0x61, 0x51, 0x49, 0x46 }, // 2

{ 0x00, 0x21, 0x41, 0x45, 0x4B, 0x31 }, // 3

{ 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10 }, // 4

{ 0x00, 0x27, 0x45, 0x45, 0x45, 0x39 }, // 5

{ 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30 }, // 6

{ 0x00, 0x01, 0x71, 0x09, 0x05, 0x03 }, // 7

{ 0x00, 0x36, 0x49, 0x49, 0x49, 0x36 }, // 8

{ 0x00, 0x06, 0x49, 0x49, 0x29, 0x1E }, // 9

{ 0x00, 0x00, 0x36, 0x36, 0x00, 0x00 }, // :

{ 0x00, 0x00, 0x56, 0x36, 0x00, 0x00 }, // ;

{ 0x00, 0x08, 0x14, 0x22, 0x41, 0x00 }, // <

{ 0x00, 0x14, 0x14, 0x14, 0x14, 0x14 }, // =

{ 0x00, 0x00, 0x41, 0x22, 0x14, 0x08 }, // >

――――――――――――――――――――――――――――――――――――――――――――――――――

网址:Http://www.FLDZ.com 电子邮件:FLDZ@FLDZ.com 联系电话:023-43914510

重庆飞龙电子网 用单片机设计频率计 { 0x00, 0x02, 0x01, 0x51, 0x09, 0x06 }, // ?

{ 0x00, 0x32, 0x49, 0x59, 0x51, 0x3E }, // @

{ 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C }, // A

{ 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36 }, // B

{ 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22 }, // C

{ 0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C }, // D

{ 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41 }, // E

{ 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01 }, // F

{ 0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A }, // G

{ 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F }, // H

{ 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00 }, // I

{ 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01 }, // J

{ 0x00, 0x7F, 0x08, 0x14, 0x22, 0x41 }, // K

{ 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40 }, // L

{ 0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F }, // M

{ 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F }, // N

{ 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E }, // O

{ 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06 }, // P

{ 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E }, // Q

{ 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46 }, // R

{ 0x00, 0x46, 0x49, 0x49, 0x49, 0x31 }, // S

{ 0x00, 0x01, 0x01, 0x7F, 0x01, 0x01 }, // T

{ 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F }, // U

{ 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F }, // V

{ 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F }, // W

{ 0x00, 0x63, 0x14, 0x08, 0x14, 0x63 }, // X

{ 0x00, 0x07, 0x08, 0x70, 0x08, 0x07 }, // Y

{ 0x00, 0x61, 0x51, 0x49, 0x45, 0x43 }, // Z

{ 0x00, 0x00, 0x7F, 0x41, 0x41, 0x00 }, // [

{ 0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55 }, // 55

{ 0x00, 0x00, 0x41, 0x41, 0x7F, 0x00 }, // ]

{ 0x00, 0x04, 0x02, 0x01, 0x02, 0x04 }, // ^

{ 0x00, 0x40, 0x40, 0x40, 0x40, 0x40 }, // _

{ 0x00, 0x00, 0x01, 0x02, 0x04, 0x00 }, // '

{ 0x00, 0x20, 0x54, 0x54, 0x54, 0x78 }, // a

{ 0x00, 0x7F, 0x48, 0x44, 0x44, 0x38 }, // b

{ 0x00, 0x38, 0x44, 0x44, 0x44, 0x20 }, // c

{ 0x00, 0x38, 0x44, 0x44, 0x48, 0x7F }, // d

{ 0x00, 0x38, 0x54, 0x54, 0x54, 0x18 }, // e

{ 0x00, 0x08, 0x7E, 0x09, 0x01, 0x02 }, // f

{ 0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C }, // g

{ 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78 }, // h

{ 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00 }, // i

{ 0x00, 0x40, 0x80, 0x84, 0x7D, 0x00 }, // j

{ 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00 }, // k

――――――――――――――――――――――――――――――――――――――――――――――――――

网址:Http://www.FLDZ.com 电子邮件:FLDZ@FLDZ.com 联系电话:023-43914510

重庆飞龙电子网 用单片机设计频率计 { 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00 }, // l

{ 0x00, 0x7C, 0x04, 0x18, 0x04, 0x78 }, // m

{ 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78 }, // n

{ 0x00, 0x38, 0x44, 0x44, 0x44, 0x38 }, // o

{ 0x00, 0xFC, 0x24, 0x24, 0x24, 0x18 }, // p

{ 0x00, 0x18, 0x24, 0x24, 0x18, 0xFC }, // q

{ 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08 }, // r

{ 0x00, 0x48, 0x54, 0x54, 0x54, 0x20 }, // s

{ 0x00, 0x04, 0x3F, 0x44, 0x40, 0x20 }, // t

{ 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C }, // u

{ 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C }, // v

{ 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C }, // w

{ 0x00, 0x44, 0x28, 0x10, 0x28, 0x44 }, // x

{ 0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C }, // y

{ 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44 }, // z

{ 0x14, 0x14, 0x14, 0x14, 0x14, 0x14 } // horiz lines

};

// 7 x 13 font

// 1 pixel space at left and bottom

// index = ASCII - 32

const unsigned char font7x13[][14] =

{

/*------------------------------------------------------------------------------ ; 源文件 / 文字 : 0123456789.

; 宽×高(像素): 77×13

; 字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/154字节

; 数据转换日期 : 2004-9-23 18:16:29

------------------------------------------------------------------------------*/ //unsigned char code Bmp001[]=

//{

/*------------------------------------------------------------------------------ ; 源文件 / 文字 : 0123456789.

; 宽×高(像素): 81×14

; 字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/140字节

; 数据转换日期 : 2004-9-24 0:45:48

------------------------------------------------------------------------------*/

{0xF0,0x08,0x08,0x08,0x08,0xF0,0x00,0x0F,0x10,0x10,0x10,0x10,0x0F,0x00},

{0x00,0x20,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0x00},

{0x10,0x08,0x08,0x08,0x08,0xF0,0x00,0x10,0x18,0x14,0x12,0x11,0x10,0x00},

{0x10,0x08,0x88,0x88,0x88,0x70,0x00,0x08,0x10,0x10,0x10,0x10,0x0F,0x00},

{0x00,0x00,0xC0,0x30,0xF8,0x00,0x00,0x04,0x07,0x04,0x04,0x1F,0x04,0x00},

{0xC0,0xB8,0x88,0x88,0x88,0x08,0x00,0x09,0x10,0x10,0x10,0x10,0x0F,0x00},

{0xF0,0x08,0x88,0x88,0x88,0x10,0x00,0x0F,0x11,0x10,0x10,0x10,0x0F,0x00},

――――――――――――――――――――――――――――――――――――――――――――――――――

网址:Http://www.FLDZ.com 电子邮件:FLDZ@FLDZ.com 联系电话:023-43914510

重庆飞龙电子网 用单片机设计频率计 {0x08,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x1C,0x03,0x00,0x00,0x00,0x00},

{0x70,0x88,0x88,0x88,0x88,0x70,0x00,0x0F,0x10,0x10,0x10,0x10,0x0F,0x00},

{0xF0,0x08,0x08,0x08,0x88,0xF0,0x00,0x08,0x11,0x11,0x11,0x08,0x07,0x00}

};

delay.txt

/*-----------------------------------------------------------------------

延时函数

系统时钟:8M

-----------------------------------------------------------------------*/

void delay_1us(void) //1us延时函数

{

asm("nop");

}

void delay_nus(unsigned int n) //N us延时函数

{

unsigned int i=0;

for (i=0;i<n;i++)

delay_1us();

}

void delay_1ms(void) //1ms延时函数

{

unsigned int i;

for (i=0;i<1140;i++);

}

void delay_nms(unsigned int n) //N ms延时函数

{

unsigned int i=0;

for (i=0;i<n;i++)

delay_1ms();

}

――――――――――――――――――――――――――――――――――――――――――――――――――

网址:Http://www.FLDZ.com 电子邮件:FLDZ@FLDZ.com 联系电话:023-43914510

相关推荐