欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
有大哥能幫我看看為啥液晶點不亮嗎?兩周了,難受死我了
[打印本頁]
作者:
智能羊羊
時間:
2021-8-4 15:30
標題:
有大哥能幫我看看為啥液晶點不亮嗎?兩周了,難受死我了
#include "ior5f10wmg.h"
#include "ior5f10wmg_ext.h"
#define CGC_SUBWAITTIME 185U
#include "stdint.h"
#define NOP (__no_operation)
__intrinsic void __no_operation(void);
#define DI (__disable_interrupt)
__intrinsic void __disable_interrupt(void);
#define DI (__disable_interrupt)
#define EI __enable_interrupt
void R_LCD_Create (void)
{
volatile uint16_t wt_count; //定義計數變量,延時用
__intrinsic void __no_operation(void);
LCDON = 0; //讓數據寄存器的數據與0相與,關閉LCD
LCDM1 = 0x00; //LCD模式寄存器1的初始化設定
LCDM0 = 0x0D; //LCD模式寄存器0的初始化設定,外部升壓,A波形,4時間片,1/3偏壓
ISCLCD &= 0x02; //LCD輸入切換寄存器初始化設定
//怎么設定要看相應的引腳是否有參與LCD的功能
LCDC0 = 0x07; //LCD時鐘控制寄存器0,其作用是控制幀頻率,而幀頻率由波形時間片等因素決定
//此處是fSUB/2^8 or fIL/2^8
VLCON=0;
VLCD = 0x04; //LCD升壓控制電平寄存器,在外部電阻分壓方式下, VLCD 寄存器必須為初始值04H
for (wt_count = 0; wt_count <= 1000; wt_count++) //延時
{
NOP();
}
VLCON = 1;
for (wt_count = 0; wt_count <= 1000; wt_count++)
{
NOP();
}
SCOC = 1; //允許LCD顯示
}
void R_CGC_Create(void)//初始化時鐘
{
volatile uint16_t i;
__intrinsic void __no_operation(void);
OSMC = 0x80; //超低消耗電流運行
//設置時鐘運行模式控制寄存器CMC
CMC = 0x10; // 副時鐘系統XT1震蕩模式,使震蕩電路運行 ,且震蕩模式為低功耗震蕩
//設置系統時鐘控制器CKC
//設置時鐘運行狀態控制寄存器
CSC = 0x80; //將XTSTOP位清零,使XT1震蕩電路開始震蕩
//等待副時鐘系統所需要的的時間
for( i=0; i<=CGC_SUBWAITTIME; i++ )
{
NOP();
}
CKC = 0x40; //通過CKC寄存器的CSS位將XT1振蕩時鐘設定為CPU/外圍硬件時鐘
}
void R_PORT_Create(void)
{
PFSEG0 = 0x30;
PFSEG1 = 0x35;
PFSEG4 = 0xFF;
PFSEG5 = 0x07;//根據用到的引腳設定
//段輸出引腳總共由端口模式控制寄存器(0),端口模式寄存器(0),端口寄存器(0)以及上面的LCD端口功能寄存器(1)決定,
//所以下面還需設定端口模式寄存器,端口寄存器以及端口模式控制寄存器,原因是復用了端口
PMC1 = 0xF0;//設置端口模式控制寄存器
PMC2 = 0x0F;
PMC4 = 0x00;
//相應的端口模式寄存器需要置為0,默認復位后全為1
PM1 = 0;
PM2 = 0;
PM5 = 0;
PM7 = 0;
PU12=0x00;
P12=0x00;
//相應的端口寄存器復位后都為零,所以可以不用設置?
P1=0;
P2=0;
P5=0;
P7=0;
}
void R_DISPLAY_ON (void)
{
SEG0 = 0x0f;
SEG1 = 0x0f;
SEG2 = 0x0f;
SEG3 = 0x0f;
SEG4 = 0x0f;
SEG5 = 0x0f;
SEG8 = 0x0f;
SEG10 = 0x0f;
SEG12 = 0x0f;
SEG13 = 0x0f;
SEG30 = 0x0f;
SEG31 = 0x0f;
SEG32 = 0x0f;
SEG33 = 0x0f;
SEG34 = 0x0f;
SEG35 = 0x0f;
SEG36 = 0x0f;
SEG37 = 0x0f;
SEG38 = 0x0f;
SEG39 = 0x0f;
SEG40 = 0x0f;
SEG41 = 0x0f;
}
void R_LCD_Start(void)
{
LCDON = 1;
}
int main( int argc, char **argv )
{
R_CGC_Create();
R_PORT_Create();
R_LCD_Create();
R_LCD_Start();
while(1)
{
R_DISPLAY_ON ();
}
}
1628062154310_DB09F92A-9D56-420c-A81E-D952F59D271D.png
(105.77 KB, 下載次數: 53)
下載附件
2021-8-4 15:29 上傳
作者:
名字不是重點
時間:
2021-8-4 17:31
這 個什么MCU?
作者:
zyluglugl
時間:
2021-8-4 22:59
找個邏輯分析儀,看看有沒有數據,時鐘對不對。還有建議你發帖時,先說明你的單片機的型號,連接折方式。LCD的型號。還有代碼要有注釋,這樣人家才能看出你哪里有問題。
還有非常重要的就是你買個開發板,開發板會帶有例程的,至少,你能知道你的LCD接線對不對,LCD或MCU是不是好的。
作者:
Y_G_G
時間:
2021-8-5 00:15
LCD什么驅動的?如果有驅動,先用8051寫代碼,能顯示一個字母符號之類的就可以了,這樣你就知道這個驅動要怎么去控制了
如果是LCD沒驅動,那么,它是要交流驅動的,(但我并不知道直流會不會不亮,反正一直是用交流的)
如果你那是用導電條接觸的測試板,去馬云家買一個金屬引腳的吧,隨便一個簡單點的,先保證硬件電路不會出問題,然后,用8051先點亮,先了解LCD是怎么工作的
然后再去用你這單片機寫,你用的單片機在這很少有人用的......
作者:
wwh2382
時間:
2021-8-5 08:40
提供的信息太少,mcu、lcd是什么型號?大家幫不上忙,也難受死了
作者:
rayin
時間:
2021-8-5 08:51
最少要貼出來MCU對接LCD部分的原理圖,LCD是單色還是彩色,接口是MIPI,LVDS,MPU8bit,16bit的? 有最基本的信息,別人才能幫你分析啊
作者:
design003
時間:
2021-8-5 09:14
兩周時間足夠你看完器件手冊了 還沒解決,看你貼出來的CPU 支持的液晶是段碼式的 SEG 和COM都沒連對你就做蠟了
作者:
fhsgjsgjsfgjsfj
時間:
2021-8-5 11:11
提出問題也是一門學問,如何能清晰的表述,是解決問題的關鍵
作者:
pcf2000
時間:
2021-8-5 11:26
語焉不詳、去頭掐尾也是愛莫能助的了。。。
作者:
zheng_he
時間:
2021-8-5 11:29
原理圖可以貼全一點,有可能是硬件設計的問題哦
作者:
0x00000000
時間:
2021-8-5 13:08
樓主這樣提問對回答者的要求太高了,回答者得猜對你的所用的芯片,然后才能根據手冊查看你的初始化代碼是否正確。
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1