专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
PIC单片机
谁有OshonSoft注册机?可以帮我到sonsivr去下吗?
2020-02-06 10:00
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
51单片机
5482
15
15
有帐号的朋友可以帮我一下吗?
下载地址如下:
http://www.sonsivri.to/forum/index.php?topic=20837.75
谢谢!
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
korren
1楼-- · 2020-02-06 10:45
这个软件正版的也不贵(17欧元)只是购买不了.
加载中...
korren
2楼-- · 2020-02-06 14:58
精彩回答 2 元偷偷看……
加载中...
korren
3楼-- · 2020-02-06 20:04
Define CLOCK_FREQUENCY = 16
Define CONFIG1 = 0x0f84
Define CONFIG2 = 0x1def
OSCCON = 0x3c 'intosc=16mhz
UsbSetVendorId 0x2345
UsbSetProductId 0x2345
UsbSetVersionNumber 0x1122
UsbSetManufacturerString "OshonSoft.com"
UsbSetProductString "OshonSoft.com USB Pro Programmer"
UsbSetSerialNumberString "1111111111"
UsbOnIoInGosub input_report_before_sending
UsbOnIoOutGosub output_report_received
UsbOnFtInGosub feature_report_before_sending
UsbOnFtOutGosub feature_report_received
AllDigital
Symbol led = PORTC.4
TRISC.4 = 0
led = 0
Symbol clock = PORTC.3
Symbol data = PORTC.2
Symbol vpp = PORTC.1
Symbol vdd = PORTC.0
Symbol datadir = TRISC.2
Symbol reset = PORTC.0
Symbol sck = PORTC.1
Symbol mosi = PORTC.2
Symbol miso = PORTC.3
Gosub picinit
UsbStart
Dim picprogtime As Byte
picprogtime = 10
Dim bit1 As Bit
Dim byte1 As Byte
Dim word1 As Word
bit1 = 0
byte1 = 0
word1 = 0
Dim in1 As Byte
loop:
UsbService
Goto loop
End
output_report_received:
in1 = UsbIoBuffer(0)
If in1 = 101 Then
led = 1
Gosub picinit
WaitMs 100
Gosub picentervddvpp
Endif
If in1 = 102 Then
led = 1
Gosub picinit
WaitMs 100
Gosub picentervppvdd
Endif
If in1 = 103 Then
led = 0
Gosub picexitvddvpp
Endif
If in1 = 104 Then
byte1 = UsbIoBuffer(1)
Gosub picsend6
Endif
If in1 = 105 Then
word1.LB = UsbIoBuffer(1)
word1.HB = UsbIoBuffer(2)
Gosub picsend14
Endif
If in1 = 106 Then
Gosub picget14
UsbIoBuffer(1) = word1.LB
UsbIoBuffer(2) = word1.HB
word1 = 0
Endif
If in1 = 107 Then
byte1 = UsbIoBuffer(1)
Gosub picsend4
Endif
If in1 = 108 Then
word1.LB = UsbIoBuffer(1)
word1.HB = UsbIoBuffer(2)
Gosub picsend16
Endif
If in1 = 109 Then
Gosub picstartprog
Endif
If in1 = 110 Then
Gosub picget8
UsbIoBuffer(1) = byte1
byte1 = 0
Endif
If in1 = 111 Then
picprogtime = UsbIoBuffer(1)
Endif
If in1 = 201 Then
led = 1
Gosub avrinit
WaitMs 100
Gosub avrenterprog
Endif
If in1 = 202 Then
led = 0
Gosub avrexitprog
Endif
If in1 = 203 Then
byte1 = UsbIoBuffer(1)
Gosub avrsend8
Endif
If in1 = 204 Then
Gosub avrget8
UsbIoBuffer(1) = byte1
byte1 = 0
Endif
Return
picinit:
TRISC.0 = 0
TRISC.1 = 0
TRISC.2 = 0
TRISC.3 = 0
clock = 0
data = 0
vdd = 0
vpp = 0
Return
picsend4:
bit1 = byte1.0
Gosub picsend1
bit1 = byte1.1
Gosub picsend1
bit1 = byte1.2
Gosub picsend1
bit1 = byte1.3
Gosub picsend1
byte1 = 0
Return
picsend6:
bit1 = byte1.0
Gosub picsend1
bit1 = byte1.1
Gosub picsend1
bit1 = byte1.2
Gosub picsend1
bit1 = byte1.3
Gosub picsend1
bit1 = byte1.4
Gosub picsend1
bit1 = byte1.5
Gosub picsend1
byte1 = 0
Return
picsend14:
bit1 = 0
Gosub picsend1
byte1 = word1.LB
Gosub picsend6
byte1 = word1.LB
bit1 = byte1.6
Gosub picsend1
bit1 = byte1.7
Gosub picsend1
byte1 = word1.HB
Gosub picsend6
bit1 = 0
Gosub picsend1
word1 = 0
Return
picsend16:
byte1 = word1.LB
Gosub picsend6
byte1 = word1.LB
bit1 = byte1.6
Gosub picsend1
bit1 = byte1.7
Gosub picsend1
byte1 = word1.HB
Gosub picsend6
byte1 = word1.HB
bit1 = byte1.6
Gosub picsend1
bit1 = byte1.7
Gosub picsend1
byte1 = 0
word1 = 0
Return
picsend1:
Gosub picclock1
If bit1 = 1 Then
data = 1
Else
data = 0
Endif
Gosub picclock0
data = 0
bit1 = 0
Return
picstartprog:
data = 0
For byte1 = 1 To 3
Gosub picclock1
Gosub picclock0
Next byte1
Gosub picclock1
WaitMs picprogtime
Gosub picclock0
WaitUs 200
For byte1 = 1 To 16
Gosub picclock1
Gosub picclock0
Next byte1
Return
picget8:
For byte1 = 1 To 8
Gosub picclock1
Gosub picclock0
Next byte1
datadir = 1
byte1 = 0
Gosub picget1
byte1.0 = bit1
Gosub picget1
byte1.1 = bit1
Gosub picget1
byte1.2 = bit1
Gosub picget1
byte1.3 = bit1
Gosub picget1
byte1.4 = bit1
Gosub picget1
byte1.5 = bit1
Gosub picget1
byte1.6 = bit1
Gosub picget1
byte1.7 = bit1
bit1 = 0
data = 0
datadir = 0
Return
picget14:
datadir = 1
word1 = 0
byte1 = 0
Gosub picget1
bit1 = 0
Gosub picget1
byte1.0 = bit1
Gosub picget1
byte1.1 = bit1
Gosub picget1
byte1.2 = bit1
Gosub picget1
byte1.3 = bit1
Gosub picget1
byte1.4 = bit1
Gosub picget1
byte1.5 = bit1
Gosub picget1
byte1.6 = bit1
Gosub picget1
byte1.7 = bit1
word1.LB = byte1
byte1 = 0
Gosub picget1
byte1.0 = bit1
Gosub picget1
byte1.1 = bit1
Gosub picget1
byte1.2 = bit1
Gosub picget1
byte1.3 = bit1
Gosub picget1
byte1.4 = bit1
Gosub picget1
byte1.5 = bit1
word1.HB = byte1
byte1 = 0
Gosub picget1
bit1 = 0
data = 0
datadir = 0
Return
picget1:
Gosub picclock1
bit1 = data
Gosub picclock0
Return
picentervddvpp:
vdd = 1
WaitMs 50
vpp = 1
WaitMs 50
Return
picentervppvdd:
vpp = 1
WaitMs 50
vdd = 1
WaitMs 50
Return
picexitvddvpp:
vdd = 0
WaitMs 50
vpp = 0
WaitMs 50
Return
picclock1:
WaitUs 3
clock = 1
WaitUs 3
Return
picclock0:
WaitUs 3
clock = 0
WaitUs 3
Return
avrinit:
TRISC.0 = 0
TRISC.1 = 0
TRISC.2 = 0
TRISC.3 = 1
reset = 0
sck = 0
mosi = 0
Return
avrsend8:
bit1 = byte1.7
Gosub avrsend1
bit1 = byte1.6
Gosub avrsend1
bit1 = byte1.5
Gosub avrsend1
bit1 = byte1.4
Gosub avrsend1
bit1 = byte1.3
Gosub avrsend1
bit1 = byte1.2
Gosub avrsend1
bit1 = byte1.1
Gosub avrsend1
bit1 = byte1.0
Gosub avrsend1
byte1 = 0
Return
avrsend1:
If bit1 = 1 Then
mosi = 1
Else
mosi = 0
Endif
Gosub avrclock1
Gosub avrclock0
mosi = 0
bit1 = 0
Return
avrget8:
byte1 = 0
Gosub avrget1
byte1.7 = bit1
Gosub avrget1
byte1.6 = bit1
Gosub avrget1
byte1.5 = bit1
Gosub avrget1
byte1.4 = bit1
Gosub avrget1
byte1.3 = bit1
Gosub avrget1
byte1.2 = bit1
Gosub avrget1
byte1.1 = bit1
Gosub avrget1
byte1.0 = bit1
bit1 = 0
Return
avrget1:
Gosub avrclock1
bit1 = miso
Gosub avrclock0
Return
avrenterprog:
sck = 0
mosi = 0
reset = 1
WaitMs 10
reset = 0
WaitMs 50
Return
avrexitprog:
sck = 0
mosi = 0
reset = 1
WaitMs 10
Return
avrclock1:
WaitUs 1
sck = 1
WaitUs 1
Return
avrclock0:
WaitUs 1
sck = 0
WaitUs 1
Return
input_report_before_sending:
Return
feature_report_received:
Return
feature_report_before_sending:
Return
有谁可以帮编译一个HEX文件
加载中...
korren
4楼-- · 2020-02-07 00:37
编程器资料
加载中...
GunGun
5楼-- · 2020-02-07 06:30
我下了,发现论坛没有办法上传?
加载中...
korren
6楼-- · 2020-02-07 09:30
可以上传的
加载中...
1
2
3
下一页
一周热门
更多
>
相关问题
PIC单片机不同的IO口驱动74HC573驱动共阴极的数码管,有的段不亮
1 个回答
一种简单精确的pic延时方法
21 个回答
谁熟悉PIC的产品发布时间的,帮看看PIC18F47K40啥版本IDE能开发
12 个回答
求AN1078对应的源代码下载地址
5 个回答
PIC单片机应用技巧
4 个回答
串口无法连续接收数据
2 个回答
求助:dsPIC33F串口通信,如何发送字符串
4 个回答
PIC45K40 IOC(interrupt-on-change)功能
2 个回答
相关文章
一种用PIC单片机主时钟驱动的老式挂钟
0个评论
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
PIC单片机
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
Define CONFIG1 = 0x0f84
Define CONFIG2 = 0x1def
OSCCON = 0x3c 'intosc=16mhz
UsbSetVendorId 0x2345
UsbSetProductId 0x2345
UsbSetVersionNumber 0x1122
UsbSetManufacturerString "OshonSoft.com"
UsbSetProductString "OshonSoft.com USB Pro Programmer"
UsbSetSerialNumberString "1111111111"
UsbOnIoInGosub input_report_before_sending
UsbOnIoOutGosub output_report_received
UsbOnFtInGosub feature_report_before_sending
UsbOnFtOutGosub feature_report_received
AllDigital
Symbol led = PORTC.4
TRISC.4 = 0
led = 0
Symbol clock = PORTC.3
Symbol data = PORTC.2
Symbol vpp = PORTC.1
Symbol vdd = PORTC.0
Symbol datadir = TRISC.2
Symbol reset = PORTC.0
Symbol sck = PORTC.1
Symbol mosi = PORTC.2
Symbol miso = PORTC.3
Gosub picinit
UsbStart
Dim picprogtime As Byte
picprogtime = 10
Dim bit1 As Bit
Dim byte1 As Byte
Dim word1 As Word
bit1 = 0
byte1 = 0
word1 = 0
Dim in1 As Byte
loop:
UsbService
Goto loop
End
output_report_received:
in1 = UsbIoBuffer(0)
If in1 = 101 Then
led = 1
Gosub picinit
WaitMs 100
Gosub picentervddvpp
Endif
If in1 = 102 Then
led = 1
Gosub picinit
WaitMs 100
Gosub picentervppvdd
Endif
If in1 = 103 Then
led = 0
Gosub picexitvddvpp
Endif
If in1 = 104 Then
byte1 = UsbIoBuffer(1)
Gosub picsend6
Endif
If in1 = 105 Then
word1.LB = UsbIoBuffer(1)
word1.HB = UsbIoBuffer(2)
Gosub picsend14
Endif
If in1 = 106 Then
Gosub picget14
UsbIoBuffer(1) = word1.LB
UsbIoBuffer(2) = word1.HB
word1 = 0
Endif
If in1 = 107 Then
byte1 = UsbIoBuffer(1)
Gosub picsend4
Endif
If in1 = 108 Then
word1.LB = UsbIoBuffer(1)
word1.HB = UsbIoBuffer(2)
Gosub picsend16
Endif
If in1 = 109 Then
Gosub picstartprog
Endif
If in1 = 110 Then
Gosub picget8
UsbIoBuffer(1) = byte1
byte1 = 0
Endif
If in1 = 111 Then
picprogtime = UsbIoBuffer(1)
Endif
If in1 = 201 Then
led = 1
Gosub avrinit
WaitMs 100
Gosub avrenterprog
Endif
If in1 = 202 Then
led = 0
Gosub avrexitprog
Endif
If in1 = 203 Then
byte1 = UsbIoBuffer(1)
Gosub avrsend8
Endif
If in1 = 204 Then
Gosub avrget8
UsbIoBuffer(1) = byte1
byte1 = 0
Endif
Return
picinit:
TRISC.0 = 0
TRISC.1 = 0
TRISC.2 = 0
TRISC.3 = 0
clock = 0
data = 0
vdd = 0
vpp = 0
Return
picsend4:
bit1 = byte1.0
Gosub picsend1
bit1 = byte1.1
Gosub picsend1
bit1 = byte1.2
Gosub picsend1
bit1 = byte1.3
Gosub picsend1
byte1 = 0
Return
picsend6:
bit1 = byte1.0
Gosub picsend1
bit1 = byte1.1
Gosub picsend1
bit1 = byte1.2
Gosub picsend1
bit1 = byte1.3
Gosub picsend1
bit1 = byte1.4
Gosub picsend1
bit1 = byte1.5
Gosub picsend1
byte1 = 0
Return
picsend14:
bit1 = 0
Gosub picsend1
byte1 = word1.LB
Gosub picsend6
byte1 = word1.LB
bit1 = byte1.6
Gosub picsend1
bit1 = byte1.7
Gosub picsend1
byte1 = word1.HB
Gosub picsend6
bit1 = 0
Gosub picsend1
word1 = 0
Return
picsend16:
byte1 = word1.LB
Gosub picsend6
byte1 = word1.LB
bit1 = byte1.6
Gosub picsend1
bit1 = byte1.7
Gosub picsend1
byte1 = word1.HB
Gosub picsend6
byte1 = word1.HB
bit1 = byte1.6
Gosub picsend1
bit1 = byte1.7
Gosub picsend1
byte1 = 0
word1 = 0
Return
picsend1:
Gosub picclock1
If bit1 = 1 Then
data = 1
Else
data = 0
Endif
Gosub picclock0
data = 0
bit1 = 0
Return
picstartprog:
data = 0
For byte1 = 1 To 3
Gosub picclock1
Gosub picclock0
Next byte1
Gosub picclock1
WaitMs picprogtime
Gosub picclock0
WaitUs 200
For byte1 = 1 To 16
Gosub picclock1
Gosub picclock0
Next byte1
Return
picget8:
For byte1 = 1 To 8
Gosub picclock1
Gosub picclock0
Next byte1
datadir = 1
byte1 = 0
Gosub picget1
byte1.0 = bit1
Gosub picget1
byte1.1 = bit1
Gosub picget1
byte1.2 = bit1
Gosub picget1
byte1.3 = bit1
Gosub picget1
byte1.4 = bit1
Gosub picget1
byte1.5 = bit1
Gosub picget1
byte1.6 = bit1
Gosub picget1
byte1.7 = bit1
bit1 = 0
data = 0
datadir = 0
Return
picget14:
datadir = 1
word1 = 0
byte1 = 0
Gosub picget1
bit1 = 0
Gosub picget1
byte1.0 = bit1
Gosub picget1
byte1.1 = bit1
Gosub picget1
byte1.2 = bit1
Gosub picget1
byte1.3 = bit1
Gosub picget1
byte1.4 = bit1
Gosub picget1
byte1.5 = bit1
Gosub picget1
byte1.6 = bit1
Gosub picget1
byte1.7 = bit1
word1.LB = byte1
byte1 = 0
Gosub picget1
byte1.0 = bit1
Gosub picget1
byte1.1 = bit1
Gosub picget1
byte1.2 = bit1
Gosub picget1
byte1.3 = bit1
Gosub picget1
byte1.4 = bit1
Gosub picget1
byte1.5 = bit1
word1.HB = byte1
byte1 = 0
Gosub picget1
bit1 = 0
data = 0
datadir = 0
Return
picget1:
Gosub picclock1
bit1 = data
Gosub picclock0
Return
picentervddvpp:
vdd = 1
WaitMs 50
vpp = 1
WaitMs 50
Return
picentervppvdd:
vpp = 1
WaitMs 50
vdd = 1
WaitMs 50
Return
picexitvddvpp:
vdd = 0
WaitMs 50
vpp = 0
WaitMs 50
Return
picclock1:
WaitUs 3
clock = 1
WaitUs 3
Return
picclock0:
WaitUs 3
clock = 0
WaitUs 3
Return
avrinit:
TRISC.0 = 0
TRISC.1 = 0
TRISC.2 = 0
TRISC.3 = 1
reset = 0
sck = 0
mosi = 0
Return
avrsend8:
bit1 = byte1.7
Gosub avrsend1
bit1 = byte1.6
Gosub avrsend1
bit1 = byte1.5
Gosub avrsend1
bit1 = byte1.4
Gosub avrsend1
bit1 = byte1.3
Gosub avrsend1
bit1 = byte1.2
Gosub avrsend1
bit1 = byte1.1
Gosub avrsend1
bit1 = byte1.0
Gosub avrsend1
byte1 = 0
Return
avrsend1:
If bit1 = 1 Then
mosi = 1
Else
mosi = 0
Endif
Gosub avrclock1
Gosub avrclock0
mosi = 0
bit1 = 0
Return
avrget8:
byte1 = 0
Gosub avrget1
byte1.7 = bit1
Gosub avrget1
byte1.6 = bit1
Gosub avrget1
byte1.5 = bit1
Gosub avrget1
byte1.4 = bit1
Gosub avrget1
byte1.3 = bit1
Gosub avrget1
byte1.2 = bit1
Gosub avrget1
byte1.1 = bit1
Gosub avrget1
byte1.0 = bit1
bit1 = 0
Return
avrget1:
Gosub avrclock1
bit1 = miso
Gosub avrclock0
Return
avrenterprog:
sck = 0
mosi = 0
reset = 1
WaitMs 10
reset = 0
WaitMs 50
Return
avrexitprog:
sck = 0
mosi = 0
reset = 1
WaitMs 10
Return
avrclock1:
WaitUs 1
sck = 1
WaitUs 1
Return
avrclock0:
WaitUs 1
sck = 0
WaitUs 1
Return
input_report_before_sending:
Return
feature_report_received:
Return
feature_report_before_sending:
Return
有谁可以帮编译一个HEX文件
一周热门 更多>