這個(gè)程序在執(zhí)行的時(shí)候總是顯示的是亂碼,請(qǐng)各位高手們幫忙看下程序有什么問(wèn)題,要怎么修改?感激不盡~~
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit DAT164=P0^6; //p0.6連接移位寄存器74HC164的串行數(shù)據(jù)輸入端
sbit CLK164=P0^7; //p0.7連接移位寄存器74HC164的串行時(shí)鐘輸入端
sbit onebit=P0^0; // 一個(gè)數(shù)碼管
uchar code table[]= //共陽(yáng)極七段碼表0~F
{
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e
};
void delay_10us(uchar n) //10us級(jí)延時(shí)
{
do
{
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
while(--n);
}
void delay_ms(uint n) //毫秒級(jí)延時(shí)
{
do delay_10us(131);
while(--n);
}
void send164(uchar ch) //向數(shù)碼管送1位顯示數(shù)據(jù)
{
uchar j;
for(j=0;j<8;j++)
{
DAT164=ch&0x01; //輸出ch中的8位
CLK164=0;
CLK164=1;
ch>>=1; //ch右移1位
}
}
void main()
{
uint i;
while(1)
{
onebit=0;
send164(table);
i++;
if(i>15)i=0;
delay_ms(1000);
}
}
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |