999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

帶有矩陣鍵盤的數字鐘設計

2014-10-29 02:40:56蘆寶娟
電子技術與軟件工程 2014年16期
關鍵詞:單片機

摘 要

數字鐘是人們日常生活中常見的電子產品,廣泛應用于學校、醫院、廣場、銀行等公共場合。本設計采用AT89C51單片機,制作數碼管顯示24小時的數字鐘,上電后系統自動進入時間顯示,從初始值開始計時,可用4×4矩陣鍵盤調整時間。

【關鍵詞】數字鐘 單片機 數碼管 矩陣鍵盤

數字鐘是人們日常生活中常見的電子產品,具有精度高、功耗低、運行穩定、攜帶方便等特點。數字顯示“時、分、秒”的數字鐘,廣泛應用于諸多場合,也是單片機課程中重要的項目訓練。AT89C51單片機是美國ATMEL公司生產的低電壓,高性能CMOS8位單片機,4k字節Flash 閃速存儲器,128字節內部RAM,器件采用ATMEL公司的高密度、非易失性存儲技術生產,具備兩個16位定時/計數器。本設計利用單片機STC89C52 的定時器實現時鐘的運行,“時、分、秒”用數碼管顯示,利用4*4矩陣鍵盤外部修改時間。大多數的數字鐘采用獨立鍵盤,遞增或遞減式調整時間。本文采用程序調整時部、分部、秒部,數字鍵0-9直接調節時間,使用起來十分方便。

1 硬件系統

本設計方案是利用單片機內部16位的定時/計數器進行中斷定時, 配合軟件程序實現24小時制計時功能。上電后系統自動進入時間顯示, 從初始值(由程序設定)開始計時,可以用4×4矩陣鍵盤設置初始值或修改時間。如圖1所示,數字鐘的硬件電路圖。

1.1 單片機最小系統

本次設計的數字鐘,采用AT89C51單片機,XTAL1和XTAL2引腳之間接一個12MHz的晶振和兩個33pF的電容。第9引腳接復位電路,第20引腳接地,第31引腳、40引腳接電源,組成了單片機最小系統。

1.2 數碼管

數碼管是最常用的顯示器件,分為靜態顯示和動態顯示。動態顯示就是將所有數碼管的段選線并聯在一起,通過控制位選信號來控制數碼管的點亮。輪流向各位數碼管送出字形碼和相應的位選,利用發光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數碼管同時都在顯示。在proteus仿真中選擇六個共陽數碼管合一的模塊7SEG-MPX6-CA-BLUE,123456表示位選的管腳,接P2口;abcdefg dp是數碼管的段碼輸入,接P1口。

1.3 矩陣鍵盤

本設計采用4×4矩陣鍵盤,P3口的低四位作行線,P3口的高四位作列線,按鍵設置在行列的交點上,行、列線分別連接到按鍵開關的兩端,可組成16個鍵的鍵盤。判斷有無按鍵按下的方法是:1、由軟件設置行線高電平,列線低電平,設置P3=0x0F,判斷是否有鍵按下;2、如果有鍵按下,依次按列掃描,確定是哪個鍵按下。按下星號鍵后,依次修改時、分、秒部時間,按下0-9鍵有效,其它鍵無效。

2 軟件

主程序:如圖2所示,主程序流程圖,主程序主要對中斷源和定時器初始化。選用定時器T0,定時時間為50ms,由于系統晶振采用是12MHz,設置TH0=0X3C,TL0=0XB0。設置四個全局變量con、 second、minute、hour和中斷函數完成24小時計數。T0定時50ms,con計到20時,1秒到,second加1;second計到60,1分鐘到,minute加1,second清零;minute計到60,1小時到,hour加1,minute清零;hour計到24,hour清零。

顯示子程序:六個共陽數碼管依次顯示時、分、秒,采用動態掃描的方式,LED0至LED5為數碼管位選,P1為數碼管段選。

鍵盤子程序:4*4矩陣鍵盤,可以顯示數字0-9、*鍵、#鍵、字母A、B、C、D鍵。首先判斷是否有鍵按下,如果有鍵按下,依次按列掃描,確定是哪個鍵按下。有鍵按下后,延時一段時間后再次判斷是否按下,進行防抖處理。定義變量keyshu,矩陣鍵盤按下的鍵轉化為十六進制賦值給keyshu,以備鍵盤調整時間子程序調用。

鍵盤調整時間子程序:如果按下*鍵,進行4*4鍵盤調整顯示時間子程序。利用變量keyshe依次對時部、分部、秒部高位和低位進行修改,此時只有數字0-9鍵有效,其它鍵無效。同時還要注意小時的高位范圍為0-2,分和秒的高位范圍為0-5,按鍵超出此范圍則為無效。

