找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1614|回復: 0
收起左側

RD8T37P48硬件數碼管驅動功能測試

[復制鏈接]
ID:71233 發(fā)表于 2023-6-27 13:32 | 顯示全部樓層 |閱讀模式
據RD8T37P48的芯片手冊介紹,RD8T37P48集成硬件數碼管的驅動,所以總想測試一下它的硬件數碼管驅動是怎樣的。
下面就分享一下本人在應用EasyCodeCube配置工程模板對RD8T37P48硬件數碼管的驅動功能進行測試的基本流程。
一、打開EasyCodeCube,選擇芯片。

二、將LED硬件數碼管功能導入用戶工程列表。
方法:右鍵點擊“LED數碼管_硬件”----左鍵點擊“導入用戶工程驅動列表”。

三、設置硬件數碼管端口。
方法:在左欄菜單“用戶工程驅動列表”中找到“LED數碼管_硬件”,并點開。再在右邊的界面上設置SEGA~SEGP(為了方便,我按順序選擇,這個是可以改變P1口順序 的),還有COM0~COM3(RD8T37P48支持8位數碼管)。
002設置硬件數碼管端口.jpg
說明:本人測試用的是四位共陰數碼管,其他類型的數碼管可以參照此法進行配置。

四、BTM設置1秒中斷,用于變量sec累加
003BTM設置1秒中斷.jpg

五、生成工程模板。


六、用keil打開剛才生成的工程,設置芯片及下載器。
下面是軟件生成的段碼編碼,與其他LED數碼管代碼生成工具一致。
004顯示編碼.jpg
說明一下,最后的0x00是本人添加的,目的是為了關閉顯示。
數碼管的所有驅動集中在SCDriver_NixieTubeForHardware.c中,SCDriver_NixieTubeForHardware.h只提供了下面兩個顯示函數:
其中 void SCD_NT_HW_OneDisplay(unsigned char ComNumber,unsigned char ComData);是單個控制的顯示函數,
void SCD_NT_HW_ListDisplay(unsigned char * Com);是多個控制的顯示函數,本次實驗只測試了單個控制的顯示函數void SCD_NT_HW_OneDisplay,這個函數集成了數碼管驅動初始化程序,所以不用初始化也可以直接調用!

七、在main.c和SC_it.c中添加變量sec,用于秒數累加,作為數碼管的顯示數據。
006main.c添加變量sec.jpg 007在SC_it.c添加變量sec.jpg
八、在BTM秒中斷中添加秒變量sec累加代碼:
  1.     sec++;
  2.     if( sec>10 )sec=0;
復制代碼

九、在主程序中添加顯示代碼

  1.         if(sec!=i)
  2.         {
  3.         SCD_NT_HW_OneDisplay(0,sec);        
  4.         SCD_NT_HW_OneDisplay(1,sec);        
  5.         SCD_NT_HW_OneDisplay(2,sec);        
  6.         SCD_NT_HW_OneDisplay(3,sec);         
  7.         i=sec;
  8.         }        
復制代碼



測試效果:https://www.bilibili.com/video/BV16u41187V2/





評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表