精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用熱敏打印機連接PIC16F877A并使用輕觸開關實現打印的教程

科技觀察員 ? 來源:circuitdigest ? 作者:蘇拉夫·古普塔 ? 2022-11-04 15:10 ? 次閱讀

熱敏打印機通常稱為收據打印機。它廣泛用于餐館,自動取款機,商店和許多其他需要收據或賬單的地方。這是一個具有成本效益的解決方案,從用戶和開發人員的角度來看都非常方便。熱敏打印機使用特殊的打印工藝,使用熱致變色紙或熱敏紙進行打印。打印機頭在一定溫度下加熱,當熱敏紙從打印頭通過時,紙張涂層在打印頭被加熱的區域變黑。

在本教程中,我們將熱敏打印機 CSN A1 與廣泛使用的 PIC 微控制器 PIC16F877A 連接。在本項目中,熱敏打印機連接在PIC16F877A上,并使用輕觸開關開始打印。通知 LED 還用于通知打印狀態。僅當打印活動正在進行時,它才會發光。

打印機規格和連接

我們正在使用Cashino的CSN A1熱敏打印機,它很容易獲得,價格也不太高。

pYYBAGNkutGAKOo4AABotX8_zzQ545.jpg

如果我們在其官方網站上看到該規范,我們將看到一個提供詳細規格的表格-

pYYBAGNkutOAS1edAAA3kisNJI0528.png

在打印機的背面,我們將看到以下連接-

poYBAGNkuteAfW9OAACMMP8QHWQ619.jpg

TTL 連接器提供 Rx Tx 連接以與微控制器單元通信。我們還可以使用RS232協議與打印機通信。電源連接器用于為打印機供電,按鈕用于打印機測試。打印機通電時,如果我們按下自檢按鈕,打印機將打印一張紙,其中將打印規格和樣品行。這是自測表-

pYYBAGNkutiAPEbDAABHQmKb_0A440.jpg

正如我們所看到的,打印機使用9600波特率與微控制器單元通信。打印機可以打印 ASCII 字符。通信非常簡單,我們可以通過簡單地使用UART,傳輸字符串或字符來打印任何東西。

打印機需要5V 2A電源來加熱打印機頭。這是熱敏打印機的缺點,因為它在打印過程中需要巨大的負載電流

先決條件

要進行以下項目,我們需要以下東西:-

面包板

連接電線

PIC16F877A

2個33pF陶瓷盤式電容器

680R電阻

任何顏色的指示燈

輕觸開關

2個4.7K電阻器

帶紙卷的熱敏打印機 CSN A1

5V 2A 額定電源單元。

電路圖及說明

使用PIC微控制器控制打印機的原理圖如下:

pYYBAGNkuVeAZaHVAAFvamRqknw435.png

這里我們使用PIC16F877A作為微控制器單元。一個 4.7k 電阻用于將 MCLR 引腳連接到 5V 電源。我們還將一個 20 MHz 的外部振蕩器與用于時鐘信號的 33pF 電容器連接起來。通知LED 通過 680R LED 限流電阻器連接在 RB2 端口上。按下按鈕時,輕觸開關連接在RB0引腳上,它將提供邏輯高電平,否則引腳將通過4.7k電阻接收邏輯低電平。

打印機CSN A1使用交叉配置連接,微控制器傳輸引腳與打印機的接收引腳連接。打印機還與 5V 和 GND 電源連接。

我們在試驗板中構建電路并對其進行了測試。

pYYBAGNkutqAI0IxAADGvIEVqC8990.jpg

poYBAGNkutyAK7fMAAB9shhSX00946.jpg

代碼說明

代碼非常簡單易懂。文章末尾給出了將熱敏打印機與PIC16F877A接口的完整代碼。與往常一樣,我們首先需要在PIC微控制器中設置配置位。

// PIC16F877A Configuration Bit Settings

// 'C' source line config statements

// CONFIG

#pragma config FOSC = HS // Oscillator Selection bits (HS oscillator)

#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)

#pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled)

#pragma config BOREN = ON // Brown-out Reset Enable bit (BOR enabled)

#pragma config LVP = OFF // Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit (RB3/PGM pin has PGM function; low-voltage programming enabled)

#pragma config CPD = OFF // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off)

#pragma config WRT = OFF // Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control)

#pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection off)

之后,我們定義了與系統硬件相關的宏,并使用 eusart1.h 頭文件進行與 eusart相關的硬件控制。UART 在頭文件中配置為 9600 波特率。

#include

#include "supporting_cfileeusart1.h"

/*

* System hardware related macros

*/

#define _XTAL_FREQ 200000000 //Crystal Frequency, used in delay routine

#define printer_sw PORTBbits.RB0 //this macro is for defining the printing switch

#define notification_led PORTBbits.RB2

void system_init(void);

在主函數中,我們首先檢查了“按鈕按下”,并使用了開關去抖動策略來消除開關故障。我們為“按鈕按下”條件創建了一個 if 語句。首先,LED 將發光,UART 將打印字符串。自定義行可以在 if 語句內生成,并且可以打印為字符串。

void main(void) {

system_init();

while(1){

if(printer_sw == 1){ //switch is pressed

__delay_ms(50); // debounce delay

if (printer_sw == 1){ // switch is still pressed

notification_led = 1;

put_string("Hello! nr");//Print to Thermal printer

__delay_ms(50);

put_string("Thermal Printer Tutorial.nr");

__delay_ms(50);

put_string("Circuit Digest. nr");

__delay_ms(50);

put_string ("nr");

put_string ("nr");

put_string ("nr");

put_string ("---------------------------- n r");

put_string ("Thank You");

put_string ("nr");

put_string ("nr");

put_string ("nr");

notification_led = 0;

}

}

}

}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7336

    瀏覽量

    150105
  • PIC16F877A
    +關注

    關注

    2

    文章

    43

    瀏覽量

    21737
  • 熱敏打印機
    +關注

    關注

    1

    文章

    45

    瀏覽量

    12039
收藏 人收藏

    評論

    相關推薦

    熱敏小票打印機的原理介紹

    本帖最后由 微笑的魚020 于 2016-5-25 16:57 編輯 熱敏小票打印機為何物 熱敏小票打印機其實是小票
    發表于 05-25 16:47

    熱敏打印機的設計

    想自己設計一個簡單的熱敏打印機,現有LPC1114板一塊,熱敏打印機芯一個,控制程序該如何編寫?哪位大神能指點一下啊???
    發表于 04-18 16:17

    基于飛思卡爾微型熱敏打印機的設計與實現

    循環移位8位,移入熱敏打印頭內部的移位寄存器中,實現了數據的加載。 5 軟件設計 本熱敏打印機的軟件設計主要是通過RS-232通信模塊接收由
    發表于 12-03 15:30

    pic16f877a中文資料pdf

    pic16f877a中文資料
    發表于 07-15 13:20 ?4548次下載
    <b class='flag-5'>pic16f877a</b>中文資料pdf

    什么是熱敏打印機

    什么是熱敏打印機 熱敏打印機圖片 熱敏打印機的原理是,在淡色材料上(通
    發表于 10-13 09:19 ?5450次閱讀

    視頻打印機熱敏頭/灰度

    視頻打印機熱敏頭/灰度        視頻打印機熱敏
    發表于 12-31 10:23 ?1241次閱讀

    熱敏打印頭開發打印機實例

    微型熱敏打印頭對打印時序和溫度要求較高,本文選用FTP-628系列熱敏打印頭開展打印機研發工作。
    發表于 12-19 11:12 ?1.3w次閱讀
    <b class='flag-5'>熱敏</b><b class='flag-5'>打印</b>頭開發<b class='flag-5'>打印機</b>實例

    熱敏打印機工作原理

    熱敏打印機的工作原理是打印頭上安裝有半導體加熱元件,打印頭加熱接觸熱敏
    發表于 12-19 14:23 ?242次下載
    <b class='flag-5'>熱敏</b><b class='flag-5'>打印機</b>工作原理

    PIC16F877A串口發送查詢方式

    PIC16F877A串口發送,查詢方式,就為了調出這個費了我一天時間,原來是串口芯片電壓問題,現總結如下
    發表于 09-01 11:03 ?10次下載
    <b class='flag-5'>PIC16F877A</b>串口發送查詢方式

    PIC16F877A串口芯片電壓問題

    PIC16F877A串口發送,查詢方式,就為了調出這個費了我一天時間,原來是串口芯片電壓問題,現總結如下
    發表于 09-01 11:15 ?9次下載
    <b class='flag-5'>PIC16F877A</b>串口芯片電壓問題

    熱敏打印機的工作原理是什么?

    熱敏打印機應用十分廣泛,但工作原理卻不是每個人都清楚的。熱敏打印機熱敏紙配合能夠解決我們日常打印
    發表于 03-18 16:41 ?1.8w次閱讀

    PIC16F877A開發板 數碼管動態掃描實驗

    //****************電子園PIC16F877A開發板 數碼管動態掃描實驗****************//////mcu: PIC16F877A 4MHz //2010年12月
    發表于 11-16 19:51 ?13次下載
    <b class='flag-5'>PIC16F877A</b>開發板 數碼管動態掃描實驗

    PIC16F877A開發板 普通IO驅動74595實驗

    //*****************電子園PIC16F877A開發板 普通IO驅動74595實驗***************////PIC16F877A 實驗板////mcu
    發表于 11-16 19:51 ?13次下載
    <b class='flag-5'>PIC16F877A</b>開發板 普通IO驅動74595實驗

    PIC16F877A開發板原理圖

    PIC16F877A開發板原理圖免費下載。
    發表于 03-21 15:47 ?12次下載

    熱敏打印機的設計實現

    熱敏打印機是一種通過對熱敏紙加熱之后顯示文字或圖案的打印機
    的頭像 發表于 07-21 14:32 ?3405次閱讀
    <b class='flag-5'>熱敏</b><b class='flag-5'>打印機</b>的設計<b class='flag-5'>實現</b>