欧美色视频日本片免费高清-欧美色视频网-欧美色视频在线观看-欧美色婷婷-欧美色图片区-欧美色图偷窥自拍

刷卡機(jī)顯示應(yīng)答碼lk

瀏覽:76 發(fā)布日期:2023-05-16 00:00:00 投稿人:佚名投稿

網(wǎng)上關(guān)于刷卡機(jī)顯示應(yīng)答碼lk的刷卡知識(shí)比較多,也有關(guān)于刷卡機(jī)顯示應(yīng)答碼lk的問(wèn)題,今天第一pos網(wǎng)(www.cnksdq.com.cn)為大家整理刷卡常見(jiàn)知識(shí),未來(lái)的我們終成一代卡神。

本文目錄一覽:

1、刷卡機(jī)顯示應(yīng)答碼lk

刷卡機(jī)顯示應(yīng)答碼lk

學(xué)習(xí)目的了解數(shù)碼管分類、工作原理及驅(qū)動(dòng)電路的設(shè)計(jì)。掌握STC8A8K64D4系列單片機(jī)驅(qū)動(dòng)8位共陰數(shù)碼管的動(dòng)態(tài)顯示的軟件設(shè)計(jì)。數(shù)碼管概述

數(shù)碼管是一種常用的顯示設(shè)備,他有著價(jià)格便宜、使用簡(jiǎn)單的特點(diǎn),在各個(gè)領(lǐng)域被廣泛的應(yīng)用,如空調(diào)、電子萬(wàn)年歷、冰箱等等。學(xué)習(xí)數(shù)碼管相關(guān)的編程之前,我們有必要了解一下數(shù)碼管的一些概念和操作方式。

數(shù)碼管也稱LED數(shù)碼管(led Segment Displays),其是由多個(gè)發(fā)光二極管封裝在一起組成。

數(shù)碼管的“段”

常用的數(shù)碼管有七段數(shù)碼管和八段數(shù)碼管,如下圖所示。7段數(shù)碼管由七個(gè)條狀發(fā)光二極管組成,8段數(shù)碼管由七個(gè)條狀和一個(gè)點(diǎn)狀發(fā)光二極管,即8段數(shù)碼管比7段數(shù)碼管多一個(gè)發(fā)光二極管單元(多一個(gè)小數(shù)點(diǎn))。如果需要顯示帶小數(shù)的數(shù)據(jù),應(yīng)選用8段數(shù)碼管。開(kāi)發(fā)板上使用的是8段數(shù)碼管。

圖1:8段數(shù)碼管比7段數(shù)碼管

數(shù)碼管的“位”

數(shù)碼管按能顯示多少個(gè)“8”可分為1位、2位、4位等數(shù)碼管,如下圖所示。開(kāi)發(fā)板上使用的是8位數(shù)碼管。

圖2:數(shù)碼管

共陰極和共陽(yáng)極數(shù)碼管

數(shù)碼管按發(fā)光二極管單元連接方式分為共陰極數(shù)碼管和共陽(yáng)極數(shù)碼管,如下圖所示。

圖3:共陽(yáng)極和共陰極數(shù)碼管

共陽(yáng)極:正極連接在一起,作為公共端。負(fù)極單獨(dú)控制,施加低電平(邏輯0),對(duì)應(yīng)的“段”點(diǎn)亮,施加高電平(邏輯1),對(duì)應(yīng)的“段”熄滅。共陰極:負(fù)極連接在一起,作為公共端。正極單獨(dú)控制,施加低電平(邏輯0),對(duì)應(yīng)的“段”熄滅,施加高電平(邏輯1),對(duì)應(yīng)的“段”點(diǎn)亮。位選和段選

一般地,操作數(shù)碼管時(shí),先執(zhí)行段選再執(zhí)行位選。位選是選擇待操作的數(shù)碼管,如開(kāi)發(fā)板上的是8位數(shù)碼管,位選就是選擇8位數(shù)碼管中的某一個(gè)。段選是選擇數(shù)碼管里面的LED燈,即通過(guò)選擇點(diǎn)亮響應(yīng)的LED燈以達(dá)到顯示需要的數(shù)據(jù)的目的。

