pos機(jī)刷卡系統(tǒng)繁忙,BH1415F智能調(diào)頻控制系統(tǒng)C語言程序

 新聞資訊  |   2023-07-03 12:45  |  投稿人:pos機(jī)之家

網(wǎng)上有很多關(guān)于pos機(jī)刷卡系統(tǒng)繁忙,BH1415F智能調(diào)頻控制系統(tǒng)C語言程序的知識(shí),也有很多人為大家解答關(guān)于pos機(jī)刷卡系統(tǒng)繁忙的問題,今天pos機(jī)之家(www.rcqwhg.com)為大家整理了關(guān)于這方面的知識(shí),讓我們一起來看下吧!

本文目錄一覽:

1、pos機(jī)刷卡系統(tǒng)繁忙

pos機(jī)刷卡系統(tǒng)繁忙

/***************************************

BH1415F芯片智能調(diào)頻控制電路

STC89C52單片機(jī) LCD1602顯示

西電德顯計(jì)劃

***************************************/

#include<reg52.h>

#include<intrins.h>

#include<stdio.h>

#define uchar unsigned char

#define uint unsigned int

sbit BH1415F_MUTE = P2^4;

sbit BH1415F_DA = P2^5;

sbit BH1415F_CLK = P2^6;

sbit BH1415F_CE = P2^7;

sbit KEY_1= P1^4;

sbit KEY_2= P1^5;

sbit KEY_3= P1^6;

sbit KEY_4= P1^7;

sbit lcd1602_rs = P2^0;

sbit lcd1602_rw = P2^1;

sbit lcd1602_ep = P2^2;

sbit lg = P2^3;

void Send_16(uint ui_Date, uchar uc_MONO ,uchar uc_PD); //發(fā)送數(shù)據(jù)函數(shù)

void Key_Scan_1(void); //控制靜音

void Key_Scan_2(void); //頻率步進(jìn) 精度0.1MHZ

void Key_Scan_3(void); //頻率步退 精度0.1MHZ

void Key_Scan_4(void); //立體聲控制

void Delay(uchar ms);

void Disp(void);

void lcd_wdat(uchar dat);

void lcd_wcmd(uchar cmd);

void lcd_pos(uchar pos);

void lcd_init(void);

void lcd_disp(uchar pos,uchar dat);

bit lcd_bz(void);

uchar uc_Count_1;

uchar uc_Count_2;

uchar uc_Count_3;

uchar uc_Count_4;

uint ui_TEMP_1; //保存頻率數(shù)據(jù)

uint ui_TEMP_2; //保存立體聲數(shù)據(jù)

uint ui_TEMP_3; //保存靜音數(shù)據(jù)

uint ui_TEMP_4; //

/**********************************主程序*************************************/

void main(void)

{

Send_16(0x3e7,0x01,0x00); //設(shè)置初始頻率99.9MHz、立體聲、鎖相環(huán)

ui_TEMP_2=0x01;

BH1415F_MUTE=0;

Disp();

while(1)

{

Key_Scan_1();

Key_Scan_2();

Key_Scan_3();

Key_Scan_4();

}

}

/**********************************顯示子程序*************************************/

void Disp(void)

{

lcd_init(); // 初始化LCD

Delay(10); //延時(shí)10ms

lcd_disp(0,70); //第1個(gè)字符顯示F

lcd_disp(1,77); //顯示M

lcd_disp(2,58); //顯示 :號

if(ui_TEMP_1>=1000)

{

lcd_disp(3,ui_TEMP_1/1000+48); //加48是因?yàn)榍懊嬉延?7個(gè)符號

}

lcd_disp(4,ui_TEMP_1/100+48); //

lcd_disp(5,ui_TEMP_1/10+48); //

lcd_disp(6,46); //顯示小數(shù)點(diǎn)

lcd_disp(7,ui_TEMP_1+48); //

if(ui_TEMP_2)

{

lcd_disp(9,83); //S

lcd_disp(10,84); //T

lcd_disp(11,69); //E

}

if(ui_TEMP_3)

{

lcd_disp(13,77); //M

lcd_disp(14,85); //U

}

lcd_disp(15,127); //左箭頭

lcd_disp(64,126); //右箭頭

lcd_disp(66,88); //西X

lcd_disp(67,68); //電D

lcd_disp(69,77); //M

lcd_disp(70,85); //U

lcd_disp(71,83); //S

lcd_disp(72,73); //I

lcd_disp(73,67); //C

lcd_disp(76,79); //O

lcd_disp(77,78); //N

lcd_disp(79,127); //左箭頭

}

/**********************************延時(shí)子程序********************************/

void Delay(uchar ms)

{ // lcd延時(shí)子程序

uchar i;

while(ms--)

{

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

{

_nop_();

_nop_();

_nop_();

_nop_();

}

}

}

/**********************************LCD1602函數(shù)*********************************/

void lcd_init()

{ //LCD初始化設(shè)定

lcd_wcmd(0x38); //

Delay(1);

lcd_wcmd(0x38); //

Delay(1);

lcd_wcmd(0x38); //設(shè)置8位格式,2行,5*7

Delay(1);

lcd_wcmd(0x0c); //整體顯示,關(guān)光標(biāo),不閃爍

Delay(1);

lcd_wcmd(0x06); //設(shè)定輸入方式,增量不移位

Delay(1);

lcd_wcmd(0x01); //清除LCD的顯示內(nèi)容

Delay(1);

}

