版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
本文格式為Word版,下載可任意編輯——51單片機c語言源程序51單片機c語言源程序(1)
Led,數(shù)碼管,點陣部分
源程序由東流電子編寫,文檔由本人整理上傳
/********************************************************************
*描述:點亮P1口的一個LED燈該程序是單片機學習中最簡單最基礎的,通過程序了解如何控制端口的高低電平*創(chuàng)立人:東流,2023年2月7日*版本號:1.0
***********************************************************************/#include
#defineucharunsignedchar//這里用\代替\,\用來定義無符號字符型數(shù)。
#defineuintunsignedint//\用來定義無符號整型數(shù)。sbitShow_LED=P0^0;//用來聲明P1.0口為程序所要控制的端口,\是KEIL專門用來聲明某位IO口
/********************************************************************
*名稱:Main()
*功能:實現(xiàn)燈的閃爍*輸入:無*輸出:無
***********************************************************************/voidMain(void){Show_LED=0;//點亮P1.0對應的LEDwhile(1){}
}/*********************************************************************描述:點亮P1口的一個LED燈該程序是單片機學習中最簡單最基礎的,通過程序了解如何控制端口的高低電平*創(chuàng)立人:東流,2023年2月7日*版本號:1.0
***********************************************************************/
#include
#defineucharunsignedchar//這里用\代替\,\用來定義無符號
字符型數(shù)。
#defineuintunsignedint//\用來定義無符號整型數(shù)。
/*********************************************************************名稱:Main()
*功能:實現(xiàn)燈的閃爍*輸入:無*輸出:無
***********************************************************************/voidMain(void){P0=0xfe;//點亮最終一個LEDwhile(1){}
}/********************************************************************
*描述:點亮P0口的多個LED燈該程序是單片機學習中最簡單最基礎的,通過程序了解如何控制端口的高低電平LED1、LED3、LED5、LED7點亮。LED2、LED4、LED6、LED8不亮。您會看到LED美麗的光輝。*創(chuàng)立人:東流,2023年2月7日*版本號:1.0
***********************************************************************/
#include
#defineucharunsignedchar//這里用\代替\,\用來定義無符號字符型數(shù)。
#defineuintunsignedint//\用來定義無符號整型數(shù)。sbitLED1=P0^0;//用來聲明P0.0口為程序所要控制的端口,\是KEIL專門用來聲明某位IO口sbitLED2=P0^1;sbitLED3=P0^2;sbitLED4=P0^3;sbitLED5=P0^4;sbitLED6=P0^5;sbitLED7=P0^6;sbitLED8=P0^7;
/*********************************************************************名稱:Main()
*功能:實現(xiàn)燈的閃爍
*輸入:無*輸出:無
***********************************************************************/voidMain(void){LED1=0;LED2=1;LED3=0;LED4=1;LED5=0;LED6=1;LED7=0;LED8=1;while(1){}
}/*********************************************************************文件名:閃爍燈.c
*描述:點亮P0口的多個LED燈該程序是單片機學習中最簡單最基礎的,通過程序了解如何控制端口的高低電平通過對P1口和P2口的直接賦值,來點亮LEDLED1、LED3、LED5、LED7點亮。LED2、LED4、LED6、LED8不亮。相比前面一個代碼,這個代碼顯得簡單的多。假使是多為IO進行控制,建議大家直接對P1--P3進行操作。*創(chuàng)立人:東流,2023年2月7日*版本號:1.0
***********************************************************************/
#include
#defineucharunsignedchar//這里用\代替\,\用來定義無符號字符型數(shù)。
#defineuintunsignedint//\用來定義無符號整型數(shù)。
/*********************************************************************名稱:Main()
*功能:實現(xiàn)燈的閃爍*輸入:無*輸出:無
***********************************************************************/voidMain(void)
{
P0=0xaa;//相當于二進制0B10101010while(1){}
}/*********************************************************************描述:該程序是一個最簡單的單片機代碼。實現(xiàn)了一個LED的不停閃爍。每個0.2秒,兩滅交替一次。*創(chuàng)立人:東流,2023年2月7日*版本號:1.0
***********************************************************************/
#include
#defineucharunsignedchar//這里用\代替\,\用來定義無符號字符型數(shù)。
#defineuintunsignedint//\用來定義無符號整型數(shù)。sbitShow_LED=P0^0;//用來聲明P1.0口為程序所要控制的端口,\是KEIL專門用來聲明某位IO口
/*********************************************************************名稱:Delay()
*功能:延時,延時時間為10ms*del。這是通過軟件延時,有一定誤差。*輸入:del*輸出:無
***********************************************************************/voidDelay(uintdel){uinti,j;for(i=0;i
#defineucharunsignedchar//這里用\代替\,\用來定義無符號字符型數(shù)。
#defineuintunsignedint//\用來定義無符號整型數(shù)。sbitShow_LED=P0^0;//用來聲明P1.0口為程序所要控制的端口,\是KEIL專門用來聲明某位IO口
/*********************************************************************名稱:Delay()
*功能:延時,延時時間為10ms*del。這是通過軟件延時,有一定誤差。*輸入:del*輸出:無
***********************************************************************/voidDelay(uintdel){uinti,j;for(i=0;i
Show_LED=1;
Delay(20);//Delay(del)中的數(shù)為延時的時間參數(shù),延時時間為10ms*del.Show_LED=0;Delay(20);}
}/*********************************************************************描述:本試驗,讓8個LED不停顯示依照規(guī)律輪番顯示。首先,8個LED分別兩次間隔顯示。然后高4位顯示和低4位顯示。最終間隔全亮、全滅兩次。*創(chuàng)立人:東流,2023年2月7日*版本號:1.0
***********************************************************************/
#include
#defineucharunsignedchar#defineuintunsignedint
/*********************************************************************名稱:Delay()
*功能:延時,延時時間為10ms*del*輸入:del*輸出:無
***********************************************************************/voidDelay(uintdel){uinti,j;for(i=0;i
#defineucharunsignedchar#defineuintunsignedint
ucharcodetable[10]={0xaa,0x55,0xcc,0x33,0x0f,0xf0,0x00,0xff,0x00,0xff};
/********************************************************************
*名稱:Delay()
*功能:延時,延時時間為10ms*del*輸入:del*輸出:無
***********************************************************************/voidDelay(uintdel){uinti,j;for(i=0;i
#defineucharunsignedchar#defineuintunsignedint
/*********************************************************************名稱:Delay()
*功能:延時,延時時間為10ms*del*輸入:del*輸出:無
***********************************************************************/voidDelay(uintdel){uinti,j;for(i=0;i
#defineucharunsignedchar
#defineuintunsignedint
//數(shù)碼管的段碼編碼uchartable[16]
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
=
//下一行的數(shù)組可以顯示數(shù)值外,還可以顯示數(shù)碼管的點uchartable_d[16]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0xf1};
/*********************************************************************名稱:Main()*功能:主函數(shù)*輸入:無*輸出:無
***********************************************************************/voidmain(){uchari=0;P2=6;//通過74HC138來控制數(shù)碼管的位選,P2=0或1,2,3,4,5,6,7點亮相應的數(shù)碼管P0=table[5];//顯示5,大家可以修改里面的數(shù)據(jù)。while(1){}}
/*********************************************************************文件名:數(shù)碼管顯示.c
*描述:該程序為數(shù)碼管靜態(tài)顯示程序。程序實現(xiàn)了最右邊數(shù)碼管的顯示一個5,大家可以在程序中修改相應的值而在數(shù)碼管上顯示相應的數(shù)字。*創(chuàng)立人:東流,2023年2月7日*版本號:1.0
***********************************************************************/#include
#defineucharunsignedchar#defineuintunsignedint
//數(shù)碼管的段碼編碼uchartable[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//下一行的數(shù)組可以顯示數(shù)值外,還可以顯示數(shù)碼管的點uchartable_d[16]=
{0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0xf1};
/*********************************************************************名稱:Main()*功能:主函數(shù)*輸入:無*輸出:無
***********************************************************************/voidmain(){uchari=0;P2=7;//數(shù)碼管的最終一位顯示P0=table_d[5];//顯示5,大家可以修改里面的數(shù)據(jù)。while(1){}}
/*********************************************************************描述:用單個數(shù)碼管來模擬流水燈。*創(chuàng)立人:東流,2023年2月7日*版本號:1.0
***********************************************************************/#include
#defineucharunsignedchar#defineuintunsignedint
//數(shù)碼管的段碼編碼uchartable[16]
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//下一行的數(shù)組可以顯示數(shù)值外,還可以顯示數(shù)碼管的點uchartable_d[16]
{0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0xf1};
/*********************************************************************名稱:Delay()
*功能:延時,延時時間為10ms*del*輸入:del*輸出:無
***********************************************************************/voidDelay(uintdel){uinti,j;
=
=
for(i=0;i
#defineucharunsignedchar#defineuintunsignedint
ucharcodetable[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
/*********************************************************************名稱:Delay_1ms()
*功能:延時子程序,延時時間為1ms*x
*輸入:x(延時一毫秒的個數(shù))*輸出:無
***********************************************************************/voidDelay(uinti){uintx,j;for(j=0;j
#defineucharunsignedchar
#defineuintunsignedint
ucharcodetable[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};ucharcodeLED_W[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
/*********************************************************************名稱:Delay_1ms()
*功能:延時子程序,延時時間為1ms*x*輸入:x(延時一毫秒的個數(shù))*輸出:無
***********************************************************************/voidDelay(uinti){ucharx,j;for(j=0;j
#defineucharunsignedchar#defineuintunsignedint
ucharcodetable[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
/*********************************************************************名稱:Delay_1ms()
*功能:延時子程序,延時時間為1ms*x*輸入:x(延時一毫秒的個數(shù))*輸出:無
***********************************************************************/voidDelay(uinti){uintx,j;for(j=0;j=3)//當大于3毫秒的時,執(zhí)行括號中的語句{j-=1;//延時時間自減1毫秒
}}}
/*********************************************************************文件名:動態(tài)顯示.c
*描述:八位數(shù)碼管依次顯示0,1,2,3,4,5,6,7*創(chuàng)立人:東流,2023年2月7日*版本號:1.0
***********************************************************************/#include
#defineucharunsignedchar#defineuintunsignedint
ucharcodetable[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
/*********************************************************************名稱:Delay_1ms()
*功能:延時子程序,延時時間為1ms*x*輸入:x(延時一毫秒的個數(shù))*輸出:無
***********************************************************************/voidDelay(uinti){ucharx,j;for(j=0;j
#defineucharunsignedchar#defineuintunsignedint
ucharcodetable[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
/*********************************************************************名稱:Delay_1ms()
*功能:延時子程序,延時時間為1ms*x*輸入:x(延時一毫秒的個數(shù))*輸出:無
***********************************************************************/voidDelay(uinti){uintx,j;for(j=0;j
#defineucharunsignedchar#defineuintunsignedint
ucharcodetable[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};ucharcodeLED_W[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};uintLED_temp=0;
/*********************************************************************名稱:Delay_1ms()
*功能:延時子程序,延時時間為1ms*x*輸入:x(延時一毫秒的個數(shù))*輸出:無
***********************************************************************/voidDelay(uinti){ucharx,j;for(j=0;j
#defineucharunsignedchar#defineuintunsignedint
ucharcodetable[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};uintLED_temp=0;
/*********************************************************************名稱:Delay_1ms()
*功能:延時子程序,延時時間為1ms*x*輸入:x(延時一毫秒的個數(shù))*輸出:無
***********************************************************************/voidDelay(uinti){ucharx,j;for(j=0;j
#defineucharunsignedchar#defineuintunsignedint
//數(shù)碼管的段碼編碼uchartable[16]
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
/*********************************************************************名稱:Delay()
*功能:延時,延時時間為10ms*del*輸入:del*輸出:無
***********************************************************************/voidDelay(uintdel){
=
uinti,j;for(i=0;i
#defineucharunsignedchar#defineuintunsignedint
//數(shù)碼管的段碼編碼uchartable[16]
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
/*********************************************************************名稱:Delay_1ms()
*功能:延時子程序,延時時間為1ms*x*輸入:x(延時一毫秒的個數(shù))*輸出:無
=
***********************************************************************/voidDelay_1ms(uinti)//1ms延時{ucharx,j;for(j=0;j
#defineucharunsignedchar#defineuintunsignedint
//數(shù)碼管的段碼編碼uchartable[16]
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
/*********************************************************************名稱:Delay_1ms()
*功能:延時子程序,延時時間為1ms*x*輸入:x(延時一毫秒的個數(shù))*輸出:無
***********************************************************************/voidDelay_1ms(uinti)//1ms延時{ucharx,j;for(j=0;j
#defineucharunsignedchar#defineuintunsignedint
//ucharcodetable[8]={0x00,0x00,0x00,0x00,0x73,0x77,0x6d,0x6d};//顯示PASS編碼ucharcodetable[8]={0x00,0x00,0x00,0x76,0x79,0x38,0x38,0x3f};//顯示HELL0編碼ucharcodeLED_W[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
/*********************************************************************名稱:Delay_1ms()
*功能:延時子程序,延時時間為1ms*x*輸入:x(延時一毫秒的個數(shù))*輸出:無
***********************************************************************/voidDelay(uinti){ucharx,j;for(j=0;j
#defineucharunsignedchar#defineuintunsignedint
ucharcodetable[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};ucharcodeLED_W[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
sbitKEY1=P3^2;
sbitLOCKDuan=P3^7;
/*********************************************************************名稱:Delay_1ms()
*功能:延時子程序,延時時間為1ms*x*輸入:x(延時一毫秒的個數(shù))*輸出:無
***********************************************************************/voidDelay(uinti){uintx,j;for(j=0;j
#defineuintunsignedint#defineucharunsignedchar//心形顯示
unsignedcharcodetabP0[]={0x0c,0x12,0x22,0x44,0x22,0x12,0x0c,0x00};unsignedcharcodetabP2[]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE};
//圓形顯示
//unsignedcharcodetabP0[]={0x00,0x3c,0x42,0x42,0x42,0x42,0x3c,0x00};
//unsignedcharcodetabP2[]={0x7F,0xBF,0x0DF,0x0EF,0x0F7,0x0FB,0x0FD,0x0FE};
//菱形顯示
//unsignedcharcodetabP0[]={0x00,0x08,0x14,0x22,0x41,0x22,0x14,0x08};
//unsignedcharcodetabP2[]={0x7F,0xBF,0x0DF,0x0EF,0x0F7,0x0FB,0x0FD,0x0FE};
//叉形顯示
//unsignedcharcodetabP0[]={0x00,0x41,0x22,0x14,0x08,0x14,0x22,0x41};
//unsignedcharcodetabP2[]={0x7F,0xBF,0x0DF,0x0EF,0x0F7,0x0FB,0x0FD,0x0FE};
//中字顯示
//unsignedcharcodetabP0[]={0x00,0x1e,0x12,0x12,0x7f,0x12,0x12,0x1e};
//unsignedcharcodetabP2[]={0x7F,0xBF,0x0DF,0x0EF,0x0F7,0x0FB,0x0FD,0x0FE};
/*********************************************************************名稱:Delay_1ms()
*功能:延時子程序,延時時間為1ms*x*輸入:x(延時一毫秒的個數(shù))*輸出:無
***********************************************************************/voidDelay_1ms(uchari)//1ms延時{ucharx,j;for(j=0;j
#defineuintunsignedint#defineucharunsignedchar//心形顯示
unsignedchartabP0[]={0x00,0x18,0x3C,0x7E,0x18,0x18,0x18,0x00,};unsignedchartabP2[]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE};unsignedcharTEMP[8];
//圓形顯示
//unsignedcharcodetabP0[]={0x00,0x3c,0x42,0x42,0x42,0x42,0x3c,0x00};
//unsignedcharcodetabP2[]={0x7F,0xBF,0x0DF,0x0EF,0x0F7,0x0FB,0x0FD,0x0FE};
//菱形顯示
//unsignedcharcodetabP0[]={0x00,0x08,0x14,0x22,0x41,0x22,0x14,0x08};
//unsignedcharcodetabP2[]={0x7F,0xBF,0x0DF,0x0EF,0x0F7,0x0FB,0x0FD,0x0FE};
//叉形顯示
//unsignedcharcodetabP0[]={0x00,0x41,0x22,0x14,0x08,0x14,0x22,0x41};
//unsignedcharcodetabP2[]={0x7F,0xBF,0x0DF,0x0EF,0x0F7,0x0FB,0x0FD,0x0FE};
//中字顯示
//unsignedcharcodetabP0[]={0x00,0x1e,0x12,0x12,0x7f,0x12,0x12,0x1e};
//unsignedcharcodetabP2[]={0x7F,0xBF,0x0DF,0x0EF,0x0F7,0x0FB,0x0FD,0x0FE};
/*********************************************************************名稱:Delay_1ms()
*功能:延時子程序,延時時間為1ms*x*輸入:x(延時一毫秒的個數(shù))*輸出:無
***********************************************************************/voidDelay_1ms(uchari)//1ms延時{ucharx,j;for(j=0;j
#defineuintunsignedint#defineucharunsignedchar
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川省綿陽市梓潼縣2024-2025學年八年級上學期1月期末考試英語試卷(含答案)
- 00157自考管理會計X年4月-X年7月試卷及答案
- 2024版虛擬現(xiàn)實技術研發(fā)與推廣合同
- 2024年云南省支付清算知識競賽備考試題庫(含答案)
- 福建省南平市九三英華學校高一物理期末試卷含解析
- 2025年度太陽能光伏項目采購合同擔保協(xié)議2篇
- 2024青島購房合同范本:智能家居系統(tǒng)安全監(jiān)控服務協(xié)議3篇
- 2024甲乙雙方關于物聯(lián)網技術研發(fā)與應用合同
- 2024幼兒園園長崗位責任與聘用合同3篇
- 2024年全科教案模板(共8篇)
- DB32T 4400-2022《飲用水次氯酸鈉消毒技術規(guī)程》
- PayPal企業(yè)賬戶注冊流程及申請所需資料
- 工程造價畢業(yè)設計總結報告
- 861個CCER備案項目清單
- 結腸鏡檢查前腸道準備
- 健康狀況與風險評估智慧樹知到期末考試答案2024年
- 2023-2024學年統(tǒng)編版高中語文選擇性必修中冊《屈原列傳》檢測卷(含答案)
- 2024貴州燃氣集團股份有限公司招聘筆試參考題庫附帶答案詳解
- (高清版)TDT 1063-2021 國土空間規(guī)劃城市體檢評估規(guī)程
- 基于51單片機的汽車智能雨刮器控制系統(tǒng)設計-蔡振輝
- 財務管理與內控管理
評論
0/150
提交評論