段碼

數(shù)碼管的段碼指的是數(shù)碼管在顯示不同的數(shù)據(jù)時(shí),段選信號(hào)對(duì)應(yīng)的二進(jìn)制數(shù)據(jù)。下圖是以8段共陰極數(shù)碼管顯示數(shù)字7為例來(lái)描述段碼。

圖4:共陰極數(shù)碼管顯示數(shù)字7時(shí)的段碼

對(duì)于共陰極數(shù)碼管來(lái)說(shuō),段的正極為高電平“邏輯1”時(shí),段點(diǎn)亮,段的正極為低電平“邏輯0”時(shí),段熄滅。如要顯示數(shù)字“7”,需要點(diǎn)亮段A、段B和段C,8個(gè)段的負(fù)極對(duì)應(yīng)的二進(jìn)制數(shù)據(jù)為11100000,換算成16進(jìn)制即為0xE0。如果是共陽(yáng)極數(shù)碼管,正好和共陰極數(shù)碼管相反,8個(gè)段的正極對(duì)應(yīng)的二進(jìn)制數(shù)據(jù)為00000111,換算成16進(jìn)制即為0x07。

由此,我們即可得出共陰極數(shù)碼管顯示的段碼表,如下表所示。

表1:共陰極數(shù)碼管顯示的段碼表

字形

A

B

C

D

E

F

G

DP

段碼(共陰)

0

1

1

1

1

1

1

0

0

FC H

1

0

1

1

0

0

0

0

0

60 H

2

1

1

0

1

1

0

1

0

DA H

3

1

1

1

1

0

0

1

0

F2 H

4

0

1

1

0

0

1

1

0

66 H

5

1

0

1

1

0

1

1

0

B6 H

6

1

0

1

1

1

1

1

0

BE H

7

1

1

1

0

0

0

0

0

E0 H

8

1

1

1

1

1

1

1

0

FE H

9

1

1

1

1

0

1

1

0

F6 H

A

1

1

1

0

1

1

1

0

EE H

B

0

0

1

1

1

1

1

0

3E H

C

1

0

0

1

1

1

0

0

9C H

D

0

1

1

1

1

0

1

0

7A H

E

1

0

0

1

1

1

1

0

9E H

F

1

0

0

0

1

1

1

0

8E H

小數(shù)點(diǎn)

0

0

0

0

0

0

0

1

01 H

不顯示

0

0

0

0

0

0

0

0

00 H

動(dòng)態(tài)顯示和靜態(tài)顯示

數(shù)碼管的驅(qū)動(dòng)顯示方式有多種,大致可分為動(dòng)態(tài)顯示和靜態(tài)顯示。

動(dòng)態(tài)顯示其實(shí)就是利用LED的余輝效應(yīng)和人眼的視覺(jué)暫留效應(yīng)來(lái)實(shí)現(xiàn)的。動(dòng)態(tài)顯示方式外圍驅(qū)動(dòng)電路相對(duì)簡(jiǎn)單,占用單片機(jī)I/O較少,但是需要不斷刷新數(shù)碼管顯示,因此,占用CPU時(shí)間較長(zhǎng)。

靜態(tài)顯示是單片機(jī)發(fā)送數(shù)據(jù)之后,數(shù)據(jù)如何穩(wěn)定有效的顯示由外圍鎖存器件實(shí)現(xiàn),這樣可以大幅降低占用CPU的時(shí)間,但他會(huì)占用更多的I/O,并且外圍驅(qū)動(dòng)電路也相對(duì)復(fù)雜。

硬件設(shè)計(jì)