keyshezhi()

{if(keyshu==0x0E)

{keyshe=1;keyshu=0x10;}

while(keyshe==1)

{keymain();

display();

if(keyshu!=0x10)

{if(keyshu==0x0F)

{keyshe=0;keyshu=0x10;}

if(keyshu<=0x02)

{hour=hour-(hour/10*10),

hour=hour+(keyshu*10);

keyshu=0x10;

keyshe=2;}

else keyshu=0x10;}}

while(keyshe==2)

{keymain();

display();

if(keyshu!=0x10)

{if(keyshu==0x0F)

{keyshe=0;keyshu=0x10;}

if(keyshu<=0x09)

{hour=hour-(hour%10),

hour=hour+keyshu;

keyshu=0x10;

keyshe=3;}

else keyshu=0x10;}}

……

}

3 結語

本數字鐘的設計是以單片機AT89C51為核心控制部件, 通過軟件編程實現4×4矩陣鍵盤調整時間功能。此方案進行Protues仿真,發現在按下*鍵調整時間時,再按下數字鍵,時分秒六個數碼管一起改變成相同的數。經反復調試后,在鍵盤子程序中一直調用顯示子程序,就可以正常運行。結果表明, 此數字時鐘設計方案簡單可行, 運行可靠, 還可以擴展成帶有年、月、日的萬年歷設計。

參考文獻

[1]鄒顯圣.基于AT89C51單片機數字時鐘的研究[J].機電產品開發與創新,2009(05).

[2]徐瑋,沈建良.單片機快速入門[M].北京:北京航空航天出版社,2009.

[3]杜力,肖學玲.使用proteus 仿真矩陣鍵盤時遇到的問題和解決方案[J].科技經濟市場,2011(02).

[4]樊清海,劉培培,耿娟平.基于單片機的數字時鐘C語言設計[J].北華航天工業學院學報,2010(01).

作者簡介

蘆寶娟(1980-),女,遼寧省撫順市人。碩士學位。現為貴州工業職業技術學院講師,主要從事物理和電子類的教學和科研工作。

作者單位

貴州工業職業技術學院 貴州省貴陽市 550008endprint

摘 要

數字鐘是人們日常生活中常見的電子產品,廣泛應用于學校、醫院、廣場、銀行等公共場合。本設計采用AT89C51單片機,制作數碼管顯示24小時的數字鐘,上電后系統自動進入時間顯示,從初始值開始計時,可用4×4矩陣鍵盤調整時間。

【關鍵詞】數字鐘 單片機 數碼管 矩陣鍵盤

數字鐘是人們日常生活中常見的電子產品,具有精度高、功耗低、運行穩定、攜帶方便等特點。數字顯示“時、分、秒”的數字鐘,廣泛應用于諸多場合,也是單片機課程中重要的項目訓練。AT89C51單片機是美國ATMEL公司生產的低電壓,高性能CMOS8位單片機,4k字節Flash 閃速存儲器,128字節內部RAM,器件采用ATMEL公司的高密度、非易失性存儲技術生產,具備兩個16位定時/計數器。本設計利用單片機STC89C52 的定時器實現時鐘的運行,“時、分、秒”用數碼管顯示,利用4*4矩陣鍵盤外部修改時間。大多數的數字鐘采用獨立鍵盤,遞增或遞減式調整時間。本文采用程序調整時部、分部、秒部,數字鍵0-9直接調節時間,使用起來十分方便。

1 硬件系統

本設計方案是利用單片機內部16位的定時/計數器進行中斷定時, 配合軟件程序實現24小時制計時功能。上電后系統自動進入時間顯示, 從初始值(由程序設定)開始計時,可以用4×4矩陣鍵盤設置初始值或修改時間。如圖1所示,數字鐘的硬件電路圖。

1.1 單片機最小系統

本次設計的數字鐘,采用AT89C51單片機,XTAL1和XTAL2引腳之間接一個12MHz的晶振和兩個33pF的電容。第9引腳接復位電路,第20引腳接地,第31引腳、40引腳接電源,組成了單片機最小系統。

1.2 數碼管

數碼管是最常用的顯示器件,分為靜態顯示和動態顯示。動態顯示就是將所有數碼管的段選線并聯在一起,通過控制位選信號來控制數碼管的點亮。輪流向各位數碼管送出字形碼和相應的位選,利用發光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數碼管同時都在顯示。在proteus仿真中選擇六個共陽數碼管合一的模塊7SEG-MPX6-CA-BLUE,123456表示位選的管腳,接P2口;abcdefg dp是數碼管的段碼輸入,接P1口。