bit lcd_bz()

{ // 測試LCD忙碌狀態(tài)

bit result;

lcd1602_rs = 0;

lcd1602_rw = 1;

lcd1602_ep = 1;

_nop_();

_nop_();

_nop_();

_nop_();

result = (bit)(P0 & 0x80);

lcd1602_ep = 0;

return result;

}

void lcd_wcmd(uchar cmd) // 寫入指令數(shù)據(jù)到LCD

{

while(lcd_bz());

lcd1602_rs = 0; //指令

lcd1602_rw = 0; //寫入

lcd1602_ep = 0;

_nop_();

_nop_();

P0 = cmd;

_nop_();

_nop_();

_nop_();

_nop_();

lcd1602_ep = 1; //允許

_nop_();

_nop_();

_nop_();

_nop_();

lcd1602_ep = 0;

}

void lcd_disp(uchar pos,uchar dat) //lcd顯示位置和數(shù)據(jù)

{

lcd_wcmd(pos | 0x80); //設(shè)定顯示位置

while(lcd_bz()); //寫入字符顯示數(shù)據(jù)到LCD

lcd1602_rs = 1; //數(shù)據(jù)

lcd1602_rw = 0; //寫入

lcd1602_ep = 0;

P0 = dat;

_nop_();

_nop_();

_nop_();

_nop_();

lcd1602_ep = 1; //允許

_nop_();

_nop_();

_nop_();

_nop_();

lcd1602_ep = 0;

}

/**********************************鍵盤掃描1*********************************/

void Key_Scan_1(void) //控制靜音

{

if(KEY_1==0)

{

{

Delay(20); //軟件防抖

if(KEY_1==0)

{

BH1415F_MUTE=(uc_Count_1++)%2;

ui_TEMP_3=BH1415F_MUTE;

while(KEY_1==0);

}

Disp();

while(KEY_1==0);

}

}

}

/**********************************鍵盤掃描2*************************************/

void Key_Scan_2(void) //頻率步進(jìn)

{

if(KEY_2==0)

{

Delay(20);

if(KEY_2==0)

{

uc_Count_2++;

if(uc_Count_2==200)

{

uc_Count_2=0;

Send_16(0x3e7,ui_TEMP_2,0x00);

}

Send_16(ui_TEMP_1+1,ui_TEMP_2,0x00);

Disp();

while(KEY_2==0);

}

}

}

/**********************************鍵盤掃描3*************************************/

void Key_Scan_3(void) //頻率步退

{

if(KEY_3==0)

{

Delay(20);

if(KEY_3==0)

{

uc_Count_3++;

if(uc_Count_3==300)

{

uc_Count_3=0;

Send_16(0x3e7,ui_TEMP_2,0x00);

}

Send_16(ui_TEMP_1-1,ui_TEMP_2,0x00);

Disp();

while(KEY_3==0);

}

}

}

/**********************************鍵盤掃描4*************************************/

void Key_Scan_4(void) //立體聲控制

{

if(KEY_4==0)

{

Delay(20); //軟件防抖

if(KEY_4==0)

{

uc_Count_4++;

if(ui_TEMP_2=uc_Count_4%2)

Send_16(ui_TEMP_1,0x01,0x00);

else

Send_16(ui_TEMP_1,0x00,0x00);

Disp();

while(KEY_4==0);

}

}

}

/**********************************數(shù)據(jù)發(fā)送*************************************/

void Send_16(uint ui_Date,uchar uc_MONO ,uchar uc_PD)

{

uchar i;

ui_TEMP_1=ui_Date;

BH1415F_CLK=0;

BH1415F_CE=0;

BH1415F_CE=1;

for(i=11;i;--i)

{

BH1415F_DA=ui_Date&0x01;

ui_Date>>=1;

BH1415F_CLK=1;

BH1415F_CLK=0;

}

BH1415F_DA=uc_MONO&0x01;

BH1415F_CLK=1;

BH1415F_CLK=0;

BH1415F_DA=uc_PD&0x20;

BH1415F_CLK=1;

BH1415F_CLK=0;

uc_PD<<=1;

BH1415F_DA=uc_PD&0x20;

BH1415F_CLK=1;

BH1415F_CLK=0;

BH1415F_DA=1;

BH1415F_CLK=1;

BH1415F_CLK=0;

BH1415F_DA=0;

BH1415F_CLK=1;

BH1415F_CLK=0;

BH1415F_CE=0;

}

/**********************************數(shù)據(jù)發(fā)送*************************************/

以上就是關(guān)于pos機(jī)刷卡系統(tǒng)繁忙,BH1415F智能調(diào)頻控制系統(tǒng)C語言程序的知識(shí),后面我們會(huì)繼續(xù)為大家整理關(guān)于pos機(jī)刷卡系統(tǒng)繁忙的知識(shí),希望能夠幫助到大家!

轉(zhuǎn)發(fā)請帶上網(wǎng)址:http://www.rcqwhg.com/news/78057.html

你可能會(huì)喜歡:

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 babsan@163.com 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。