IK-64D4開(kāi)發(fā)板上設(shè)計(jì)了8位共陰極數(shù)碼管顯示電路,該顯示電路中使用74HC138譯碼器實(shí)現(xiàn)數(shù)碼管的位選,74HC595芯片實(shí)現(xiàn)數(shù)碼管的段選,電圖原理圖如下。

圖5:數(shù)碼管顯示電路

數(shù)碼管顯示電路占用的STC8A8K64D4的引腳如下表:

表2:引腳分配

名稱

引腳

說(shuō)明

SCK

P3.2

和顯示屏接口共用

SI

P3.4

和顯示屏接口共用

RCK

P3.5

和顯示屏接口共用

A0

P4.0

和顯示屏接口共用

A1

P5.5

和顯示屏接口共用

A2

P4.4

和顯示屏接口共用

數(shù)碼管段選的實(shí)現(xiàn)

數(shù)碼管的段選是通過(guò)74HC595芯片實(shí)現(xiàn)的,74HC595是一個(gè)8位串行輸入、并行輸出的位移緩存器。數(shù)碼管顯示電路中,為了節(jié)省GPIO,74HC595的使能控制端在硬件上設(shè)置為恒有效(/OE連接到GND,恒為低電平)。74HC595的Q0~Q7 八位數(shù)據(jù)并行輸出端并接到8個(gè)數(shù)碼管的段選信號(hào)線上,這樣,使用3個(gè)GPIO就可以向數(shù)碼管發(fā)送段選信號(hào)。這3個(gè)GPIO各自的作用如下表所示。

表3:74HC595驅(qū)動(dòng)信號(hào)

GPIO

連接(74HC595)

描述

P3.4

SI

發(fā)送串行數(shù)碼管段選數(shù)據(jù),經(jīng)74HC595轉(zhuǎn)為8位并行數(shù)據(jù)向數(shù)碼管提供段選信號(hào)。

P3.2

SCK

產(chǎn)生數(shù)據(jù)移位時(shí)鐘,上升沿時(shí)數(shù)據(jù)寄存器的數(shù)據(jù)移位,Q0→Q1→Q2→Q3→...→Q7,下降沿移位寄存器數(shù)據(jù)不變。

P3.5

RCK

產(chǎn)生數(shù)據(jù)鎖存時(shí)鐘,上升沿時(shí)將8 位鎖存移位寄存器中的狀態(tài)值并行輸出,下降沿時(shí)存儲(chǔ)寄存器數(shù)據(jù)不變。

傳輸段碼時(shí),單片機(jī)的P3.4輸出8位串行段碼數(shù)據(jù),每傳輸一個(gè)數(shù)據(jù)位,P3.2產(chǎn)生一個(gè)上升沿時(shí)鐘將數(shù)據(jù)移位,8個(gè)上升沿移位時(shí)鐘后,8位段碼數(shù)據(jù)傳輸完成,之后,P3.5產(chǎn)生一個(gè)上升沿,段碼數(shù)據(jù)并行輸出,由此,完成數(shù)碼管的段選。

數(shù)碼管位選的實(shí)現(xiàn)

數(shù)碼管顯示電路使用74HC138譯碼器產(chǎn)生位選信號(hào),同樣,為了節(jié)省GPIO,74HC138的使能控制端在硬件上均設(shè)置為恒有效(E1、E2連接GND,恒為低電平;E3連接VCC,恒為高電平)。因此,程序中操作數(shù)碼管時(shí)只需控制三個(gè)地址數(shù)據(jù)輸入端(A0、A1、A2)去選中8個(gè)數(shù)碼管中的待操作的數(shù)碼管即可。

三個(gè)地址數(shù)據(jù)輸入端(A0、A1、A2)是如何選中8個(gè)數(shù)碼管中的一個(gè)的,這就要看74HC138譯碼器的真值表了(74HC138譯碼器的真值表如下圖所示)。

H:高電平 L:低電平 X:任意電平

圖6:74HC138真值表

由74HC138譯碼器的真值表可以看出,當(dāng)74HC138使能后,A0、A1、A2的輸入電平?jīng)Q定了Y0~Y7的輸出(低電平有效),而且從Y0到Y(jié)7是和A2、A1、A0的值對(duì)應(yīng)的,因此,當(dāng)我們需要Y0~Y7中某個(gè)輸出端輸出低電平時(shí),輸入端A2、A1、A0輸入對(duì)應(yīng)的數(shù)值即可,如需要Y1輸出低電平,則A2、A1、A0輸入為001(16進(jìn)制:0x01)即可。電路中的8個(gè)數(shù)碼管是共陰極數(shù)碼管,8個(gè)數(shù)碼管的公共端依次連接到了Y7~Y0,由此,通過(guò)A0、A1、A2的“邏輯值”即可完成對(duì)待操作的數(shù)碼管的位選。

說(shuō)明:開(kāi)發(fā)板為了布線方便,8個(gè)數(shù)碼管中的第1位連接到Y(jié)7,第2位連接到Y(jié)6,以此類推,這一點(diǎn),在編程程序的時(shí)候需要注意一下。軟件設(shè)計(jì)數(shù)碼管動(dòng)態(tài)顯示程序結(jié)構(gòu)

對(duì)于數(shù)碼管動(dòng)態(tài)顯示來(lái)說(shuō),主要考慮的有兩個(gè)方面:數(shù)碼管刷新和顯示數(shù)據(jù)更新。

數(shù)碼管刷新:因?yàn)槭莿?dòng)態(tài)顯示,所以要不斷刷新數(shù)碼管,利用人眼的視覺(jué)暫留效應(yīng)實(shí)現(xiàn)數(shù)碼管的顯示,并且刷新的速度不能過(guò)慢,否則,顯示會(huì)有閃爍。數(shù)碼管顯示內(nèi)容的更新:8位數(shù)碼管中每位數(shù)碼管都可以單獨(dú)更新數(shù)據(jù)。

數(shù)碼管動(dòng)態(tài)顯示驅(qū)動(dòng)程序設(shè)計(jì)的方法很多,下面是一種基于定時(shí)器刷新的方法,供讀者借鑒。

數(shù)碼管驅(qū)動(dòng)程序原理如下圖所示,定義一個(gè)數(shù)組,該數(shù)組共有8個(gè)元素,分別用于保存8位數(shù)碼管的段碼,即數(shù)組中第1個(gè)元素用于保存8位數(shù)碼管中第1位數(shù)碼管的段碼,第2個(gè)元素用于保存第2位數(shù)碼管的段碼,以此類推。

使用一個(gè)定時(shí)器用于刷新數(shù)碼管顯示,在定時(shí)器中斷服務(wù)函數(shù)中從數(shù)組中取數(shù)碼管的段碼,完成對(duì)數(shù)碼管顯示的刷新。這樣,當(dāng)我們需要修改數(shù)碼管顯示內(nèi)容時(shí),只需要修改數(shù)組中的段碼即可。

圖7:數(shù)碼管軟件驅(qū)動(dòng)原理

定時(shí)器刷新數(shù)碼管顯示的流程圖如下,每次進(jìn)入定時(shí)器中斷服務(wù)函數(shù)后刷新8位數(shù)碼管中的一位。這里,定義一個(gè)變量“l(fā)edseg_nod”用于記錄數(shù)碼管的位,每次刷新后“l(fā)edseg_nod”加1,到達(dá)8時(shí),表示8位數(shù)碼管全部刷新,“l(fā)edseg_nod”的值設(shè)置為0,開(kāi)始新一輪刷新。

圖8:定時(shí)器刷新數(shù)碼管流程

數(shù)碼管顯示實(shí)驗(yàn)注:本節(jié)的實(shí)驗(yàn)是在“實(shí)驗(yàn)2-6-1:串口1數(shù)據(jù)收發(fā)實(shí)驗(yàn)”的基礎(chǔ)上修改,本節(jié)對(duì)應(yīng)的實(shí)驗(yàn)源碼是:“實(shí)驗(yàn)2-12-1:數(shù)碼管顯示實(shí)驗(yàn)”。實(shí)驗(yàn)內(nèi)容