1.3 矩陣鍵盤

本設計采用4×4矩陣鍵盤,P3口的低四位作行線,P3口的高四位作列線,按鍵設置在行列的交點上,行、列線分別連接到按鍵開關的兩端,可組成16個鍵的鍵盤。判斷有無按鍵按下的方法是:1、由軟件設置行線高電平,列線低電平,設置P3=0x0F,判斷是否有鍵按下;2、如果有鍵按下,依次按列掃描,確定是哪個鍵按下。按下星號鍵后,依次修改時、分、秒部時間,按下0-9鍵有效,其它鍵無效。

2 軟件

主程序:如圖2所示,主程序流程圖,主程序主要對中斷源和定時器初始化。選用定時器T0,定時時間為50ms,由于系統晶振采用是12MHz,設置TH0=0X3C,TL0=0XB0。設置四個全局變量con、 second、minute、hour和中斷函數完成24小時計數。T0定時50ms,con計到20時,1秒到,second加1;second計到60,1分鐘到,minute加1,second清零;minute計到60,1小時到,hour加1,minute清零;hour計到24,hour清零。

顯示子程序:六個共陽數碼管依次顯示時、分、秒,采用動態掃描的方式,LED0至LED5為數碼管位選,P1為數碼管段選。

鍵盤子程序:4*4矩陣鍵盤,可以顯示數字0-9、*鍵、#鍵、字母A、B、C、D鍵。首先判斷是否有鍵按下,如果有鍵按下,依次按列掃描,確定是哪個鍵按下。有鍵按下后,延時一段時間后再次判斷是否按下,進行防抖處理。定義變量keyshu,矩陣鍵盤按下的鍵轉化為十六進制賦值給keyshu,以備鍵盤調整時間子程序調用。

鍵盤調整時間子程序:如果按下*鍵,進行4*4鍵盤調整顯示時間子程序。利用變量keyshe依次對時部、分部、秒部高位和低位進行修改,此時只有數字0-9鍵有效,其它鍵無效。同時還要注意小時的高位范圍為0-2,分和秒的高位范圍為0-5,按鍵超出此范圍則為無效。

keyshezhi()

{if(keyshu==0x0E)

{keyshe=1;keyshu=0x10;}

while(keyshe==1)

{keymain();

display();

if(keyshu!=0x10)

{if(keyshu==0x0F)

{keyshe=0;keyshu=0x10;}

if(keyshu<=0x02)

{hour=hour-(hour/10*10),

hour=hour+(keyshu*10);

keyshu=0x10;

keyshe=2;}

else keyshu=0x10;}}

while(keyshe==2)

{keymain();

display();

if(keyshu!=0x10)

{if(keyshu==0x0F)

{keyshe=0;keyshu=0x10;}

if(keyshu<=0x09)

{hour=hour-(hour%10),

hour=hour+keyshu;

keyshu=0x10;

keyshe=3;}

else keyshu=0x10;}}

……

}

3 結語

本數字鐘的設計是以單片機AT89C51為核心控制部件, 通過軟件編程實現4×4矩陣鍵盤調整時間功能。此方案進行Protues仿真,發現在按下*鍵調整時間時,再按下數字鍵,時分秒六個數碼管一起改變成相同的數。經反復調試后,在鍵盤子程序中一直調用顯示子程序,就可以正常運行。結果表明, 此數字時鐘設計方案簡單可行, 運行可靠, 還可以擴展成帶有年、月、日的萬年歷設計。

參考文獻

[1]鄒顯圣.基于AT89C51單片機數字時鐘的研究[J].機電產品開發與創新,2009(05).

[2]徐瑋,沈建良.單片機快速入門[M].北京:北京航空航天出版社,2009.

[3]杜力,肖學玲.使用proteus 仿真矩陣鍵盤時遇到的問題和解決方案[J].科技經濟市場,2011(02).

[4]樊清海,劉培培,耿娟平.基于單片機的數字時鐘C語言設計[J].北華航天工業學院學報,2010(01).

作者簡介

蘆寶娟(1980-),女,遼寧省撫順市人。碩士學位。現為貴州工業職業技術學院講師,主要從事物理和電子類的教學和科研工作。

作者單位

貴州工業職業技術學院 貴州省貴陽市 550008endprint

摘 要

數字鐘是人們日常生活中常見的電子產品,廣泛應用于學校、醫院、廣場、銀行等公共場合。本設計采用AT89C51單片機,制作數碼管顯示24小時的數字鐘,上電后系統自動進入時間顯示,從初始值開始計時,可用4×4矩陣鍵盤調整時間。

