進階——十六屆藍橋杯嵌入式熟練度練習(按鍵+LCD)

高亮(一)

聲明

 char buf[21];unsigned char upled=0x04;uint8_t key_val;uint8_t key_down,key_up,key_old;uint32_t key_time;uint8_t key_temp,key_flag;uint8_t line_flag;

按鍵代碼

void key_proc(void)
{
key_val=key_scan();key_down=key_val&(key_val^key_old);key_up=~key_val&(key_val^key_old);key_old=key_val;
if(key_down==4)
{line_flag++;if(line_flag==4){line_flag=1;}
}
}

lcd高亮顯示代碼

注意:此段代碼if-else的括號范圍

void lcd_proc(void)
{  	if(line_flag==1){LCD_SetTextColor(Green);}else{LCD_SetTextColor(Black);}
LCD_DisplayStringLine(Line1,(uint8_t*)("11111111111"));if(line_flag==2){LCD_SetTextColor(Green);}else{LCD_SetTextColor(Black);}	
LCD_DisplayStringLine(Line2,(uint8_t*)("22222222222"));	if(line_flag==3){LCD_SetTextColor(Green);}else{LCD_SetTextColor(Black);}
LCD_DisplayStringLine(Line3,(uint8_t*)("33333333333"));}

高亮(二)

 LCD_Clear(White);LCD_SetBackColor(White);LCD_SetTextColor(Black);

lcd

void lcd_proc(void)
{  	if(line_flag==1){LCD_SetBackColor(Yellow);}else{LCD_SetBackColor(White);}
LCD_DisplayStringLine(Line1,(uint8_t*)("11111111111"));if(line_flag==2){LCD_SetBackColor(Yellow);}else{LCD_SetBackColor(White);}	
LCD_DisplayStringLine(Line2,(uint8_t*)("22222222222"));	if(line_flag==3){LCD_SetBackColor(Yellow);}else{LCD_SetBackColor(White);}
LCD_DisplayStringLine(Line3,(uint8_t*)("33333333333"));}

?多頁碼

聲明

  LCD_Clear(White);LCD_SetBackColor(White);LCD_SetTextColor(Black);
LCD_DisplayStringLine(Line3,(uint8_t*)("w  e  l  c  o  m  e"));

lcd代碼

void lcd_proc(void)
{  	if(lcd_page==1){LCD_DisplayStringLine(Line3,(uint8_t*)("w  e  l  c  o  m  e"));}if(lcd_page==2){if(line_flag==1){LCD_SetBackColor(Yellow);}else{LCD_SetBackColor(White);}
LCD_DisplayStringLine(Line1,(uint8_t*)("11111111111"));if(line_flag==2){LCD_SetBackColor(Yellow);}else{LCD_SetBackColor(White);}	
LCD_DisplayStringLine(Line2,(uint8_t*)("22222222222"));	if(line_flag==3){LCD_SetBackColor(Yellow);}else{LCD_SetBackColor(White);}
LCD_DisplayStringLine(Line3,(uint8_t*)("33333333333"));}}

按鍵?

void key_proc(void)
{
key_val=key_scan();key_down=key_val&(key_val^key_old);key_up=~key_val&(key_val^key_old);key_old=key_val;if(key_down==3)
{  LCD_Clear(White);lcd_page++;if(lcd_page==3){lcd_page=1;}
}
if(key_down==4)
{line_flag++;if(line_flag==4){line_flag=1;}
}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/66280.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/66280.shtml
英文地址,請注明出處:http://en.pswp.cn/web/66280.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于PHP的校園新聞發布管理

摘要 近年來,隨著互聯網技術的迅速發展,人們獲取新聞的渠道也變得越來越多樣化,已經不再拘束于傳統的報紙、期刊、雜志等紙質化的方式,而是通過網絡滿足了人們獲得第一手新聞的愿望,這樣更加有助于實現新聞的規范化管…

MySQL程序之:使用DNS SRV記錄連接到服務器

在域名系統(DNS)中,SRV記錄(服務位置記錄)是一種資源記錄,它使客戶端能夠指定指示服務、協議和領域的名稱。DNS查找該名稱會返回一個回復,其中包含該領域中提供所需服務的多個可用服務器的名稱。…

代碼合并沖突解決push不上去的問題

環境:【IntelliJ IDEA】 【Gerrit】 1、錯誤信息 代碼合并,迭代1合并到迭代2,解決沖突后,依然push不上去,報錯信息如下: remote: Processing changes: refs: 1 remote: Processing changes: refs…

opencv projectPoints函數 computeCorrespondEpilines函數 undistortPoints函數

opencv projectPoints函數 cv::projectPoints 是 OpenCV 中用于將三維點投影到二維圖像平面的函數。它通常用于計算在相機坐標系下的三維點在圖像坐標系中的位置,考慮了相機的內參和外參。 函數原型 void cv::projectPoints(InputArray objectPoints,InputArray …

從玩具到工業控制--51單片機的跨界傳奇【3】

在科技的浩瀚宇宙中,51 單片機就像一顆獨特的星辰,散發著神秘而迷人的光芒。對于無數電子愛好者而言,點亮 51 單片機上的第一顆 LED 燈,不僅僅是一次簡單的操作,更像是開啟了一扇通往新世界的大門。這小小的 LED 燈&am…

boss直聘 __zp_stoken__ 逆向分析

聲明: 本文章中所有內容僅供學習交流使用,不用于其他任何目的,抓包內容、敏感網址、數據接口等均已做脫敏處理,嚴禁用于商業用途和非法用途,否則由此產生的一切后果均與作者無關! 有相關問題請第一時間頭像私信聯系我刪…

【日志篇】(7.6) ? 01. 在macOS下刷新FortiAnalyzer固件 ? FortiAnalyzer 日志分析

【簡介】FortiAnalyzer 是 Fortinet Security Fabric 安全架構的基礎,提供集中日志記錄和分析,以及端到端可見性。因此,分析師可以更有效地管理安全狀態,將安全流程自動化,并快速響應威脅。具有分析和自動化功能的集成…

Linux 內核自旋鎖spinlock(一)

文章目錄 前言一、自旋鎖1.1 簡介1.2 API1.2.1 spin_lock/spin_unlock1.2.2 spin_lock_irq/spin_unlock_irq1.2.3 spin_lock_irqsave/spin_unlock_irqstore1.2.4 spin_lock_bh/spin_unlock_bh1.2.5 補充 二、自選鎖原理三、自旋鎖在內核的使用3.1 struct file3.2 struct dentry…

【太古新篇,智馭未來】 SFA系統成功上線

經過雙方團隊的不懈努力與緊密合作,eBest成功幫助香港太古可樂完成了SFA系統的全面上線! 太古可樂,作為飲料行業的佼佼者,一直以來以其卓越的品質和深入人心的品牌形象深受消費者喜愛。然而,在快速變化的市場環境中&am…

Web安全|滲透測試|網絡安全

基礎入門(P1-P5) p1概念名詞 1.1域名 什么是域名? 域名:是由一串用點分隔的名字組成的Internet上某一臺計算機或計算機組的名稱,用于在數據傳輸時對計算機的定位標識(有時也指地理位置)。 什么是二級域名多級域名…

陳萍的設計創新:Kevlin Nexus榮獲倫敦設計獎,展示品牌設計的國際化與持續創新

近日,陳萍憑借其創新設計作品 Kevlin Nexus,成功斬獲 2024 倫敦設計獎。該獎項旨在表彰全球范圍內的優秀設計作品,表彰設計界最完美、最前沿的成就。倫敦設計獎是全球最具權威性和影響力的設計獎項之一,其評選標準以高水準的專業性和嚴格性著稱。作為全球設計界的頂級榮譽,倫敦…

qml DirectionalBlur詳解

1、概述 DirectionalBlur是QML(Qt Modeling Language)中用于創建方向模糊效果的一種圖形效果類型。它通過對源圖像的像素進行模糊處理,產生一種源項目朝著模糊方向移動的感知印象。這種模糊效果被應用到每個像素的兩側,因此設置方…

【Linux】【Vim】vim編輯器的用法

一、vim簡介 Vim是一款功能強大且高度可定制的文本編輯器,廣泛應用于Linux 和 Unix系統中。 它不僅繼承了vi編輯器的所有特性,還增加了許多新的功能,如語法高亮、代碼折疊、多級撤銷等。 Vim有三種主要的工作模式: 命令模式&am…

構建優雅、高效的 Nodejs 命令行工具 - Archons

目錄 項目簡介安裝基本用法樣例創建一個簡單的命令行工具使用archons上下文創建進度條 最后 項目地址: https://github.com/noctisynth/archons Bug反饋或功能請求:https://github.com/noctisynth/archons/issues 項目簡介 Archons意思是“執政官”,我使…

怎么投稿各大媒體網站?如何快速辨別一家媒體是否適合自己?

在做軟文營銷時,除去在官號和子賬號上投稿外,怎么投稿各大媒體網站是困擾中小企業主的一大難題。沒有多余賬號、運營成本太高,讓不少想做全平臺推廣的朋友止步于此。為了解決這些問題,今天就讓小編來分享一下,怎么在各…

MES設備日志采集工具

永久免費: <下載> <使用說明> 用途 定時全量或增量采集工控機,電腦文件或日志. 優勢 開箱即用: 解壓直接運行.不需額外下載.管理設備: 后臺統一管理客戶端.無人值守: 客戶端自啟動,自更新.穩定安全: 架構簡單,兼容性好,通過授權控制訪問. 架構 技術架構: Asp…

rhel7.9利用有網絡環境打包ansible

RHEL7.9激活(可省略) # 注冊 subscription-manager register --usernameyour_username --passwordyour_password --auto-attach # 查看訂閱狀態 subscription-manager list # 將 “enabled1” 改為 “enabled0” vi /etc/yum/pluginconf.d/subscription-manager.conf 配置阿…

Formality:參考設計/實現設計以及頂層設計

相關閱讀 Formalityhttps://blog.csdn.net/weixin_45791458/category_12841971.html?spm1001.2014.3001.5482??? Formality存在兩個重要的概念&#xff1a;參考設計/實現設計和頂層設計&#xff0c;本文就將對此進行詳細闡述。參考設計/實現設計是中兩個重要的全局概念&am…

網絡安全中攻擊溯源有哪些方法?

目前網絡攻擊已經成為常見的安全威脅之一&#xff0c;其造成的危害和損失都是不可估量的&#xff0c;因此網絡攻擊受到了高度重視。而當我們遭遇網絡攻擊時&#xff0c;攻擊溯源是一項非常重要的工作&#xff0c;可以幫助我們迅速發現并應對各類網絡攻擊行為&#xff0c;那么網…

國產編輯器EverEdit - 復制為RTF

1 復制為RTF 1.1 應用背景 在寫產品手冊或者其他文檔時&#xff0c;可能會用到要將產品代碼以樣例的形式放到文檔中&#xff0c;一般的文本編輯器拷貝粘貼到Word中也就是普通文本&#xff0c;沒有語法著色&#xff0c;這樣感觀上不是太好&#xff0c;為了讓讀者的感觀更好一點…