久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
51單片機點陣無法循環顯示
[打印本頁]
作者:
規劃胡
時間:
2024-9-27 15:36
標題:
51單片機點陣無法循環顯示
仿真圖都正確,也能正常顯示,就是想弄成循環顯示的時候,OLED_ShowCHinese放if里面就無法正常顯示,放外面能顯示但是時間延遲較長,無法調整。有沒有大佬知道怎么回事的!
單片機源程序如下:
#include<reg51.h>
#include<intrins.h>
typedef unsigned int u16; //對系統默認數據類型進行重定義
typedef unsigned char u8;
#define uchar unsigned char
#define uint unsigned int
sbit ds1 = P2^1;
sbit sh_cp1 = P2^0;
sbit st_cp1 = P2^2;
sbit ds2 = P2^6;
sbit sh_cp2 = P2^5;
sbit st_cp2 = P2^7;
sbit OE = P2^3;
sbit e = P2^4;
void Delay_ms(u16 ms)
{
u16 i,j;
for(i=ms;i>0;i--)
for(j=110;j>0;j--);
}
uchar code dat[][16] = {
{0x00,0x00,0x0F,0x08,0x08,0x08,0x08,0xFF,0x08,0x08,0x08,0x08,0x0F,0x00,0x00,0x00},
{0x00,0x00,0xF0,0x20,0x20,0x20,0x20,0xFF,0x20,0x20,0x20,0x20,0xF0,0x00,0x00,0x00},
{0x00,0x7F,0x40,0x48,0x49,0x49,0x49,0x4F,0x49,0x49,0x49,0x48,0x40,0x7F,0x00,0x00},
{0x00,0xFF,0x02,0x12,0x12,0x12,0x12,0xF2,0x12,0x52,0x32,0x12,0x02,0xFF,0x00,0x00},
{0x04,0x08,0x32,0xE2,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2B,0x20,0x20,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0C,0x02,0x0F,0x00},
{0x08,0x10,0x3E,0x52,0xD2,0x53,0x57,0x5A,0x52,0x52,0x72,0x12,0x1E,0x00,0x00,0x00},
{0x02,0x52,0x52,0x94,0xA4,0x28,0x4A,0x91,0x7E,0x20,0x50,0x88,0x04,0x02,0x02,0x00},
{0x10,0x12,0x11,0x10,0x13,0x1C,0x00,0x7F,0x40,0x40,0x4F,0x40,0x40,0x7F,0x00,0x00},
{0x04,0x08,0x30,0xC0,0x20,0x19,0x02,0xC4,0x18,0x60,0x80,0x7E,0x01,0xC1,0x07,0x00},
{0x02,0x02,0x42,0x42,0x42,0x42,0x43,0x42,0x42,0x42,0x42,0x42,0x42,0x02,0x02,0x00},
{0x00,0x04,0x0E,0x14,0x24,0xC4,0x04,0x04,0x04,0x24,0x14,0x0C,0x07,0x00,0x00,0x00},
{0x08,0x06,0x40,0x31,0x00,0x7F,0x40,0x4F,0x40,0x7F,0x00,0x1F,0x00,0xFF,0x00,0x00},
{0x20,0x20,0x7E,0x80,0x01,0xE2,0x0C,0xF0,0x08,0xE4,0x00,0xE2,0x01,0xFE,0x00,0x00},
{0x02,0x02,0x42,0x42,0x42,0x42,0x42,0x7F,0x42,0x42,0x42,0x42,0x42,0x02,0x02,0x00},
{0x01,0x01,0x02,0x04,0x08,0x30,0xC0,0x00,0xC0,0x30,0x08,0x04,0x02,0x01,0x01,0x00},
};
void dat595(uchar as,uchar bs) //向HC595傳入數據
{
uchar i,b;
e = 1;
b = bs; //先寫第二個參數,即取模的時候漢字字模的第二排數據(共16個),寫到16*16點陣的下面2個8*8點陣
for(i = 0; i < 8; i++)
{
ds1 = b & 0x01; //寫參數2的最低位
sh_cp1 = 0;
_nop_();_nop_();_nop_(); //空操作,
sh_cp1 = 1;
b >>= 1; //右移一位
}
b = as;
for(i = 0; i < 8; i++)
{
ds1 = b&0x01;
sh_cp1 = 0;
_nop_();_nop_();_nop_();
sh_cp1 = 1;
b >>= 1;
}
}
void shuchu() //HC595輸出數據
{
st_cp2 = 0;
st_cp1 = 0;
st_cp2 = 1; //在時鐘上升沿輸出數據
st_cp1 = 1; //在時鐘上升沿輸出數據
}
void suocun() //HC595鎖存數據
{
sh_cp2 = 0; //在時鐘上升沿寫入數據
sh_cp2 = 1;
ds2 = 1;
}
void OLED_ShowCHinese(uchar f)
{
uchar j;
OE = 0 ;
ds2= 0 ;
for(j =0; j < 16; j++)
{
dat595(dat[3*f+f][j],dat[3*f+f+1][j]);
suocun();
shuchu();
}
for(j = 0; j < 16; j++)
{
dat595(dat[3*f+f+2][j],dat[3*f+f+3][j]);
suocun();
shuchu();
}
}
void timer0_isr() interrupt 1
{
static uchar index = 0;
static uint cp2;
TH0=0XFC; //給定時器賦初值,定時1ms
TL0=0X18;
cp2++;
if(cp2 == 100)
{
cp2 =0;
index++;
if(index >=4)
index = 0;
}OLED_ShowCHinese(index);
}
void init_timer0()
{
TMOD|=0X01;//選擇為定時器0模式,工作方式1
TH0=0XFC; //給定時器賦初值,定時1ms
TL0=0X18;
ET0=1;//打開定時器0中斷允許
EA=1;//打開總中斷
TR0=1;//打開定時器
}
void main(void)
{
init_timer0();
while(1)
{
}
}
作者:
xianfajushi
時間:
2024-9-27 17:45
看我帖子有荔枝
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
欧美精品入口蜜桃
|
91av视频在线观看
|
在线日韩欧美
|
一区二区三区在线观看免费
|
丨国产丨调教丨91丨
|
日本国产视频
|
自拍偷拍中文字幕
|
欧美视频在线一区
|
久久久国产精品视频
|
欧美日韩在线一区二区
|
日韩av免费播放
|
中文字幕一二三四区
|
九色在线视频
|
欧美不卡一区二区三区
|
国产香蕉在线观看
|
色天堂影院
|
蜜臀99久久精品久久久久小说
|
国产三区四区
|
性生活视频网站
|
涩色av
|
亚洲 欧美 激情 另类 校园
|
91久久久久国产一区二区
|
高清av在线
|
久久成人毛片
|
成人一区在线观看
|
天天插天天透
|
精品网站999www
|
激情综合五月婷婷
|
波多野结衣一级
|
亚洲精品91
|
日韩精品一区二区视频
|
午夜国产福利
|
黑森林av
|
欧美在线亚洲
|
日日操av
|
亚洲不卡在线观看
|
九九色影院
|
黄色片一级片
|
欧美精品乱码99久久蜜桃
|
免费性网站
|
日本韩国三级
|