找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 14377|回復(fù): 21
收起左側(cè)

bascom avr單片機(jī)仿真oled顯示

  [復(fù)制鏈接]
ID:342822 發(fā)表于 2019-1-18 15:50 | 顯示全部樓層 |閱讀模式
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
夜貓子.JPG

rem Main.bas file generated by New Project wizard
rem
rem Created:   周三 1月 16 2019
rem Processor: ATmega88P
rem Compiler:  BASCOM-AVR2.0.7.9演示版

rem Write your code here

'-------------------------------------------------------------------------------
'                       SSD1306-I2C.BAS
'                     (c) MCS Electronics 1995-2015
'          Sample to demo the 128x64 I2C OLED display
'
'-------------------------------------------------------------------------------
$regfile = "m88pdef.dat"
$hwstack = 32
$swstack = 32
$framesize = 32
$crystal = 8000000
Config Clockdiv = 1                                         ' make sure the chip runs at 8 MHz
Config Scl = Portc.5                                        ' used i2c pins
Config Sda = Portc.4
Config Twi = 400000                                         ' i2c speed
I2cinit
$lib "i2c_twi.lbx"                                          ' we do not use software emulated I2C but the TWI
$lib "glcdSSD1306-I2C.lib"                                  ' override the default lib with this special one
Config Graphlcd = Custom , Cols = 128 , Rows = 64 , Lcdname = "SSD1306"
do
Cls
Setfont Font8x8tt
Showpic 0 , 0 , Plaatje,1
Waitms 3000
Cls
Lcdat 4 , 20 , "Hello~~ welcome!"
Waitms 3000
Showpic 0 , 0 , Plaatje
Waitms 3000
loop
End
$include "font8x8TT.font"                                   ' this is a true type font with variable spacing
Plaatje:
   $bgf "ymz.bgf"

0.png

全部資料51hei下載地址:
夜貓子.zip (39.57 KB, 下載次數(shù): 226)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2019-1-19 02:25 | 顯示全部樓層
能分享下仿真+代碼工程嗎?
回復(fù)

使用道具 舉報(bào)

ID:639525 發(fā)表于 2019-11-22 12:32 | 顯示全部樓層
不錯(cuò),蠻好的,正好需要UG-2864HSWEG01的接線方式。
回復(fù)

使用道具 舉報(bào)

ID:342822 發(fā)表于 2019-12-11 14:48 | 顯示全部樓層
本帖最后由 taotie 于 2019-12-11 17:36 編輯

捕獲.PNG
'  test OLED display 128*64 with glcdSSD1306-I2C.lib
'  bascom 2.0.7.8
$regfile = "m8def.dat"
$hwstack = 32
$swstack = 32
$framesize = 32
$crystal = 8000000
Config Scl = Portc.5                                        ' 用I2C引腳Scl = Portc.5 ,Sda = Portc.4
Config Sda = Portc.4
Config Twi = 400000                                         ' i2c 的速度
I2cinit
$lib "i2c_twi.lbx"                                          ' 不使用模擬I2c的軟件,而是使用twi
$lib "glcdSSD1306-I2C.lib"                                  ' 用glcdSSD1306-I2C庫(kù)替換默認(rèn)庫(kù)
'#if _build < 20784
'Dim ___lcdrow As Byte , ___lcdcol As Byte                   ' 老版本變量格式進(jìn)行編譯
'#endif
Config Graphlcd = Custom , Cols = 128 , Rows = 64 , Lcdname = "SSD1306"   '配置圖形液晶顯示器
Showpic 0 , 0 , Plaatje                                         '在液晶顯示器0,0展示128x64圖片
Wait 3
Config Adc = Single , Prescaler = Auto                      '定義ADC為單次運(yùn)行模式,轉(zhuǎn)換時(shí)鐘-自動(dòng),未使用內(nèi)部參考電壓 Reference = Internal
Start Adc                                                   'ATmega88可以不要Start Adc語(yǔ)句,ATmega8就一定要這個(gè)語(yǔ)句
Dim W As WORD, Channel As Byte, D as string*5, C As Byte
Channel = 0                                                 '現(xiàn)在從通道0讀取A/D值
'C = 1
Cls
Setfont font12x16
Lcdat 1, 16 , chr(128);chr(129);chr(130);chr(131)
Do
'Cls
W = Getadc(Channel)
W = W*5
D=str(w)
D= format(d, "0.000")
wait 1                                             '設(shè)置字體
Setfont font8x8tt
Lcdat 4, 8 , "AD ="                                      '在液晶顯示器顯示字符串
Lcdat 4, 42 , Channel                                    '在液晶顯示器顯示AD通道號(hào)
Lcdat 4, 56, "#"
'wait 1
Setfont Font12x16
Lcdat 6, 1 , d                                        '在液晶顯示器顯示ad采樣值
Lcdat 6 , 56 ,"V"                                      '在液晶顯示器顯示字符串v
wait 2
Incr Channel
if Channel=4 then Channel=6
If Channel > 7 Then Channel = 0
Loop
$include "../font12x16.font"                           '包含的字體文件
$include "../font8x8tt.font"                           '包含的字體文件
Plaatje:
  $bgf "../picture.bgf"


回復(fù)

使用道具 舉報(bào)

ID:696930 發(fā)表于 2020-3-2 22:07 | 顯示全部樓層
感謝大神能分享下bascom 2.0.7.8或更高的版本嗎,學(xué)習(xí)下。
回復(fù)

