終于又在51hei論壇冒泡了哈~~這兩個星期一直在搞這個16*8點陣,現在終于要和大家見面了哈。
這個應該是我大學里面最后一次折騰51單片機了,因為前段已經入STM32了,不過這段又回來折騰了一翻。
特別說明:因時間和工程耗大的原因,在該貼未涉及教程、程序和原理圖等,本人決定會在元旦新年前專門錄展示視頻和必要的制作教程及部分程序講解等,并全部開源。同時為方便新手快速的打造其中的某個功能,會將合并程序和各個拆開的模塊程序一并共享給大家,畢竟并不是所有人都像我一樣能同時打造那么多功能,屆時敬請大家踴躍頂帖哈!本人提供的程序可以說幾乎涵蓋了51單片機教程里的各個功能和器件,及點陣顯示和及各類算法的技巧。總之,可以說是本人研究51單片機積累的經驗哈。
作為2013年新年禮物分享給大家哈~~
“下帖”,真正分享資料和教程帖已出:
http://www.raoushi.com/bbs/dpj-20608-1.html
先曬兩張部分功能圖:
開始曬硬件圖(先不解釋和說明,留到下一帖哈,大家把看到器件的說出來,說得多且對的有刀幣獎勵哦) :
整體硬件圖:
打開內臟,整體圖:
內臟上蓋主控板:
內臟下蓋輔助功能板:
以上硬件能做什么呢?下面是整體功能介紹。
/************************************多功能智能玩具整體功能說明*******************
1、整合五大功能:
時鐘顯示(掉電走時,帶閏年、鬧鐘、真人語音報時、半夜自動開關屏、溫度顯示等,同時支持紅外遙控和按鍵雙控制);
俄羅斯方塊游戲(帶歡迎及結束畫面,可顯示游戲分數并有加分機制,同時支持紅外遙控和按鍵雙控制);
FM收音機(帶外揚功能,不開收音時也可當一般功放機使用,同時支持紅外遙控和按鍵雙控制);
搖搖棒(包含三個界面顯示:當前時間顯示、文本顯示“新年好”、文體顯示“我愛你”);
簡單電壓表(使用外接電源可測電壓范圍0-5V,使用內置鋰電可測電壓范圍0-3.8V,誤差±0.1V);
2、可橫豎雙屏顯示功能,靜態顯示,上下移顯示,左右滾動顯示。
3、具有機器工作狀態指示燈,在各個功能中進行不同的操作,狀態LED均有不同變化。
4、全面同時支持紅外遙控和按鍵雙控制。
5、開機歡迎畫面,功能切換提示畫面。
6、外接電源+內置鋰電雙電源滿足不同場合工作。
7、內含功放電路,也可當一般小功放使用。
8、關鍵數據掉電保存,如鬧鈴時間、報時開關等。
***************************************************************************************/
開始開機演示:
一、時鐘功能
/***********************一、時鐘功能介紹****************************************************
1、上電初始顯示時、分、秒,隔適當時間后依次滾動顯示年、月、日、星期、溫度和農歷月、日,
支持掉電走時;
2、農歷使用軟件計算,并對農歷的顯示優化,如1-10日顯示“初一-初十”,以及二十、三十的"廿"、"卅",
一月顯示成“正”月等;
3、全面支持紅外按鍵和機械鍵盤雙操作;
4、帶一組鬧鈴功能,同時該鬧鈴支持在全部功能界面后臺運行,在任一界面鬧鈴時間到均會響起,但不
會中斷當前操作。可以設置該鬧鈴的時間并掉電保存,支持手動開關鬧鈴,鬧鈴時間到時默認響一分鐘,
并可在鬧鈴正在響時手動停止(須返回時鐘界面才可);
5、支持真人語音報時,到整點或按報時鍵會依次報時、分、秒,年、月、日、星期、溫度和農歷月、日,
也支持手動開關報時和掉電保存自動報時開關狀態。整點報時標志位在后臺運行,在打開報時功能下,整點
時在任一功能界面均會自動返回時鐘顯示界面進行報時(如果在游戲界面則會暫停并保存游戲才返回時鐘界面);
6、LED工作指示:一直是隔一秒閃一次。
*****************************************************************************************/
二、俄羅斯方塊游戲功能
/***********************二、俄羅斯方塊游戲功能介****************************************************
1、16*8豎屏顯示,隨機產生方塊;
2、智能算法判斷,判斷遇障礙、遇邊界、自動消行等,盡可能的減少游戲BUG;
3、兩位數碼管顯示游戲分數,并設有游戲機制,如消一行加1分,消兩行3分,消四行7分等,并
在每計30分設為一個關卡,每加一個關卡方塊速度加快一個單位;
4、支持遙控和按鍵雙操作;
5、游戲未開始和結束界面均做優化;
6、暫停游戲后再切換到其它功能界面會自動保存當前游戲狀態,當再次返回游戲功能界面會繼續游戲,
同時當整點報時啟動時也會自動先暫停并保存當前游戲狀態再返回時鐘顯示并報時。不暫停,離開
游戲界面后再返回時,游戲會清空并重新啟動。
7、LED工作指示:在游戲未開始界面快閃,游戲開始時隔一秒閃一次,游戲暫停時一直亮。
*****************************************************************************************/
三、FM收音功能
/***********************三、FM收音功能介紹****************************************************
1、手動調頻、自動搜臺調頻雙模式;
2、支持遙控和按鍵雙操作;
3、收音機界面,16*8顯示屏用于顯示當前頻率,數碼管用于顯示溫度;
4、可接耳機,也可打開外揚,并有耳機天線增強信號;
5、不打開收音機,可將內置功放當做一般放大器,輸入音源放大;
6、LED工作指示:正常工作時隔一秒閃一次,自動搜臺時快閃。
*****************************************************************************************/
四、“搖搖棒”功能(捕捉拍攝這種東西很蛋疼)
/***********************四、“搖搖棒”功能介紹****************************************************
1、默認第一畫面是顯示時鐘,可顯示當前時、分、秒;
2、第二、三畫面是顯示文本“新年好”和“我愛(心形)你”
3、僅支持按鍵操作,按OK鍵切換顯示畫面;
4、數碼管顯示當前功能序號;
5、LED工作指示:常亮。
*****************************************************************************************/五、“簡單電壓表”功能
/***********************五、“簡單電壓表”功能介****************************************************
1、兩位簡單電壓表,16*8顯示"U=",在數碼管顯示電壓值“X.X”;
2、使用外接5V電源測量范圍是0-5V,使用內置鋰電測量范圍是0-3.8V,誤差±0.1V),不可反接;
3、除功能切換界面按鍵有效外,其它按鍵全無效;
4、LED工作指示:常亮。
*****************************************************************************************/六、其它顯示優化,如有開機畫面,功能切換的提示畫面哈
展示完畢了哈,再返回回去看看我前幾天的帖子,看還有什么功能沒實現
本來還有頻譜顯示和計算器,這兩個功能如果不合在其它功能的話,我還是調試好了的。特別是語音計算器,源碼我已經弄好,只是整到一起的時候出了很多問題,后面不能整一起。但后面還是會向大家分享和展示這兩個模塊功能的。也許某些大神覺得這些功能都沒什么,分開的功能估計很多人都可以寫出來,但是要很多的功能整在一起,并用不是很高級的51單片機來實現會出現N多問題。其實按照我以前做板和寫程序的進度,根本不需要那么一兩個星期才做完,但是這一次在程序這里耗了很長的時間,每增加一個功能就會出現N多BUG,很多子模塊的功能和自己以前都寫有或直接網上有,但真整合在一起,每天就是不斷測試和發現BUG,然后想辦法修正。而且開發語言用的是C,這樣功能雜多的工程用KEIL編譯出來后,某些東西就變味了,就會出現到現在我都無法解決的小BUG。當然,本人當年學單片機是從匯編起步的,對單片機的硬件還是蠻了解的哈。
最后給大家曬曬我的整個工程截圖,各個功能各分成一個C文件。大家看看就知道我這個工程不簡單了。編譯出來,選擇了九級編譯優化還是有15K左右哈。
頂這帖的人越多,開源和視頻分享的進度會越來越快,期待大家的支持!
“下帖”,真正分享資料和教程帖已出:
http://www.raoushi.com/bbs/dpj-20608-1.html
|