数码管显示1到8c语言,单片机控制八只数码管滚动显示1~8 附PROTEUS软件仿真图
數(shù)碼管顯示是每一個(gè)單片機(jī)初學(xué)者都必須學(xué)的,而單片機(jī)驅(qū)動(dòng)數(shù)碼管的數(shù)字循環(huán)顯示實(shí)驗(yàn),又是單片機(jī)基礎(chǔ)中的基礎(chǔ),同時(shí)也是學(xué)好C語言編程的關(guān)鍵,此實(shí)驗(yàn)在硬件上可以弄清楚單片機(jī)驅(qū)動(dòng)原理和數(shù)碼管的顯示原理,在軟件上可以幫助建立編程思維和良好的編程習(xí)慣,同時(shí)加深C語言中 函數(shù),變量和循環(huán)結(jié)構(gòu)語句的學(xué)習(xí)。
為了方便初學(xué)者,程序代碼每一段我都加了詳細(xì)的注釋。同時(shí)為了更直觀的顯示效果用PROTEUS軟件來進(jìn)行仿真。
8只數(shù)碼管滾動(dòng)顯示1~8 PROTEUS 和51單片機(jī)教程
程序功能,從左到依次顯示0,1,2,3,4,5,6,7 八個(gè)數(shù)字
程序參考源代碼如下:
/* 8只數(shù)碼管同時(shí)顯示不同字符 */
#include // 51程序頭文件
typedef unsigned char uint8;
typedef unsigned int uint16; // 程序中的兩個(gè)宏定義
code uint8 LED_CODE[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8};
//數(shù)碼管顯示的八個(gè)碼段
void delay(uint16 x) // 定義無返回值延時(shí)函數(shù)
{
uint16 i,j; // 定義循環(huán)語句的兩個(gè)變量
for(i = x; i > 0; i --)
for(j = 114; j > 0; j --); // FOR循環(huán)語句實(shí)現(xiàn)功能
}
void main() //定義主函數(shù)
{
uint8 i; //定義函數(shù)變量
while(1)
{
for(i = 0; i < 8; i ++) //FOR循環(huán)
{
P0 = 0xFF;
P3 = 0x01 << i;
P0 = LED_CODE[i]; //給IO口賦值
delay(4); //調(diào)用延時(shí)函數(shù)
}
}
}
最后,如果有什么意見或者建議歡迎您留言給我,如果你也是一個(gè)單片機(jī)初學(xué)者,請(qǐng)關(guān)注我,讓我們共同學(xué)習(xí)一起進(jìn)步,學(xué)無止境,加油!
謝謝!
舉報(bào)/反饋
總結(jié)
以上是生活随笔為你收集整理的数码管显示1到8c语言,单片机控制八只数码管滚动显示1~8 附PROTEUS软件仿真图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手机也能播放电脑里的电影手机也能播放电脑
- 下一篇: 单片机C语言中空语句,单片机C语言中的空