通過(guò)4個(gè)輕觸按鍵KEY1~KEY4控制數(shù)碼管顯示內(nèi)容,KEY1控制第1個(gè)和第2個(gè)數(shù)碼管,KEY2控制第3個(gè)和第4個(gè)數(shù)碼管,KEY3控制第5個(gè)和第6個(gè)數(shù)碼管,KEY4控制第7個(gè)和第8個(gè)數(shù)碼管。

程序復(fù)位運(yùn)行后,8個(gè)數(shù)碼管全部顯示數(shù)字0,每按動(dòng)一次按鍵,該按鍵控制的數(shù)碼管顯示內(nèi)容加1,加到F后再次按動(dòng)按鍵返回?cái)?shù)字0,如此反復(fù)。

代碼編寫(xiě)新建一個(gè)名稱為“l(fā)edseg.c”的文件及其頭文件“l(fā)edseg.h”并保存到工程的“Source”文件夾,并將“l(fā)edseg.c”加入到Keil工程中的“SOURCE”組。引用頭文件

因?yàn)樵凇癿ain.c”文件中使用了“l(fā)edseg.c”文件中的函數(shù),所以需要引用下面的頭文件“l(fā)edseg.h”。

代碼清單:引用頭文件

//引用數(shù)碼管的頭文件 #include " ledseg.h" 定義段碼表和8個(gè)數(shù)碼管的段碼數(shù)組

數(shù)碼管常用來(lái)顯示數(shù)字“0~9”和字符“A~F”,他們的段碼定義如下:

代碼清單:段碼表

//數(shù)碼管段碼 u8 SEG8_Code[] ={ 0xFC, // 0 0x60, // 1 0xDA, // 2 0xF2, // 3 0x66, // 4 0xB6, // 5 0xBE, // 6 0xE0, // 7 0xFE, // 8 0xF6, // 9 0xEE, // A 0x3E, // b 0x9C, // C 0x7A, // d 0x9E, // E 0x8E, // F };

定義一個(gè)名稱為“SEG8_DispArray”的數(shù)組,用于存放8個(gè)數(shù)碼管顯示的段碼,初始化值均設(shè)置為數(shù)字“0”的段碼“0xFC”,數(shù)碼管刷新時(shí)從該數(shù)組讀取段碼,代碼清單如下。

代碼清單: 8位數(shù)碼管段碼存放數(shù)組

//存放8個(gè)數(shù)碼管顯示的段碼,初始值都為數(shù)字0的段碼。更新數(shù)碼管顯示內(nèi)容時(shí),只需更新該數(shù)組中的段碼即可 u8 SEG8_DispArray[8] ={0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC}; 數(shù)碼管初始化

數(shù)碼管初始化主要包括引腳配置和數(shù)碼管初始顯示狀態(tài)的設(shè)置,代碼清單如下。這里要注意的是,如果需要改動(dòng)數(shù)碼管初始顯示內(nèi)容,修改數(shù)組SEG8_DispArray中的值即可,默認(rèn)值是顯示數(shù)字“0”。

代碼清單:數(shù)碼管初始化