【關鍵詞】數字鐘 單片機 數碼管 矩陣鍵盤

數字鐘是人們日常生活中常見的電子產品,具有精度高、功耗低、運行穩定、攜帶方便等特點。數字顯示“時、分、秒”的數字鐘,廣泛應用于諸多場合,也是單片機課程中重要的項目訓練。AT89C51單片機是美國ATMEL公司生產的低電壓,高性能CMOS8位單片機,4k字節Flash 閃速存儲器,128字節內部RAM,器件采用ATMEL公司的高密度、非易失性存儲技術生產,具備兩個16位定時/計數器。本設計利用單片機STC89C52 的定時器實現時鐘的運行,“時、分、秒”用數碼管顯示,利用4*4矩陣鍵盤外部修改時間。大多數的數字鐘采用獨立鍵盤,遞增或遞減式調整時間。本文采用程序調整時部、分部、秒部,數字鍵0-9直接調節時間,使用起來十分方便。

1 硬件系統

本設計方案是利用單片機內部16位的定時/計數器進行中斷定時, 配合軟件程序實現24小時制計時功能。上電后系統自動進入時間顯示, 從初始值(由程序設定)開始計時,可以用4×4矩陣鍵盤設置初始值或修改時間。如圖1所示,數字鐘的硬件電路圖。

1.1 單片機最小系統

本次設計的數字鐘,采用AT89C51單片機,XTAL1和XTAL2引腳之間接一個12MHz的晶振和兩個33pF的電容。第9引腳接復位電路,第20引腳接地,第31引腳、40引腳接電源,組成了單片機最小系統。

1.2 數碼管

數碼管是最常用的顯示器件,分為靜態顯示和動態顯示。動態顯示就是將所有數碼管的段選線并聯在一起,通過控制位選信號來控制數碼管的點亮。輪流向各位數碼管送出字形碼和相應的位選,利用發光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數碼管同時都在顯示。在proteus仿真中選擇六個共陽數碼管合一的模塊7SEG-MPX6-CA-BLUE,123456表示位選的管腳,接P2口;abcdefg dp是數碼管的段碼輸入,接P1口。

1.3 矩陣鍵盤

本設計采用4×4矩陣鍵盤,P3口的低四位作行線,P3口的高四位作列線,按鍵設置在行列的交點上,行、列線分別連接到按鍵開關的兩端,可組成16個鍵的鍵盤。判斷有無按鍵按下的方法是:1、由軟件設置行線高電平,列線低電平,設置P3=0x0F,判斷是否有鍵按下;2、如果有鍵按下,依次按列掃描,確定是哪個鍵按下。按下星號鍵后,依次修改時、分、秒部時間,按下0-9鍵有效,其它鍵無效。

2 軟件

主程序:如圖2所示,主程序流程圖,主程序主要對中斷源和定時器初始化。選用定時器T0,定時時間為50ms,由于系統晶振采用是12MHz,設置TH0=0X3C,TL0=0XB0。設置四個全局變量con、 second、minute、hour和中斷函數完成24小時計數。T0定時50ms,con計到20時,1秒到,second加1;second計到60,1分鐘到,minute加1,second清零;minute計到60,1小時到,hour加1,minute清零;hour計到24,hour清零。

顯示子程序:六個共陽數碼管依次顯示時、分、秒,采用動態掃描的方式,LED0至LED5為數碼管位選,P1為數碼管段選。

鍵盤子程序:4*4矩陣鍵盤,可以顯示數字0-9、*鍵、#鍵、字母A、B、C、D鍵。首先判斷是否有鍵按下,如果有鍵按下,依次按列掃描,確定是哪個鍵按下。有鍵按下后,延時一段時間后再次判斷是否按下,進行防抖處理。定義變量keyshu,矩陣鍵盤按下的鍵轉化為十六進制賦值給keyshu,以備鍵盤調整時間子程序調用。

鍵盤調整時間子程序:如果按下*鍵,進行4*4鍵盤調整顯示時間子程序。利用變量keyshe依次對時部、分部、秒部高位和低位進行修改,此時只有數字0-9鍵有效,其它鍵無效。同時還要注意小時的高位范圍為0-2,分和秒的高位范圍為0-5,按鍵超出此范圍則為無效。

keyshezhi()

