当前位置:首页 >> 信息与通信 >>

数字频率计12864显示


#include <reg52.h> #include "TM12864.h"

unsigned char timercount; unsigned char disbuf[6]={0,0,0,0,0,10}; unsigned long freq; unsigned long int zhouqi; unsigned lon

g b; unsigned long T0count; //计数器

/* void freq_pos() { unsigned int us=1000000; zhuoqi=us/freq; disbuf[5]=zhuoqi%10+48; b=zhuoqi/10; disbuf[4]=b%10+48; b=b/10; disbuf[3]=b%10+48; //把频率转换成周期值,并把各位拆开

b=b/10; disbuf[2]=b%10+48; b=b/10; disbuf[1]=b%10+48; disbuf[0]=b/10+48; } */

void timer_1(void) interrupt 1 { TH0=0xdc; TL0=0x00; timercount++; if(timercount==100) { TR1=0; timercount=0;

//每次中断 10MS

//等待定时时间 //T0 为定时器,T1 为 16 位计数器

freq=T0count*65536+TH1*256+TL1; // freq=freq*16; TH1=0; TL1=0; TR1=1; }

}

void t0(void) interrupt 3 { T0count++; }

void freq_f() {

//拆开频率值

/* disbuf[5]=freq%10+48; b=freq/10; disbuf[4]=b%10+48; b=b/10; disbuf[3]=b%10+48; b=b/10; disbuf[2]=b%10+48; b=b/10; disbuf[1]=b%10+48; disbuf[0]=b/10+48; */

disbuf[0]=(freq/100000)+48; disbuf[1]=((freq%100000)/10000)+48; disbuf[2]=(((freq%100000)%10000)/1000)+48; disbuf[3]=((((freq%100000)%10000)%1000)/100)+48; disbuf[4]=(((((freq%100000)%10000)%1000)%100)/10)+48; disbuf[5]=(((((freq%100000)%10000)%1000)%100)%10)+48; }

void disp_freq(void) { unsigned char i;

//频率显示

write_12864com(0x8a); for(i=0;i<6;i++) { write_12864dat(disbuf[i]); delay_50us(1); } }

void main() {

initinal(); TMOD=0x51; EA=1; ET0=1; TH0=0xdc; TL0=0x00; TH1=0; TL1=0; TR0=1; TR1=1; display3(); display(); while(1) { freq_f(); disp_freq(); //T0 为定时器,T1 为 16 位计数器

} }

/********************************************************** ********************* *TM12864 * * * *********************************************************** *********************/ #include <intrins.h> #define uchar unsigned char #define uint unsigned int /************* 12864LCD 引脚定义 *************/ #define LCD_data P0 sbit RS = P2^6; sbit RW = P2^5; sbit EN = P2^7; sbit PSB = P2^4; //数据口 //寄存器选择输入 //液晶读/写控制 //液晶使能控制 //串/并方式控制 12864 标 准 字 库 液 晶 演 示 数 据 p0, 控 制 p2 描 述 :

uchar table[]="Frequence is:"; uchar table1[]="HZ";

void write_12864com(uchar com); void write_12864dat(uchar dat); void initinal(void); void display3(void); void display(void);

void delay_50us(uint t) { uint j; for(;t>0;t--) for(j=19;j>0;j--); }

//延时 50US

void delay_50ms(uint t) { uint j; for(;t>0;t--) for(j=6245;j>0;j--); }

//延时 50MS

void display(void) {

//显示 HZ

uchar i; write_12864com(0x8d); for(i=0;i<3;i++) { write_12864dat(table1[i]); delay_50us(1); } }

void display3(void) { uchar i;

// 显示 Frequenceis:

write_12864com(0x80); for(i=0;i<13;i++) { write_12864dat(table[i]); delay_50us(1); } }

void write_12864com(uchar com) //写指令 {

RS = 0; RW = 0; delay_50us(1); P0 = com; EN = 1; delay_50us(10); EN = 0; delay_50us(2); }

void write_12864dat(uchar dat) //写数据 {

RS = 1; RW = 0; delay_50us(1); P0 = dat; EN = 1;

delay_50us(10); EN = 0; delay_50us(2); }

void initinal(void) { delay_50ms(2);

//LCD12864 初始化

write_12864com(0x30); delay_50us(4); write_12864com(0x30); delay_50us(4); write_12864com(0x0c); delay_50us(4); write_12864com(0x01); delay_50us(240); write_12864com(0x06); delay_50us(10); }


相关文章:
12864多变量显示成功程序
12864多功能数字钟源程序... 6页 免费 12864显示程序 13页 2下载券 12864显示...用指针显示字符串 //各种字符都用字符串显示出来 方法简单 //用指针显示字符串...
基于单片机数字频率计设计
本次为测量方波信号的数字频率计设计,设计要求如下: (1)频率测量:0Hz~250kHz; (2)频率,周期显示切换 (3)用图形液晶 LCD12864 显示数值和单位 设计思路 由于...
数字频率计
设计一个数字频率计,进行频率的自动测量,并用 12864液晶屏的第一行显示数字频率计” , 第二行显示设计者的姓名和学号, 第三行显示测量的频率值(单位:HZ)。...
数字频率计_图文
考虑到上述问题,需设计一个具有测量 迅速,精确度高,显示直观等优点的数字频率计数字频率计设计方案选择:硬件系统以 AT89S52 单片机为控制核心,辅以 12864 液晶...
数字频率计的设计
数字频率计设计 1 49 徐志朗 11192127 2013 年 5 月 15 日 0 单片机课程...接收的TTL信号,以便单片机对其进行频率测量,最后将测得的数 据通过12864液晶显示...
用51单片机做的万年历,显示用12864液晶
用51单片机做的万年历,显示12864液晶_电子/电路_工程科技_专业资料。用中文与数字显示当前日期,星期及时间信息,调整时钟时,所选择的调整对象反白显示 LCD12864.c...
LCD12864显示矩阵键盘输入的任意两位数
LCD12864显示矩阵键盘输入的任意两位数_电子/电路_工程科技_专业资料。本程序采用LCD12684串行显示矩阵键盘输入的任意两位数,只用到矩阵键盘的0-9十个数字键/...
06 12864LCD显示计算器键盘按键实验
显示 12864LCD 显示器 设计计算器键盘按键,系统主要包括硬件和软件两部分。重点...数字,符号等编码 extern uchar code Word_String[][32]; extern uchar code ...
数字频率计
本次数字频率计将采用定时、计数的方法测量频率,采用一个 LCD12864 液晶显示器动 态显示 7 位数,测量频率范围 0Hz—250kHz 的信号。 2 硬件设计 2.1 系统...
数字频率计
16 §1 引言一、实验课题数字频率计设计 1、基本要求 设计指标: ① 频率测量:0.1Hz~50KHz; ② 周期测量:4ms~10s; ③ 用图形液晶 LCD12864 显示数值和...
更多相关标签:
数字显示频率计 | 数字频率计 | 数字频率计课程设计 | 简易数字频率计设计 | 简易数字频率计 | 数字频率计毕业设计 | 数字频率计论文 | 数字频率计设计 |