使用道具 舉報(bào)

ID:342822 發(fā)表于 2020-3-3 16:34 | 顯示全部樓層
243412038 發(fā)表于 2020-3-2 22:07
感謝大神能分享下bascom 2.0.7.8或更高的版本嗎,學(xué)習(xí)下。

你用騾子-->Bascom avr
回復(fù)

使用道具 舉報(bào)

ID:696930 發(fā)表于 2020-3-4 10:47 | 顯示全部樓層
taotie 發(fā)表于 2020-3-3 16:34
你用騾子-->Bascom avr

感謝樓主的分享
回復(fù)

使用道具 舉報(bào)

ID:286070 發(fā)表于 2020-4-9 12:51 | 顯示全部樓層
感謝樓主的分享
回復(fù)

使用道具 舉報(bào)

ID:695093 發(fā)表于 2020-4-9 21:52 | 顯示全部樓層
樓主,請(qǐng)問(wèn)我用的是51spi連接ssd1306的仿真,實(shí)物可以顯示,仿真卻顯示黑屏呢。
回復(fù)

使用道具 舉報(bào)

ID:342822 發(fā)表于 2020-4-9 23:03 | 顯示全部樓層
本帖最后由 taotie 于 2020-4-28 02:21 編輯
樓主,請(qǐng)問(wèn)我用的是51spi連接ssd1306的仿真,實(shí)物可以顯示,仿真卻顯示黑屏呢。

51單片機(jī)的SPI接線如下:
屏幕截圖(26).png
工程文件
oled51.zip (20.26 KB, 下載次數(shù): 56)

回復(fù)

使用道具 舉報(bào)

ID:539972 發(fā)表于 2020-4-29 23:29 | 顯示全部樓層
樓主,我用的51單片機(jī)IIC接口,第一次有字,第二次開(kāi)始就黑屏了,一直顯示[SSD1306 CWR] Unimplemented [op=0xD8], 1 byte command [LCD1_U1_U1],這是什么原因呢?
回復(fù)

使用道具 舉報(bào)

ID:342822 發(fā)表于 2020-5-8 18:14 | 顯示全部樓層
流年絕地 發(fā)表于 2020-4-29 23:29
樓主,我用的51單片機(jī)IIC接口,第一次有字,第二次開(kāi)始就黑屏了,一直顯示[SSD1306 CWR] Unimplemented [op ...

51單片機(jī)i2c接口要加上拉電阻的,你試試看~
回復(fù)

使用道具 舉報(bào)

ID:342822 發(fā)表于 2020-5-8 18:25 | 顯示全部樓層
屏幕截圖(28).png
回復(fù)

使用道具 舉報(bào)

ID:619279 發(fā)表于 2020-7-1 15:07 | 顯示全部樓層
你好,STM32,IIC接線是和上面51的一樣是嗎?
回復(fù)

使用道具 舉報(bào)

ID:718116 發(fā)表于 2020-7-2 10:25 | 顯示全部樓層
圖中總線"D[0..7]"和“BS[0..2]” 這個(gè)標(biāo)號(hào)怎么標(biāo)?我不知道怎么標(biāo)出這個(gè)東西
回復(fù)

使用道具 舉報(bào)

ID:342822 發(fā)表于 2020-7-2 11:30 | 顯示全部樓層
右鍵總線--添加網(wǎng)絡(luò)標(biāo)號(hào)
回復(fù)

使用道具 舉報(bào)

ID:342822 發(fā)表于 2020-7-2 11:47 | 顯示全部樓層
沒(méi)必要自己畫(huà)。在proteus8仿真軟件中有這個(gè)模型,在例程搜索框輸入“ssd1306”就可。將其復(fù)制到剪貼板就可粘貼到任何電路中使用。
回復(fù)

使用道具 舉報(bào)

ID:902006 發(fā)表于 2021-4-7 18:30 | 顯示全部樓層
樓主,用STM32最小系統(tǒng)的咋接呢?STM32F103CT86
回復(fù)

使用道具 舉報(bào)

ID:342822 發(fā)表于 2021-4-11 13:41 | 顯示全部樓層
都是一個(gè)道理。看你的硬IIC是那兩個(gè)腳或軟IIC設(shè)置的那兩個(gè)腳。
回復(fù)

使用道具 舉報(bào)

ID:696775 發(fā)表于 2022-4-20 22:47 | 顯示全部樓層
非常感謝,但是ssd1306的引腳和你圖上的不一樣
回復(fù)

使用道具 舉報(bào)

ID:342822 發(fā)表于 2022-4-21 10:02 | 顯示全部樓層
xxjs120 發(fā)表于 2022-4-20 22:47
非常感謝,但是ssd1306的引腳和你圖上的不一樣

你是說(shuō)這個(gè)嗎~~
屏幕截圖(129).png

回復(fù)

使用道具 舉報(bào)

ID:1130898 發(fā)表于 2024-8-25 07:42 來(lái)自手機(jī) | 顯示全部樓層
taotie 發(fā)表于 2020-7-2 11:47
沒(méi)必要自己畫(huà)。在proteus8仿真軟件中有這個(gè)模型,在例程搜索框輸入“ssd1306”就可。將其復(fù)制到剪貼板就可 ...

The simulated project with Proteus was done by downloading the zip file of the simulator and I am inside it
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表