{if(keyshu==0x0E)

{keyshe=1;keyshu=0x10;}

while(keyshe==1)

{keymain();

display();

if(keyshu!=0x10)

{if(keyshu==0x0F)

{keyshe=0;keyshu=0x10;}

if(keyshu<=0x02)

{hour=hour-(hour/10*10),

hour=hour+(keyshu*10);

keyshu=0x10;

keyshe=2;}

else keyshu=0x10;}}

while(keyshe==2)

{keymain();

display();

if(keyshu!=0x10)

{if(keyshu==0x0F)

{keyshe=0;keyshu=0x10;}

if(keyshu<=0x09)

{hour=hour-(hour%10),

hour=hour+keyshu;

keyshu=0x10;

keyshe=3;}

else keyshu=0x10;}}

……

}

3 結語

本數字鐘的設計是以單片機AT89C51為核心控制部件, 通過軟件編程實現4×4矩陣鍵盤調整時間功能。此方案進行Protues仿真,發現在按下*鍵調整時間時,再按下數字鍵,時分秒六個數碼管一起改變成相同的數。經反復調試后,在鍵盤子程序中一直調用顯示子程序,就可以正常運行。結果表明, 此數字時鐘設計方案簡單可行, 運行可靠, 還可以擴展成帶有年、月、日的萬年歷設計。

參考文獻

[1]鄒顯圣.基于AT89C51單片機數字時鐘的研究[J].機電產品開發與創新,2009(05).

[2]徐瑋,沈建良.單片機快速入門[M].北京:北京航空航天出版社,2009.

[3]杜力,肖學玲.使用proteus 仿真矩陣鍵盤時遇到的問題和解決方案[J].科技經濟市場,2011(02).

[4]樊清海,劉培培,耿娟平.基于單片機的數字時鐘C語言設計[J].北華航天工業學院學報,2010(01).

作者簡介

蘆寶娟(1980-),女,遼寧省撫順市人。碩士學位。現為貴州工業職業技術學院講師,主要從事物理和電子類的教學和科研工作。

作者單位

貴州工業職業技術學院 貴州省貴陽市 550008endprint

猜你喜歡
單片機
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機在仿真中要注意的幾點問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機的三維LED點陣設計
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個全新PIC單片機系列
基于Proteus的單片機控制系統的仿真設計
主站蜘蛛池模板: 99免费在线观看视频| 国产欧美专区在线观看| 国产一区二区三区在线观看免费| 午夜少妇精品视频小电影| 亚洲高清资源| 亚洲三级色| 久久综合九色综合97婷婷| 日韩在线播放欧美字幕| 中国一级特黄大片在线观看| 色综合天天视频在线观看| 韩日无码在线不卡| 亚洲天堂啪啪| 国产一级毛片yw| 污污网站在线观看| 欧美高清三区| 国产丰满大乳无码免费播放| 无码中文字幕乱码免费2| 91久久偷偷做嫩草影院电| 欧美www在线观看| 国产精品19p| 色综合中文字幕| 免费a级毛片视频| 91年精品国产福利线观看久久| 在线毛片免费| 欧美精品一区在线看| 狠狠色噜噜狠狠狠狠奇米777| www亚洲天堂| 国产精品毛片在线直播完整版| 一级毛片在线免费看| Jizz国产色系免费| 欧美日韩国产在线播放| 亚洲国产欧洲精品路线久久| 97se亚洲综合在线天天| 国产高清在线丝袜精品一区| 久久性视频| 国内精品手机在线观看视频| 动漫精品啪啪一区二区三区| 无码内射在线| 国产成人高清精品免费软件 | 91小视频在线观看| 国产女人在线| 午夜免费小视频| AV天堂资源福利在线观看| 久久久久久久蜜桃| aa级毛片毛片免费观看久| 国产免费a级片| 国产亚洲精品91| 亚洲福利一区二区三区| 囯产av无码片毛片一级| 六月婷婷激情综合| 国产大片黄在线观看| 一级片一区| 日韩东京热无码人妻| 欧美高清三区| 三级欧美在线| 国产XXXX做受性欧美88| 国产成人av大片在线播放| 国产自在线播放| 亚洲日韩精品欧美中文字幕| 91无码人妻精品一区| 无码一区18禁| 亚洲娇小与黑人巨大交| 久久大香香蕉国产免费网站| 亚洲天堂自拍| 日本道综合一本久久久88| 国产成人精品优优av| 久久人与动人物A级毛片| 天天躁狠狠躁| 蜜臀av性久久久久蜜臀aⅴ麻豆| 免费三A级毛片视频| 99视频精品全国免费品| 亚洲福利视频一区二区| 中文字幕日韩欧美| 日本91视频| 国产屁屁影院| 久久国产精品波多野结衣| 国内精品久久久久久久久久影视| 伊人大杳蕉中文无码| 国产一区二区色淫影院| 国产全黄a一级毛片| 国产成人无码综合亚洲日韩不卡| 亚洲综合国产一区二区三区|