資源簡介
本文檔包括74LS595驅動點陣的proteus仿真電路和基于8951的c語言測試程序,非常適合單片機初學者使用!

代碼片段和文件信息
/**************************************/
/*我的第一個LED顯示程序,請高手多指點?*/
/*程序功能:用兩個點陣LED順序顯示0-9??*/
/*作者:鄧國明 ??*/
/*地址:廈門大學機電工程系03級????????*/
/*Email:gmdengxm@163.com ??*/
/**************************************/
#include?
#define?uchar?unsigned?char
#define?uint?unsigned?int
/*******************數字點陣**************/
uchar?code shuzi[10][16]?=
{
{0x000x000x100x200x100x200xF80x3F0x000x200x000x200x000x000x000x00}????????//“1“0
{0x000x000x700x300x080x280x080x240x080x220x880x210x700x300x000x00}????????//“2“1
{0x000x000x300x180x080x200x880x200x880x200x480x110x300x0E0x000x00}????????//“3“2
{0x000x000x000x070xC00x040x200x240x100x240xF80x3F0x000x240x000x00}????????//“4“3
{0x000x000xF80x190x080x210x880x200x880x200x080x110x080x0E0x000x00}????????//“5“4
{0x000x000xE00x0F0x100x110x880x200x880x200x180x110x000x0E0x000x00}????????//“6“5
{0x000x000x380x000x080x000x080x3F0xC80x000x380x000x080x000x000x00}????????//“7“6
{0x000x000x700x1C0x880x220x080x210x080x210x880x220x700x1C0x000x00}????????//“8“7
{0x000x000xE00x000x100x310x080x220x080x220x100x110xE00x0F0x000x00}????????//“9“8
{0x000x000xE00x0F0x100x100x080x200x080x200x100x100xE00x0F0x000x00}????????//“0“9
};
/*********************漢字點陣*******************/
/********************位口定義*******************/
sbit?P17?=?P1^7;
/********************變量定義********************/
uint?delayidelayjrxdiijknm;?? //delayidelayjn?延時函數變量。rxdi為串行口輸出變量
//ijkm輸出控制變量
/********************函數聲明*******************/
void?delay(uint?n); //不精確延時函數,延時n?ms
void?rxdout(uchar?*d); //串行口輸出函數
/*******************主函數**********************/
void?main()
{
SCON?=?0x00; //串行口方式0,RXD輸出數據,TXD輸出脈沖
while(1)
{
for(?i?=?0;?i?10;?i++) //數字顯示
{
for(k?=?0;?k?10;?k++)
{
for((m?=?0?j?=?0);?j?16;?j?+=?2)
{
P17?=?0; //P17口為595鎖存
rxdout(&shuzi[i][j]);
rxdout(&shuzi[i][j+1]);
P17?=?1; //595上升沿鎖存數據
P1?=?m; //行驅動
++m;
delay(1); //延時200微秒
}
}
delay(200); //延時準備顯示下一個數字
delay(200);
delay(200);
}
}
}
/*******************子函數定義*********************/
void?delay(uint?n) //不精確延時12MHz延時大約(200+3)*n微秒
{
for(?;?n?>?0;?n--)
{
for(delayi?=?0;?delayi?100;?delayi++)??????
{
;
}
}
}
void?rxdout(uchar?*d)? //串行口輸出
{
SBUF?=?*d;
while(TI?==?0);
TI?=?0;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????5115??2002-04-16?14:32??595和138點陣LED\STARTUP.A51
?????文件????????174??2006-03-18?17:35??595和138點陣LED\led595.plg
?????文件???????2806??2006-03-18?16:58??595和138點陣LED\led595.c
?????文件??????11679??2006-03-18?16:57??595和138點陣LED\STARTUP.LST
?????文件?????????45??2006-03-18?16:57??595和138點陣LED\led595.lnp
?????文件???????6302??2006-03-18?16:57??595和138點陣LED\led595.M51
?????文件????????749??2006-03-18?16:57??595和138點陣LED\STARTUP.OBJ
?????文件???????6415??2006-03-18?16:57??595和138點陣LED\led595.LST
?????文件???????4101??2006-03-18?16:57??595和138點陣LED\led595.OBJ
?????文件???????4082??2006-03-18?16:57??595和138點陣LED\led595
????.......??????2039??2006-03-18?14:48??595和138點陣LED\led595_Uv2.Bak
?????文件???????2043??2006-03-18?16:58??595和138點陣LED\led595.Uv2
????.......??????1608??2006-03-18?15:35??595和138點陣LED\led595_Opt.Bak
?????文件???????1609??2006-03-18?16:58??595和138點陣LED\led595.Opt
?????文件??????72690??2006-03-18?17:35??595和138點陣LED\led595.DSN
?????文件????????386??2006-03-18?17:35??595和138點陣LED\led595.PWI
?????目錄??????????0??2006-03-18?13:58??595和138點陣LED
-----------?---------??----------?-----??----
???????????????121843????????????????????17
- 上一篇:空間后方交會C++
- 下一篇:C++ 網絡聊天室設計報告及主要源程序
評論
共有 條評論