/********************************************************************************** 功能描述:始化數(shù)碼管驅(qū)動(dòng)電路所用的GPIO 參 數(shù):無(wú) 返 回 值:無(wú) ***********************************************************************************/ void LEDseg_init(void) { P3M1 &= 0xCB; P3M0 |= 0x34; //設(shè)置P3.2,P3.4,P3.5為強(qiáng)推挽輸出 P4M1 &= 0xEE; P4M0 &= 0xEE; //設(shè)置P4.0,P4.4為準(zhǔn)雙向口 P5M1 &= 0xDF; P5M0 &= 0xDF; //設(shè)置P5.5為準(zhǔn)雙向口 SEG_A0=1; //74HC138第1引腳A0置高電平 SEG_A1=1; //74HC138第2引腳A1置高電平 SEG_A2=1; //74HC138第3引腳A2置高電平 SEG_LCLK=1; //74HC595第12引腳LCLK置高電平 SEG_SCK=0; //74HC595第11引腳SLK置低電平 SEG_DATA=0; //74HC595第14引腳DATA置低電平 } 發(fā)送段選和位選信號(hào)

為了程序中操作方便,我們先用宏定義對(duì)8位數(shù)碼管中的各個(gè)位進(jìn)行編號(hào),讓數(shù)碼管和數(shù)組“SEG8_DispArray”關(guān)聯(lián)。這里要注意一下,開(kāi)發(fā)板為了布線方便,8位數(shù)碼管是反序連接到74HC138的輸出“Y0~Y7”的。

代碼清單:數(shù)碼管位定義

#define LEDSEG_1 7 #define LEDSEG_2 6 #define LEDSEG_3 5 #define LEDSEG_4 4 #define LEDSEG_5 3 #define LEDSEG_6 2 #define LEDSEG_7 1 #define LEDSEG_8 0

程序中先發(fā)送段碼信號(hào),8位串行段碼經(jīng)過(guò)74HC595后并行輸出完成數(shù)碼管的段選,之后發(fā)送位選信號(hào),點(diǎn)亮數(shù)碼管,代碼清單如下。

代碼清單:發(fā)送段選和位選信號(hào)

/********************************************************************************** 功能描述:向指定的數(shù)碼管發(fā)送段選和位選信號(hào) 參 數(shù):nod[in]:數(shù)碼管,取值范圍:0~7 返 回 值:無(wú) ***********************************************************************************/ void LEDseg_write_data(u8 nod) { u8 dat,i; dat = SEG8_DispArray[nod]; //獲取段碼 for(i=0;i<8;i++) //循環(huán)發(fā)送8位段碼 { SEG_DATA=(dat>>i)&0x01; SEG_SCK=0; Delay10us(); SEG_SCK=1; } LEDseg_nodeSelect(nod); //發(fā)送數(shù)碼管位選信號(hào)}

發(fā)送位選信號(hào)的函數(shù)代碼清單如下。

代碼清單:發(fā)送位選信號(hào)函數(shù)

/********************************************************************************** 功能描述:發(fā)送位選信號(hào),選擇指定的數(shù)碼管 參 數(shù):nod[in]:數(shù)碼管,取值范圍:0~7 返 回 值:無(wú) ***********************************************************************************/ void LEDseg_nodeSelect(u8 nod) { SEG_A0= nod&0x01; SEG_A1= (nod&0x02)>>1; SEG_A2= (nod&0x04)>>2; } 數(shù)碼管刷新

本例中使用Timer2刷新數(shù)碼管,Timer2定時(shí)時(shí)間配置為2ms,每次中斷刷新一位數(shù)碼管。程序中使用變量“l(fā)edseg_nod”記錄數(shù)碼管的位,8位數(shù)碼管一輪刷新完成后,“l(fā)edseg_nod”復(fù)位(值設(shè)置為0),進(jìn)入新一輪的刷新,代碼清單如下。

代碼清單:定時(shí)器2中斷服務(wù)函數(shù)中刷新數(shù)碼管

/********************************************************************************** * 描 述 : 定時(shí)器2中斷服務(wù)函數(shù) * 入 參 : 無(wú) * 返回值 : 無(wú) **********************************************************************************/ void timer2_isr() interrupt 12 { LEDseg_write_data(ledseg_nod); //發(fā)送段碼 LEDseg_Refresh(); //發(fā)送 ledseg_nod++; if(ledseg_nod == 8)ledseg_nod = 0; //8位數(shù)碼管刷新完成,ledseg_nod復(fù)位 } 主函數(shù)

主函數(shù)中完成相關(guān)的初始化之后,在主循環(huán)里面調(diào)用按鍵掃描函數(shù)buttons_scan()查詢是否有按鍵按下,如果有按鍵按下則更新數(shù)碼管顯示內(nèi)容,代碼清單如下。

代碼清單:主函數(shù)

/************************************************************************** 功能描述:主函數(shù) 入口參數(shù):無(wú) 返 回 值:int類型 **************************************************************************/ int main(void) { u8 temp; u8 disp_dat1 = 0,disp_dat2 = 0,disp_dat3 = 0,disp_dat4 = 0; //省略了初始化相關(guān)的代碼 while(1) { temp = buttons_scan(0); //獲取開(kāi)發(fā)板用戶按鍵檢測(cè)值,不支持連按 if(temp == BUTTON1_PRESSED) //按鍵KEY1按下 { led_toggle(LED_1); //用戶指示燈D1狀態(tài)翻轉(zhuǎn) disp_dat1++; if(disp_dat1 >0x0F)disp_dat1 = 0; LEDseg_DispUpdata(LEDSEG_1,disp_dat1,LEDSEG_DP_OFF);//更新第1個(gè)數(shù)碼管顯示內(nèi)容 LEDseg_DispUpdata(LEDSEG_2,disp_dat1,LEDSEG_DP_OFF);//更新第2個(gè)數(shù)碼管顯示內(nèi)容 } else if(temp == BUTTON2_PRESSED) //按鍵KEY2按下 { led_toggle(LED_2); //用戶指示燈D2狀態(tài)翻轉(zhuǎn) disp_dat2++; if(disp_dat2 >0x0F)disp_dat2 = 0; LEDseg_DispUpdata(LEDSEG_3,disp_dat2,LEDSEG_DP_ON);//更新第3個(gè)數(shù)碼管顯示內(nèi)容 LEDseg_DispUpdata(LEDSEG_4,disp_dat2,LEDSEG_DP_ON);//更新第4個(gè)數(shù)碼管顯示內(nèi)容 } else if(temp == BUTTON3_PRESSED) //按鍵KEY3按下 { led_toggle(LED_3); //用戶指示燈D3狀態(tài)翻轉(zhuǎn) disp_dat3++; if(disp_dat3 >0x0F)disp_dat3 = 0; LEDseg_DispUpdata(LEDSEG_5,disp_dat3,LEDSEG_DP_OFF);//更新第5個(gè)數(shù)碼管顯示內(nèi)容 LEDseg_DispUpdata(LEDSEG_6,disp_dat3,LEDSEG_DP_OFF);//更新第6個(gè)數(shù)碼管顯示內(nèi)容 } else if(temp == BUTTON4_PRESSED) //按鍵KEY4按下 { led_toggle(LED_4); //用戶指示燈D3狀態(tài)翻轉(zhuǎn) disp_dat4++; if(disp_dat4 >0x0F)disp_dat4 = 0; LEDseg_DispUpdata(LEDSEG_7,disp_dat4,LEDSEG_DP_OFF);//更新第7個(gè)數(shù)碼管顯示內(nèi)容 LEDseg_DispUpdata(LEDSEG_8,disp_dat4,LEDSEG_DP_OFF);//更新第8個(gè)數(shù)碼管顯示內(nèi)容 } } } 硬件連接

按照下圖所示短接跳線帽,因?yàn)閿?shù)碼管和顯示屏復(fù)用了GPIO,因此,使用數(shù)碼管時(shí)不能安裝顯示屏。

圖9:跳線帽短接

實(shí)驗(yàn)步驟解壓“…\\第3部分:配套例程源碼”目錄下的壓縮文件“實(shí)驗(yàn)2-12-1:數(shù)碼管顯示實(shí)驗(yàn)”,將解壓后得到的文件夾拷貝到合適的目錄,如“D\\STC8”(這樣做的目的是為了防止中文路徑或者工程存放的路徑過(guò)深導(dǎo)致打開(kāi)工程出現(xiàn)問(wèn)題)。雙擊“…\\ledseg_disp\\Project”目錄下的工程文件“l(fā)edseg_disp.uvproj”。點(diǎn)擊編譯按鈕編譯工程,編譯成功后生成的HEX文件“l(fā)edseg_disp.hex”位于工程的“…\\ledseg_disp\\project\\Objects”目錄下。打開(kāi)STC-ISP軟件下載程序,下載使用內(nèi)部IRC時(shí)鐘,IRC頻率選擇:24MHz。程序運(yùn)行后,依次按下用戶按鍵KEY1、KEY2、KEY3和KEY4,可以觀察到每按一次按鍵,對(duì)應(yīng)的數(shù)碼管顯示內(nèi)容從“0~F”依次遞增。按下KEY1按鍵:第1、2位數(shù)碼管顯示內(nèi)容遞增。按下KEY2按鍵:第3、4位數(shù)碼管顯示內(nèi)容遞增。按下KEY3按鍵:第5、6位數(shù)碼管顯示內(nèi)容遞增。按下KEY4按鍵:第7、8位數(shù)碼管顯示內(nèi)容遞增。

以上就是關(guān)于刷卡機(jī)顯示應(yīng)答碼lk的知識(shí),后面我們會(huì)繼續(xù)為大家整理關(guān)于刷卡機(jī)顯示應(yīng)答碼lk的知識(shí),希望能夠幫助到大家!

轉(zhuǎn)載請(qǐng)帶上網(wǎng)址:http://www.cnksdq.com.cn/shuaka/146864.html

版權(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)容, 請(qǐng)發(fā)送郵件至 babsan@163.com 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。
聯(lián)系我們
訂購(gòu)聯(lián)系:小莉
微信聯(lián)系方式
地址:深圳市寶安區(qū)固戍聯(lián)誠(chéng)發(fā)產(chǎn)業(yè)園木星大廈

公司地址:深圳市寶安區(qū)固戍聯(lián)誠(chéng)發(fā)產(chǎn)業(yè)園木星大廈

舉報(bào)投訴 免責(zé)申明 版權(quán)申明 廣告服務(wù) 投稿須知 技術(shù)支持:第一POS網(wǎng) Copyright@2008-2030 深圳市慧聯(lián)實(shí)業(yè)有限公司 備案號(hào):粵ICP備18141915號(hào)

主站蜘蛛池模板: 国产精品久久久久久久久久久易记| 蜜臀精品人妻av一区二区| 国产一级c视频| 免费看大肉大捧视频| 久久青草无码一区二区三区| 日本欧美香蕉一区二区| 午夜欧美一区二区三区免费观看 | 欧美日本一道本解放一区二区三区 | 亚洲av色福利天堂久久入口| 中文字幕任你草视频| 亚洲精品无码久久密殿AV| 最新电影天堂快影eeuss| 亚洲精久久久久久午夜剧场| 日日欧美国产AAA片| 无码不卡AV影院| 亚洲AV无码不卡播放| 日本欧美爱v一区二区| 巨乳美女视频网站| 麻豆高清精品免费观看欧美| 欧美日本免费在线一区二区三区 | 香蕉久久夜色精品国产app蜜臀 | 欧美日韩一级大香蕉| 久久久久久久久久久久国产精品 | 996久久久精品久久久国产三级| 亚洲无码av激情| 一本大道香蕉久| 色五月婷婷丁香五月| 四虎精品成人国产馆| 美女夹精脚交footjob| 免费 国产 无码99久久久| 国产无码极品在线| 3751色院影院 国产| 在线观看亚洲电影av激情| 正在播放国产无套露脸| 中字日韩乱人伦精品无码| 婷婷五月精品中文字幕| 里番ACG 里番本子| 国产 浪潮AV四色| 波多野42部无码喷潮在线观看| HEYZO无码专区| 3级污污久久电影|